This commit is contained in:
张良(004796)
2024-04-03 19:06:17 +08:00
parent 89167adae4
commit b3e960fcac
3 changed files with 23 additions and 10 deletions

View File

@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.enums.ConsumeLogStatus;
import com.ruoyi.cai.enums.ConsumeLogType;
import com.ruoyi.cai.enums.SystemConfigEnum;
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
import com.ruoyi.cai.manager.SystemConfigManager;
import com.ruoyi.cai.mapper.ConsumeLogMapper;
import com.ruoyi.cai.notice.YunxinHttpService;
import com.ruoyi.cai.rank.RankManager;
@@ -21,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@@ -46,6 +49,10 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
private AccountService accountService;
@Autowired
private YunxinHttpService yunxinHttpService;
@Autowired
private SystemConfigManager systemConfigManager;
@Autowired
private RankManager rankManager;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -127,19 +134,21 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
}
}
@Autowired
private RankManager rankManager;
@Override
public ConsumeLog calculateInitFenxiao(ConsumeLog consumeLog){
if(ConsumeLogType.RECHARGE.getCode().equals(consumeLog.getType())){
Long sourceUserId = consumeLog.getSourceUserId();
UserInvite userInvite = userInviteService.getByUserId(sourceUserId);
BigDecimal payIncomeRate = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.PAY_INCOME_RATE);
if(userInvite != null){
User oneUser = userService.getById(userInvite.getInviteId());
if(oneUser != null && oneUser.getStatus() == 0){
UserInfo userInfo = userInfoService.getByUserId(userInvite.getUserId());
consumeLog.setOneRate(userInfo.getPayIncomeRate());
if(payIncomeRate.compareTo(BigDecimal.ZERO) > 0){
consumeLog.setOneRate(payIncomeRate);
}else{
consumeLog.setOneRate(userInfo.getPayIncomeRate());
}
consumeLog.setOneUserId(userInvite.getInviteId());
consumeLog.setOneUsercode(oneUser.getUsercode());
consumeLog.setOnePhone(oneUser.getMobile());