From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java |  319 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 197 insertions(+), 122 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java
index 3b552a4..4ccb547 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActUserWalletServiceImpl.java
@@ -1,6 +1,17 @@
 package com.panzhihua.service_community.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Date;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import com.panzhihua.service_community.entity.SysTemplateConfig;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,25 +23,15 @@
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.wallet.ComActWalletVO;
 import com.panzhihua.common.utlis.StringUtils;
-import com.panzhihua.service_community.dao.ComActEasyPhotoActivityMapper;
-import com.panzhihua.service_community.dao.ComActEasyPhotoDAO;
-import com.panzhihua.service_community.dao.ComActUserWalletMapper;
-import com.panzhihua.service_community.model.dos.ComActEasyPhotoActivityDO;
-import com.panzhihua.service_community.model.dos.ComActEasyPhotoDO;
-import com.panzhihua.service_community.model.dos.ComActUserWalletDO;
-import com.panzhihua.service_community.model.dos.ComActUserWalletTradeDO;
+import com.panzhihua.common.utlis.WxUtil;
+import com.panzhihua.common.utlis.WxXCXTempSend;
+import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.model.dos.*;
 import com.panzhihua.service_community.service.ComActUserWalletChangeService;
 import com.panzhihua.service_community.service.ComActUserWalletService;
 import com.panzhihua.service_community.service.ComActUserWalletTradeService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.Map;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @auther lyq
@@ -39,7 +40,8 @@
  */
 @Slf4j
 @Service
-public class ComActUserWalletServiceImpl extends ServiceImpl<ComActUserWalletMapper, ComActUserWalletDO> implements ComActUserWalletService {
+public class ComActUserWalletServiceImpl extends ServiceImpl<ComActUserWalletMapper, ComActUserWalletDO>
+    implements ComActUserWalletService {
 
     @Resource
     private ComActEasyPhotoDAO comActEasyPhotoDAO;
@@ -51,20 +53,30 @@
     private ComActUserWalletTradeService comActUserWalletTradeService;
     @Resource
     private ComActUserWalletChangeService comActUserWalletChangeService;
+    @Resource
+    private ComActEasyPhotoRewardMapper comActEasyPhotoRewardMapper;
+    @Resource
+    private ComActActSignDAO comActActSignDAO;
+    @Resource
+    private ComActDAO comActDAO;
+    @Resource
+    private SysTemplateConfigDao sysTemplateConfigDao;
 
     /**
      * 查询用户钱包信息
-     * @param walletDetailDTO   请求参数
-     * @return  用户钱包信息
+     * 
+     * @param walletDetailDTO
+     *            请求参数
+     * @return 用户钱包信息
      */
     @Override
-    public R getWallet(ComActWalletDetailDTO walletDetailDTO){
+    public R getWallet(ComActWalletDetailDTO walletDetailDTO) {
         ComActWalletVO comActWalletVO = new ComActWalletVO();
-        //查询用户钱包
-        ComActUserWalletDO userWalletDO = this.baseMapper.selectOne(new QueryWrapper<ComActUserWalletDO>()
-                .lambda().eq(ComActUserWalletDO::getUserId,walletDetailDTO.getUserId())
-                .eq(ComActUserWalletDO::getCommunityId,walletDetailDTO.getCommunityId()));
-        if(userWalletDO == null){//若钱包不存在则新建钱包
+        // 查询用户钱包
+        ComActUserWalletDO userWalletDO = this.baseMapper.selectOne(new QueryWrapper<ComActUserWalletDO>().lambda()
+            .eq(ComActUserWalletDO::getUserId, walletDetailDTO.getUserId())
+            .eq(ComActUserWalletDO::getCommunityId, walletDetailDTO.getCommunityId()));
+        if (userWalletDO == null) {// 若钱包不存在则新建钱包
             userWalletDO = new ComActUserWalletDO();
             userWalletDO.setIncomeAmount(BigDecimal.ZERO);
             userWalletDO.setAvailableAmount(BigDecimal.ZERO);
@@ -75,21 +87,27 @@
             userWalletDO.setCreateAt(new Date());
             this.baseMapper.insert(userWalletDO);
         }
-        BeanUtils.copyProperties(userWalletDO,comActWalletVO);
-        Map<String,String> resultMap = this.baseMapper.getCommunityName(walletDetailDTO.getCommunityId());
-        if(!resultMap.isEmpty()){
+        BeanUtils.copyProperties(userWalletDO, comActWalletVO);
+        Map<String, String> resultMap = this.baseMapper.getCommunityName(walletDetailDTO.getCommunityId(), 5);
+        if (resultMap != null && !resultMap.isEmpty()) {
             comActWalletVO.setCommunityName(resultMap.get("name"));
-            if(StringUtils.isEmpty(resultMap.get("content"))){
-                this.baseMapper.insertSysAgreement(Constants.PROFIT_EXPLAIN,walletDetailDTO.getCommunityId());
+            if (StringUtils.isEmpty(resultMap.get("content"))) {
+                this.baseMapper.insertSysAgreement(Constants.PROFIT_EXPLAIN, "收益说明", walletDetailDTO.getCommunityId(),
+                    5);
+                comActWalletVO.setAgreement(Constants.PROFIT_EXPLAIN);
+            } else {
+                comActWalletVO.setAgreement(resultMap.get("content"));
             }
+        } else {
+            this.baseMapper.insertSysAgreement(Constants.PROFIT_EXPLAIN, "收益说明", walletDetailDTO.getCommunityId(), 5);
             comActWalletVO.setAgreement(Constants.PROFIT_EXPLAIN);
         }
 
         Integer easyCount = 0;
-        //查询用户发布随手拍数量
+        // 查询用户发布随手拍数量
         easyCount = comActEasyPhotoDAO.selectCount(new QueryWrapper<ComActEasyPhotoDO>().lambda()
-                .eq(ComActEasyPhotoDO::getSponsorId,walletDetailDTO.getUserId())
-                .eq(ComActEasyPhotoDO::getCommunityId,walletDetailDTO.getCommunityId()));
+            .eq(ComActEasyPhotoDO::getSponsorId, walletDetailDTO.getUserId())
+            .eq(ComActEasyPhotoDO::getCommunityId, walletDetailDTO.getCommunityId()));
         comActWalletVO.setEasyCount(easyCount);
 
         return R.ok(comActWalletVO);
@@ -97,151 +115,208 @@
 
     /**
      * 查询用户绑定的社区收益排行榜
-     * @param walletTradeDTO   请求参数
-     * @return  社区收益排行榜
+     * 
+     * @param walletTradeDTO
+     *            请求参数
+     * @return 社区收益排行榜
      */
     @Override
-    public R getWalletRanking(PageComActWalletTradeDTO walletTradeDTO){
-        return R.ok(this.baseMapper.getWalletRanking(new Page(walletTradeDTO.getPageNum(),walletTradeDTO.getPageSize()),walletTradeDTO));
+    public R getWalletRanking(PageComActWalletTradeDTO walletTradeDTO) {
+        return R.ok(this.baseMapper
+            .getWalletRanking(new Page(walletTradeDTO.getPageNum(), walletTradeDTO.getPageSize()), walletTradeDTO));
     }
 
     /**
      * 随手拍审核通过给用户添加收益
-     * @param easyPhotoId   随手拍id
+     * 
+     * @param easyPhotoId
+     *            随手拍id
      */
     @Override
-    public void examineAddMoney(Integer activityType,Long easyPhotoId,Long userId){
+    public void examineAddMoney(Integer activityType, Long easyPhotoId, Long userId, BigDecimal amount) {
 
-        //查询随手拍信息
+        // 查询随手拍信息
         ComActEasyPhotoDO easyPhotoDO = comActEasyPhotoDAO.selectById(easyPhotoId);
-        if(easyPhotoDO == null){
+        if (easyPhotoDO == null) {
             log.error("给用户添加收益失败,原因:未查到随手拍记录,随手拍id:" + easyPhotoId);
             return;
         }
 
-        if(easyPhotoDO.getActivityId() == null){//用户未参加活动,无需添加收益
+        if (easyPhotoDO.getActivityId() == null) {// 用户未参加活动,无需添加收益
             log.error("给用户添加收益失败,原因:用户未参加活动,无需添加收益,随手拍id:" + easyPhotoId);
             return;
         }
 
-        //查询随手拍活动
-        ComActEasyPhotoActivityDO photoActivityDO = comActEasyPhotoActivityMapper.selectById(easyPhotoDO.getActivityId());
-        if(photoActivityDO == null){
+        // 查询随手拍活动
+        ComActEasyPhotoActivityDO photoActivityDO =
+            comActEasyPhotoActivityMapper.selectById(easyPhotoDO.getActivityId());
+        if (photoActivityDO == null) {
             log.error("给用户添加收益失败,原因:未查到活动记录,活动id:" + easyPhotoDO.getActivityId());
             return;
         }
 
-        if(photoActivityDO.getStatus() != ComActEasyPhotoActivityDO.status.jxz){
-            log.error("给用户添加收益失败,原因:活动未在进行中,活动id:" + easyPhotoDO.getActivityId());
-            return;
+        // if(photoActivityDO.getStatus() != ComActEasyPhotoActivityDO.status.jxz){
+        // log.error("给用户添加收益失败,原因:活动未在进行中,活动id:" + easyPhotoDO.getActivityId());
+        // return;
+        // }
+
+        // 计算收益
+        if (activityType.equals(ComActEasyPhotoDO.activityType.yz)) {
+            amount = photoActivityDO.getGoodReward();
+        } else if (activityType.equals(ComActEasyPhotoDO.activityType.jl)) {
+            amount = photoActivityDO.getExcellentReward();
+        } else if (activityType.equals(ComActEasyPhotoDO.activityType.pt)) {
+            amount = photoActivityDO.getOrdinaryReward();
+        } else if (activityType.equals(ComActEasyPhotoDO.activityType.yb)) {
+            amount = photoActivityDO.getCommonlyReward();
         }
 
+        // Date nowDate = new Date();
+        // 查询用户钱包
+        ComActUserWalletDO userWalletDO = comActUserWalletMapper.selectOne(new QueryWrapper<ComActUserWalletDO>()
+            .lambda().eq(ComActUserWalletDO::getUserId, easyPhotoDO.getSponsorId())
+            .eq(ComActUserWalletDO::getCommunityId, easyPhotoDO.getCommunityId()));
+        if (userWalletDO == null) {
+            userWalletDO = new ComActUserWalletDO();
+            userWalletDO.setIncomeAmount(BigDecimal.ZERO);
+            userWalletDO.setAvailableAmount(BigDecimal.ZERO);
+            userWalletDO.setSettlementAmount(BigDecimal.ZERO);
+            userWalletDO.setUserId(easyPhotoDO.getSponsorId());
+            userWalletDO.setCommunityId(easyPhotoDO.getCommunityId());
+            userWalletDO.setEasyCount(0);
+            userWalletDO.setCreateAt(new Date());
+            this.baseMapper.insert(userWalletDO);
+        }
 
-        Date nowDate = new Date();
-        //活动正在进行中,需要给用户计算收益
-        if(nowDate.getTime() - photoActivityDO.getActivityStartAt().getTime() > 0 && nowDate.getTime() - photoActivityDO.getActivityEndAt().getTime() < 0){
+        if (amount.compareTo(BigDecimal.ZERO) == 0) {
+            log.error("此次参加活动的随手拍收益为0,不记录本次交易");
+            return;
+        } else {
+            // 记录钱包变动前金额
+            BigDecimal oldIncomeAmount = userWalletDO.getIncomeAmount();
+            BigDecimal oldAvailableAmount = userWalletDO.getAvailableAmount();
+            BigDecimal oldSettlementAmount = userWalletDO.getSettlementAmount();
 
-            //查询用户钱包
-            ComActUserWalletDO userWalletDO = comActUserWalletMapper.selectOne(new QueryWrapper<ComActUserWalletDO>()
-                    .lambda().eq(ComActUserWalletDO::getUserId,easyPhotoDO.getSponsorId()).eq(ComActUserWalletDO::getCommunityId,easyPhotoDO.getCommunityId()));
-            if(userWalletDO == null){
-                userWalletDO = new ComActUserWalletDO();
-                userWalletDO.setIncomeAmount(BigDecimal.ZERO);
-                userWalletDO.setAvailableAmount(BigDecimal.ZERO);
-                userWalletDO.setSettlementAmount(BigDecimal.ZERO);
-                userWalletDO.setUserId(easyPhotoDO.getSponsorId());
-                userWalletDO.setCommunityId(easyPhotoDO.getCommunityId());
-                userWalletDO.setEasyCount(0);
-                userWalletDO.setCreateAt(new Date());
-                this.baseMapper.insert(userWalletDO);
+            // 更新钱包金额
+            userWalletDO.setIncomeAmount(userWalletDO.getIncomeAmount().add(amount));
+            userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(amount));
+            comActUserWalletMapper.updateById(userWalletDO);
+
+            // 新增钱包资金交易记录
+            Long tradeId = comActUserWalletTradeService.addWalletTrade(easyPhotoDO.getSponsorId(),
+                easyPhotoDO.getCommunityId(), easyPhotoDO.getId(), amount, ComActUserWalletTradeDO.type.fb,
+                easyPhotoDO.getDetail(), userId, userWalletDO.getId(), ComActUserWalletTradeDO.changeType.add);
+
+            // 新增钱包资金变动记录
+            comActUserWalletChangeService.addWalletChange(easyPhotoDO.getSponsorId(), easyPhotoDO.getCommunityId(),
+                userWalletDO.getId(), oldIncomeAmount, userWalletDO.getIncomeAmount(), oldAvailableAmount,
+                userWalletDO.getAvailableAmount(), oldSettlementAmount, userWalletDO.getSettlementAmount(), tradeId);
+
+            // 查询用户未读奖励金额
+            ComActEasyPhotoRewardDO easyPhotoRewardDO =
+                comActEasyPhotoRewardMapper.selectOne(new QueryWrapper<ComActEasyPhotoRewardDO>().lambda()
+                    .eq(ComActEasyPhotoRewardDO::getCommunityId, easyPhotoDO.getCommunityId())
+                    .eq(ComActEasyPhotoRewardDO::getUserId, easyPhotoDO.getSponsorId())
+                    .eq(ComActEasyPhotoRewardDO::getIsRead, ComActEasyPhotoRewardDO.isRead.no));
+            if (easyPhotoRewardDO == null) {
+                easyPhotoRewardDO = new ComActEasyPhotoRewardDO();
+                easyPhotoRewardDO.setCommunityId(easyPhotoDO.getCommunityId());
+                easyPhotoRewardDO.setUserId(easyPhotoDO.getSponsorId());
+                easyPhotoRewardDO.setIsRead(ComActEasyPhotoRewardDO.isRead.no);
+                easyPhotoRewardDO.setCreateAt(new Date());
+                easyPhotoRewardDO.setAmount(amount);
+                comActEasyPhotoRewardMapper.insert(easyPhotoRewardDO);
+            } else {
+                easyPhotoRewardDO.setAmount(easyPhotoRewardDO.getAmount().add(amount));
+                easyPhotoRewardDO.setUpdateAt(new Date());
+                comActEasyPhotoRewardMapper.updateById(easyPhotoRewardDO);
             }
+        }
+        // 更新随手拍活动信息
+        easyPhotoDO.setActivityType(activityType);
+        easyPhotoDO.setActivityAmount(amount);
+        comActEasyPhotoDAO.updateById(easyPhotoDO);
 
-            //计算收益
-            BigDecimal profitAmount = BigDecimal.ZERO;
-            if(activityType.equals(ComActEasyPhotoDO.activityType.yz)){
-                profitAmount = photoActivityDO.getGoodReward();
-            }else if(activityType.equals(ComActEasyPhotoDO.activityType.jl)){
-                profitAmount = photoActivityDO.getExcellentReward();
-            }else if(activityType.equals(ComActEasyPhotoDO.activityType.pt)){
-                profitAmount = photoActivityDO.getOrdinaryReward();
+        String activityTypeName = "";
+        if (easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yz)) {
+            activityTypeName = "优质";
+        } else if (easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.jl)) {
+            activityTypeName = "精良";
+        } else if (easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.pt)) {
+            activityTypeName = "普通";
+        } else if (easyPhotoDO.getActivityType().equals(ComActEasyPhotoDO.activityType.yb)) {
+            activityTypeName = "一般";
+        }
+        // 发放奖励以后给用户推送消息
+        Map<String, String> map = comActActSignDAO.getUserOpenId(easyPhotoDO.getSponsorId());
+        if (map != null) {
+            String openid = map.get("openid");
+            ComActDO comActDO=comActDAO.selectById(easyPhotoDO.getCommunityId());
+            SysTemplateConfig sysTemplateConfig=sysTemplateConfigDao.selectOne(new QueryWrapper<SysTemplateConfig>().lambda().eq(SysTemplateConfig::getAreaCode, comActDO.getAreaCode()).eq(SysTemplateConfig::getType,7));
+            WxXCXTempSend util = new WxXCXTempSend();
+            try {
+                WxUtil.sendSubscribeJLDZ(openid, util.getAccessToken(), "随手拍有奖活动",
+                    amount.setScale(2, RoundingMode.HALF_UP), activityTypeName,sysTemplateConfig.getTemplateId());
+            } catch (Exception e) {
+                log.error("消息推送失败,失败原因:" + e.getMessage());
             }
-
-            if(profitAmount.compareTo(BigDecimal.ZERO) == 0){
-                log.error("此次参加活动的随手拍收益为0,不记录本次交易");
-                return;
-            }else{
-                //记录钱包变动前金额
-                BigDecimal oldIncomeAmount = userWalletDO.getIncomeAmount();
-                BigDecimal oldAvailableAmount = userWalletDO.getAvailableAmount();
-                BigDecimal oldSettlementAmount = userWalletDO.getSettlementAmount();
-
-                //更新钱包金额
-                userWalletDO.setIncomeAmount(userWalletDO.getIncomeAmount().add(profitAmount));
-                userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().add(profitAmount));
-                comActUserWalletMapper.updateById(userWalletDO);
-
-                //新增钱包资金交易记录
-                Long tradeId = comActUserWalletTradeService.addWalletTrade(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId()
-                        ,easyPhotoDO.getId(),profitAmount, ComActUserWalletTradeDO.type.fb,"发布随手拍"
-                        ,userId,userWalletDO.getId(),ComActUserWalletTradeDO.changeType.add);
-
-                //新增钱包资金变动记录
-                comActUserWalletChangeService.addWalletChange(easyPhotoDO.getSponsorId(),easyPhotoDO.getCommunityId(),userWalletDO.getId()
-                        ,oldIncomeAmount,userWalletDO.getIncomeAmount(),oldAvailableAmount,userWalletDO.getAvailableAmount()
-                        ,oldSettlementAmount,userWalletDO.getSettlementAmount(),tradeId);
-            }
-            //更新随手拍活动信息
-            easyPhotoDO.setActivityType(activityType);
-            easyPhotoDO.setActivityAmount(profitAmount);
-            comActEasyPhotoDAO.updateById(easyPhotoDO);
         }
     }
 
     /**
      * 分页查询收益结算列表
-     * @param pageWalletAdminDTO    请求参数
-     * @return  收益结算列表
+     * 
+     * @param pageWalletAdminDTO
+     *            请求参数
+     * @return 收益结算列表
      */
     @Override
-    public R pageUserWalletAdmin(PageComActWalletAdminDTO pageWalletAdminDTO){
-        return R.ok(this.baseMapper.getUserWalletList(new Page(pageWalletAdminDTO.getPageNum(),pageWalletAdminDTO.getPageSize()),pageWalletAdminDTO));
+    public R pageUserWalletAdmin(PageComActWalletAdminDTO pageWalletAdminDTO) {
+        return R.ok(this.baseMapper.getUserWalletList(
+            new Page(pageWalletAdminDTO.getPageNum(), pageWalletAdminDTO.getPageSize()), pageWalletAdminDTO));
     }
 
     /**
      * 用户结算收益
-     * @param settlementAdminDTO    请求参数
-     * @return  结算结果
+     * 
+     * @param settlementAdminDTO
+     *            请求参数
+     * @return 结算结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R userWalletSettlementAdmin(ComActWalletSettlementAdminDTO settlementAdminDTO){
-        //查询用户钱包
+    public R userWalletSettlementAdmin(ComActWalletSettlementAdminDTO settlementAdminDTO) {
+        // 查询用户钱包
         ComActUserWalletDO userWalletDO = this.baseMapper.selectById(settlementAdminDTO.getId());
-        if(userWalletDO == null){
+        if (userWalletDO == null) {
             return R.fail("未查询到用户钱包");
         }
-        if(userWalletDO.getAvailableAmount().compareTo(settlementAdminDTO.getSettlementAmount()) < 0){
+        if (userWalletDO.getAvailableAmount().compareTo(settlementAdminDTO.getSettlementAmount()) < 0) {
             return R.fail("结算金额不能高于钱包可结算金额");
         }
         try {
             BigDecimal oldIncomeAmount = userWalletDO.getIncomeAmount();
             BigDecimal oldAvailableAmount = userWalletDO.getAvailableAmount();
             BigDecimal oldSettlementAmount = userWalletDO.getSettlementAmount();
-            userWalletDO.setAvailableAmount(userWalletDO.getAvailableAmount().subtract(settlementAdminDTO.getSettlementAmount()));
-            userWalletDO.setSettlementAmount(userWalletDO.getSettlementAmount().add(settlementAdminDTO.getSettlementAmount()));
+            userWalletDO.setAvailableAmount(
+                userWalletDO.getAvailableAmount().subtract(settlementAdminDTO.getSettlementAmount()));
+            userWalletDO
+                .setSettlementAmount(userWalletDO.getSettlementAmount().add(settlementAdminDTO.getSettlementAmount()));
             userWalletDO.setUpdateAt(new Date());
             this.baseMapper.updateById(userWalletDO);
-            //添加钱包交易记录
-            Long tradeServiceId = comActUserWalletTradeService.addWalletTrade(userWalletDO.getUserId(),userWalletDO.getCommunityId()
-                    ,null,settlementAdminDTO.getSettlementAmount(),ComActUserWalletTradeDO.type.js
-                    ,settlementAdminDTO.getRemark(),settlementAdminDTO.getUserId(),userWalletDO.getId(),ComActUserWalletTradeDO.changeType.reduce);
-            //添加钱包变动记录
-            comActUserWalletChangeService.addWalletChange(userWalletDO.getUserId(),userWalletDO.getCommunityId(),userWalletDO.getId()
-                    ,oldIncomeAmount,userWalletDO.getIncomeAmount(),oldAvailableAmount,userWalletDO.getAvailableAmount()
-                    ,oldSettlementAmount,userWalletDO.getSettlementAmount(),tradeServiceId);
+            // 添加钱包交易记录
+            Long tradeServiceId = comActUserWalletTradeService.addWalletTrade(userWalletDO.getUserId(),
+                userWalletDO.getCommunityId(), null, settlementAdminDTO.getSettlementAmount(),
+                ComActUserWalletTradeDO.type.js, settlementAdminDTO.getRemark(), settlementAdminDTO.getUserId(),
+                userWalletDO.getId(), ComActUserWalletTradeDO.changeType.reduce);
+            // 添加钱包变动记录
+            comActUserWalletChangeService.addWalletChange(userWalletDO.getUserId(), userWalletDO.getCommunityId(),
+                userWalletDO.getId(), oldIncomeAmount, userWalletDO.getIncomeAmount(), oldAvailableAmount,
+                userWalletDO.getAvailableAmount(), oldSettlementAmount, userWalletDO.getSettlementAmount(),
+                tradeServiceId);
 
             return R.ok();
-        }catch (Exception e){
+        } catch (Exception e) {
             log.error("给用户结算收益失败,原因:" + e.getMessage());
             return R.fail("结算失败");
         }

--
Gitblit v1.7.1