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);
|
}
|
}
|