diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/AccountDetailController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/AccountDetailController.java deleted file mode 100644 index dbb01ecc..00000000 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/admin/AccountDetailController.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.ruoyi.cai.controller.admin; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.cai.domain.AccountDetail; -import com.ruoyi.cai.service.AccountDetailService; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.annotation.RepeatSubmit; -import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.PageQuery; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.core.validate.AddGroup; -import com.ruoyi.common.core.validate.EditGroup; -import com.ruoyi.common.enums.BusinessType; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.util.Arrays; - -/** - * 账户明细 - * - * @author 77 - * @date 2023-12-22 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/cai/accountDetail") -public class AccountDetailController extends BaseController { - - private final AccountDetailService caiAccountDetailService; - - /** - * 查询账户明细列表 - */ - @SaCheckPermission("cai:accountDetail:list") - @GetMapping("/list") - public TableDataInfo list(AccountDetail bo, PageQuery pageQuery) { - Page page = caiAccountDetailService.page(pageQuery.build(), - Wrappers.lambdaQuery(bo).orderByDesc(AccountDetail::getCreateTime)); - return TableDataInfo.build(page); - } - - /** - * 获取账户明细详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("cai:accountDetail:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { - return R.ok(caiAccountDetailService.getById(id)); - } - - /** - * 新增账户明细 - */ - @SaCheckPermission("cai:accountDetail:add") - @Log(title = "账户明细", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody AccountDetail bo) { - return toAjax(caiAccountDetailService.save(bo)); - } - - /** - * 修改账户明细 - */ - @SaCheckPermission("cai:accountDetail:edit") - @Log(title = "账户明细", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody AccountDetail bo) { - return toAjax(caiAccountDetailService.updateById(bo)); - } - - /** - * 删除账户明细 - * - * @param ids 主键串 - */ - @SaCheckPermission("cai:accountDetail:remove") - @Log(title = "账户明细", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(caiAccountDetailService.removeBatchByIds(Arrays.asList(ids))); - } -} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/WalletController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/WalletController.java index a1aa78f7..871efc53 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/WalletController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/WalletController.java @@ -17,7 +17,6 @@ import com.ruoyi.cai.service.RechargeOrderService; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.BeanConvertUtil; diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/AccountChangeLog.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/AccountChangeLog.java index 0265c6a6..39ea16a8 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/AccountChangeLog.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/AccountChangeLog.java @@ -2,6 +2,7 @@ package com.ruoyi.cai.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.cai.enums.account.AccountChangeCodeEnum; import lombok.Data; import org.springframework.web.bind.annotation.DeleteMapping; @@ -34,6 +35,9 @@ public class AccountChangeLog implements Serializable { * 蜜瓜号 */ private String usercode; + private Long tarUserId; + private String tarParam; + private String tarImg; /** * 账户类型 1-余额 2-收益 */ @@ -70,4 +74,14 @@ public class AccountChangeLog implements Serializable { private LocalDateTime createTime; + + public void init(AccountChangeCodeEnum change){ + this.setAccountType(change.getAccountType().getCode()); + this.setCateId(change.getCate().getCode()); + this.setCateAppName(change.getText()); + this.setCateAdminName(change.getText()); + this.setTraceLinkType(change.getCate().name()); + this.setRemark(change.getDesc()); + } + } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/AccountDetail.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/AccountDetail.java deleted file mode 100644 index 690ae543..00000000 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/AccountDetail.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.ruoyi.cai.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - * 账户明细对象 cai_account_detail - * - * @author 77 - * @date 2023-12-22 - */ -@Data -@TableName("cai_account_detail") -public class AccountDetail implements Serializable { - - private static final long serialVersionUID=1L; - - /** - * 积分记录ID - */ - @TableId(value = "id",type = IdType.AUTO) - private Long id; - /** - * 用户ID - */ - private Long userId; - /** - * 账户类型ID 1 。充值的金额 2 。收益的金额 3 。充值的彩币 4 收益的彩币 - */ - private Integer accountType; - /** - * 类别 - */ - private Integer cateId; - /** - * 业务码 - */ - private Long businessCode; - /** - * 订单号 - */ - private String orderNo; - /** - * 原有积分 - */ - private BigDecimal beforeAmount; - /** - * 变化后积分 - */ - private BigDecimal afterAmount; - /** - * 变化值,为正 或者为负 - */ - private BigDecimal changeValue; - /** - * - */ - private Long trackUserId; - /** - * 跟踪的关键字 - */ - private String trackParam; - /** - * 备注 - */ - private String remark; - /** - * 操作IP - */ - private String operateIp; - /** - * 是否为后台用户手动调整 - */ - private Integer isAdmin; - - private LocalDateTime createTime; - -} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/ConsumeLog.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/ConsumeLog.java index 4e3cca78..8aee6094 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/ConsumeLog.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/ConsumeLog.java @@ -34,8 +34,7 @@ public class ConsumeLog implements Serializable { /** * 业务状态码 */ - @Deprecated - private String businessEnum; + private String businessParam; /** * 跟踪ID */ diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/AccountDetailMapper.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/AccountDetailMapper.java deleted file mode 100644 index c56ca2cd..00000000 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/AccountDetailMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.ruoyi.cai.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.cai.domain.AccountDetail; - -/** - * 账户明细Mapper接口 - * - * @author 77 - * @date 2023-12-22 - */ -public interface AccountDetailMapper extends BaseMapper { - -} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountChangeLogService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountChangeLogService.java index a8411d16..ec021d32 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountChangeLogService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountChangeLogService.java @@ -2,6 +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.Gift; import com.ruoyi.cai.enums.account.AccountChangeCodeEnum; /** @@ -12,9 +13,15 @@ import com.ruoyi.cai.enums.account.AccountChangeCodeEnum; */ public interface AccountChangeLogService extends IService { + AccountChangeLog getLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId); + AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId); - AccountChangeLog saveLog(Long userId,String usercode, AccountChangeCodeEnum change, Long price, Long traceId,Integer admin); + AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId + , Long tarUserId); - AccountChangeLog saveLogAdmin(Long userId,String usercode, AccountChangeCodeEnum change, Long price,Long traceId); + AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId + , Long tarUserId, Gift gift); + + AccountChangeLog saveLogAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountDetailService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountDetailService.java deleted file mode 100644 index 1d5d664a..00000000 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountDetailService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.ruoyi.cai.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.cai.domain.AccountDetail; - -/** - * 账户明细Service接口 - * - * @author 77 - * @date 2023-12-22 - */ -public interface AccountDetailService extends IService { - - -} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountService.java index 9db984ca..49f00b75 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.cai.domain.Account; import com.ruoyi.cai.domain.ConsumeLog; +import com.ruoyi.cai.domain.Gift; import com.ruoyi.cai.domain.User; import com.ruoyi.cai.dto.admin.vo.AccountAdminVo; import com.ruoyi.cai.dto.video.VideoSettleResp; @@ -12,7 +13,6 @@ 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; /** * 用户账户Service接口 @@ -24,7 +24,9 @@ public interface AccountService extends IService { Account getByUserId(Long userId); - ConsumeLog decr(ConsumeLog log, ConsumeLogType consumeLogType); + ConsumeLog guardDecr(ConsumeLog log, ConsumeLogType consumeLogType); + + ConsumeLog giftDecr(ConsumeLog consumeLog, ConsumeLogType consumeLogType, Gift gift); Long imDesc(User fromUser, User toUser, Long price); @@ -36,7 +38,7 @@ public interface AccountService extends IService { Page pageAdmin(PageQuery pageQuery, AccountAdminVo bo); - void distribution(Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum, Long traceId); + void distribution(ConsumeLog consumeLog,Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum); WithholdingFeeUserResp withholdingFeeUser(Long userId, Long price); diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountChangeLogServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountChangeLogServiceImpl.java index dce08e50..7ae07a0e 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountChangeLogServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountChangeLogServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.cai.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.cai.domain.AccountChangeLog; +import com.ruoyi.cai.domain.Gift; import com.ruoyi.cai.enums.account.AccountChangeCodeEnum; import com.ruoyi.cai.mapper.AccountChangeLogMapper; import com.ruoyi.cai.service.AccountChangeLogService; @@ -16,33 +17,56 @@ import org.springframework.stereotype.Service; @Service public class AccountChangeLogServiceImpl extends ServiceImpl implements AccountChangeLogService { - @Override - public AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId){ - return this.saveLog(userId,usercode,change,price,traceId,0); + public AccountChangeLog getLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId){ + return this.getAccountChangeLog(userId, usercode, change, price, traceId, 0); } @Override - public AccountChangeLog saveLog(Long userId,String usercode, AccountChangeCodeEnum change, Long price, Long traceId,Integer admin){ + public AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId){ + AccountChangeLog changeLog = this.getAccountChangeLog(userId, usercode, change, price, traceId, 0); + this.save(changeLog); + return changeLog; + } + + @Override + public AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId + ,Long tarUserId){ + AccountChangeLog changeLog = this.getAccountChangeLog(userId, usercode, change, price, traceId, 0); + changeLog.setTarUserId(userId); + this.save(changeLog); + return changeLog; + } + + @Override + public AccountChangeLog saveLogNoAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId + , Long tarUserId, Gift gift){ + AccountChangeLog changeLog = this.getAccountChangeLog(userId, usercode, change, price, traceId, 0); + changeLog.setTarUserId(userId); + if(gift != null){ + changeLog.setTarParam(gift.getId()+""); + changeLog.setTarImg(gift.getImg()); + } + this.save(changeLog); + return changeLog; + } + + private AccountChangeLog getAccountChangeLog(Long userId, String usercode, AccountChangeCodeEnum change, Long price, Long traceId, Integer admin){ AccountChangeLog log = new AccountChangeLog(); + log.init(change); log.setUserId(userId); log.setUsercode(usercode); log.setTraceId(traceId); - 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); return log; } @Override public AccountChangeLog saveLogAdmin(Long userId, String usercode, AccountChangeCodeEnum change, Long price,Long traceId) { - return this.saveLog(userId,usercode,change,price,traceId,1); + AccountChangeLog changeLog = this.getAccountChangeLog(userId, usercode, change, price, traceId, 1); + this.save(changeLog); + return changeLog; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountDetailServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountDetailServiceImpl.java deleted file mode 100644 index f7bda65e..00000000 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountDetailServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.ruoyi.cai.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.cai.domain.AccountDetail; -import com.ruoyi.cai.mapper.AccountDetailMapper; -import com.ruoyi.cai.service.AccountDetailService; -import org.springframework.stereotype.Service; - -/** - * 账户明细Service业务层处理 - * - * @author 77 - * @date 2023-12-22 - */ -@Service -public class AccountDetailServiceImpl extends ServiceImpl implements AccountDetailService { - - -} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountServiceImpl.java index 6995b0b1..cfb298a3 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountServiceImpl.java @@ -6,10 +6,7 @@ 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.Account; -import com.ruoyi.cai.domain.ConsumeLog; -import com.ruoyi.cai.domain.User; -import com.ruoyi.cai.domain.UserCall; +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; @@ -65,11 +62,16 @@ public class AccountServiceImpl extends ServiceImpl impl @Override @Transactional(rollbackFor = Exception.class) - public ConsumeLog decr(ConsumeLog consumeLog, ConsumeLogType consumeLogType) { + public ConsumeLog guardDecr(ConsumeLog consumeLog, ConsumeLogType consumeLogType){ + return giftDecr(consumeLog,consumeLogType,null); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public ConsumeLog giftDecr(ConsumeLog consumeLog, ConsumeLogType consumeLogType, Gift gift) { log.info("开始扣费 consumeLog={}", JSON.toJSONString(consumeLog)); Long userId = consumeLog.getSourceUserId(); Long amount = consumeLog.getAmount(); - Account account = this.getByUserId(userId); long totalCoin = account.getIncomeCoin() + account.getCoin(); if(totalCoin < amount){ @@ -105,16 +107,19 @@ public class AccountServiceImpl extends ServiceImpl impl // 记录消费方的流水 if(coin != 0){ AccountChangeCodeEnum change = ConsumeLogType.getSourceChange(consumeLogType, AccountTypeEnum.COIN); - accountChangeLogService.saveLogNoAdmin(userId,consumeLog.getSourceUsercode(), change, coin,consumeLog.getTraceId()); + accountChangeLogService.saveLogNoAdmin(userId, consumeLog.getSourceUsercode(), change, coin, consumeLog.getTraceId() + ,consumeLog.getTargetUserId(),gift); } if(incomeCoin != 0){ AccountChangeCodeEnum change = ConsumeLogType.getSourceChange(consumeLogType, AccountTypeEnum.INCOME_COIN); - accountChangeLogService.saveLogNoAdmin(userId,consumeLog.getSourceUsercode(), change,incomeCoin,consumeLog.getTraceId()); + accountChangeLogService.saveLogNoAdmin(userId, consumeLog.getSourceUsercode(), change, coin, consumeLog.getTraceId() + ,consumeLog.getTargetUserId(),gift); } // 记录接收方的流水 if(targetUserId != null){ AccountChangeCodeEnum change = ConsumeLogType.getTargetChange(consumeLogType); - accountChangeLogService.saveLogNoAdmin(targetUserId,consumeLog.getTargetUsercode(), change,consumeLog.getAnchorAmount(),consumeLog.getTraceId()); + accountChangeLogService.saveLogNoAdmin(userId, consumeLog.getSourceUsercode(), change, coin, consumeLog.getTraceId() + ,consumeLog.getSourceUserId(),gift); } // 获取分销的比例和用户 consumeLogService.calculateInitFenxiao(consumeLog); @@ -158,14 +163,14 @@ public class AccountServiceImpl extends ServiceImpl impl Long tractId = IdManager.nextId(); // 记录消费方的流水 if(coin != 0){ - accountChangeLogService.saveLogNoAdmin(fromUserId,fromUser.getUsercode(), AccountChangeCodeEnum.IM_COIN_OUT, coin, tractId); + accountChangeLogService.saveLogNoAdmin(fromUser.getId(),fromUser.getUsercode(), AccountChangeCodeEnum.IM_COIN_OUT, coin, tractId, toUser.getId()); } if(incomeCoin != 0){ - accountChangeLogService.saveLogNoAdmin(fromUserId,fromUser.getUsercode(), AccountChangeCodeEnum.IM_INCOME_COIN_OUT,incomeCoin,tractId); + accountChangeLogService.saveLogNoAdmin(fromUser.getId(),fromUser.getUsercode(), AccountChangeCodeEnum.IM_INCOME_COIN_OUT,incomeCoin,tractId,toUser.getId()); } // 记录接收方的流水 if(anchorAmount != 0){ - accountChangeLogService.saveLogNoAdmin(toUser.getId(),toUser.getUsercode(), AccountChangeCodeEnum.IM_INCOME,anchorAmount,tractId); + accountChangeLogService.saveLogNoAdmin(toUser.getId(),toUser.getUsercode(), AccountChangeCodeEnum.IM_INCOME,anchorAmount,tractId,fromUser.getId()); } return tractId; } @@ -224,11 +229,14 @@ public class AccountServiceImpl extends ServiceImpl impl return baseMapper.pageAdmin(pageQuery.build(),bo); } + @Autowired + private GiftService giftService; + /** * 分销 */ @Override - public void distribution(Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum,Long traceId) { + public void distribution(ConsumeLog consumeLog,Long userId, Long amount, AccountChangeCodeEnum accountChangeEnum) { User user = userService.getById(userId); Account account = this.getByUserId(userId); if(account == null || user == null){ @@ -240,7 +248,18 @@ public class AccountServiceImpl extends ServiceImpl impl return; } baseMapper.incsCoin(userId, amount); - accountChangeLogService.saveLogNoAdmin(userId,user.getUsercode(), accountChangeEnum,amount,traceId); + 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); + }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()); + }else if(ConsumeLogType.RECHARGE.getCode().equals(consumeLog.getType())){ // 充值 + accountChangeLogService.saveLogNoAdmin(userId,user.getUsercode(), accountChangeEnum,amount,consumeLog.getTraceId(), + consumeLog.getSourceUserId()); + } } /** @@ -299,6 +318,9 @@ public class AccountServiceImpl extends ServiceImpl impl Long callTime = roomService.getCallTime(room); // 本次支付金额 long totalAmount = callPrice * ((callTime / 60) + 1); // 本次需要支付的金额 + if(callTime % 60 == 0){ + totalAmount = callPrice * (callTime / 60); + } Long payCoin = roomData.getPayCoin(); // 已经支付的余额 Long payIncome = roomData.getPayIncome(); // 已经支付的收益 // 补差价 diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/ConsumeLogServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/ConsumeLogServiceImpl.java index d89d6109..4c4b3cf8 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/ConsumeLogServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/ConsumeLogServiceImpl.java @@ -94,13 +94,13 @@ public class ConsumeLogServiceImpl extends ServiceImpl 0){ AccountChangeCodeEnum changeCodeEnum = ConsumeLogType.getOneInviteChange(code); - accountService.distribution(consumer.getOneUserId(),consumer.getOneAmount(),changeCodeEnum,consumer.getTraceId()); + 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.getUnionUserId(),consumer.getUnionAmount(),changeCodeEnum,consumer.getTraceId()); + accountService.distribution(consumer,consumer.getUnionUserId(),consumer.getUnionAmount(),changeCodeEnum); } }catch (Exception e){ log.error("分销发生未知错误,请联系开发检查!",e); diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/GuardTotalServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/GuardTotalServiceImpl.java index 0ae4135a..f64e8bc9 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/GuardTotalServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/GuardTotalServiceImpl.java @@ -112,7 +112,7 @@ public class GuardTotalServiceImpl extends ServiceImpl i consumeLog.setType(ConsumeLogType.GIFT.getCode()); consumeLog.setAmount(giftAmount); consumeLog.setTargetRate(anchor.getGiftRate()); - consumeLog = accountService.decr(consumeLog, ConsumeLogType.GIFT); + consumeLog = accountService.giftDecr(consumeLog, ConsumeLogType.GIFT, gift); resp.setConsumeLogId(consumeLog.getId()); UserGift userGift = new UserGift(); userGift.setType(query.getType()); diff --git a/ruoyi-cai/src/main/resources/mapper/cai/AccountDetailMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/AccountDetailMapper.xml deleted file mode 100644 index 8775e8aa..00000000 --- a/ruoyi-cai/src/main/resources/mapper/cai/AccountDetailMapper.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - -