Ver Fonte

计算订单身价,修改合赢奖和直推奖的限制

Yangzw há 11 meses atrás
pai
commit
f02d8c80d7
15 ficheiros alterados com 167 adições e 70 exclusões
  1. 1 1
      feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/constant/DistriConstants.java
  2. 1 0
      feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/CaclEnum.java
  3. 1 0
      feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/ErrorCodeConstants.java
  4. 15 9
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralPageReqVO.java
  5. 20 11
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralRespVO.java
  6. 18 10
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralSaveReqVO.java
  7. 18 12
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogSaveReqVO.java
  8. 21 7
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/integral/IntegralDO.java
  9. 12 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/orderpercentage/OrderPercentageDO.java
  10. 23 16
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ptprofitlog/PtProfitLogDO.java
  11. 5 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/mq/message/order/DistriOrderMessage.java
  12. 4 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/mq/message/order/OrderItemMessage.java
  13. 26 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ordercalc/OrderCalcServiceImpl.java
  14. 1 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/TradeOrderController.java
  15. 1 0
      feifan-module-mall/feifan-module-trade-biz/src/main/resources/mapper/order/BrokerageUserMapper.xml

+ 1 - 1
feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/constant/DistriConstants.java

@@ -10,5 +10,5 @@ public class DistriConstants {
 
     public static final Boolean IS_EFFECTIVE  = true;
 
-
+    public static final double GROSS_PROFIT_BONUS_QUOTA_PERC = 0.2;
 }

+ 1 - 0
feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/CaclEnum.java

@@ -17,6 +17,7 @@ public enum CaclEnum {
     AFTER_CRASH_CALC_PT_TOTAL_QUOTA(8, "碰撞后计算平台总收益", "碰撞后计算平台总收益"),
     AFTER_CRASH_CALC_PT_TOTAL_GROSS_QUOTA(12, "碰撞后计算平台收益", "碰撞后计算平台收益"),
     ORDER_PAY_INTEGRAL(9, "购物获得积分", "购物获得冻结积分"),
+    FREEZE_CHANGE_INTEGRAL(13, "冻结积分转化成可用积分", "冻结积分变为可用积分"),
     ORDER_REFUND_INTEGRAL(10, "订单退款,积分退回", "购物收货7天后,冻结积分变为可用积分"),
     ORDER_INTEGRAL_UNFREEZE(11, "订单积分到账", "订单积分到账");
 

+ 1 - 0
feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/ErrorCodeConstants.java

@@ -26,5 +26,6 @@ public interface ErrorCodeConstants {
 
     ErrorCode PT_PROFIT_DAILY_STATISTICS_LOG_NOT_EXISTS = new ErrorCode(1_002_030_020, "查询该日的记录不存在");
     ErrorCode SOCIAL_STATUS_CHANGE_LOG_NOT_EXISTS = new ErrorCode(1_002_030_021, "查询日志记录不存在");
+    ErrorCode GROSS_PROFIT_BONUS_QUOTA_PERC_EXCEED_MAXIMUM_LIMIT = new ErrorCode(1_002_030_022, "合赢奖不能超过最大限制");
 
 }

+ 15 - 9
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralPageReqVO.java

@@ -17,12 +17,6 @@ public class IntegralPageReqVO extends PageParam {
     @Schema(description = "用户ID", example = "19778")
     private Long userId;
 
-    @Schema(description = "当前积分")
-    private Long currentQuota;
-
-    @Schema(description = "冻结积分")
-    private Long freezeQuota;
-
     @Schema(description = "用户类型", example = "17348")
     private Long categoryId;
 
@@ -30,14 +24,26 @@ public class IntegralPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
-    @Schema(description = "最高可获取积分")
-    private Long highQuota;
-
     @Schema(description = "用户名称", example = "赵六")
     private String name;
 
     @Schema(description = "用户昵称", example = "赵六")
     private String nickName;
 
+    @Schema(description = "当前积分")
+    private Long currentQuota;
+
+    @Schema(description = "冻结积分")
+    private Long freezeQuota;
+
+    @Schema(description = "合赢奖累计获取积分")
+    private Long accumulatedQuota;
+
+    @Schema(description = "直推奖累计获取积分")
+    private Long ancestorQuota;
+
+    @Schema(description = "最高可获取积分")
+    private Long highQuota;
+
 
 }

+ 20 - 11
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralRespVO.java

@@ -18,14 +18,6 @@ public class IntegralRespVO {
     @ExcelProperty("用户ID")
     private Long userId;
 
-    @Schema(description = "当前积分")
-    @ExcelProperty("当前积分")
-    private Long currentQuota;
-
-    @Schema(description = "冻结积分")
-    @ExcelProperty("冻结积分")
-    private Long freezeQuota;
-
     @Schema(description = "用户类型", example = "17348")
     @ExcelProperty("用户类型")
     private Long categoryId;
@@ -34,9 +26,6 @@ public class IntegralRespVO {
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 
-    @Schema(description = "最高可获取积分")
-    @ExcelProperty("最高可获取积分")
-    private Long highQuota;
     @Schema(description = "用户名称", example = "赵六")
     @ExcelProperty("用户名称")
     private String name;
@@ -44,4 +33,24 @@ public class IntegralRespVO {
     @Schema(description = "用户昵称", example = "赵六")
     @ExcelProperty("用户昵称")
     private String nickName;
+
+    @Schema(description = "当前积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("当前积分")
+    private Long currentQuota;
+
+    @Schema(description = "冻结积分")
+    @ExcelProperty("冻结积分")
+    private Long freezeQuota;
+
+    @Schema(description = "合赢奖累计获取积分")
+    @ExcelProperty("合赢奖累计获取积分")
+    private Long accumulatedQuota;
+
+    @Schema(description = "直推奖累计获取积分")
+    @ExcelProperty("直推奖累计获取积分")
+    private Long ancestorQuota;
+
+    @Schema(description = "最高可获取积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("最高可获取积分")
+    private Long highQuota;
 }

+ 18 - 10
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralSaveReqVO.java

@@ -3,6 +3,8 @@ package cn.newfeifan.mall.module.distri.controller.admin.integral.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
+import javax.validation.constraints.NotNull;
+
 
 @Schema(description = "管理后台 - 推荐用户积分新增/修改 Request VO")
 @Data
@@ -17,23 +19,29 @@ public class IntegralSaveReqVO {
     @Schema(description = "用户ID", example = "19778")
     private Long userId;
 
-    @Schema(description = "当前积分")
-    private Long currentQuota;
-
-    @Schema(description = "冻结积分")
-    private Long freezeQuota;
-
     @Schema(description = "用户类型", example = "17348")
     private Long categoryId;
 
-    @Schema(description = "最高可获取积分")
-    private Long highQuota;
-
-
     @Schema(description = "用户名称", example = "赵六")
     private String name;
 
     @Schema(description = "用户昵称", example = "赵六")
     private String nickName;
 
+    @Schema(description = "当前积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "当前积分不能为空")
+    private Long currentQuota;
+
+    @Schema(description = "冻结积分")
+    private Long freezeQuota;
+
+    @Schema(description = "合赢奖累计获取积分")
+    private Long accumulatedQuota;
+
+    @Schema(description = "直推奖累计获取积分")
+    private Long ancestorQuota;
+
+    @Schema(description = "最高可获取积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    private Long highQuota;
+
 }

+ 18 - 12
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogSaveReqVO.java

@@ -11,18 +11,6 @@ import lombok.*;
 @NoArgsConstructor
 public class PtProfitLogSaveReqVO {
 
-    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12046")
-    private Long id;
-
-    @Schema(description = "增加金额")
-    private Long amount;
-
-    @Schema(description = "增加后金额")
-    private Long afterAmount;
-
-    @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3推荐人额度 4直推人额度 5合赢奖 6最高可以获得积分", example = "2")
-    private Integer profitStatus;
-
     @Schema(description = "用户ID , 只有收益类型为 3,4才有值", example = "6982")
     private Long userId;
 
@@ -32,7 +20,25 @@ public class PtProfitLogSaveReqVO {
     @Schema(description = "订单编号")
     private String orderNo;
 
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5931")
+    private Long id;
+
     @Schema(description = "计算百分比模板")
     private String percentTemplate;
 
+    @Schema(description = "变动的当前可用积分值(可为负数)")
+    private Long amount;
+
+    @Schema(description = "变动后当前可用积分钱包的余额")
+    private Long afterAmount;
+
+    @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖", example = "1")
+    private Integer profitStatus;
+
+    @Schema(description = "变动的冻结积分值(可为负数)")
+    private Long freezeAmount;
+
+    @Schema(description = "变动后冻结积分钱包的余额")
+    private Long afterFreezeAmount;
+
 }

+ 21 - 7
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/integral/IntegralDO.java

@@ -28,6 +28,18 @@ public class IntegralDO extends BaseDO {
      * 用户ID
      */
     private Long userId;
+    /**
+     * 用户类型
+     */
+    private Long categoryId;
+    /**
+     * 用户名称
+     */
+    private String name;
+    /**
+     * 用户昵称
+     */
+    private String nickName;
     /**
      * 当前积分
      */
@@ -37,13 +49,15 @@ public class IntegralDO extends BaseDO {
      */
     private Long freezeQuota;
     /**
-     * 用户类型
+     * 合赢奖累计获取积分
+     */
+    private Long accumulatedQuota;
+    /**
+     * 直推奖累计获取积分
+     */
+    private Long ancestorQuota;
+    /**
+     * 最高可获取积分
      */
-    private Long categoryId;
-
     private Long highQuota;
-
-    private String name;
-
-    private String nickName;
 }

+ 12 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/orderpercentage/OrderPercentageDO.java

@@ -4,6 +4,10 @@ import lombok.*;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 
+import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.newfeifan.mall.module.distri.constant.DistriConstants.GROSS_PROFIT_BONUS_QUOTA_PERC;
+import static cn.newfeifan.mall.module.distri.enums.ErrorCodeConstants.GROSS_PROFIT_BONUS_QUOTA_PERC_EXCEED_MAXIMUM_LIMIT;
+
 /**
  * 积分相关计算浮动百分比设置 DO
  *
@@ -73,4 +77,12 @@ public class OrderPercentageDO extends BaseDO {
      */
     private String baseMaxQuota;
 
+    public String getGrossProfitBonusQuotaPerc() {
+        double grossProfitBonusQuotaPerc = Double.parseDouble(this.grossProfitBonusQuotaPerc);
+        if(grossProfitBonusQuotaPerc > GROSS_PROFIT_BONUS_QUOTA_PERC){
+            throw exception(GROSS_PROFIT_BONUS_QUOTA_PERC_EXCEED_MAXIMUM_LIMIT);
+        }
+        return this.grossProfitBonusQuotaPerc;
+    }
+
 }

+ 23 - 16
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ptprofitlog/PtProfitLogDO.java

@@ -20,16 +20,32 @@ import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 public class PtProfitLogDO extends BaseDO {
 
     /**
-     * 用户编号
+     * 用户ID , 只有收益类型为 3,4才有值
+     */
+    private Long userId;
+    /**
+     * 订单Id
+     */
+    private Long orderId;
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+    /**
+     * 编号
      */
     @TableId
     private Long id;
     /**
-     * 增加金额
+     * 计算百分比模板
+     */
+    private String percentTemplate;
+    /**
+     * 变动的当前可用积分值(可为负数)
      */
     private Long amount;
     /**
-     * 增加后金额
+     * 变动后当前可用积分钱包的余
      */
     private Long afterAmount;
     /**
@@ -37,22 +53,13 @@ public class PtProfitLogDO extends BaseDO {
      */
     private Integer profitStatus;
     /**
-     * 用户ID , 只有收益类型为 3,4才有值
-     */
-    private Long userId;
-
-    /**
-     * 订单Id
-     */
-    private Long orderId;
-    /**
-     * 订单编号
+     * 变动的冻结积分值(可为负数)
      */
-    private String orderNo;
+    private Long freezeAmount;
     /**
-     * 计算百分比模板
+     * 变动后冻结积分钱包的余额
      */
-    private String percentTemplate;
+    private Long afterFreezeAmount;
 
 
 }

+ 5 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/mq/message/order/DistriOrderMessage.java

@@ -69,6 +69,11 @@ public class DistriOrderMessage {
      */
     private Long orderId;
 
+    /**
+     * 用户自得积分
+     */
+    private Long increaseIntegral;
+
 
     @Override
     public boolean equals(Object o) {

+ 4 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/mq/message/order/OrderItemMessage.java

@@ -38,4 +38,8 @@ public class OrderItemMessage {
      */
     private Long orderId;
 
+    /**
+     * 用户自得积分
+     */
+    private Long increaseIntegral;
 }

+ 26 - 4
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ordercalc/OrderCalcServiceImpl.java

@@ -11,6 +11,7 @@ import cn.newfeifan.mall.module.distri.dal.dataobject.orderpercentage.OrderPerce
 import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofit.PtProfitDO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.sharepath.SharePathDO;
 import cn.newfeifan.mall.module.distri.enums.CaclEnum;
+import cn.newfeifan.mall.module.distri.enums.SocialStatusEnum;
 import cn.newfeifan.mall.module.distri.mq.message.order.DistriOrderMessage;
 import cn.newfeifan.mall.module.distri.mq.message.order.OrderCalcMessage;
 import cn.newfeifan.mall.module.distri.mq.message.order.OrderItemMessage;
@@ -198,13 +199,14 @@ public class OrderCalcServiceImpl implements OrderCalcService {
 
             // 计算
             // 计算利润: (价格 - 成本价格) * 产品数量
-            final BigDecimal[] profit = {new BigDecimal("0")};
+            final BigDecimal[] profit = {new BigDecimal("0"),new BigDecimal("0")};      //用户自得不用要计算,从orderItem里面获取
             k.getOrderItemMessages().forEach(j -> {
                 BigDecimal onePrice = new BigDecimal(j.getPrice());
                 BigDecimal oneCostPrice = new BigDecimal(j.getCostPrice());
                 BigDecimal productCount = new BigDecimal(j.getCount());
                 BigDecimal oneGrossProfit = onePrice.subtract(oneCostPrice).multiply(productCount);
                 profit[0] = profit[0].add(oneGrossProfit);  // 注意这里的改动
+                profit[1] = profit[1].add(new BigDecimal(j.getIncreaseIntegral()));     //自得积分
             });
 
 
@@ -219,7 +221,7 @@ public class OrderCalcServiceImpl implements OrderCalcService {
             }
 
             // 用户所得: 毛利 * 0.35
-            BigDecimal descendantQuota = grossProfit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitUserQuotaPerc())).setScale(4, RoundingMode.DOWN);
+            BigDecimal descendantQuota = profit[1];
 
             // 直推奖: 毛利 * 0.35 (上一级)
             BigDecimal ancestorQuota = grossProfit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitAncestorQuotaPerc())).setScale(4, RoundingMode.DOWN);
@@ -237,7 +239,7 @@ public class OrderCalcServiceImpl implements OrderCalcService {
             // 乘以 10000 并转换为整数
             Long grossProfitInt = grossProfit.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).longValue();
             Long ancestorQuotaInt = ancestorQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).longValue();
-            Long descendantQuotaInt = descendantQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).longValue();
+            Long descendantQuotaInt = descendantQuota.longValue();
             Long bonusQuotaInt = bonusQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).longValue();
             Long highQuotaInt = highQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).longValue();
             Long grossProfitAfterBonusInt = grossProfitAfterBonus.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).longValue();
@@ -250,6 +252,20 @@ public class OrderCalcServiceImpl implements OrderCalcService {
             IntegralDO integralDOAncestor = integralService.selectByUser(sharePath.getAncestor());
             IntegralDO integralDO = integralService.selectByUser(sharePath.getDescendant());
             IntegralDO ptIntegral = integralService.selectByUser(1L);
+
+
+            // ========== 身价计算 ==============
+            //推荐人身价计算
+            BigDecimal orderAncestorSocialStatus = new BigDecimal(orderPercentageDO.getOrderAncestorSocialStatus());
+            Long ancestorSocial = k.getOrderItemMessages().get(0).getTotalPrice() * orderAncestorSocialStatus.longValue();
+            duserService.updateDuserSocial(integralDOAncestor.getUserId(), ancestorSocial, SocialStatusEnum.SHOPPING_ANCESTOR_SOCIAL.getStatus());
+
+            //自得身价计算
+            BigDecimal orderUserSocialStatus = new BigDecimal(orderPercentageDO.getOrderUserSocialStatus());
+            Long descendantSocial = k.getOrderItemMessages().get(0).getTotalPrice() * orderUserSocialStatus.longValue();
+            duserService.updateDuserSocial(integralDOAncestor.getUserId(), descendantSocial, SocialStatusEnum.SHOPPING_SOCIAL.getStatus());
+
+
             // ========== 汇总计算 =================
             OrderCalcSaveReqVO orderCalcSaveReqVO = OrderCalcSaveReqVO.builder()
                     .userId(k.getUserId())
@@ -267,7 +283,8 @@ public class OrderCalcServiceImpl implements OrderCalcService {
                     .percentTemplate(percentTemplate).build();
             saveList.add(orderCalcSaveReqVO);
             // ========== 修改用户钱包 =================
-            changeUserWallet(integralSaveReqVOS, integralDO, integralDOAncestor, ptIntegral, ancestorQuotaInt, descendantQuotaInt, highQuotaInt, grossProfitAfterBonusInt, platformQuotaInt);
+            changeUserWallet(integralSaveReqVOS, integralDO, integralDOAncestor, ptIntegral, ancestorQuotaInt,
+                    descendantQuotaInt, highQuotaInt, grossProfitAfterBonusInt, platformQuotaInt);
             // ========== 修改平台信息 =================
             // 每个订单计算的过程
             // 增加平台收益
@@ -303,6 +320,9 @@ public class OrderCalcServiceImpl implements OrderCalcService {
 
             // 直推人记录
             PtProfitLogSaveReqVO ztrLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId()).profitStatus(CaclEnum.DIRECT_REFERRAL_QUOTA.getType()).orderNo(k.getNo()).userId(sharePath.getDescendant()).amount(descendantQuotaInt).afterAmount(integralDO.getCurrentQuota() + descendantQuotaInt).percentTemplate(percentTemplate).build();
+            // 直推人冻结积分转化成可用记录
+            PtProfitLogSaveReqVO freezeLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId()).profitStatus(CaclEnum.FREEZE_CHANGE_INTEGRAL.getType()).orderNo(k.getNo()).userId(sharePath.getDescendant()).freezeAmount(descendantQuotaInt).afterFreezeAmount(integralDO.getCurrentQuota() - descendantQuotaInt).percentTemplate(percentTemplate).build();
+
             PtProfitLogSaveReqVO highQuotaLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId()).profitStatus(CaclEnum.HIGH_QUOTA.getType()).orderNo(k.getNo()).userId(sharePath.getDescendant()).amount(highQuotaInt).afterAmount(integralDO.getHighQuota() + highQuotaInt).percentTemplate(percentTemplate).build();
 
             // 合赢奖记录
@@ -314,6 +334,7 @@ public class OrderCalcServiceImpl implements OrderCalcService {
             ptProfitLogSaveReqVOS.add(ptAddLog);
             ptProfitLogSaveReqVOS.add(tjrLog);
             ptProfitLogSaveReqVOS.add(ztrLog);
+            ptProfitLogSaveReqVOS.add(freezeLog);
             ptProfitLogSaveReqVOS.add(hyjLog);
             ptProfitLogSaveReqVOS.add(highQuotaLog);
 
@@ -386,6 +407,7 @@ public class OrderCalcServiceImpl implements OrderCalcService {
         // todo 增加累计额度
 
         integralDO.setCurrentQuota(integralDO.getCurrentQuota() + descendantQuota);
+        integralDO.setFreezeQuota(integralDO.getFreezeQuota() - descendantQuota);
 
 
         // 增加推荐人额度

+ 1 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/TradeOrderController.java

@@ -260,6 +260,7 @@ public class TradeOrderController {
                         .costPrice(k.getCostPrice())
                         .orderId(k.getOrderId())
                         .count(k.getCount())
+                        .increaseIntegral(k.getIncreaseIntegral())
                         .totalPrice(k.getTotalPrice()).build())
                 .collect(Collectors.groupingBy(OrderItemMessage::getOrderId));
 

+ 1 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/resources/mapper/order/BrokerageUserMapper.xml

@@ -71,6 +71,7 @@
         <where>
             tor.pay_status = 1
             and toi.distribute_benefit = 0
+            and (toi.after_sale_status = 0 or toi.after_sale_status = 61)
             <if test="orderIds!=null">
                 and tor.id in (
                 <foreach collection="orderIds" item="orderId" separator=",">