jiangqs
2023-06-30 cbc564a7088503ad8cc7af4e1d2ba417d061e615
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberTotalServiceImpl.java
@@ -5,6 +5,7 @@
import com.ruoyi.member.mapper.member.MemberTotalMapper;
import com.ruoyi.member.service.member.MemberTotalService;
import com.ruoyi.system.api.domain.dto.MemberTotalChangeDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import org.springframework.stereotype.Service;
/**
@@ -19,65 +20,5 @@
public class MemberTotalServiceImpl extends ServiceImpl<MemberTotalMapper, MemberTotal> implements MemberTotalService {
    /**
     * @description  会员统计变动
     * @author  jqs
     * @date    2023/6/28 14:34
     * @param memberTotalChangeDto
     * @return  void
     */
    @Override
    public void changeMemberTotal(MemberTotalChangeDto memberTotalChangeDto){
        MemberTotal memberTotal = this.getById(memberTotalChangeDto.getMemberId());
        //积分变动
        if(memberTotalChangeDto.getChangeIntegral()!=null){
            if(memberTotalChangeDto.getTypeIntegral()==2){
                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()-memberTotalChangeDto.getChangeIntegral());
                memberTotal.setUsedIntegral(memberTotal.getUsedIntegral()+memberTotalChangeDto.getChangeIntegral());
            }else{
                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+memberTotalChangeDto.getChangeIntegral());
                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+memberTotalChangeDto.getChangeIntegral());
            }
        }
        //消费变动
        if(memberTotalChangeDto.getPayMoney()!=null){
            memberTotal.setTotalPayMoney(memberTotal.getTotalPayMoney().add(memberTotalChangeDto.getPayMoney()));
            memberTotal.setTotalPayCount(memberTotal.getTotalPayCount()+1);
            memberTotal.setLastPayMoney(memberTotalChangeDto.getPayMoney());
            memberTotal.setLastPayTime(memberTotalChangeDto.getPayTime());
        }
        //服务次数变动
        if(memberTotalChangeDto.getServiceCount()!=null){
            if(memberTotalChangeDto.getTypeService()==2){
                memberTotal.setUseableServiceCount(memberTotal.getUseableServiceCount()-memberTotalChangeDto.getServiceCount());
                memberTotal.setUsedServiceCount(memberTotal.getUsedServiceCount()+memberTotalChangeDto.getServiceCount());
            }else{
                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+memberTotalChangeDto.getServiceCount());
                memberTotal.setTotalServiceCount(memberTotal.getTotalServiceCount()+memberTotalChangeDto.getServiceCount());
            }
        }
        //跟进时间
        if(memberTotalChangeDto.getNextTaskTime()!=null){
            memberTotal.setNextTaskTime(memberTotalChangeDto.getNextTaskTime());
        }
        //活动次数变动
        if(memberTotalChangeDto.getActivityTime()!=null){
            memberTotal.setTotalActivityCount(memberTotal.getTotalActivityCount()+1);
            memberTotal.setLastActivityTime(memberTotalChangeDto.getActivityTime());
        }
        //订单数量变动
        if(memberTotalChangeDto.getCycleOrderChange()!=null){
            memberTotal.setTotalCycleOrder(memberTotal.getTotalCycleOrder()+memberTotalChangeDto.getCycleOrderChange());
        }
        if(memberTotalChangeDto.getExperienceOrderChange()!=null){
            memberTotal.setTotalExperienceOrder(memberTotal.getTotalExperienceOrder()+memberTotalChangeDto.getExperienceOrderChange());
        }
        if(memberTotalChangeDto.getServiceOrderChange()!=null){
            memberTotal.setTotalServiceOrder(memberTotal.getTotalServiceOrder()+memberTotalChangeDto.getServiceOrderChange());
        }
        if(memberTotalChangeDto.getGoodsOrderChange()!=null){
            memberTotal.setTotalGoodsOrder(memberTotal.getTotalGoodsOrder()+memberTotalChangeDto.getGoodsOrderChange());
        }
        this.saveOrUpdate(memberTotal);
    }
}