Commit 9f900150 authored by libin's avatar libin

会员

parent 0dce7a32
...@@ -4,8 +4,10 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO; ...@@ -4,8 +4,10 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO;
import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDataFindDTO; import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDataFindDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberSaveDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberSaveDTO;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.UserMemberLevel;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberExportMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberExportMapper;
import com.github.wxiaoqi.security.admin.vo.BaseUserMemberExportVo; import com.github.wxiaoqi.security.admin.vo.BaseUserMemberExportVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
...@@ -22,6 +24,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -22,6 +24,7 @@ import tk.mybatis.mapper.entity.Example;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -45,7 +48,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -45,7 +48,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
private AppUserLoginBiz appUserLoginBiz; private AppUserLoginBiz appUserLoginBiz;
public void saveUserMember(UserMemberSaveDTO userMemberSaveDTO,Integer userId,String name) { public void saveUserMember(UserMemberSaveDTO userMemberSaveDTO, Integer userId, String name) {
if (userMemberSaveDTO != null) { if (userMemberSaveDTO != null) {
UserMemberDTO userMemberDTO = new UserMemberDTO(); UserMemberDTO userMemberDTO = new UserMemberDTO();
BaseUserMemberLevel level = userMemberLevelBiz.getLevel(userMemberSaveDTO.getMemberLevel()); BaseUserMemberLevel level = userMemberLevelBiz.getLevel(userMemberSaveDTO.getMemberLevel());
...@@ -86,26 +89,37 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -86,26 +89,37 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
} }
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public int importUserMember(List<String[]> userMemberData,Integer userId,String userName) { public int importUserMember(List<String[]> userMemberData, Integer userId, String userName) {
List<BaseUserMemberExport> baseUserMemberExports = new ArrayList<>(); List<BaseUserMemberExport> baseUserMemberExports = new ArrayList<>();
List<Integer> levels = userMemberData.stream().map(x -> x[1]).map(Integer::valueOf).distinct().collect(Collectors.toList()); List<BaseUserMemberLevel> levesls = userMemberLevelBiz.getLevesls();
Map<Integer, Integer> levelAndDisCountMap = userMemberLevelBiz.getUserMemberLevelAndDisCountMapByLevels(levels); Map<Integer, BaseUserMemberLevel> levelAndbaseUserMemberMap = levesls.stream().collect(Collectors.toMap(BaseUserMemberLevel::getLevel, Function.identity()));
Map<String,Integer> leavelNameAndLeaveMap = levelAndbaseUserMemberMap.values().stream().collect(Collectors.toMap(BaseUserMemberLevel::getName, BaseUserMemberLevel::getLevel));
List<String> phones = userMemberData.stream().map(x -> x[0]).distinct().collect(Collectors.toList()); List<String> phones = userMemberData.stream().map(x -> x[0]).distinct().collect(Collectors.toList());
Map<String, Integer> phoneAndUserIdMap = appUserLoginBiz.findPhoneAndUserIdMapByPhones(phones); Map<String, Integer> phoneAndUserIdMap = appUserLoginBiz.findPhoneAndUserIdMapByPhones(phones);
Set<Map.Entry<String, Integer>> leaveNameAndLeaveEntry = leavelNameAndLeaveMap.entrySet();
Integer memberLevel =1;
Integer discount = 0;
for (String[] data : userMemberData) { for (String[] data : userMemberData) {
String phone = data[0]; String phone = data[0];
String memberLevel = data[1]; String memberLevelName = data[1];
String totalNumber = data[2]; String totalNumber = data[2];
String rentFreeDays = data[3]; String rentFreeDays = data[3];
for (Map.Entry<String, Integer> entry : leaveNameAndLeaveEntry) {
if (entry.getKey().contains(memberLevelName.substring(0,1))){
memberLevel = entry.getValue();
discount = levelAndbaseUserMemberMap.get(memberLevel).getDiscount();
break;
}
}
if (phoneAndUserIdMap != null && phoneAndUserIdMap.get(phone) != null) { if (phoneAndUserIdMap != null && phoneAndUserIdMap.get(phone) != null) {
UserMemberDTO userMemberDTO = new UserMemberDTO(); UserMemberDTO userMemberDTO = new UserMemberDTO();
userMemberDTO.setUserId(phoneAndUserIdMap.get(phone)); userMemberDTO.setUserId(phoneAndUserIdMap.get(phone));
userMemberDTO.setMemberLevel(Integer.valueOf(memberLevel)); userMemberDTO.setMemberLevel(memberLevel);
userMemberDTO.setDiscount(levelAndDisCountMap == null ? 0 : (levelAndDisCountMap.get(Integer.valueOf(memberLevel)) == null ? 0 : levelAndDisCountMap.get(Integer.valueOf(memberLevel)))); userMemberDTO.setDiscount(discount);
userMemberDTO.setTotalNumber(Integer.valueOf(totalNumber)); userMemberDTO.setTotalNumber(Integer.valueOf(totalNumber));
userMemberDTO.setRentFreeDays(Integer.valueOf(rentFreeDays)); userMemberDTO.setRentFreeDays(Integer.valueOf(rentFreeDays));
userMemberDTO.setIsBind(1); userMemberDTO.setIsBind(1);
...@@ -120,10 +134,10 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -120,10 +134,10 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
BaseUserMemberExport memberExport = BaseUserMemberExport BaseUserMemberExport memberExport = BaseUserMemberExport
.builder() .builder()
.username(phone) .username(phone)
.memberLevel(Integer.valueOf(memberLevel)) .memberLevel(memberLevel)
.totalNumber(Integer.valueOf(totalNumber)) .totalNumber(Integer.valueOf(totalNumber))
.rentFreeDays(Integer.valueOf(rentFreeDays)) .rentFreeDays(Integer.valueOf(rentFreeDays))
.discount(levelAndDisCountMap == null ? 0 : (levelAndDisCountMap.get(Integer.valueOf(memberLevel)) == null ? 0 : levelAndDisCountMap.get(Integer.valueOf(memberLevel)))) .discount(discount)
.status(phoneAndUserIdMap == null ? 0 : (phoneAndUserIdMap.get(phone) == null ? 0 : 1)) .status(phoneAndUserIdMap == null ? 0 : (phoneAndUserIdMap.get(phone) == null ? 0 : 1))
.crtId(userId) .crtId(userId)
.crtName(userName) .crtName(userName)
...@@ -152,7 +166,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -152,7 +166,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("username", phone); criteria.andEqualTo("username", phone);
criteria.andEqualTo("status", 0); criteria.andEqualTo("status", 0);
criteria.andEqualTo("isDel",0); criteria.andEqualTo("isDel", 0);
List<BaseUserMemberExport> baseUserMemberExports = mapper.selectByExample(example); List<BaseUserMemberExport> baseUserMemberExports = mapper.selectByExample(example);
if (CollectionUtils.isNotEmpty(baseUserMemberExports)) { if (CollectionUtils.isNotEmpty(baseUserMemberExports)) {
...@@ -179,11 +193,11 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -179,11 +193,11 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
if (CollectionUtils.isEmpty(userMemberExportDTOS)) { if (CollectionUtils.isEmpty(userMemberExportDTOS)) {
return baseUserMemberExportVoPageDataVO; return baseUserMemberExportVoPageDataVO;
} }
List<BaseUserMemberExportVo> baseUserMemberExportVos = new ArrayList<>(); List<BaseUserMemberExportVo> baseUserMemberExportVos = new ArrayList<>();
BaseUserMemberExportVo baseUserMemberExportVo; BaseUserMemberExportVo baseUserMemberExportVo;
for (BaseUserMemberExportDTO userMemberExportDTO : userMemberExportDTOS) { for (BaseUserMemberExportDTO userMemberExportDTO : userMemberExportDTOS) {
baseUserMemberExportVo = new BaseUserMemberExportVo(); baseUserMemberExportVo = new BaseUserMemberExportVo();
BeanUtils.copyProperties(userMemberExportDTO,baseUserMemberExportVo); BeanUtils.copyProperties(userMemberExportDTO, baseUserMemberExportVo);
baseUserMemberExportVos.add(baseUserMemberExportVo); baseUserMemberExportVos.add(baseUserMemberExportVo);
} }
baseUserMemberExportVos.sort(Comparator.comparing(BaseUserMemberExportVo::getCrtTime).reversed()); baseUserMemberExportVos.sort(Comparator.comparing(BaseUserMemberExportVo::getCrtTime).reversed());
...@@ -196,6 +210,6 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -196,6 +210,6 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
} }
public void updateUserMemberExportDataStatus(Integer id) { public void updateUserMemberExportDataStatus(Integer id) {
mapper.updateUserMemberExportDataStatusById(id,1); mapper.updateUserMemberExportDataStatusById(id, 1);
} }
} }
...@@ -2,6 +2,7 @@ package com.github.wxiaoqi.security.admin.biz; ...@@ -2,6 +2,7 @@ package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.UserMemberLevel;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -12,6 +13,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -12,6 +13,7 @@ import tk.mybatis.mapper.entity.Example;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -41,11 +43,11 @@ public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUs ...@@ -41,11 +43,11 @@ public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUs
} }
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public Map<Integer,Integer> getUserMemberLevelAndDisCountMapByLevels(List<Integer> levels){ public Map<Integer, BaseUserMemberLevel> getUserMemberLevelAndUserMemberMapByLevels(List<Integer> levels){
List<BaseUserMemberLevel> baseUserMemberLevels = mapper.selectUserMembersLevelByLevels(levels); List<BaseUserMemberLevel> baseUserMemberLevels = mapper.selectUserMembersLevelByLevels(levels);
Map<Integer,Integer> levelAndDiscountMap = null; Map<Integer,BaseUserMemberLevel> levelAndDiscountMap = null;
if (CollectionUtils.isNotEmpty(baseUserMemberLevels)){ if (CollectionUtils.isNotEmpty(baseUserMemberLevels)){
levelAndDiscountMap = baseUserMemberLevels.stream().collect(Collectors.toMap(BaseUserMemberLevel::getLevel,BaseUserMemberLevel::getDiscount)); levelAndDiscountMap = baseUserMemberLevels.stream().collect(Collectors.toMap(BaseUserMemberLevel::getLevel, Function.identity()));
} }
return levelAndDiscountMap; return levelAndDiscountMap;
} }
......
...@@ -45,7 +45,7 @@ public class UserCouponAdminController { ...@@ -45,7 +45,7 @@ public class UserCouponAdminController {
} }
@PostMapping("/sendcoupon") @PostMapping("/sendcoupon")
public ObjectRestResponse<Void> sendCoupon(UserCouponSendDTO userCouponSendDTO){ public ObjectRestResponse<Void> sendCoupon(@RequestBody UserCouponSendDTO userCouponSendDTO){
userCouponBiz.sendCoupon(userCouponSendDTO); userCouponBiz.sendCoupon(userCouponSendDTO);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment