瀏覽代碼

处理代码编译失败问题

woody 1 年之前
父節點
當前提交
9f3cc344a9

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/RankAwardConfigService.java

@@ -14,7 +14,7 @@ public interface RankAwardConfigService {
 
     void delete(Long id, Long userId);
 
-    Pagination<RankAwardConfigDTO> queryPageList(QueryRankAwardConfigParam param, Long pageNum,
-                                                 Long pageSize);
+    Pagination<RankAwardConfigDTO> queryPageList(QueryRankAwardConfigParam param, Integer pageNum,
+                                                 Integer pageSize);
 
 }

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/RankAwardRecordService.java

@@ -7,8 +7,8 @@ import com.chelvc.framework.common.model.Pagination;
 
 public interface RankAwardRecordService {
 
-    Pagination<RankAwardRecordDTO> queryPageList(QueryRankAwardRecordParam param, Long pageNum,
-                                                 Long pageSize);
+    Pagination<RankAwardRecordDTO> queryPageList(QueryRankAwardRecordParam param, Integer pageNum,
+                                                 Integer pageSize);
 
     void handOutPrize(HandRankAwardParam param);
 

+ 9 - 9
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/AssetServiceImpl.java

@@ -1,19 +1,19 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.vehicle.server.dao.AssetMapper;
 import com.chelvc.cloud.vehicle.server.entity.Asset;
 import com.chelvc.cloud.vehicle.server.service.AssetService;
-import com.chelvc.framework.base.exception.ResourceUnavailableException;
+import com.chelvc.framework.common.exception.ResourceUnavailableException;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
 @Service
 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
 public class AssetServiceImpl extends ServiceImpl<AssetMapper, Asset> implements AssetService {
@@ -23,7 +23,7 @@ public class AssetServiceImpl extends ServiceImpl<AssetMapper, Asset> implements
         wrapper.eq(Asset::getUserId, userId);
         wrapper.eq(Asset::getType, type);
         Asset asset = baseMapper.selectOne(wrapper);
-        if(asset != null){
+        if (asset != null) {
             return asset;
         }
         asset = new Asset();
@@ -40,16 +40,16 @@ public class AssetServiceImpl extends ServiceImpl<AssetMapper, Asset> implements
     public BigDecimal updateAsset(Integer operateType, BigDecimal operateAmount, Long userId, Integer type) {
         Asset asset = queryAsset(userId, type);
         BigDecimal total = asset.getTotal();
-        if(operateType == 1 && total.compareTo(operateAmount) < 0){
+        if (operateType == 1 && total.compareTo(operateAmount) < 0) {
             throw new ResourceUnavailableException("账户余额不足");
         }
-        if(operateType == 0){
+        if (operateType == 0) {
             asset.setTotal(total.add(operateAmount));
-        } else if(operateType == 1){
+        } else if (operateType == 1) {
             asset.setTotal(total.subtract(operateAmount));
         }
         int i = baseMapper.updateById(asset);
-        if(i != 1){
+        if (i != 1) {
             throw new ResourceUnavailableException("操作失败");
         }
         return asset.getTotal();

+ 2 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/FeedbackReplyServiceImpl.java

@@ -6,7 +6,7 @@ import com.chelvc.cloud.vehicle.server.dao.FeedbackReolyMapper;
 import com.chelvc.cloud.vehicle.server.entity.FeedBackReply;
 import com.chelvc.cloud.vehicle.server.service.FeedbackReplyService;
 import com.chelvc.framework.base.context.SessionContextHolder;
-import com.chelvc.framework.base.util.ResourceUtils;
+import com.chelvc.framework.common.util.AssertUtils;
 import lombok.NonNull;
 import org.apache.dubbo.config.annotation.DubboService;
 import java.util.Date;
@@ -34,7 +34,7 @@ public class FeedbackReplyServiceImpl extends ServiceImpl<FeedbackReolyMapper, F
 
     @Override
     public void updateFeedbackReply(@NonNull Long id, @NonNull FeedBackReplyModifyParam param) {
-        FeedBackReply feedBackReply = ResourceUtils.required(this.getById(id), "该意见反馈回复不存在");
+        FeedBackReply feedBackReply = AssertUtils.available(this.getById(id), "该意见反馈回复不存在");
         FeedbackReplyCopier.INSTANCE.copying(param, feedBackReply);
         this.updateById(feedBackReply);
     }

+ 9 - 9
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/HelpCategoryServiceImpl.java

@@ -11,10 +11,10 @@ import com.chelvc.cloud.vehicle.server.entity.HelpCategory;
 import com.chelvc.cloud.vehicle.server.service.IHelpCategoryService;
 import com.chelvc.cloud.vehicle.server.service.IHelpService;
 import com.chelvc.framework.base.context.SessionContextHolder;
-import com.chelvc.framework.base.util.ResourceUtils;
 import com.chelvc.framework.common.model.Pagination;
+import com.chelvc.framework.common.util.AssertUtils;
 import com.chelvc.framework.common.util.StringUtils;
-import com.chelvc.framework.database.util.PagingUtils;
+import com.chelvc.framework.database.context.DatabaseContextHolder;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
@@ -59,8 +59,8 @@ public class HelpCategoryServiceImpl extends ServiceImpl<HelpCategoryMapper,Help
     public List<HelpCategoryDTO> selectHelpCategoryList(@NonNull HelpCategoryModifyParam param)
     {
         List<HelpCategory> helpCategories = this.lambdaQuery()
-                .like(StringUtils.nonEmpty(param.getName()),HelpCategory::getName,param.getName())
-                .eq(StringUtils.nonEmpty(param.getShowStatus()),HelpCategory::getShowStatus,param.getShowStatus())
+                .like(StringUtils.notEmpty(param.getName()),HelpCategory::getName,param.getName())
+                .eq(StringUtils.notEmpty(param.getShowStatus()),HelpCategory::getShowStatus,param.getShowStatus())
                 .orderByDesc(HelpCategory::getSort)
                 .list();
         List<HelpCategoryDTO> helpCategoryList = HelpCategoryCopier.INSTANCE.copying(helpCategories);
@@ -97,7 +97,7 @@ public class HelpCategoryServiceImpl extends ServiceImpl<HelpCategoryMapper,Help
     @Override
     public void updateHelpCategory(@NonNull Long id, @NonNull HelpCategoryModifyParam param)
     {
-        HelpCategory helpCategory = ResourceUtils.required(this.getById(id), "该分类不存在");
+        HelpCategory helpCategory = AssertUtils.available(this.getById(id), "该分类不存在");
         HelpCategoryCopier.INSTANCE.copying(param,helpCategory);
         Long userId = SessionContextHolder.getId();
         helpCategory.setUpdater(userId);
@@ -116,7 +116,7 @@ public class HelpCategoryServiceImpl extends ServiceImpl<HelpCategoryMapper,Help
     @Override
     public void deleteHelpCategoryById(@NonNull Long id)
     {
-        HelpCategory helpCategory = ResourceUtils.required(this.getById(id), "该分类不存在");
+        HelpCategory helpCategory = AssertUtils.available(this.getById(id), "该分类不存在");
         this.deleteHelpCategoryById(id);
     }
 
@@ -124,10 +124,10 @@ public class HelpCategoryServiceImpl extends ServiceImpl<HelpCategoryMapper,Help
     @Override
     public Pagination<HelpCategoryDTO> getHelpCategoryPaging(HelpCategoryPagingParam param){
         Page<HelpCategory> page = this.lambdaQuery()
-                .like(StringUtils.nonEmpty(param.getTitle()),HelpCategory::getName,param.getTitle())
+                .like(StringUtils.notEmpty(param.getTitle()),HelpCategory::getName,param.getTitle())
                 .orderByDesc(HelpCategory::getShowStatus)
                 .orderByDesc(HelpCategory::getSort)
-                .page(PagingUtils.convert(param.getPaging()));
-        return PagingUtils.convert(page, HelpCategoryCopier.INSTANCE::copying);
+                .page(DatabaseContextHolder.page(param.getPaging()));
+        return DatabaseContextHolder.pagination(page, HelpCategoryCopier.INSTANCE::copying);
     }
 }

+ 32 - 36
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/HelpServiceImpl.java

@@ -1,5 +1,8 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
+import java.util.Date;
+import java.util.List;
+
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.vehicle.api.dto.HelpDTO;
@@ -10,68 +13,61 @@ import com.chelvc.cloud.vehicle.server.dao.HelpMapper;
 import com.chelvc.cloud.vehicle.server.entity.Help;
 import com.chelvc.cloud.vehicle.server.service.IHelpService;
 import com.chelvc.framework.base.context.SessionContextHolder;
-import com.chelvc.framework.base.util.ResourceUtils;
 import com.chelvc.framework.common.model.Pagination;
+import com.chelvc.framework.common.util.AssertUtils;
 import com.chelvc.framework.common.util.StringUtils;
-import com.chelvc.framework.database.util.PagingUtils;
+import com.chelvc.framework.database.context.DatabaseContextHolder;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.Date;
-import java.util.List;
-
 /**
  * 帮助Service业务层处理
- * 
+ *
  * @author liude
  * @date 2023-11-08
  */
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.IHelpService.class)
 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
-public class HelpServiceImpl extends ServiceImpl<HelpMapper,Help> implements
-        IHelpService,com.chelvc.cloud.vehicle.api.service.IHelpService
-{
+public class HelpServiceImpl extends ServiceImpl<HelpMapper, Help> implements
+        IHelpService, com.chelvc.cloud.vehicle.api.service.IHelpService {
 
     /**
      * 查询帮助
-     * 
+     *
      * @param id 帮助主键
      * @return 帮助
      */
     @Override
-    public HelpDTO selectHelpById(@NonNull  Long id)
-    {
+    public HelpDTO selectHelpById(@NonNull Long id) {
         Help help = this.getById(id);
         return HelpCopier.INSTANCE.copying(help);
     }
 
     /**
      * 查询帮助列表
-     * 
+     *
      * @param param 帮助
      * @return 帮助
      */
     @Override
-    public List<HelpDTO> selectHelpList(@NonNull HelpModifyParam param)
-    {
+    public List<HelpDTO> selectHelpList(@NonNull HelpModifyParam param) {
         List<Help> helps = this.lambdaQuery()
-                .eq(StringUtils.nonEmpty(param.getShowStatus()),Help::getShowStatus,param.getShowStatus())
-                .like(StringUtils.nonEmpty(param.getTitle()),Help::getTitle,param.getTitle())
+                .eq(StringUtils.notEmpty(param.getShowStatus()), Help::getShowStatus, param.getShowStatus())
+                .like(StringUtils.notEmpty(param.getTitle()), Help::getTitle, param.getTitle())
                 .orderByDesc(Help::getTitle).list();
         return HelpCopier.INSTANCE.copying(helps);
     }
 
     /**
      * 新增帮助
-     * 
+     *
      * @param param 帮助
      * @return 结果
      */
     @Override
-    public void insertHelp(@NonNull HelpModifyParam param)
-    {
+    public void insertHelp(@NonNull HelpModifyParam param) {
         Help help = HelpCopier.INSTANCE.copying(param);
         Long userId = SessionContextHolder.getId();
         help.setCreateTime(new Date());
@@ -83,15 +79,14 @@ public class HelpServiceImpl extends ServiceImpl<HelpMapper,Help> implements
 
     /**
      * 修改帮助
-     * 
+     *
      * @param param 帮助
      * @return 结果
      */
     @Override
-    public void updateHelp(@NonNull Long id,@NonNull HelpModifyParam param)
-    {
-        Help help = ResourceUtils.required(this.getById(id), "该问题帮助不存在");
-        HelpCopier.INSTANCE.copying(param,help);
+    public void updateHelp(@NonNull Long id, @NonNull HelpModifyParam param) {
+        Help help = AssertUtils.available(this.getById(id), "该问题帮助不存在");
+        HelpCopier.INSTANCE.copying(param, help);
         Long userId = SessionContextHolder.getId();
         help.setUpdater(userId);
         help.setUpdateTime(new Date());
@@ -101,29 +96,30 @@ public class HelpServiceImpl extends ServiceImpl<HelpMapper,Help> implements
 
     /**
      * 删除帮助信息
-     * 
+     *
      * @param id 帮助主键
      * @return 结果
      */
     @Override
-    public void deleteHelpById(@NonNull Long id)
-    {
-        Help help = ResourceUtils.required(this.getById(id), "该问题帮助不存在");
+    public void deleteHelpById(@NonNull Long id) {
+        Help help = AssertUtils.available(this.getById(id), "该问题帮助不存在");
         this.deleteHelpById(id);
     }
+
     @Override
-    public Pagination<HelpDTO> getHelpPaging(HelpPagingParam param){
+    public Pagination<HelpDTO> getHelpPaging(HelpPagingParam param) {
         Page<Help> page = this.lambdaQuery()
-                .like(StringUtils.nonEmpty(param.getTitle()),Help::getTitle,param.getTitle())
+                .like(StringUtils.notEmpty(param.getTitle()), Help::getTitle, param.getTitle())
                 .orderByDesc(Help::getShowStatus)
-                .page(PagingUtils.convert(param.getPaging()));
-        return PagingUtils.convert(page,HelpCopier.INSTANCE::copying);
+                .page(DatabaseContextHolder.page(param.getPaging()));
+        return DatabaseContextHolder.pagination(page, HelpCopier.INSTANCE::copying);
     }
+
     @Override
-   public List<HelpDTO> helpList(Long categoryId){
+    public List<HelpDTO> helpList(Long categoryId) {
         List<Help> list = this.lambdaQuery()
-                .eq(Help::getShowStatus,0)
-                .eq(Help::getCategoryId,categoryId)
+                .eq(Help::getShowStatus, 0)
+                .eq(Help::getCategoryId, categoryId)
                 .list();
         return HelpCopier.INSTANCE.copying(list);
     }

+ 72 - 52
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OderHandleServiceImpl.java

@@ -1,17 +1,5 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.chelvc.cloud.vehicle.api.service.UserInviteService;
-import com.chelvc.cloud.vehicle.server.dao.OmsOrderMapper;
-import com.chelvc.cloud.vehicle.server.entity.OmsOrder;
-import com.chelvc.cloud.vehicle.server.service.*;
-import com.chelvc.framework.base.exception.ResourceUnavailableException;
-import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import java.io.BufferedInputStream;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -27,6 +15,22 @@ import java.security.cert.X509Certificate;
 import java.util.Date;
 import java.util.Objects;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.chelvc.cloud.vehicle.api.service.UserInviteService;
+import com.chelvc.cloud.vehicle.server.dao.OmsOrderMapper;
+import com.chelvc.cloud.vehicle.server.entity.OmsOrder;
+import com.chelvc.cloud.vehicle.server.service.AssetService;
+import com.chelvc.cloud.vehicle.server.service.BalanceDetailService;
+import com.chelvc.cloud.vehicle.server.service.OrderHandleService;
+import com.chelvc.cloud.vehicle.server.service.PlatformProfitRatioService;
+import com.chelvc.cloud.vehicle.server.service.UserProfitRatioService;
+import com.chelvc.framework.common.exception.ResourceUnavailableException;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 @Service
 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
 public class OderHandleServiceImpl implements OrderHandleService {
@@ -36,13 +40,14 @@ public class OderHandleServiceImpl implements OrderHandleService {
     private final PlatformProfitRatioService platformProfitRatioService;
     private final AssetService assetService;
     private final BalanceDetailService balanceDetailService;
+
     @Override
     public void orderPay(Long orderId) {
         LambdaQueryWrapper<OmsOrder> wrapper = Wrappers.lambdaQuery();
         wrapper.eq(OmsOrder::getId, orderId);
         wrapper.eq(OmsOrder::getStatus, 0);
         OmsOrder omsOrder = omsOrderMapper.selectOne(wrapper);
-        if(omsOrder == null){
+        if (omsOrder == null) {
             return;
         }
         StringBuilder sb = new StringBuilder();
@@ -73,7 +78,7 @@ public class OderHandleServiceImpl implements OrderHandleService {
         omsOrder.setReceiveTime(new Date());
         omsOrder.setUpdateTime(new Date());
         int i = omsOrderMapper.updateById(omsOrder);
-        if(i != 1){
+        if (i != 1) {
             throw new ResourceUnavailableException("处理失败");
         }
         //分佣逻辑=====================================
@@ -90,20 +95,20 @@ public class OderHandleServiceImpl implements OrderHandleService {
                 .multiply(payAmount).setScale(2, RoundingMode.UP);
         //用户抽佣----查看消费用户上级
         Long inviteUserId = userInviteService.queryUserByTarget(userId, 1);
-        if(inviteUserId != null){
+        if (inviteUserId != null) {
             //用户分佣
             int userRatio = userProfitRatioService.queryRatio(inviteUserId, 1);
-            if(userRatio > 0){
+            if (userRatio > 0) {
                 userAmount = new BigDecimal(userRatio).divide(new BigDecimal("100"), 2, RoundingMode.UP)
                         .multiply(platformAmount).setScale(2, RoundingMode.UP);
             }
         }
         //商户抽佣----查看消费用户上级
         Long inviteMerchantId = userInviteService.queryUserByTarget(merchantId, 2);
-        if(inviteMerchantId != null){
+        if (inviteMerchantId != null) {
             //商户分佣
             int merchantRatio = userProfitRatioService.queryRatio(inviteMerchantId, 2);
-            if(merchantRatio > 0){
+            if (merchantRatio > 0) {
                 merchantAmount = new BigDecimal(merchantRatio).divide(new BigDecimal("100"), 2, RoundingMode.UP)
                         .multiply(platformAmount).setScale(2, RoundingMode.UP);
             }
@@ -113,20 +118,25 @@ public class OderHandleServiceImpl implements OrderHandleService {
         BigDecimal surplusAmount = assetService.updateAsset(0, operateAmount, merchantId, 2);
         balanceDetailService.recordFlow(omsOrder.getId(), 2, merchantId, operateAmount, surplusAmount, 0, 1, userId);
         BigDecimal platformSurplusAmount = assetService.updateAsset(1, operateAmount, 1L, 0);
-        balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, operateAmount, platformSurplusAmount, 1, 1, merchantId);
+        balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, operateAmount, platformSurplusAmount, 1, 1,
+                merchantId);
         //邀请用户---分得佣金
-        if(userAmount.compareTo(BigDecimal.ZERO) > 0){
+        if (userAmount.compareTo(BigDecimal.ZERO) > 0) {
             BigDecimal userSurplusAmount = assetService.updateAsset(0, userAmount, inviteUserId, 1);
-            balanceDetailService.recordFlow(omsOrder.getId(), 1, inviteUserId, userAmount, userSurplusAmount, 0, 1, userId);
+            balanceDetailService.recordFlow(omsOrder.getId(), 1, inviteUserId, userAmount, userSurplusAmount, 0, 1,
+                    userId);
             BigDecimal platformSurplusAmount1 = assetService.updateAsset(1, userAmount, 1L, 0);
-            balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, userAmount, platformSurplusAmount1, 1, 1, inviteUserId);
+            balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, userAmount, platformSurplusAmount1, 1, 1,
+                    inviteUserId);
         }
         //邀请商家---分得佣金
-        if(merchantAmount.compareTo(BigDecimal.ZERO) > 0){
+        if (merchantAmount.compareTo(BigDecimal.ZERO) > 0) {
             BigDecimal merchantSurplusAmount2 = assetService.updateAsset(0, merchantAmount, inviteMerchantId, 1);
-            balanceDetailService.recordFlow(omsOrder.getId(), 1, inviteMerchantId, merchantAmount, merchantSurplusAmount2, 0, 1, merchantId);
+            balanceDetailService.recordFlow(omsOrder.getId(), 1, inviteMerchantId, merchantAmount,
+                    merchantSurplusAmount2, 0, 1, merchantId);
             BigDecimal platformSurplusAmount2 = assetService.updateAsset(1, merchantAmount, 1L, 0);
-            balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, merchantAmount, platformSurplusAmount2, 1, 1, inviteMerchantId);
+            balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, merchantAmount, platformSurplusAmount2, 1, 1,
+                    inviteMerchantId);
         }
     }
 
@@ -135,7 +145,8 @@ public class OderHandleServiceImpl implements OrderHandleService {
     public void paySuccess(OmsOrder order) {
         omsOrderMapper.updateById(order);
         BigDecimal surplusAmount = assetService.updateAsset(0, order.getPayAmount(), 1L, 0);
-        balanceDetailService.recordFlow(order.getId(), 0, 1L, order.getPayAmount(), surplusAmount, 0, 1, order.getUserId());
+        balanceDetailService.recordFlow(order.getId(), 0, 1L, order.getPayAmount(), surplusAmount, 0, 1,
+                order.getUserId());
     }
 
     public static void main(String[] args) {
@@ -159,7 +170,10 @@ public class OderHandleServiceImpl implements OrderHandleService {
         sb.append("fee=").append("0").append("&");
         sb.append("payResult=").append("10");
         String base64 = "";
-        String SignMsgVal="merchantAcctId=1001292117101&version=v2.0&language=1&signType=4&payType=21&bankId=QTYH&orderId=KQ20220609155005&orderTime=20220609155005&orderAmount=1&bindCard=6222027781&bindMobile=1662653&dealId=104964327&bankDealId=9841654761026121342&dealTime=20220609155546&payAmount=1&fee=0&payResult=10";
+        String SignMsgVal = "merchantAcctId=1001292117101&version=v2" +
+                ".0&language=1&signType=4&payType=21&bankId=QTYH&orderId=KQ20220609155005&orderTime=20220609155005" +
+                "&orderAmount=1&bindCard=6222027781&bindMobile=1662653&dealId=104964327&bankDealId" +
+                "=9841654761026121342&dealTime=20220609155546&payAmount=1&fee=0&payResult=10";
 
         //人民币网关账号,该账号为11位人民币网关商户编号+01,该参数必填。
         String merchantAcctId = "1001295168301";
@@ -170,40 +184,40 @@ public class OderHandleServiceImpl implements OrderHandleService {
         //服务器接收支付结果的后台地址,该参数务必填写,不能为空。
         String bgUrl = "http://www.99bill.com/";
         //网关版本,固定值:mobile1.0,该参数必填。
-        String version =  "mobile1.0";
+        String version = "mobile1.0";
         //移动网关版本 phone代表手机版移动网关,pad代表平板移动网关,默认为phone
-        String mobileGateway="";
+        String mobileGateway = "";
         //语言种类,1代表中文显示,2代表英文显示。默认为1,该参数必填。
-        String language =  "1";
+        String language = "1";
         //签名类型,该值为4,代表PKI加密方式,该参数必填。
-        String signType =  "4";
+        String signType = "4";
         //支付人姓名,可以为空。
-        String payerName= "";
+        String payerName = "";
         //支付人联系类型,1 代表电子邮件方式;2 代表手机联系方式。可以为空。
-        String payerContactType =  "";
+        String payerContactType = "";
         //支付人联系方式,与payerContactType设置对应,payerContactType为1,则填写邮箱地址;payerContactType为2,则填写手机号码。可以为空。
-        String payerContact =  "";
+        String payerContact = "";
         //指定付款人,可以为空
-        String payerIdType =  "";
+        String payerIdType = "";
         //付款人标识,可以为空
-        String payerId =  "";
+        String payerId = "";
         //付款人IP,可以为空
-        String payerIP =  "";
+        String payerIP = "";
         //商家的终端ip,支持Ipv4和Ipv6
-        String terminalIp =  "192.168.1.1";
+        String terminalIp = "192.168.1.1";
         //网络交易平台简称,英文或中文字符串,除微信支付宝支付外其他交易方式必传
-        String tdpformName =  "";
+        String tdpformName = "";
         //商户订单号,以下采用时间来定义订单号,商户可以根据自己订单号的定义规则来定义该值,不能为空。
-        String orderId = "KQ"+new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date());
+        String orderId = "KQ" + new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date());
         //订单金额,金额以“分”为单位,商户测试以1分测试即可,切勿以大金额测试。该参数必填。
         String orderAmount = "1";
         //订单提交时间,格式:yyyyMMddHHmmss,如:20071117020101,不能为空。
         String orderTime = new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date());
         //String orderTime = "20220224145101";
         //快钱时间戳,格式:yyyyMMddHHmmss,如:20071117020101, 可以为空
-        String orderTimestamp= "";//new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date());;
+        String orderTimestamp = "";//new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date());;
         //商品名称,可以为空。
-        String productName= "测试商品";
+        String productName = "测试商品";
         //商品数量,可以为空。
         String productNum = "1";
         //商品代码,可以为空。
@@ -225,7 +239,7 @@ public class OderHandleServiceImpl implements OrderHandleService {
         //订单超时时间(秒),可为空。
         String orderTimeOut = "";
         //聚合支付参数
-        String aggregatePay="26-3:[appId=wx44377c7a02caaac9,openId=oxr7946y03Ui9LjsR4zGFi8OssbY,limitPay=0]";
+        String aggregatePay = "26-3:[appId=wx44377c7a02caaac9,openId=oxr7946y03Ui9LjsR4zGFi8OssbY,limitPay=0]";
 
         //signMsg 签名字符串 不可空,生成加密签名串
         String signMsgVal = "";
@@ -235,9 +249,9 @@ public class OderHandleServiceImpl implements OrderHandleService {
         signMsgVal = appendParam(signMsgVal, "version", version);
         signMsgVal = appendParam(signMsgVal, "language", language);
         signMsgVal = appendParam(signMsgVal, "signType", signType);
-        signMsgVal = appendParam(signMsgVal, "merchantAcctId",merchantAcctId);
+        signMsgVal = appendParam(signMsgVal, "merchantAcctId", merchantAcctId);
         signMsgVal = appendParam(signMsgVal, "payerName", payerName);
-        signMsgVal = appendParam(signMsgVal, "payerContactType",payerContactType);
+        signMsgVal = appendParam(signMsgVal, "payerContactType", payerContactType);
         signMsgVal = appendParam(signMsgVal, "payerContact", payerContact);
         signMsgVal = appendParam(signMsgVal, "payerIdType", payerIdType);
         signMsgVal = appendParam(signMsgVal, "payerId", payerId);
@@ -265,11 +279,13 @@ public class OderHandleServiceImpl implements OrderHandleService {
             KeyStore ks = KeyStore.getInstance("PKCS12");
 
             //读取密钥仓库(相对路径)
-            String file = Objects.requireNonNull(OderHandleServiceImpl.class.getClassLoader().getResource("payUtils/10012951683.pfx")).getPath().replaceAll("%20", " ");
+            String file = Objects.requireNonNull(OderHandleServiceImpl.class.getClassLoader().getResource("payUtils" +
+                    "/10012951683.pfx")).getPath().replaceAll("%20", " ");
             System.out.println(file);
 
             FileInputStream ksfis = new FileInputStream(file);
-            //InputStream inputStream = PayServiceImpl.class.getClassLoader().getResourceAsStream("payUtils/10012951683.pfx");
+            //InputStream inputStream = PayServiceImpl.class.getClassLoader().getResourceAsStream
+            // ("payUtils/10012951683.pfx");
             BufferedInputStream ksbufin = new BufferedInputStream(ksfis);
             //证书密码
             char[] keyPwd = "123456".toCharArray();
@@ -285,17 +301,21 @@ public class OderHandleServiceImpl implements OrderHandleService {
             sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
             base64 = encoder.encode(signature.sign());
 
-        } catch(FileNotFoundException e){
+        } catch (FileNotFoundException e) {
             System.out.println("123");
-        }catch (Exception ex) {
+        } catch (Exception ex) {
             ex.printStackTrace();
         }
-        System.out.println("test = "+base64);
-        String signMsg="Yku7O/TyRnCErbGwvo/EQxgNLgR61YJ9WQrxpD0I6HxIumGVRxQo4eQ/hn5CS57xM2GnJ7qtkWM3J/g9CRcK22S7EJ4E1zK2HuqYiScaFLolHWNszGe7kOPk3PovTFl4nGYUSW8vMzZEZgRTMdHNSpmib57o6Mrjq0+6xA1gSBBRqpaL6SO4IBfB6yldWHpkJN0RJlKlkGGRJjMEpLJPn8lTGPcOfJuNxmMq+qjbvdLyoxn7v0vK8bAPFT45bCdvGG+0HwUCYxtPPhFReZMXP/yJYEZ/TODSMlPhGM1dZXXbnZ5Sc4KJSWNB9CKgyKWcycMbfTlsraWtpsCwOr8k0g==";
+        System.out.println("test = " + base64);
+        String signMsg = "Yku7O/TyRnCErbGwvo/EQxgNLgR61YJ9WQrxpD0I6HxIumGVRxQo4eQ/hn5CS57xM2GnJ7qtkWM3J" +
+                "/g9CRcK22S7EJ4E1zK2HuqYiScaFLolHWNszGe7kOPk3PovTFl4nGYUSW8vMzZEZgRTMdHNSpmib57o6Mrjq0" +
+                "+6xA1gSBBRqpaL6SO4IBfB6yldWHpkJN0RJlKlkGGRJjMEpLJPn8lTGPcOfJuNxmMq+qjbvdLyoxn7v0vK8bAPFT45bCdvGG" +
+                "+0HwUCYxtPPhFReZMXP/yJYEZ/TODSMlPhGM1dZXXbnZ5Sc4KJSWNB9CKgyKWcycMbfTlsraWtpsCwOr8k0g==";
         try {
             //快钱公钥
             //String file = Pkipair.class.getResource("99bill.RSA.cer").toURI().getPath();
-            String file = Objects.requireNonNull(OderHandleServiceImpl.class.getClassLoader().getResource("payUtils/CFCA_sandbox.cer")).toURI().getPath();
+            String file = Objects.requireNonNull(OderHandleServiceImpl.class.getClassLoader().getResource("payUtils" +
+                    "/CFCA_sandbox.cer")).toURI().getPath();
             //System.out.println(file);
             FileInputStream inStream = new FileInputStream(file);
 

+ 12 - 12
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/RankAwardConfigServiceImpl.java

@@ -1,5 +1,8 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
+import java.util.Date;
+import java.util.List;
+
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -13,20 +16,17 @@ import com.chelvc.cloud.vehicle.api.param.QueryRankAwardConfigParam;
 import com.chelvc.cloud.vehicle.server.dao.RankAwardConfigMapper;
 import com.chelvc.cloud.vehicle.server.entity.RankAwardConfig;
 import com.chelvc.cloud.vehicle.server.service.RankAwardConfigService;
-import com.chelvc.framework.base.exception.ResourceUnavailableException;
+import com.chelvc.framework.common.exception.ResourceUnavailableException;
 import com.chelvc.framework.common.model.Pagination;
 import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.List;
-
 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.RankAwardConfigService.class)
 public class RankAwardConfigServiceImpl extends ServiceImpl<RankAwardConfigMapper, RankAwardConfig> implements
-        RankAwardConfigService, com.chelvc.cloud.vehicle.api.service.RankAwardConfigService{
+        RankAwardConfigService, com.chelvc.cloud.vehicle.api.service.RankAwardConfigService {
 
     @Override
     public void add(AddRankAwardConfigParams params) {
@@ -40,7 +40,7 @@ public class RankAwardConfigServiceImpl extends ServiceImpl<RankAwardConfigMappe
         wrapper.eq(RankAwardConfig::getPlatformType, platformType);
         wrapper.eq(RankAwardConfig::getType, type);
         wrapper.eq(RankAwardConfig::getRegionLevel, regionLevel);
-        if(baseMapper.selectCount(wrapper) > 0){
+        if (baseMapper.selectCount(wrapper) > 0) {
             throw new ResourceUnavailableException("当前排名配置已存在");
         }
         RankAwardConfig config = new RankAwardConfig();
@@ -62,11 +62,11 @@ public class RankAwardConfigServiceImpl extends ServiceImpl<RankAwardConfigMappe
     @Override
     public void edit(EditRankAwardConfigParams params) {
         RankAwardConfig config = baseMapper.selectById(params.getId());
-        if(config == null){
+        if (config == null) {
             throw new ResourceUnavailableException("该配置不存在");
         }
         Integer status = params.getStatus();
-        if(status == 1){
+        if (status == 1) {
             config.setStatus(1);
             config.setUpdater(params.getUserId());
             config.setUpdateTime(new Date());
@@ -82,7 +82,7 @@ public class RankAwardConfigServiceImpl extends ServiceImpl<RankAwardConfigMappe
         wrapper.eq(RankAwardConfig::getType, config.getType());
         wrapper.eq(RankAwardConfig::getRegionLevel, regionLevel);
         wrapper.ne(RankAwardConfig::getId, config.getId());
-        if(baseMapper.selectCount(wrapper) > 0){
+        if (baseMapper.selectCount(wrapper) > 0) {
             throw new ResourceUnavailableException("当前排名配置已存在");
         }
         config.setName(params.getName());
@@ -100,11 +100,11 @@ public class RankAwardConfigServiceImpl extends ServiceImpl<RankAwardConfigMappe
     @Transactional
     public void delete(Long id, Long userId) {
         RankAwardConfig config = baseMapper.selectById(id);
-        if(config == null){
+        if (config == null) {
             throw new ResourceUnavailableException("该配置不存在");
         }
         Integer status = config.getStatus();
-        if(status == 0){
+        if (status == 0) {
             throw new ResourceUnavailableException("请先停用该配置");
         }
         config.setUpdater(userId);
@@ -114,7 +114,7 @@ public class RankAwardConfigServiceImpl extends ServiceImpl<RankAwardConfigMappe
     }
 
     @Override
-    public Pagination<RankAwardConfigDTO> queryPageList(QueryRankAwardConfigParam param, Long pageNum, Long pageSize) {
+    public Pagination<RankAwardConfigDTO> queryPageList(QueryRankAwardConfigParam param, Integer pageNum, Integer pageSize) {
         Page<RankAwardConfigDTO> page = new Page<>(pageNum, pageSize);
         QueryWrapper<RankAwardConfig> wrapper = Wrappers.query();
         wrapper.eq(param.getType() != null, "type", param.getType());

+ 47 - 38
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/RankAwardRecordServiceImpl.java

@@ -1,5 +1,14 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -21,22 +30,15 @@ import com.chelvc.cloud.vehicle.server.entity.RankAwardRecord;
 import com.chelvc.cloud.vehicle.server.entity.Region;
 import com.chelvc.cloud.vehicle.server.service.MerchantService;
 import com.chelvc.cloud.vehicle.server.service.RankAwardConfigService;
-import com.chelvc.framework.base.exception.ResourceUnavailableException;
+import com.chelvc.framework.common.exception.ResourceUnavailableException;
 import com.chelvc.framework.common.model.Pagination;
+import com.chelvc.framework.common.util.ObjectUtils;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.RankAwardRecordService.class)
 public class RankAwardRecordServiceImpl extends ServiceImpl<RankAwardRecordMapper, RankAwardRecord> implements RankAwardRecordService {
@@ -48,7 +50,7 @@ public class RankAwardRecordServiceImpl extends ServiceImpl<RankAwardRecordMappe
     private final MerchantService merchantService;
 
     @Override
-    public Pagination<RankAwardRecordDTO> queryPageList(QueryRankAwardRecordParam param, Long pageNum, Long pageSize) {
+    public Pagination<RankAwardRecordDTO> queryPageList(QueryRankAwardRecordParam param, Integer pageNum, Integer pageSize) {
         Page<RankAwardRecordDTO> page = new Page<>(pageNum, pageSize);
         QueryWrapper<RankAwardConfig> wrapper = Wrappers.query();
         wrapper.eq(param.getType() != null, "r.type", param.getType());
@@ -57,17 +59,18 @@ public class RankAwardRecordServiceImpl extends ServiceImpl<RankAwardRecordMappe
         wrapper.orderByDesc("r.create_time");
         IPage<RankAwardRecordDTO> result = baseMapper.queryPageList(page, wrapper);
         List<RankAwardRecordDTO> records = result.getRecords();
-        if(!CollectionUtils.isEmpty(records) && param.getPlatformType() != null && param.getPlatformType() !=2){
-            List<Long> userIds = records.stream().filter(e -> e.getPlatformType() != 2).map(RankAwardRecordDTO::getUserId).collect(Collectors.toList());
-            if(!CollectionUtils.isEmpty(userIds)){
-                Map<Long, UserDTO> userMap = userService.queryUserByIds(userIds);
-                if(userMap != null){
-                    for(RankAwardRecordDTO dto : records){
-                        Integer platformType = dto.getPlatformType();
-                        if(platformType != 2){
-                            UserDTO userDTO = userMap.get(dto.getUserId());
-                            dto.setName(userDTO == null ? "" : userDTO.getNickname());
-                        }
+        if (!CollectionUtils.isEmpty(records) && param.getPlatformType() != null && param.getPlatformType() != 2) {
+            List<Long> userIds =
+                    records.stream().filter(e -> e.getPlatformType() != 2).map(RankAwardRecordDTO::getUserId).collect(Collectors.toList());
+            if (!CollectionUtils.isEmpty(userIds)) {
+                List<UserDTO> users = this.userService.listUsers(userIds);
+                Map<Long, UserDTO> userMap = ObjectUtils.isEmpty(users) ? Collections.emptyMap() :
+                        users.stream().collect(Collectors.toMap(UserDTO::getId, user -> user));
+                for (RankAwardRecordDTO dto : records) {
+                    Integer platformType = dto.getPlatformType();
+                    if (platformType != 2) {
+                        UserDTO userDTO = userMap.get(dto.getUserId());
+                        dto.setName(userDTO == null ? "" : userDTO.getNickname());
                     }
                 }
             }
@@ -80,7 +83,7 @@ public class RankAwardRecordServiceImpl extends ServiceImpl<RankAwardRecordMappe
     public void handOutPrize(HandRankAwardParam param) {
         Long awardId = param.getAwardId();
         RankAwardConfig config = rankAwardConfigService.queryById(awardId);
-        if(config == null){
+        if (config == null) {
             throw new ResourceUnavailableException("参数错误");
         }
         String period = param.getPeriod();
@@ -91,7 +94,7 @@ public class RankAwardRecordServiceImpl extends ServiceImpl<RankAwardRecordMappe
         wrapper.eq(RankAwardRecord::getPlatformType, config.getPlatformType());
         wrapper.eq(RankAwardRecord::getPeriod, period);
         List<RankAwardRecord> rankAwardRecords = baseMapper.selectList(wrapper);
-        if(!CollectionUtils.isEmpty(rankAwardRecords)){
+        if (!CollectionUtils.isEmpty(rankAwardRecords)) {
             throw new ResourceUnavailableException("本次奖励已发放");
         }
         //TODO  发放奖励
@@ -114,28 +117,31 @@ public class RankAwardRecordServiceImpl extends ServiceImpl<RankAwardRecordMappe
         Integer level = 2;
         List<Integer> ids = regionMapper.queryIdsByLevel(level);
         List<RankAwardConfig> rankAwardConfigs = rankAwardConfigService.queryList(2, 2, level);
-        if(CollectionUtils.isEmpty(rankAwardConfigs)){
+        if (CollectionUtils.isEmpty(rankAwardConfigs)) {
             return;
         }
-        Map<Integer, RankAwardConfig> map = rankAwardConfigs.stream().collect(Collectors.toMap(RankAwardConfig::getRank, (p) -> p));
+        Map<Integer, RankAwardConfig> map =
+                rankAwardConfigs.stream().collect(Collectors.toMap(RankAwardConfig::getRank, (p) -> p));
         int limit = rankAwardConfigs.size();
-        for(Integer id : ids){
+        for (Integer id : ids) {
             List<RankAwardRecord> list = new ArrayList<>();
             List<MerchantRankCountDTO> result = merchantService.rankMerchants(id, limit, level);
             BigDecimal totalCommissionAmount = merchantService.queryTotalCommissionAmountByLastMonth(id, level);
-            if(totalCommissionAmount == null || totalCommissionAmount.compareTo(BigDecimal.ZERO) == 0){
+            if (totalCommissionAmount == null || totalCommissionAmount.compareTo(BigDecimal.ZERO) == 0) {
                 break;
             }
             //查询区县已发出的奖励
             BigDecimal totalAmount = baseMapper.queryAmountByRegion(id, DateTimeUtils.getLastYearMonth());
-            if(totalAmount != null && totalAmount.compareTo(BigDecimal.ZERO) > 0){
+            if (totalAmount != null && totalAmount.compareTo(BigDecimal.ZERO) > 0) {
                 totalCommissionAmount = totalCommissionAmount.subtract(totalAmount);
             }
-            for(int i = 1; i <= result.size(); i++){
+            for (int i = 1; i <= result.size(); i++) {
                 MerchantRankCountDTO merchantRankCountDTO = result.get(i);
                 RankAwardConfig config = map.get(i);
-                BigDecimal bonus = totalCommissionAmount.multiply(new BigDecimal(config.getCommissionRatio()).divide(new BigDecimal("100"), 2, RoundingMode.FLOOR))
-                        .multiply(new BigDecimal(config.getRatio()).divide(new BigDecimal("100"), 2, RoundingMode.FLOOR));
+                BigDecimal bonus =
+                        totalCommissionAmount.multiply(new BigDecimal(config.getCommissionRatio()).divide(new BigDecimal("100"), 2, RoundingMode.FLOOR))
+                                .multiply(new BigDecimal(config.getRatio()).divide(new BigDecimal("100"), 2,
+                                        RoundingMode.FLOOR));
                 RankAwardRecord rankAwardRecord = new RankAwardRecord();
                 rankAwardRecord.setRank(i);
                 rankAwardRecord.setUserId(merchantRankCountDTO.getUserId());
@@ -157,10 +163,11 @@ public class RankAwardRecordServiceImpl extends ServiceImpl<RankAwardRecordMappe
     public void districtAwardRank() {
         Integer level = 3;
         List<RankAwardConfig> rankAwardConfigs = rankAwardConfigService.queryList(2, 2, level);
-        if(CollectionUtils.isEmpty(rankAwardConfigs)){
+        if (CollectionUtils.isEmpty(rankAwardConfigs)) {
             return;
         }
-        Map<Integer, RankAwardConfig> map = rankAwardConfigs.stream().collect(Collectors.toMap(RankAwardConfig::getRank, (p) -> p));
+        Map<Integer, RankAwardConfig> map =
+                rankAwardConfigs.stream().collect(Collectors.toMap(RankAwardConfig::getRank, (p) -> p));
         LambdaQueryWrapper<Region> wrapper = Wrappers.lambdaQuery();
         wrapper.eq(Region::getLevel, level);
         Integer total = regionMapper.selectCount(wrapper);
@@ -174,17 +181,19 @@ public class RankAwardRecordServiceImpl extends ServiceImpl<RankAwardRecordMappe
             List<RankAwardRecord> list = new ArrayList<>();
             List<Integer> ids = regionMapper.queryPageIdsByLevel(level, pageNum, pageSize);
             int limit = rankAwardConfigs.size();
-            for(Integer id : ids){
+            for (Integer id : ids) {
                 List<MerchantRankCountDTO> result = merchantService.rankMerchants(id, limit, level);
                 BigDecimal totalCommissionAmount = merchantService.queryTotalCommissionAmountByLastMonth(id, level);
-                if(totalCommissionAmount == null || totalCommissionAmount.compareTo(BigDecimal.ZERO) == 0){
+                if (totalCommissionAmount == null || totalCommissionAmount.compareTo(BigDecimal.ZERO) == 0) {
                     break;
                 }
-                for(int i = 1; i <= result.size(); i++){
+                for (int i = 1; i <= result.size(); i++) {
                     MerchantRankCountDTO merchantRankCountDTO = result.get(i);
                     RankAwardConfig config = map.get(i);
-                    BigDecimal bonus = totalCommissionAmount.multiply(new BigDecimal(config.getCommissionRatio()).divide(new BigDecimal("100"), 2, RoundingMode.FLOOR))
-                            .multiply(new BigDecimal(config.getRatio()).divide(new BigDecimal("100"), 2, RoundingMode.FLOOR));
+                    BigDecimal bonus =
+                            totalCommissionAmount.multiply(new BigDecimal(config.getCommissionRatio()).divide(new BigDecimal("100"), 2, RoundingMode.FLOOR))
+                                    .multiply(new BigDecimal(config.getRatio()).divide(new BigDecimal("100"), 2,
+                                            RoundingMode.FLOOR));
                     RankAwardRecord rankAwardRecord = new RankAwardRecord();
                     rankAwardRecord.setRank(i);
                     rankAwardRecord.setUserId(merchantRankCountDTO.getUserId());