123
This commit is contained in:
@@ -2,10 +2,7 @@ package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.AccountChangeLog;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.enums.AccountBusinessEnum;
|
||||
import com.ruoyi.cai.enums.AccountChangeEnum;
|
||||
import com.ruoyi.cai.pay.RechargeTypeEnum;
|
||||
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
|
||||
|
||||
/**
|
||||
* 账户明细Service接口
|
||||
@@ -15,9 +12,9 @@ import com.ruoyi.cai.pay.RechargeTypeEnum;
|
||||
*/
|
||||
public interface AccountChangeLogService extends IService<AccountChangeLog> {
|
||||
|
||||
AccountChangeLog saveLogNoAdmin(Long userId, String usercode, RechargeTypeEnum rechargeTypeEnum, AccountChangeEnum accountChangeEnum, Long price,Long traceId);
|
||||
AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId);
|
||||
|
||||
AccountChangeLog saveLog(Long userId,String usercode, RechargeTypeEnum rechargeTypeEnum, AccountChangeEnum accountChangeEnum, Long price, Long traceId,Integer admin);
|
||||
AccountChangeLog saveLog(Long userId,String usercode, AccountChangeCodeEnum change, Long price, Long traceId,Integer admin);
|
||||
|
||||
AccountChangeLog saveLogAdmin(Long userId,String usercode, RechargeTypeEnum rechargeTypeEnum, AccountChangeEnum accountChangeEnum, Long price,Long traceId);
|
||||
AccountChangeLog saveLogAdmin(Long userId,String usercode, AccountChangeCodeEnum change, Long price,Long traceId);
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ import com.ruoyi.cai.domain.User;
|
||||
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.AccountBusinessEnum;
|
||||
import com.ruoyi.cai.enums.AccountChangeEnum;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
|
||||
import com.ruoyi.cai.ws.bean.Room;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -24,20 +24,19 @@ public interface AccountService extends IService<Account> {
|
||||
|
||||
Account getByUserId(Long userId);
|
||||
|
||||
ConsumeLog decr(ConsumeLog log, AccountBusinessEnum businessEnum);
|
||||
ConsumeLog decr(ConsumeLog log, ConsumeLogType consumeLogType);
|
||||
|
||||
Long imDesc(User fromUser, User toUser, Long price);
|
||||
|
||||
void withdraw(Long userId, Long incomeCoin, Long traceId);
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
void withdrawFail(Long userId, Long incomeCoin, Long traceId);
|
||||
|
||||
void recharge(ConsumeLog consumeLog);
|
||||
|
||||
Page<AccountAdminVo> pageAdmin(PageQuery pageQuery, AccountAdminVo bo);
|
||||
|
||||
void distribution(Long userId, Long amount, AccountChangeEnum oneEnum,Long traceId);
|
||||
void distribution(Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum, Long traceId);
|
||||
|
||||
WithholdingFeeUserResp withholdingFeeUser(Long userId, Long price);
|
||||
|
||||
|
||||
@@ -2,9 +2,8 @@ package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.AccountChangeLog;
|
||||
import com.ruoyi.cai.enums.AccountChangeEnum;
|
||||
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
|
||||
import com.ruoyi.cai.mapper.AccountChangeLogMapper;
|
||||
import com.ruoyi.cai.pay.RechargeTypeEnum;
|
||||
import com.ruoyi.cai.service.AccountChangeLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -19,23 +18,22 @@ public class AccountChangeLogServiceImpl extends ServiceImpl<AccountChangeLogMap
|
||||
|
||||
|
||||
@Override
|
||||
public AccountChangeLog saveLogNoAdmin(Long userId, String usercode, RechargeTypeEnum rechargeTypeEnum, AccountChangeEnum accountChangeEnum, Long price,Long traceId){
|
||||
return this.saveLog(userId,usercode,rechargeTypeEnum,accountChangeEnum,price,traceId,0);
|
||||
public AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId){
|
||||
return this.saveLog(userId,usercode,change,price,traceId,0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccountChangeLog saveLog(Long userId,String usercode, RechargeTypeEnum rechargeTypeEnum,
|
||||
AccountChangeEnum accountChangeEnum, Long price, Long traceId,Integer admin){
|
||||
public AccountChangeLog saveLog(Long userId,String usercode, AccountChangeCodeEnum change, Long price, Long traceId,Integer admin){
|
||||
AccountChangeLog log = new AccountChangeLog();
|
||||
log.setUserId(userId);
|
||||
log.setUsercode(usercode);
|
||||
log.setTraceId(traceId);
|
||||
log.setAccountType(rechargeTypeEnum.getCode());
|
||||
log.setCateId(accountChangeEnum.getCode());
|
||||
log.setCateAppName(accountChangeEnum.getAppName());
|
||||
log.setCateAdminName(accountChangeEnum.getAdminName());
|
||||
log.setTraceLinkType(accountChangeEnum.getTraceIdLink());
|
||||
log.setRemark(accountChangeEnum.getDesc());
|
||||
log.setAccountType(change.getAccountType().getCode());
|
||||
log.setCateId(change.getCate().getCode());
|
||||
log.setCateAppName(change.getText());
|
||||
log.setCateAdminName(change.getText());
|
||||
log.setTraceLinkType(change.getCate().name());
|
||||
log.setRemark(change.getDesc());
|
||||
log.setChangeValue(price);
|
||||
log.setIsAdmin(admin);
|
||||
this.save(log);
|
||||
@@ -43,8 +41,8 @@ public class AccountChangeLogServiceImpl extends ServiceImpl<AccountChangeLogMap
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccountChangeLog saveLogAdmin(Long userId, String usercode, RechargeTypeEnum rechargeTypeEnum, AccountChangeEnum accountChangeEnum, Long price,Long traceId) {
|
||||
return this.saveLog(userId,usercode,rechargeTypeEnum,accountChangeEnum,price,traceId,1);
|
||||
public AccountChangeLog saveLogAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price,Long traceId) {
|
||||
return this.saveLog(userId,usercode,change,price,traceId,1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,18 +6,20 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.config.CaiProperties;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.domain.Account;
|
||||
import com.ruoyi.cai.domain.ConsumeLog;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.UserCall;
|
||||
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.AccountBusinessEnum;
|
||||
import com.ruoyi.cai.enums.AccountChangeEnum;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
|
||||
import com.ruoyi.cai.enums.account.AccountTypeEnum;
|
||||
import com.ruoyi.cai.manager.IdManager;
|
||||
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||
import com.ruoyi.cai.mapper.AccountMapper;
|
||||
import com.ruoyi.cai.pay.RechargeTypeEnum;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.cai.util.NumCaUtil;
|
||||
import com.ruoyi.cai.ws.bean.Room;
|
||||
@@ -63,7 +65,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ConsumeLog decr(ConsumeLog consumeLog, AccountBusinessEnum businessEnum) {
|
||||
public ConsumeLog decr(ConsumeLog consumeLog, ConsumeLogType consumeLogType) {
|
||||
log.info("开始扣费 consumeLog={}", JSON.toJSONString(consumeLog));
|
||||
Long userId = consumeLog.getSourceUserId();
|
||||
Long amount = consumeLog.getAmount();
|
||||
@@ -102,14 +104,17 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
}
|
||||
// 记录消费方的流水
|
||||
if(coin != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(userId,consumeLog.getSourceUsercode(), RechargeTypeEnum.COIN,businessEnum.getSourceEnum(),coin,consumeLog.getTraceId());
|
||||
AccountChangeCodeEnum change = ConsumeLogType.getSourceChange(consumeLogType, AccountTypeEnum.COIN);
|
||||
accountChangeLogService.saveLogNoAdmin(userId,consumeLog.getSourceUsercode(), change, coin,consumeLog.getTraceId());
|
||||
}
|
||||
if(incomeCoin != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(userId,consumeLog.getSourceUsercode(), RechargeTypeEnum.COIN_INCOME,businessEnum.getSourceEnum(),incomeCoin,consumeLog.getTraceId());
|
||||
AccountChangeCodeEnum change = ConsumeLogType.getSourceChange(consumeLogType, AccountTypeEnum.INCOME_COIN);
|
||||
accountChangeLogService.saveLogNoAdmin(userId,consumeLog.getSourceUsercode(), change,incomeCoin,consumeLog.getTraceId());
|
||||
}
|
||||
// 记录接收方的流水
|
||||
if(targetUserId != null){
|
||||
accountChangeLogService.saveLogNoAdmin(targetUserId,consumeLog.getTargetUsercode(), RechargeTypeEnum.COIN_INCOME,businessEnum.getTargetEnum(),consumeLog.getAnchorAmount(),consumeLog.getTraceId());
|
||||
AccountChangeCodeEnum change = ConsumeLogType.getTargetChange(consumeLogType);
|
||||
accountChangeLogService.saveLogNoAdmin(targetUserId,consumeLog.getTargetUsercode(), change,consumeLog.getAnchorAmount(),consumeLog.getTraceId());
|
||||
}
|
||||
// 获取分销的比例和用户
|
||||
consumeLogService.calculateInitFenxiao(consumeLog);
|
||||
@@ -153,14 +158,14 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
Long tractId = IdManager.nextId();
|
||||
// 记录消费方的流水
|
||||
if(coin != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(fromUserId,fromUser.getUsercode(), RechargeTypeEnum.COIN, AccountChangeEnum.USER_IM, coin, tractId);
|
||||
accountChangeLogService.saveLogNoAdmin(fromUserId,fromUser.getUsercode(), AccountChangeCodeEnum.IM_COIN_OUT, coin, tractId);
|
||||
}
|
||||
if(incomeCoin != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(fromUserId,fromUser.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountChangeEnum.USER_IM,incomeCoin,tractId);
|
||||
accountChangeLogService.saveLogNoAdmin(fromUserId,fromUser.getUsercode(), AccountChangeCodeEnum.IM_INCOME_COIN_OUT,incomeCoin,tractId);
|
||||
}
|
||||
// 记录接收方的流水
|
||||
if(anchorAmount != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(toUser.getId(),toUser.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountChangeEnum.ANCHOR_IM,anchorAmount,tractId);
|
||||
accountChangeLogService.saveLogNoAdmin(toUser.getId(),toUser.getUsercode(), AccountChangeCodeEnum.IM_INCOME,anchorAmount,tractId);
|
||||
}
|
||||
return tractId;
|
||||
}
|
||||
@@ -180,7 +185,7 @@ 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,AccountChangeEnum.WITHDRAW,incomeCoin,traceId);
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), AccountChangeCodeEnum.WITHDRAW,incomeCoin,traceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -192,7 +197,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
throw new ServiceException("无效账号");
|
||||
}
|
||||
baseMapper.incsIncomeCoin(userId, incomeCoin);
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountChangeEnum.WITHDRAW_ROLLBACK,incomeCoin,traceId);
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), AccountChangeCodeEnum.WITHDRAW_FAIL,incomeCoin,traceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -207,7 +212,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
throw new ServiceException("无效账号");
|
||||
}
|
||||
baseMapper.incsCoin(userId, amount);
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), RechargeTypeEnum.COIN,AccountBusinessEnum.RECHARGE.getSourceEnum(),amount,consumeLog.getTraceId());
|
||||
accountChangeLogService.saveLogNoAdmin(user.getId(),user.getUsercode(), AccountChangeCodeEnum.RECHARGE,amount,consumeLog.getTraceId());
|
||||
// 获取分销的比例和用户
|
||||
consumeLogService.calculateInitFenxiao(consumeLog);
|
||||
consumeLogService.save(consumeLog);
|
||||
@@ -223,7 +228,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
* 分销
|
||||
*/
|
||||
@Override
|
||||
public void distribution(Long userId, Long amount, AccountChangeEnum accountChangeEnum,Long traceId) {
|
||||
public void distribution(Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum,Long traceId) {
|
||||
User user = userService.getById(userId);
|
||||
Account account = this.getByUserId(userId);
|
||||
if(account == null || user == null){
|
||||
@@ -235,7 +240,7 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
return;
|
||||
}
|
||||
baseMapper.incsCoin(userId, amount);
|
||||
accountChangeLogService.saveLogNoAdmin(userId,user.getUsercode(), RechargeTypeEnum.COIN_INCOME,accountChangeEnum,amount,traceId);
|
||||
accountChangeLogService.saveLogNoAdmin(userId,user.getUsercode(), accountChangeEnum,amount,traceId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -346,19 +351,18 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
|
||||
Long tractId = IdManager.nextId();
|
||||
// 记录消费方的流水
|
||||
if(payCoin != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(fromUser.getId(),fromUser.getUsercode(), RechargeTypeEnum.COIN, AccountChangeEnum.USER_VIDEO, payCoin, tractId);
|
||||
accountChangeLogService.saveLogNoAdmin(fromUser.getId(),fromUser.getUsercode(), AccountChangeCodeEnum.VIDEO_COIN_OUT, payCoin, tractId);
|
||||
}
|
||||
if(payIncome != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(fromUser.getId(),fromUser.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountChangeEnum.USER_VIDEO,payIncome,tractId);
|
||||
accountChangeLogService.saveLogNoAdmin(fromUser.getId(),fromUser.getUsercode(), AccountChangeCodeEnum.VIDEO_INCOME_COIN_OUT,payIncome,tractId);
|
||||
}
|
||||
// 记录接收方的流水
|
||||
if(anchorAmount != 0){
|
||||
accountChangeLogService.saveLogNoAdmin(toUser.getId(),toUser.getUsercode(), RechargeTypeEnum.COIN_INCOME,AccountChangeEnum.ANCHOR_VIDEO,anchorAmount,tractId);
|
||||
accountChangeLogService.saveLogNoAdmin(toUser.getId(),toUser.getUsercode(), AccountChangeCodeEnum.VIDEO_INCOME,anchorAmount,tractId);
|
||||
}
|
||||
ConsumeLog consumeLog = new ConsumeLog();
|
||||
consumeLog.init(fromUser,toUser);
|
||||
consumeLog.setType(ConsumeLogType.VIDEO.getCode());
|
||||
consumeLog.setBusinessEnum(AccountBusinessEnum.VIDEO.name());
|
||||
consumeLog.setTraceId(tractId);
|
||||
consumeLog.setTargetRate(roomData.getVideoDivide());
|
||||
consumeLog.setAmount(amountReal);
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
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;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.enums.AccountBusinessEnum;
|
||||
import com.ruoyi.cai.enums.ConsumeLogStatus;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
|
||||
import com.ruoyi.cai.mapper.ConsumeLogMapper;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.cai.util.NumCaUtil;
|
||||
@@ -85,8 +84,8 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
|
||||
log.error("无需分销 consumer={}", JSON.toJSONString(consumer));
|
||||
return;
|
||||
}
|
||||
AccountBusinessEnum accountBusinessEnum = AccountBusinessEnum.getByName(consumer.getBusinessEnum());
|
||||
if(accountBusinessEnum == null){
|
||||
ConsumeLogType code = ConsumeLogType.getByCode(consumer.getType());
|
||||
if(code == null){
|
||||
log.error("分销失败 BusinessEnum状态错误! consumerLog={}",JSON.toJSONString(consumer));
|
||||
throw new ServiceException("分销失败!请联系管理员排查问题!");
|
||||
}
|
||||
@@ -94,12 +93,14 @@ public class ConsumeLogServiceImpl extends ServiceImpl<ConsumeLogMapper, Consume
|
||||
// 计算一级
|
||||
if(consumer.getOneUserId() != null && BooleanUtils.isTrue(consumer.getOneJoin())
|
||||
&& consumer.getOneAmount() > 0){
|
||||
accountService.distribution(consumer.getOneUserId(),consumer.getOneAmount(),accountBusinessEnum.getOneEnum(),consumer.getTraceId());
|
||||
AccountChangeCodeEnum changeCodeEnum = ConsumeLogType.getOneInviteChange(code);
|
||||
accountService.distribution(consumer.getOneUserId(),consumer.getOneAmount(),changeCodeEnum,consumer.getTraceId());
|
||||
}
|
||||
// 计算工会
|
||||
if(consumer.getUnionUserId() != null && BooleanUtils.isTrue(consumer.getUnionJoin())
|
||||
&& consumer.getUnionAmount() > 0){
|
||||
accountService.distribution(consumer.getUnionUserId(),consumer.getUnionAmount(),accountBusinessEnum.getUnionEnum(),consumer.getTraceId());
|
||||
AccountChangeCodeEnum changeCodeEnum = ConsumeLogType.getUnionChange(code);
|
||||
accountService.distribution(consumer.getUnionUserId(),consumer.getUnionAmount(),changeCodeEnum,consumer.getTraceId());
|
||||
}
|
||||
}catch (Exception e){
|
||||
log.error("分销发生未知错误,请联系开发检查!",e);
|
||||
|
||||
@@ -6,11 +6,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.ConsumeResp;
|
||||
import com.ruoyi.cai.dto.app.dto.GuardNum;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardReq;
|
||||
import com.ruoyi.cai.dto.app.dto.GuardTotalDTO;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardReq;
|
||||
import com.ruoyi.cai.dto.app.vo.index.GuardIndexVo;
|
||||
import com.ruoyi.cai.dto.app.vo.index.GuardListPageVo;
|
||||
import com.ruoyi.cai.enums.AccountBusinessEnum;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||
import com.ruoyi.cai.manager.IdManager;
|
||||
@@ -111,10 +110,9 @@ 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);
|
||||
consumeLog = accountService.decr(consumeLog, ConsumeLogType.GUARD);
|
||||
resp.setConsumeLogId(consumeLog.getId());
|
||||
GuardLog guardLog = new GuardLog();
|
||||
guardLog.setFromUserId(fromUserId);
|
||||
|
||||
@@ -9,13 +9,16 @@ import com.ruoyi.cai.dto.AddRechargeOrderAdminDto;
|
||||
import com.ruoyi.cai.dto.AddRechargeOrderDto;
|
||||
import com.ruoyi.cai.dto.ConsumeResp;
|
||||
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
||||
import com.ruoyi.cai.enums.AccountBusinessEnum;
|
||||
import com.ruoyi.cai.enums.AccountChangeEnum;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.enums.account.AccountChangeCodeEnum;
|
||||
import com.ruoyi.cai.enums.account.AccountTypeEnum;
|
||||
import com.ruoyi.cai.manager.IdManager;
|
||||
import com.ruoyi.cai.mapper.AccountMapper;
|
||||
import com.ruoyi.cai.mapper.RechargeOrderMapper;
|
||||
import com.ruoyi.cai.pay.*;
|
||||
import com.ruoyi.cai.pay.OrderNoUtil;
|
||||
import com.ruoyi.cai.pay.OrderTypeEnum;
|
||||
import com.ruoyi.cai.pay.PayStatusEnum;
|
||||
import com.ruoyi.cai.pay.PlatformTypeEnum;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
@@ -79,7 +82,7 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
order.setRechargeId(goods.getId());
|
||||
order.setRechargeName(goods.getName());
|
||||
order.setRechargeCoin(goods.getAmount());
|
||||
order.setRechargeType(RechargeTypeEnum.COIN.getCode());
|
||||
order.setRechargeType(AccountTypeEnum.COIN.getCode());
|
||||
order.setPrice(goods.getPrice());
|
||||
order.setOrderNo(OrderNoUtil.createOrderNo(OrderTypeEnum.RECHARGE_ORDER_SUB));
|
||||
order.setPayStatus(PayStatusEnum.READY_PAY.getCode());
|
||||
@@ -114,7 +117,6 @@ 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();
|
||||
@@ -130,15 +132,15 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
if(user == null){
|
||||
throw new ServiceException("用户不存在");
|
||||
}
|
||||
RechargeTypeEnum rechargeTypeEnum = RechargeTypeEnum.getByCode(dto.getRechargeType());
|
||||
if(rechargeTypeEnum == null){
|
||||
AccountTypeEnum accountTypeEnum = AccountTypeEnum.getByCode(dto.getRechargeType());
|
||||
if(accountTypeEnum == null){
|
||||
throw new ServiceException("参数错误");
|
||||
}
|
||||
Long userId = user.getId();
|
||||
Long traceId = IdManager.nextId();
|
||||
RechargeOrder order = new RechargeOrder();
|
||||
order.setUserId(userId);
|
||||
order.setRechargeName(rechargeTypeEnum.getName());
|
||||
order.setRechargeName(accountTypeEnum == AccountTypeEnum.COIN ? "余额调整" : "收益调整");
|
||||
order.setRechargeCoin(dto.getRechargeCoin());
|
||||
order.setPrice(BigDecimal.ZERO);
|
||||
order.setRechargeType(dto.getRechargeType());
|
||||
@@ -152,10 +154,10 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
order.setTraceId(traceId);
|
||||
this.save(order);
|
||||
Account account = accountService.getByUserId(userId);
|
||||
if(rechargeTypeEnum == RechargeTypeEnum.COIN){ // 余额调整
|
||||
if(accountTypeEnum == AccountTypeEnum.COIN){ // 余额调整
|
||||
if(dto.getRechargeCoin() > 0){
|
||||
accountMapper.incsCoin(userId,dto.getRechargeCoin());
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(),RechargeTypeEnum.COIN, AccountChangeEnum.SYSTEM_COIN_INCS,dto.getRechargeCoin(),traceId);
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(), AccountChangeCodeEnum.SYSTEM_COIN_INCS ,dto.getRechargeCoin(),traceId);
|
||||
}else{
|
||||
if(account.getCoin() < -dto.getRechargeCoin()){
|
||||
throw new ServiceException("调整后余额为负数,无法调整");
|
||||
@@ -164,12 +166,12 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
if(!l){
|
||||
throw new ServiceException("调整后收益为负数,无法调整");
|
||||
}
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(),RechargeTypeEnum.COIN, AccountChangeEnum.SYSTEM_COIN_DECR,dto.getRechargeCoin(),traceId);
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(), AccountChangeCodeEnum.SYSTEM_COIN_DECR,dto.getRechargeCoin(),traceId);
|
||||
}
|
||||
}else{
|
||||
if(dto.getRechargeCoin() > 0){
|
||||
accountMapper.incsIncomeCoin(userId,dto.getRechargeCoin());
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(),RechargeTypeEnum.COIN_INCOME, AccountChangeEnum.SYSTEM_INCOME_COIN_INCS,dto.getRechargeCoin(),traceId);
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(), AccountChangeCodeEnum.SYSTEM_INCOME_COIN_INCS,dto.getRechargeCoin(),traceId);
|
||||
}else{
|
||||
if(account.getIncomeCoin() < -dto.getRechargeCoin()){
|
||||
throw new ServiceException("调整后收益为负数,无法调整");
|
||||
@@ -178,7 +180,7 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
if(!l){
|
||||
throw new ServiceException("调整后收益为负数,无法调整");
|
||||
}
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(),RechargeTypeEnum.COIN_INCOME, AccountChangeEnum.SYSTEM_INCOME_COIN_DECR,dto.getRechargeCoin(),traceId);
|
||||
accountChangeLogService.saveLogAdmin(user.getId(),user.getUsercode(), AccountChangeCodeEnum.SYSTEM_INCOME_COIN_DECR,dto.getRechargeCoin(),traceId);
|
||||
}
|
||||
}
|
||||
return order;
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.ConsumeResp;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
|
||||
import com.ruoyi.cai.dto.app.vo.index.UserGiftIndexVo;
|
||||
import com.ruoyi.cai.enums.AccountBusinessEnum;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.manager.IdManager;
|
||||
import com.ruoyi.cai.manager.LockManager;
|
||||
@@ -76,10 +75,9 @@ 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);
|
||||
consumeLog = accountService.decr(consumeLog, ConsumeLogType.GIFT);
|
||||
resp.setConsumeLogId(consumeLog.getId());
|
||||
UserGift userGift = new UserGift();
|
||||
userGift.setType(query.getType());
|
||||
|
||||
Reference in New Issue
Block a user