init
This commit is contained in:
@@ -38,7 +38,7 @@ public interface AccountService extends IService<Account> {
|
||||
|
||||
Page<AccountAdminVo> pageAdmin(PageQuery pageQuery, AccountAdminVo bo);
|
||||
|
||||
void distribution(ConsumeLog consumeLog,Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum);
|
||||
boolean distribution(ConsumeLog consumeLog, Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum);
|
||||
|
||||
WithholdingFeeUserResp withholdingFeeUser(Long userId, Long price);
|
||||
|
||||
|
||||
@@ -23,4 +23,6 @@ public interface UserInviteService extends IService<UserInvite> {
|
||||
Page<UserListVo> inviteUserPage(PageQuery pageQuery, Long inviteId);
|
||||
|
||||
Page<UserInviteAdminVo> pageAdmin(PageQuery pageQuery, UserInviteAdminVo bo);
|
||||
|
||||
void incsCoinAsync(Long geUserId, Long seUserId, Long amount);
|
||||
}
|
||||
|
||||
@@ -234,32 +234,38 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
|
||||
/**
|
||||
* 分销
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void distribution(ConsumeLog consumeLog,Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum) {
|
||||
public boolean distribution(ConsumeLog consumeLog, Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum) {
|
||||
User user = userService.getById(userId);
|
||||
Account account = this.getByUserId(userId);
|
||||
if(account == null || user == null){
|
||||
log.error("分销失败,无效账号 userId={}",userId);
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
if(amount == null || accountChangeEnum == null){
|
||||
log.error("分销失败,参数错误 amount={},accountChangeEnum={}",amount,accountChangeEnum);
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
baseMapper.incsCoin(userId, amount);
|
||||
if(ConsumeLogType.GIFT.getCode().equals(consumeLog.getType())){ // 礼物
|
||||
Gift gift = giftService.getById(consumeLog.getBusinessParam());
|
||||
accountChangeLogService.saveLogNoAdmin(userId,user.getUsercode(), accountChangeEnum,amount,consumeLog.getTraceId(),
|
||||
consumeLog.getTargetUserId(),gift);
|
||||
return true;
|
||||
}else if(ConsumeLogType.VIDEO.getCode().equals(consumeLog.getType())
|
||||
|| ConsumeLogType.GUARD.getCode().equals(consumeLog.getType())){ // 视频和守护
|
||||
accountChangeLogService.saveLogNoAdmin(userId,user.getUsercode(), accountChangeEnum,amount,consumeLog.getTraceId(),
|
||||
consumeLog.getTargetUserId());
|
||||
return true;
|
||||
}else if(ConsumeLogType.RECHARGE.getCode().equals(consumeLog.getType())){ // 充值
|
||||
accountChangeLogService.saveLogNoAdmin(userId,user.getUsercode(), accountChangeEnum,amount,consumeLog.getTraceId(),
|
||||
consumeLog.getSourceUserId());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -100,18 +100,17 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
|
||||
if(consumer.getOneUserId() != null && BooleanUtils.isTrue(consumer.getOneJoin())
|
||||
&& consumer.getOneAmount() > 0){
|
||||
AccountChangeCodeEnum changeCodeEnum = ConsumeLogType.getOneInviteChange(code);
|
||||
accountService.distribution(consumer,consumer.getOneUserId(),consumer.getOneAmount(),changeCodeEnum);
|
||||
oneInviteSend = true;
|
||||
oneInviteSend = accountService.distribution(consumer, consumer.getOneUserId(), consumer.getOneAmount(), changeCodeEnum);
|
||||
}
|
||||
// 计算工会
|
||||
if(consumer.getUnionUserId() != null && BooleanUtils.isTrue(consumer.getUnionJoin())
|
||||
&& consumer.getUnionAmount() > 0){
|
||||
AccountChangeCodeEnum changeCodeEnum = ConsumeLogType.getUnionChange(code);
|
||||
accountService.distribution(consumer,consumer.getUnionUserId(),consumer.getUnionAmount(),changeCodeEnum);
|
||||
oneUnionSend = true;
|
||||
oneUnionSend = accountService.distribution(consumer, consumer.getUnionUserId(), consumer.getUnionAmount(), changeCodeEnum);
|
||||
}
|
||||
if(oneInviteSend){
|
||||
rankManager.sendInviteRankMq(consumer.getOneUserId(),consumer.getOneAmount(),consumer.getTraceId());
|
||||
userInviteService.incsCoinAsync(consumer.getOneUserId(),consumer.getCreateInviteUserId(),consumer.getOneAmount());
|
||||
}
|
||||
if(oneUnionSend){
|
||||
rankManager.sendInviteRankMq(consumer.getUnionUserId(),consumer.getUnionAmount(),consumer.getTraceId());
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.ruoyi.cai.dto.admin.vo.UserInviteAdminVo;
|
||||
import com.ruoyi.cai.dto.app.dto.InviteCountDTO;
|
||||
import com.ruoyi.cai.dto.app.vo.invite.InviteHomeVo;
|
||||
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
|
||||
import com.ruoyi.cai.executor.ExecutorConstant;
|
||||
import com.ruoyi.cai.mapper.UserInviteMapper;
|
||||
import com.ruoyi.cai.service.UserInviteService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
@@ -64,4 +65,27 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
|
||||
return baseMapper.pageAdmin(pageQuery.build(), bo);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param geUserId 获取收益的人
|
||||
* @param seUserId 创建收益的人
|
||||
*/
|
||||
@Override
|
||||
public void incsCoinAsync(Long geUserId, Long seUserId, Long amount) {
|
||||
ExecutorConstant.COMMON_EXECUTOR.execute(() -> {
|
||||
if(geUserId == null || seUserId == null || amount == null || amount <= 0){
|
||||
log.error("执行收益的递增失败【参数异常】");
|
||||
return;
|
||||
}
|
||||
UserInvite one = this.getOne(Wrappers.lambdaQuery(UserInvite.class)
|
||||
.eq(UserInvite::getInviteId, geUserId)
|
||||
.eq(UserInvite::getUserId, seUserId));
|
||||
if(one == null){
|
||||
log.error("执行收益的递增失败");
|
||||
return;
|
||||
}
|
||||
baseMapper.incsCoinTotal(one.getId(),amount);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user