cloudroam
2024-09-22 5bb359883bda6f15b6a6937a2c17ac9bbc67ab8e
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;
    }
}