init
This commit is contained in:
@@ -11,7 +11,7 @@ import com.ruoyi.cai.domain.ConsumeLog;
|
||||
*/
|
||||
public interface ConsumeLogService extends IService<ConsumeLog> {
|
||||
|
||||
void dealFenxiao(Long id);
|
||||
void dealFenxiao(Long id,boolean system);
|
||||
|
||||
ConsumeLog calculateInitFenxiao(ConsumeLog consumeLog);
|
||||
}
|
||||
|
||||
@@ -181,13 +181,13 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
if(!incs){
|
||||
throw new ServiceException("需"+incomeCoin+caiProperties.getCoinName()+"才可提现");
|
||||
}
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountBusinessEnum.WITHDRAW.getSourceEnum(),incomeCoin,traceId);
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountChangeEnum.WITHDRAW,incomeCoin,traceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void recharge(ConsumeLog consumeLog){
|
||||
log.info("开始扣费 consumeLog={}", JSON.toJSONString(consumeLog));
|
||||
log.info("开始充值 consumeLog={}", JSON.toJSONString(consumeLog));
|
||||
Long userId = consumeLog.getSourceUserId();
|
||||
Long amount = consumeLog.getAmount();
|
||||
User user = userService.getById(userId);
|
||||
@@ -195,8 +195,8 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
if(account == null || user == null){
|
||||
throw new ServiceException("无效账号");
|
||||
}
|
||||
baseMapper.incsIncomeCoin(userId, amount);
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN,AccountBusinessEnum.RECHARGE.getOneEnum(),amount,consumeLog.getTraceId());
|
||||
baseMapper.incsCoin(userId, amount);
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN,AccountBusinessEnum.RECHARGE.getSourceEnum(),amount,consumeLog.getTraceId());
|
||||
// 获取分销的比例和用户
|
||||
consumeLogService.calculateInitFenxiao(consumeLog);
|
||||
consumeLogService.save(consumeLog);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -11,6 +12,7 @@ import com.ruoyi.cai.mapper.ConsumeLogMapper;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.cai.util.NumCaUtil;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
@@ -42,7 +44,7 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void dealFenxiao(Long id){
|
||||
public void dealFenxiao(Long id,boolean system){
|
||||
ConsumeLog consumer = this.getById(id);
|
||||
if(consumer == null){
|
||||
return;
|
||||
@@ -63,13 +65,21 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
|
||||
this.updateById(consumer);
|
||||
}
|
||||
}
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
String opName = "system";
|
||||
Long opId = null;
|
||||
if(!system){
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
if(loginUser != null){
|
||||
opName = loginUser.getUsername();
|
||||
opId = loginUser.getUserId();
|
||||
}
|
||||
}
|
||||
// 在分销
|
||||
boolean update = this.update(Wrappers.lambdaUpdate(ConsumeLog.class)
|
||||
.eq(ConsumeLog::getId, id)
|
||||
.eq(ConsumeLog::getStatus, ConsumeLogStatus.READY.getCode())
|
||||
.set(ConsumeLog::getOpName, loginUser!=null?loginUser.getUsername():"system")
|
||||
.set(ConsumeLog::getOpId, loginUser!=null?loginUser.getUserId():"-1")
|
||||
.set(ConsumeLog::getOpName, opName)
|
||||
.set(ConsumeLog::getOpId, opId)
|
||||
.set(ConsumeLog::getStatus, ConsumeLogStatus.ALREADY.getCode()));
|
||||
if(!update){
|
||||
log.error("无需分销 consumer={}", JSON.toJSONString(consumer));
|
||||
@@ -78,7 +88,7 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
|
||||
AccountBusinessEnum accountBusinessEnum = AccountBusinessEnum.getByName(consumer.getBusinessEnum());
|
||||
if(accountBusinessEnum == null){
|
||||
log.error("分销失败 BusinessEnum状态错误! consumerLog={}",JSON.toJSONString(consumer));
|
||||
return;
|
||||
throw new ServiceException("分销失败!请联系管理员排查问题!");
|
||||
}
|
||||
try {
|
||||
// 计算一级
|
||||
|
||||
@@ -111,6 +111,7 @@ public class GuardTotalServiceImpl extends ServiceImpl<GuardTotalMapper, GuardTo
|
||||
consumeLog.init(fromUser,toUser);
|
||||
consumeLog.setTraceId(tractId);
|
||||
consumeLog.setType(ConsumeLogType.GUARD.getCode());
|
||||
consumeLog.setBusinessEnum(AccountBusinessEnum.GUARD.name());
|
||||
consumeLog.setAmount(guardValue);
|
||||
consumeLog.setTargetRate(anchor.getGuardRate());
|
||||
consumeLog = accountService.decr(consumeLog, AccountBusinessEnum.GUARD);
|
||||
|
||||
@@ -114,6 +114,7 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
consumeLog.init(user,null);
|
||||
consumeLog.setTraceId(traceId);
|
||||
consumeLog.setType(ConsumeLogType.RECHARGE.getCode());
|
||||
consumeLog.setBusinessEnum(AccountBusinessEnum.RECHARGE.name());
|
||||
consumeLog.setAmount(rechargeOrder.getRechargeCoin());
|
||||
accountService.recharge(consumeLog);
|
||||
ConsumeResp resp = new ConsumeResp();
|
||||
|
||||
@@ -76,6 +76,7 @@ public class UserGiftServiceImpl extends ServiceImpl<UserGiftMapper, UserGift> i
|
||||
consumeLog.init(fromUser,toUser);
|
||||
consumeLog.setTraceId(traceId);
|
||||
consumeLog.setType(ConsumeLogType.GIFT.getCode());
|
||||
consumeLog.setBusinessEnum(AccountBusinessEnum.GIFT.name());
|
||||
consumeLog.setAmount(giftAmount);
|
||||
consumeLog.setTargetRate(anchor.getGiftRate());
|
||||
consumeLog = accountService.decr(consumeLog, AccountBusinessEnum.GIFT);
|
||||
|
||||
@@ -22,7 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
|
||||
/**
|
||||
* VIP订单Service业务层处理
|
||||
@@ -152,13 +154,14 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper,VipOrder> im
|
||||
userMember.setMemberType(memberType);
|
||||
userMember.setExpire(expire);
|
||||
userMember.setLongs(longs);
|
||||
userMember.setExpireDate(createTime.plusDays(expire));
|
||||
LocalDate expireDate = createTime.plusDays(expire).plusDays(1).toLocalDate();
|
||||
userMember.setExpireDate(LocalDateTime.of(expireDate, LocalTime.MIN));
|
||||
userMember.setCreateTime(createTime);
|
||||
userMember.setMemberStatus(MemberStatusEnum.NORMAL.getCode());
|
||||
userMemberService.saveOrUpdate(userMember);
|
||||
return true;
|
||||
}
|
||||
if(longs == 1){ // 已经是永久会员还买? 傻逼
|
||||
if(userMember.getLongs() == 1){ // 已经是永久会员还买? 傻逼
|
||||
return true;
|
||||
}
|
||||
userMember.setCreateTime(createTime);
|
||||
|
||||
Reference in New Issue
Block a user