jiangqs
2023-06-28 a016ab9f97b76c3b4905b890662d344d47f24005
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package com.ruoyi.member.service.impl.member;
 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.member.domain.pojo.member.MemberTotal;
import com.ruoyi.member.mapper.member.MemberTotalMapper;
import com.ruoyi.member.service.member.MemberTotalService;
import com.ruoyi.system.api.domain.dto.MemberTotalChangeDto;
import org.springframework.stereotype.Service;
 
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-05-25
 */
@Service
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);
    }
}