From 5bb359883bda6f15b6a6937a2c17ac9bbc67ab8e Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期日, 22 九月 2024 17:17:24 +0800 Subject: [PATCH] add:会员成长值规则 --- src/main/java/com/mzl/flower/service/menber/impl/MemberGrowthRecordServiceImpl.java | 44 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/menber/impl/MemberGrowthRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/menber/impl/MemberGrowthRecordServiceImpl.java index 2866b32..defb2a4 100644 --- a/src/main/java/com/mzl/flower/service/menber/impl/MemberGrowthRecordServiceImpl.java +++ b/src/main/java/com/mzl/flower/service/menber/impl/MemberGrowthRecordServiceImpl.java @@ -5,12 +5,10 @@ import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.config.security.SecurityUtils; import com.mzl.flower.constant.Constants; -import com.mzl.flower.dto.request.menber.MemberGrowthRecordDTO; -import com.mzl.flower.dto.request.menber.MemberRecordQueryDTO; -import com.mzl.flower.dto.request.menber.TargetMemberDTO; -import com.mzl.flower.dto.request.menber.UserGrowthRecordDTO; +import com.mzl.flower.dto.request.menber.*; import com.mzl.flower.dto.response.customer.CustomerDTO; import com.mzl.flower.dto.response.member.MemberGrowthRecordVO; +import com.mzl.flower.dto.response.member.UserGrowthRecordVO; import com.mzl.flower.entity.customer.Customer; import com.mzl.flower.entity.menber.Member; import com.mzl.flower.entity.menber.MemberGrowthRecord; @@ -145,8 +143,24 @@ Integer sumGrowth = memberGrowthRecordMapper.getSumGrowthByUsertId(userId); userGrowthRecordDTO.setCurrentGrowthValue(sumGrowth); //查询当前会员等级 - Member member = memberMapper.getMemberByGrowthValue(sumGrowth); + Member member = new Member(); + member = memberMapper.getMemberByGrowthValue(sumGrowth); + if (ObjectUtils.isEmpty(member)) { + member = memberMapper.selectById(Constants.DEFAULT_MEMBER_ID); + } userGrowthRecordDTO.setCurrentMemberLevel(member.getName()); + userGrowthRecordDTO.setCurrentDiscountType(member.getDiscountType()); + switch (member.getDiscountType()) { + case "ratio": + userGrowthRecordDTO.setCurrentDiscountTypeStr(Constants.DISCOUNT_TYPE.ratio.getDesc()); + break; + case "amount": + userGrowthRecordDTO.setCurrentDiscountTypeStr(Constants.DISCOUNT_TYPE.amount.getDesc()); + break; + } + userGrowthRecordDTO.setCurrentDiscountRatio(StringUtils.isEmpty(member.getDiscountRatio()) ? BigDecimal.valueOf(100) : member.getDiscountRatio()); + userGrowthRecordDTO.setCurrentDiscountAmount(StringUtils.isEmpty(member.getDiscountAmount()) ? BigDecimal.ZERO : member.getDiscountAmount()); + userGrowthRecordDTO.setCurrentGrowthValueDesc(member.getGrowthValueDesc()); //查询比当前等级高的会员等级信息 List<Member> memberList = memberMapper.getgtMembersByGrowthValue(sumGrowth); if (!CollectionUtils.isEmpty(memberList)) { @@ -155,7 +169,18 @@ targetMemberDTO.setTargetMemberLevel(m.getName()); targetMemberDTO.setTargetStartPoint(m.getStartPoint()); targetMemberDTO.setTargetGap(m.getStartPoint() - sumGrowth); - targetMemberDTO.setTargetDiscountAmount(m.getDiscountAmount()); + targetMemberDTO.setTargetDiscountAmount(StringUtils.isEmpty(m.getDiscountAmount()) ? BigDecimal.ZERO : m.getDiscountAmount()); + targetMemberDTO.setTargetDiscountType(m.getDiscountType()); + switch (m.getDiscountType()) { + case "ratio": + targetMemberDTO.setTargetDiscountTypeStr(Constants.DISCOUNT_TYPE.ratio.getDesc()); + break; + case "amount": + targetMemberDTO.setTargetDiscountTypeStr(Constants.DISCOUNT_TYPE.amount.getDesc()); + break; + } + targetMemberDTO.setTargetDiscountRatio(StringUtils.isEmpty(m.getDiscountRatio()) ? BigDecimal.valueOf(100) : m.getDiscountRatio()); + targetMemberDTO.setTargetGrowthValueDesc(m.getGrowthValueDesc()); targetMemberDTOList.add(targetMemberDTO); }); } @@ -205,4 +230,11 @@ saveMemberGrowthRecord(memberGrowthRecordDTO); } } + + @Override + public Page<UserGrowthRecordVO> queryUserPage(UserMemberRecordQueryDTO userMemberRecordQueryDTO, Page page) { + List<UserGrowthRecordVO> list = memberGrowthRecordMapper.queryUserPage(userMemberRecordQueryDTO, page); + page.setRecords(list); + return page; + } } -- Gitblit v1.9.3