nnnn
This commit is contained in:
@@ -9,9 +9,7 @@ import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.admin.vo.AccountAdminVo;
|
||||
import com.ruoyi.cai.dto.video.VideoSettleResp;
|
||||
import com.ruoyi.cai.dto.video.WithholdingFeeUserResp;
|
||||
import com.ruoyi.cai.enums.ConsumeLogStatus;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.enums.PointLogType;
|
||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
|
||||
import com.ruoyi.cai.enums.account.AccountTypeEnum;
|
||||
@@ -35,7 +33,6 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 用户账户Service业务层处理
|
||||
@@ -219,6 +216,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
|
||||
@Autowired
|
||||
private PointRecordLogService pointRecordLogService;
|
||||
@Autowired
|
||||
private PointChangeLogService pointChangeLogService;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
@@ -227,7 +226,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
return null;
|
||||
}
|
||||
log.info("开始赠送积分 orderNo={}", rechargeOrder.getOrderNo());
|
||||
baseMapper.incrPoint(rechargeOrder.getUserId(), rechargeOrder.getGivePoint());
|
||||
pointChangeLogService.rechargeOrderChange(rechargeOrder.getOrderNo(), rechargeOrder.getUserId(),rechargeOrder.getGivePoint());
|
||||
PointRecordLog pointRecordLog = pointRecordLogService.initOrder(rechargeOrder, user);
|
||||
return pointRecordLog;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.PointChangeLog;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.enums.point.PointChangeLogActionTypeEnum;
|
||||
import com.ruoyi.cai.enums.point.PointChangeTraceTypeEnum;
|
||||
import com.ruoyi.cai.mapper.AccountMapper;
|
||||
import com.ruoyi.cai.mapper.PointChangeLogMapper;
|
||||
import com.ruoyi.cai.service.PointChangeLogService;
|
||||
import com.ruoyi.cai.service.UserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 积分记录Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-12-10
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class PointChangeLogServiceImpl extends ServiceImpl<PointChangeLogMapper,PointChangeLog> implements PointChangeLogService {
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Resource
|
||||
private AccountMapper accountMapper;
|
||||
|
||||
@Override
|
||||
public void rechargeOrderChange(String orderNo, Long userId, Long givePoint){
|
||||
accountMapper.incrPoint(userId, givePoint);
|
||||
User user = userService.getById(userId);
|
||||
PointChangeLog pointChangeLog = new PointChangeLog();
|
||||
pointChangeLog.setUserId(userId);
|
||||
pointChangeLog.setUsercode(user.getUsercode());
|
||||
pointChangeLog.setActionType(PointChangeLogActionTypeEnum.PAY.getCode());
|
||||
pointChangeLog.setMessage("充值赠送"+givePoint+"积分");
|
||||
pointChangeLog.setChangeValue(givePoint);
|
||||
pointChangeLog.setIsAdmin(false);
|
||||
pointChangeLog.setTraceLinkType(PointChangeTraceTypeEnum.PAY.getCode());
|
||||
pointChangeLog.setTraceId(orderNo);
|
||||
this.save(pointChangeLog);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rechargeOrderInviteChange(Long userId, Long givePoint, Long inviteUserId, String traceId){
|
||||
accountMapper.incrPoint(userId, givePoint);
|
||||
User user = userService.getById(userId);
|
||||
User inviteUser = userService.getById(inviteUserId);
|
||||
PointChangeLog pointChangeLog = new PointChangeLog();
|
||||
pointChangeLog.setUserId(userId);
|
||||
pointChangeLog.setUsercode(user.getUsercode());
|
||||
pointChangeLog.setActionType(PointChangeLogActionTypeEnum.INVITE.getCode());
|
||||
String message = String.format("从【%s】中充值分成新增%s积分", inviteUser.getNickname(), givePoint);
|
||||
pointChangeLog.setMessage(message);
|
||||
pointChangeLog.setTarUserId(inviteUser.getId());
|
||||
pointChangeLog.setTarUsercode(inviteUser.getUsercode());
|
||||
pointChangeLog.setTarName(inviteUser.getNickname());
|
||||
pointChangeLog.setTarImg(inviteUser.getAvatar());
|
||||
pointChangeLog.setChangeValue(givePoint);
|
||||
pointChangeLog.setIsAdmin(false);
|
||||
pointChangeLog.setTraceLinkType(PointChangeTraceTypeEnum.INVITE.getCode());
|
||||
pointChangeLog.setTraceId(traceId);
|
||||
this.save(pointChangeLog);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adminChange(Long userId, Long givePoint){
|
||||
accountMapper.incrPoint(userId, givePoint);
|
||||
User user = userService.getById(userId);
|
||||
PointChangeLog pointChangeLog = new PointChangeLog();
|
||||
pointChangeLog.setUserId(userId);
|
||||
pointChangeLog.setUsercode(user.getUsercode());
|
||||
pointChangeLog.setActionType(PointChangeLogActionTypeEnum.SYSTEM.getCode());
|
||||
String message = String.format("系统调整:%s%s积分", givePoint > 0 ? "新增" : "减少", givePoint);
|
||||
pointChangeLog.setMessage(message);
|
||||
pointChangeLog.setChangeValue(givePoint);
|
||||
pointChangeLog.setIsAdmin(true);
|
||||
pointChangeLog.setTraceLinkType(PointChangeTraceTypeEnum.SYSTEM.getCode());
|
||||
this.save(pointChangeLog);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void adminInvite(Long userId, Long givePoint, Long inviteUserId, String traceId){
|
||||
accountMapper.incrPoint(userId, givePoint);
|
||||
User user = userService.getById(userId);
|
||||
User inviteUser = userService.getById(inviteUserId);
|
||||
PointChangeLog pointChangeLog = new PointChangeLog();
|
||||
pointChangeLog.setUserId(userId);
|
||||
pointChangeLog.setUsercode(user.getUsercode());
|
||||
pointChangeLog.setActionType(PointChangeLogActionTypeEnum.SYSTEM.getCode());
|
||||
String message = String.format("从【%s】中充值分成新增%s积分", inviteUser.getNickname(), givePoint);
|
||||
pointChangeLog.setMessage(message);
|
||||
pointChangeLog.setTarUserId(inviteUser.getId());
|
||||
pointChangeLog.setTarUsercode(inviteUser.getUsercode());
|
||||
pointChangeLog.setTarName(inviteUser.getNickname());
|
||||
pointChangeLog.setTarImg(inviteUser.getAvatar());
|
||||
pointChangeLog.setChangeValue(givePoint);
|
||||
pointChangeLog.setIsAdmin(false);
|
||||
pointChangeLog.setTraceLinkType(PointChangeTraceTypeEnum.INVITE.getCode());
|
||||
pointChangeLog.setTraceId(traceId);
|
||||
this.save(pointChangeLog);
|
||||
}
|
||||
}
|
||||
@@ -6,12 +6,10 @@ import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.AddPointAdminDto;
|
||||
import com.ruoyi.cai.enums.ConsumeLogStatus;
|
||||
import com.ruoyi.cai.enums.PointLogType;
|
||||
import com.ruoyi.cai.manager.IdManager;
|
||||
import com.ruoyi.cai.mapper.AccountMapper;
|
||||
import com.ruoyi.cai.mapper.PointRecordLogMapper;
|
||||
import com.ruoyi.cai.service.PointRecordLogService;
|
||||
import com.ruoyi.cai.service.UserInfoService;
|
||||
import com.ruoyi.cai.service.UserInviteService;
|
||||
import com.ruoyi.cai.service.UserService;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.cai.util.CaiNumUtil;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -39,6 +37,8 @@ public class PointRecordLogServiceImpl extends ServiceImpl<PointRecordLogMapper,
|
||||
private UserInfoService userInfoService;
|
||||
@Resource
|
||||
private AccountMapper accountMapper;
|
||||
@Autowired
|
||||
private PointChangeLogService pointChangeLogService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -53,7 +53,7 @@ public class PointRecordLogServiceImpl extends ServiceImpl<PointRecordLogMapper,
|
||||
throw new ServiceException("开启分销情况下,无法调整积分为负数");
|
||||
}
|
||||
}
|
||||
accountMapper.incrPoint(user.getId(), dto.getChangePoints());
|
||||
pointChangeLogService.adminChange(user.getId(),dto.getChangePoints());
|
||||
PointRecordLog pointLog = new PointRecordLog();
|
||||
pointLog.setPoints(dto.getChangePoints());
|
||||
pointLog.setSourceUserId(user.getId());
|
||||
@@ -75,7 +75,9 @@ public class PointRecordLogServiceImpl extends ServiceImpl<PointRecordLogMapper,
|
||||
if(dto.isDistribution()){ // 需要分销,直接分销
|
||||
pointLog.setStatus(ConsumeLogStatus.ALREADY.getCode());
|
||||
if(pointLog.getOnePoints() >= 0 && pointLog.getOneUserId() != null && !pointLog.getOneJoin()){
|
||||
accountMapper.incrPoint(pointLog.getOneUserId(), pointLog.getOnePoints());
|
||||
String traceId = IdManager.nextIdStr();
|
||||
pointChangeLogService.adminInvite(pointLog.getOneUserId(),pointLog.getOnePoints(),pointLog.getSourceUserId(),traceId);
|
||||
pointLog.setTraceId(traceId);
|
||||
}
|
||||
}else{
|
||||
pointLog.setStatus(ConsumeLogStatus.NO.getCode());
|
||||
@@ -124,10 +126,12 @@ public class PointRecordLogServiceImpl extends ServiceImpl<PointRecordLogMapper,
|
||||
if(!ConsumeLogStatus.READY.getCode().equals(pointRecordLog.getStatus())){
|
||||
return;
|
||||
}
|
||||
String traceId = IdManager.nextIdStr();
|
||||
boolean update = this.update(Wrappers.lambdaUpdate(PointRecordLog.class)
|
||||
.eq(PointRecordLog::getId, pointLogId)
|
||||
.eq(PointRecordLog::getStatus, ConsumeLogStatus.READY.getCode())
|
||||
.set(PointRecordLog::getStatus, ConsumeLogStatus.ALREADY.getCode()));
|
||||
.set(PointRecordLog::getStatus, ConsumeLogStatus.ALREADY.getCode())
|
||||
.set(PointRecordLog::getTraceId, traceId));
|
||||
if(!update){
|
||||
return;
|
||||
}
|
||||
@@ -137,8 +141,7 @@ public class PointRecordLogServiceImpl extends ServiceImpl<PointRecordLogMapper,
|
||||
if(!pointRecordLog.getOneJoin()){
|
||||
return;
|
||||
}
|
||||
|
||||
accountMapper.incrPoint(pointRecordLog.getOneUserId(), pointRecordLog.getOnePoints());
|
||||
pointChangeLogService.adminInvite(pointRecordLog.getOneUserId(),pointRecordLog.getOnePoints(),pointRecordLog.getSourceUserId(),traceId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user