Explorar el Código

Merge remote-tracking branch 'origin/master'

Ben hace 10 meses
padre
commit
719a8ee979
Se han modificado 65 ficheros con 583 adiciones y 313 borrados
  1. 27 12
      feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/CaclEnum.java
  2. 7 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/DuserController.java
  3. 2 2
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/vo/DuserInfoVO.java
  4. 3 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/vo/DuserRespVO.java
  5. 3 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralPageReqVO.java
  6. 3 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralRespVO.java
  7. 3 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/integral/vo/IntegralSaveReqVO.java
  8. 7 8
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ordercalc/vo/OrderCalcPageReqVO.java
  9. 7 10
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ordercalc/vo/OrderCalcRespVO.java
  10. 7 9
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ordercalc/vo/OrderCalcSaveReqVO.java
  11. 2 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionbrothers/vo/PartitionBrothersPageReqVO.java
  12. 2 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionbrothers/vo/PartitionBrothersRespVO.java
  13. 2 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionbrothers/vo/PartitionBrothersSaveReqVO.java
  14. 3 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitioncrash/vo/PartitionCrashPageReqVO.java
  15. 3 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitioncrash/vo/PartitionCrashRespVO.java
  16. 3 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitioncrash/vo/PartitionCrashSaveReqVO.java
  17. 2 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionson/vo/PartitionSonPageReqVO.java
  18. 2 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionson/vo/PartitionSonRespVO.java
  19. 2 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionson/vo/PartitionSonSaveReqVO.java
  20. 3 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofit/vo/PtProfitPageReqVO.java
  21. 3 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofit/vo/PtProfitRespVO.java
  22. 5 7
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofit/vo/PtProfitSaveReqVO.java
  23. 2 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogPageReqVO.java
  24. 5 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogRespVO.java
  25. 2 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogSaveReqVO.java
  26. 1 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/TreeNode.java
  27. 3 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/integral/IntegralDO.java
  28. 8 11
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ordercalc/OrderCalcDO.java
  29. 2 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/partitionbrothers/PartitionBrothersDO.java
  30. 3 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/partitioncrash/PartitionCrashDO.java
  31. 2 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/partitionson/PartitionSonDO.java
  32. 3 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ptprofit/PtProfitDO.java
  33. 2 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ptprofitlog/PtProfitLogDO.java
  34. 3 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/ptprofitlog/PtProfitLogMapper.java
  35. 3 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/mq/message/order/DistriOrderMessage.java
  36. 2 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserService.java
  37. 16 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserServiceImpl.java
  38. 4 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralService.java
  39. 7 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralServiceImpl.java
  40. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ordercalc/OrderCalcService.java
  41. 83 62
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ordercalc/OrderCalcServiceImpl.java
  42. 3 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitionbrothers/PartitionBrothersService.java
  43. 7 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitionbrothers/PartitionBrothersServiceImpl.java
  44. 106 43
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitioncrash/PartitionCrashServiceImpl.java
  45. 4 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitionson/PartitionSonService.java
  46. 8 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitionson/PartitionSonServiceImpl.java
  47. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogService.java
  48. 6 8
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogServiceImpl.java
  49. 65 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/SharePathServiceImpl.java
  50. 31 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/tools/LoginMessageTool.java
  51. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/resources/mapper/sharepath/SharePathMapper.xml
  52. 15 11
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/controller/admin/order/TradeOrderController.java
  53. 1 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/mysql/order/TradeOrderMapper.java
  54. 2 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryService.java
  55. 6 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryServiceImpl.java
  56. 33 0
      feifan-module-mall/feifan-module-trade-biz/src/main/resources/mapper/order/BrokerageUserMapper.xml
  57. 4 0
      feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/user/MemberUserService.java
  58. 5 0
      feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/user/MemberUserServiceImpl.java
  59. 1 1
      feifan-module-mp/feifan-module-mp-biz/src/main/java/cn/newfeifan/mall/module/mp/service/account/MpAccountServiceImpl.java
  60. 8 1
      feifan-module-sale/feifan-module-sale-biz/src/main/java/cn/newfeifan/mall/sale/service/shop/ShopServiceImpl.java
  61. 3 1
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/controller/admin/user/vo/user/UserRespVO.java
  62. 11 0
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/dal/mysql/permission/RoleMapper.java
  63. 2 0
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/service/permission/RoleService.java
  64. 6 0
      feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/service/permission/RoleServiceImpl.java
  65. 1 1
      feifan-server/src/main/resources/application.yaml

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

@@ -6,18 +6,19 @@ import lombok.Getter;
 @Getter
 @AllArgsConstructor
 public enum CaclEnum {
-    PLATFORM_SERVICE_FEE(1, "平台服务费"),
-    PLATFORM_REVENUE(2, "平台收益"),
-    RECOMMENDED_PERSON_QUOTA(3, "推荐人额度"),
-    DIRECT_REFERRAL_QUOTA(4, "直推人额度"),
-    TOGETHER_AWARD(5, "合赢奖"),
-    HIGH_QUOTA(6, "最高可以获得积分"),
-    SMALL_QUOTA_CRASH(7, "小区额度分配"),
-    AFTER_CRASH_CALC_PT_TOTAL_QUOTA(8, "碰撞后计算平台总收益"),
-    ORDER_PAY_INTEGRAL(9,"购物获得积分"),//购物获得冻结积分
-    ORDER_REFUND_INTEGRAL(10,"订单退款,积分退回"),
-    ORDER_INTEGRAL_UNFREEZE(11,"订单积分到账")//购物收货7天后,冻结积分变为可用积分
-    ;
+    PLATFORM_TOTAL_ADD(0, "平台总收益", "平台总收益"),
+    PLATFORM_SERVICE_FEE(1, "平台服务费", "平台服务费"),
+    PLATFORM_REVENUE(2, "平台收益", "平台收益"),
+    RECOMMENDED_PERSON_QUOTA(3, "推荐人额度", "推荐人额度"),
+    DIRECT_REFERRAL_QUOTA(4, "直推人额度", "直推人额度"),
+    TOGETHER_AWARD(5, "合赢奖", "合赢奖"),
+    HIGH_QUOTA(6, "最高可以获得积分", "最高可以获得积分"),
+    SMALL_QUOTA_CRASH(7, "小区额度分配", "小区额度分配"),
+    AFTER_CRASH_CALC_PT_TOTAL_QUOTA(8, "碰撞后计算平台总收益", "碰撞后计算平台总收益"),
+    AFTER_CRASH_CALC_PT_TOTAL_GROSS_QUOTA(9, "碰撞后计算平台收益", "碰撞后计算平台收益"),
+    ORDER_PAY_INTEGRAL(10, "购物获得积分", "购物获得冻结积分"),
+    ORDER_REFUND_INTEGRAL(11, "订单退款,积分退回", "购物收货7天后,冻结积分变为可用积分"),
+    ORDER_INTEGRAL_UNFREEZE(12, "订单积分到账", "订单积分到账");
 
     /**
      * 来源
@@ -27,5 +28,19 @@ public enum CaclEnum {
      * 类型的名字
      */
     private final String name;
+    /**
+     * 描述
+     */
+    private final String mark;
+
+
+    public static CaclEnum getCaclEnumByValue(int value) {
+        for (CaclEnum caclEnum : CaclEnum.values()) {
+            if (caclEnum.getType() == value) {
+                return caclEnum;
+            }
+        }
+        return null;
+    }
 
 }

+ 7 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/DuserController.java

@@ -104,6 +104,13 @@ public class DuserController {
         return success(duserInfo);
     }
 
+    @GetMapping("/initDuser")
+    @Operation(summary = "初始化营销人员数据")
+    public CommonResult<DuserInfoVO> initDuser() {
+        DuserInfoVO duserInfo = duserService.initDuser();
+        return success(duserInfo);
+    }
+
 
 
 }

+ 2 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/vo/DuserInfoVO.java

@@ -19,8 +19,8 @@ public class DuserInfoVO {
     private Integer descNo;
 
     @Schema(description = "团队昨日贡献值=直推奖+合赢奖", example = "88")
-    private Integer descPrice;
+    private Long descPrice;
 
     @Schema(description = "团队历史总贡献值=直推奖+合赢奖", example = "88")
-    private Integer descTotalPrice;
+    private Long descTotalPrice;
 }

+ 3 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/duser/vo/DuserRespVO.java

@@ -65,4 +65,7 @@ public class DuserRespVO {
     @Schema(description = "后代总数")
     private Long childrenCount;
 
+    @Schema(description = "用户头像")
+    private String avatar;
+
 }

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

@@ -1,7 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.admin.integral.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -19,10 +18,10 @@ public class IntegralPageReqVO extends PageParam {
     private Long userId;
 
     @Schema(description = "当前积分")
-    private Integer currentQuota;
+    private Long currentQuota;
 
     @Schema(description = "冻结积分")
-    private Integer freezeQuota;
+    private Long freezeQuota;
 
     @Schema(description = "用户类型", example = "17348")
     private Long categoryId;
@@ -32,7 +31,7 @@ public class IntegralPageReqVO extends PageParam {
     private LocalDateTime[] createTime;
 
     @Schema(description = "最高可获取积分")
-    private Integer highQuota;
+    private Long highQuota;
 
     @Schema(description = "用户名称", example = "赵六")
     private String name;

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

@@ -2,9 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.integral.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
 import java.time.LocalDateTime;
 import com.alibaba.excel.annotation.*;
 
@@ -23,11 +20,11 @@ public class IntegralRespVO {
 
     @Schema(description = "当前积分")
     @ExcelProperty("当前积分")
-    private Integer currentQuota;
+    private Long currentQuota;
 
     @Schema(description = "冻结积分")
     @ExcelProperty("冻结积分")
-    private Integer freezeQuota;
+    private Long freezeQuota;
 
     @Schema(description = "用户类型", example = "17348")
     @ExcelProperty("用户类型")
@@ -39,7 +36,7 @@ public class IntegralRespVO {
 
     @Schema(description = "最高可获取积分")
     @ExcelProperty("最高可获取积分")
-    private Integer highQuota;
+    private Long highQuota;
     @Schema(description = "用户名称", example = "赵六")
     @ExcelProperty("用户名称")
     private String name;

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

@@ -3,8 +3,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.integral.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
-import java.util.*;
-import javax.validation.constraints.*;
 
 @Schema(description = "管理后台 - 推荐用户积分新增/修改 Request VO")
 @Data
@@ -20,16 +18,16 @@ public class IntegralSaveReqVO {
     private Long userId;
 
     @Schema(description = "当前积分")
-    private Integer currentQuota;
+    private Long currentQuota;
 
     @Schema(description = "冻结积分")
-    private Integer freezeQuota;
+    private Long freezeQuota;
 
     @Schema(description = "用户类型", example = "17348")
     private Long categoryId;
 
     @Schema(description = "最高可获取积分")
-    private Integer highQuota;
+    private Long highQuota;
 
 
     @Schema(description = "用户名称", example = "赵六")

+ 7 - 8
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ordercalc/vo/OrderCalcPageReqVO.java

@@ -1,7 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.admin.ordercalc.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -22,25 +21,25 @@ public class OrderCalcPageReqVO extends PageParam {
     private Long userId;
 
     @Schema(description = "售价", example = "10413")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "成本")
-    private Integer cost;
+    private Long cost;
 
     @Schema(description = "毛利 = 成本 * 0.38... (推广费用)")
-    private Integer grossProfit;
+    private Long grossProfit;
 
     @Schema(description = "推广-用户额度")
-    private Integer grossProfitUserQuota;
+    private Long grossProfitUserQuota;
 
     @Schema(description = "推广-推荐人额度")
-    private Integer grossProfitAncestorQuota;
+    private Long grossProfitAncestorQuota;
 
     @Schema(description = "推广-合赢奖额度(浮动)")
-    private Integer grossProfitBonusQuota;
+    private Long grossProfitBonusQuota;
 
     @Schema(description = "推广-平台分成额度(浮动)")
-    private Integer grossProfitPlatformQuota;
+    private Long grossProfitPlatformQuota;
 
     @Schema(description = "创建时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)

+ 7 - 10
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ordercalc/vo/OrderCalcRespVO.java

@@ -2,9 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.ordercalc.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
 import java.time.LocalDateTime;
 import com.alibaba.excel.annotation.*;
 
@@ -27,11 +24,11 @@ public class OrderCalcRespVO {
 
     @Schema(description = "售价", example = "10413")
     @ExcelProperty("售价")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "成本")
     @ExcelProperty("成本")
-    private Integer cost;
+    private Long cost;
 
     @Schema(description = "购买数量", example = "10152")
     @ExcelProperty("购买数量")
@@ -39,23 +36,23 @@ public class OrderCalcRespVO {
 
     @Schema(description = "毛利 = 成本 * 0.38... (推广费用)")
     @ExcelProperty("毛利 = 成本 * 0.38... (推广费用)")
-    private Integer grossProfit;
+    private Long grossProfit;
 
     @Schema(description = "推广-用户额度")
     @ExcelProperty("推广-用户额度")
-    private Integer grossProfitUserQuota;
+    private Long grossProfitUserQuota;
 
     @Schema(description = "推广-推荐人额度")
     @ExcelProperty("推广-推荐人额度")
-    private Integer grossProfitAncestorQuota;
+    private Long grossProfitAncestorQuota;
 
     @Schema(description = "推广-合赢奖额度(浮动)")
     @ExcelProperty("推广-合赢奖额度(浮动)")
-    private Integer grossProfitBonusQuota;
+    private Long grossProfitBonusQuota;
 
     @Schema(description = "推广-平台分成额度(浮动)")
     @ExcelProperty("推广-平台分成额度(浮动)")
-    private Integer grossProfitPlatformQuota;
+    private Long grossProfitPlatformQuota;
 
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")

+ 7 - 9
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ordercalc/vo/OrderCalcSaveReqVO.java

@@ -3,8 +3,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.ordercalc.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
-import java.util.*;
-import javax.validation.constraints.*;
 
 @Schema(description = "管理后台 - 订单产生数据计算新增/修改 Request VO")
 @Data
@@ -23,25 +21,25 @@ public class OrderCalcSaveReqVO {
     private Long userId;
 
     @Schema(description = "售价", example = "10413")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "成本")
-    private Integer cost;
+    private Long cost;
 
     @Schema(description = "毛利 = 成本 * 0.38... (推广费用)")
-    private Integer grossProfit;
+    private Long grossProfit;
 
     @Schema(description = "推广-用户额度")
-    private Integer grossProfitUserQuota;
+    private Long grossProfitUserQuota;
 
     @Schema(description = "推广-推荐人额度")
-    private Integer grossProfitAncestorQuota;
+    private Long grossProfitAncestorQuota;
 
     @Schema(description = "推广-合赢奖额度(浮动)")
-    private Integer grossProfitBonusQuota;
+    private Long grossProfitBonusQuota;
 
     @Schema(description = "推广-平台分成额度(浮动)")
-    private Integer grossProfitPlatformQuota;
+    private Long grossProfitPlatformQuota;
     @Schema(description = "计算百分比模板")
     private String percentTemplate;
 

+ 2 - 3
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionbrothers/vo/PartitionBrothersPageReqVO.java

@@ -1,7 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.admin.partitionbrothers.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -22,13 +21,13 @@ public class PartitionBrothersPageReqVO extends PageParam {
     private String partNo;
 
     @Schema(description = "业绩", example = "24491")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "是否碰撞 0为未碰撞 1为已碰撞")
     private Integer hasHit;
 
     @Schema(description = "碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
 
     @Schema(description = "是否是大区 0为小区 1为大区")
     private Integer size;

+ 2 - 5
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionbrothers/vo/PartitionBrothersRespVO.java

@@ -2,9 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.partitionbrothers.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
 import java.time.LocalDateTime;
 import com.alibaba.excel.annotation.*;
 
@@ -27,7 +24,7 @@ public class PartitionBrothersRespVO {
 
     @Schema(description = "业绩", example = "24491")
     @ExcelProperty("业绩")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "是否碰撞 0为未碰撞 1为已碰撞", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("是否碰撞 0为未碰撞 1为已碰撞")
@@ -35,7 +32,7 @@ public class PartitionBrothersRespVO {
 
     @Schema(description = "碰撞后额度")
     @ExcelProperty("碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
 
     @Schema(description = "是否是大区 0为小区 1为大区")
     @ExcelProperty("是否是大区 0为小区 1为大区")

+ 2 - 3
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionbrothers/vo/PartitionBrothersSaveReqVO.java

@@ -2,7 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.partitionbrothers.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
 import javax.validation.constraints.*;
 
 @Schema(description = "管理后台 - 兄弟分区新增/修改 Request VO")
@@ -22,14 +21,14 @@ public class PartitionBrothersSaveReqVO {
     private String partNo;
 
     @Schema(description = "业绩", example = "24491")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "是否碰撞 0为未碰撞 1为已碰撞", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "是否碰撞 0为未碰撞 1为已碰撞不能为空")
     private Integer hasHit;
 
     @Schema(description = "碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
 
     @Schema(description = "是否是大区 0为小区 1为大区")
     private Integer size;

+ 3 - 4
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitioncrash/vo/PartitionCrashPageReqVO.java

@@ -1,7 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.admin.partitioncrash.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -22,13 +21,13 @@ public class PartitionCrashPageReqVO extends PageParam {
     private String partNo;
 
     @Schema(description = "兄弟分区额度", example = "12349")
-    private Integer brotherPrice;
+    private Long brotherPrice;
 
     @Schema(description = "子分区额度", example = "30462")
-    private Integer sonPrice;
+    private Long sonPrice;
 
     @Schema(description = "碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
     @Schema(description = "用户名称", example = "王五")
     private String userName;
     @Schema(description = "创建时间")

+ 3 - 6
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitioncrash/vo/PartitionCrashRespVO.java

@@ -2,9 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.partitioncrash.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
 import java.time.LocalDateTime;
 import com.alibaba.excel.annotation.*;
 
@@ -27,15 +24,15 @@ public class PartitionCrashRespVO {
 
     @Schema(description = "兄弟分区额度", example = "12349")
     @ExcelProperty("兄弟分区额度")
-    private Integer brotherPrice;
+    private Long brotherPrice;
 
     @Schema(description = "子分区额度", example = "30462")
     @ExcelProperty("子分区额度")
-    private Integer sonPrice;
+    private Long sonPrice;
 
     @Schema(description = "碰撞后额度")
     @ExcelProperty("碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
 
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")

+ 3 - 5
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitioncrash/vo/PartitionCrashSaveReqVO.java

@@ -2,8 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.partitioncrash.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
-import javax.validation.constraints.*;
 
 @Schema(description = "管理后台 - 分区碰撞新增/修改 Request VO")
 @Data
@@ -22,14 +20,14 @@ public class PartitionCrashSaveReqVO {
     private String partNo;
 
     @Schema(description = "兄弟分区额度", example = "12349")
-    private Integer brotherPrice;
+    private Long brotherPrice;
 
     @Schema(description = "子分区额度", example = "30462")
-    private Integer sonPrice;
+    private Long sonPrice;
     @Schema(description = "用户名称", example = "王五")
     private String userName;
     @Schema(description = "碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
 
     @Schema(description = "用户昵称", example = "赵六")
     private String nickName;

+ 2 - 3
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionson/vo/PartitionSonPageReqVO.java

@@ -1,7 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.admin.partitionson.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -22,13 +21,13 @@ public class PartitionSonPageReqVO extends PageParam {
     private String partNo;
 
     @Schema(description = "业绩", example = "5813")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "是否碰撞 0为未碰撞 1为已碰撞")
     private Integer hasHit;
 
     @Schema(description = "碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
 
     @Schema(description = "是否是大区 0为小区 1为大区")
     private Integer size;

+ 2 - 5
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionson/vo/PartitionSonRespVO.java

@@ -2,9 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.partitionson.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
 import java.time.LocalDateTime;
 import com.alibaba.excel.annotation.*;
 
@@ -27,7 +24,7 @@ public class PartitionSonRespVO {
 
     @Schema(description = "业绩", example = "5813")
     @ExcelProperty("业绩")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "是否碰撞 0为未碰撞 1为已碰撞", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("是否碰撞 0为未碰撞 1为已碰撞")
@@ -35,7 +32,7 @@ public class PartitionSonRespVO {
 
     @Schema(description = "碰撞后额度")
     @ExcelProperty("碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
 
     @Schema(description = "是否是大区 0为小区 1为大区")
     @ExcelProperty("是否是大区 0为小区 1为大区")

+ 2 - 3
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/partitionson/vo/PartitionSonSaveReqVO.java

@@ -2,7 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.partitionson.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
 import javax.validation.constraints.*;
 
 @Schema(description = "管理后台 - 后代分区新增/修改 Request VO")
@@ -22,14 +21,14 @@ public class PartitionSonSaveReqVO {
     private String partNo;
 
     @Schema(description = "业绩", example = "5813")
-    private Integer price;
+    private Long price;
 
     @Schema(description = "是否碰撞 0为未碰撞 1为已碰撞", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "是否碰撞 0为未碰撞 1为已碰撞不能为空")
     private Integer hasHit;
 
     @Schema(description = "碰撞后额度")
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
 
     @Schema(description = "是否是大区 0为小区 1为大区")
     private Integer size;

+ 3 - 4
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofit/vo/PtProfitPageReqVO.java

@@ -1,7 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.admin.ptprofit.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -16,13 +15,13 @@ import static cn.newfeifan.mall.framework.common.util.date.DateUtils.FORMAT_YEAR
 public class PtProfitPageReqVO extends PageParam {
 
     @Schema(description = "平台服务费(毛利下的百分比收益)")
-    private Integer ptAdd;
+    private Long ptAdd;
 
     @Schema(description = "平台收益(0.3888 之外的收益)")
-    private Integer ptGrossAdd;
+    private Long ptGrossAdd;
 
     @Schema(description = "平台总收益")
-    private Integer ptTotalAdd;
+    private Long ptTotalAdd;
 
     @Schema(description = "创建时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)

+ 3 - 6
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofit/vo/PtProfitRespVO.java

@@ -2,9 +2,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.ptprofit.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
-import java.util.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
 import java.time.LocalDateTime;
 import com.alibaba.excel.annotation.*;
 
@@ -19,15 +16,15 @@ public class PtProfitRespVO {
 
     @Schema(description = "平台服务费(毛利下的百分比收益)")
     @ExcelProperty("平台服务费(毛利下的百分比收益)")
-    private Integer ptAdd;
+    private Long ptAdd;
 
     @Schema(description = "平台收益(0.3888 之外的收益)")
     @ExcelProperty("平台收益(0.3888 之外的收益)")
-    private Integer ptGrossAdd;
+    private Long ptGrossAdd;
 
     @Schema(description = "平台总收益")
     @ExcelProperty("平台总收益")
-    private Integer ptTotalAdd;
+    private Long ptTotalAdd;
 
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")

+ 5 - 7
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofit/vo/PtProfitSaveReqVO.java

@@ -3,8 +3,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.ptprofit.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
-import java.util.*;
-import javax.validation.constraints.*;
 
 @Schema(description = "管理后台 - 平台利润新增/修改 Request VO")
 @Data
@@ -16,13 +14,13 @@ public class PtProfitSaveReqVO {
     @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24754")
     private Long id;
 
-    @Schema(description = "平台收益(0.3888 之外的收益)")
-    private Integer ptAdd;
-
     @Schema(description = "平台服务费(毛利下的百分比收益)")
-    private Integer ptGrossAdd;
+    private Long ptAdd;
+
+    @Schema(description = "平台收益(0.3888 之外的收益)")
+    private Long ptGrossAdd;
 
     @Schema(description = "平台总收益")
-    private Integer ptTotalAdd;
+    private Long ptTotalAdd;
 
 }

+ 2 - 3
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogPageReqVO.java

@@ -1,7 +1,6 @@
 package cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -16,10 +15,10 @@ import static cn.newfeifan.mall.framework.common.util.date.DateUtils.FORMAT_YEAR
 public class PtProfitLogPageReqVO extends PageParam {
 
     @Schema(description = "增加金额")
-    private Integer amount;
+    private Long amount;
 
     @Schema(description = "增加后金额")
-    private Integer afterAmount;
+    private Long afterAmount;
 
     @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖", example = "2")
     private Integer profitStatus;

+ 5 - 6
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogRespVO.java

@@ -17,16 +17,19 @@ public class PtProfitLogRespVO {
 
     @Schema(description = "增加金额")
     @ExcelProperty("增加金额")
-    private Integer amount;
+    private Long amount;
 
     @Schema(description = "增加后金额")
     @ExcelProperty("增加后金额")
-    private Integer afterAmount;
+    private Long afterAmount;
 
     @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖", example = "2")
     @ExcelProperty("收益类型 1:平台服务器费 2:平台收益")
     private Integer profitStatus;
 
+    @Schema(description = "收益类型名称")
+    private String profitStatusName;
+
     @Schema(description = "用户ID , 只有收益类型为 3,4才有值", example = "6982")
     private Long userId;
 
@@ -45,8 +48,4 @@ public class PtProfitLogRespVO {
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
-
-    @Schema(description = "排序")
-    private Integer sort;
-
 }

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

@@ -3,8 +3,6 @@ package cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
-import java.util.*;
-import javax.validation.constraints.*;
 
 @Schema(description = "管理后台 - 平台利润记录新增/修改 Request VO")
 @Data
@@ -17,10 +15,10 @@ public class PtProfitLogSaveReqVO {
     private Long id;
 
     @Schema(description = "增加金额")
-    private Integer amount;
+    private Long amount;
 
     @Schema(description = "增加后金额")
-    private Integer afterAmount;
+    private Long afterAmount;
 
     @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3推荐人额度 4直推人额度 5合赢奖 6最高可以获得积分", example = "2")
     private Integer profitStatus;

+ 1 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/TreeNode.java

@@ -20,6 +20,7 @@ public class TreeNode {
     private Integer value; // 节点值,某些节点可能没有值
     private Long parentId; // 父亲Id
     private Boolean hasSon;
+    private Integer sort;
     private List<TreeNode> children; // 子节点列表
 
     public Boolean getHasSon() {

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

@@ -1,9 +1,6 @@
 package cn.newfeifan.mall.module.distri.dal.dataobject.integral;
 
 import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 
@@ -34,17 +31,17 @@ public class IntegralDO extends BaseDO {
     /**
      * 当前积分
      */
-    private Integer currentQuota;
+    private Long currentQuota;
     /**
      * 冻结积分
      */
-    private Integer freezeQuota;
+    private Long freezeQuota;
     /**
      * 用户类型
      */
     private Long categoryId;
 
-    private Integer highQuota;
+    private Long highQuota;
 
     private String name;
 

+ 8 - 11
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ordercalc/OrderCalcDO.java

@@ -1,9 +1,6 @@
 package cn.newfeifan.mall.module.distri.dal.dataobject.ordercalc;
 
 import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 
@@ -38,34 +35,34 @@ public class OrderCalcDO extends BaseDO {
     /**
      * 售价
      */
-    private Integer price;
+    private Long price;
     /**
      * 成本
      */
-    private Integer cost;
+    private Long cost;
     /**
      * 毛利 = 成本 * 0.38... (推广费用)
      */
-    private Integer grossProfit;
+    private Long grossProfit;
     /**
      * 推广-用户额度
      */
-    private Integer grossProfitUserQuota;
+    private Long grossProfitUserQuota;
     /**
      * 推广-推荐人额度
      */
-    private Integer grossProfitAncestorQuota;
+    private Long grossProfitAncestorQuota;
     /**
      * 推广-合赢奖额度(浮动)
      */
-    private Integer grossProfitBonusQuota;
+    private Long grossProfitBonusQuota;
     /**
      * 推广-平台分成额度(浮动)
      */
-    private Integer grossProfitPlatformQuota;
+    private Long grossProfitPlatformQuota;
     private String percentTemplate;
     private String nickName;
-    private Integer productCount;
+    private Long productCount;
     private Long orderId;
 
     private String name;

+ 2 - 5
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/partitionbrothers/PartitionBrothersDO.java

@@ -1,9 +1,6 @@
 package cn.newfeifan.mall.module.distri.dal.dataobject.partitionbrothers;
 
 import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 
@@ -38,7 +35,7 @@ public class PartitionBrothersDO extends BaseDO {
     /**
      * 业绩
      */
-    private Integer price;
+    private Long price;
     /**
      * 是否碰撞 0为未碰撞 1为已碰撞
      */
@@ -46,7 +43,7 @@ public class PartitionBrothersDO extends BaseDO {
     /**
      * 碰撞后额度
      */
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
     /**
      * 是否是大区 0为小区 1为大区
      */

+ 3 - 6
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/partitioncrash/PartitionCrashDO.java

@@ -1,9 +1,6 @@
 package cn.newfeifan.mall.module.distri.dal.dataobject.partitioncrash;
 
 import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 
@@ -38,15 +35,15 @@ public class PartitionCrashDO extends BaseDO {
     /**
      * 兄弟分区额度
      */
-    private Integer brotherPrice;
+    private Long brotherPrice;
     /**
      * 子分区额度
      */
-    private Integer sonPrice;
+    private Long sonPrice;
     /**
      * 碰撞后额度
      */
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
     /**
      * 用户名称
      */

+ 2 - 5
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/partitionson/PartitionSonDO.java

@@ -1,9 +1,6 @@
 package cn.newfeifan.mall.module.distri.dal.dataobject.partitionson;
 
 import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 
@@ -38,7 +35,7 @@ public class PartitionSonDO extends BaseDO {
     /**
      * 业绩
      */
-    private Integer price;
+    private Long price;
     /**
      * 是否碰撞 0为未碰撞 1为已碰撞
      */
@@ -46,7 +43,7 @@ public class PartitionSonDO extends BaseDO {
     /**
      * 碰撞后额度
      */
-    private Integer afterHitQuota;
+    private Long afterHitQuota;
     /**
      * 是否是大区 0为小区 1为大区
      */

+ 3 - 6
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ptprofit/PtProfitDO.java

@@ -1,9 +1,6 @@
 package cn.newfeifan.mall.module.distri.dal.dataobject.ptprofit;
 
 import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 
@@ -30,14 +27,14 @@ public class PtProfitDO extends BaseDO {
     /**
      * 平台服务费(毛利下的百分比收益)
      */
-    private Integer ptAdd;
+    private Long ptAdd;
     /**
      * 平台收益(0.3888 之外的收益)
      */
-    private Integer ptGrossAdd;
+    private Long ptGrossAdd;
     /**
      * 平台总收益
      */
-    private Integer ptTotalAdd;
+    private Long ptTotalAdd;
 
 }

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

@@ -1,9 +1,6 @@
 package cn.newfeifan.mall.module.distri.dal.dataobject.ptprofitlog;
 
 import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.*;
 import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 
@@ -30,11 +27,11 @@ public class PtProfitLogDO extends BaseDO {
     /**
      * 增加金额
      */
-    private Integer amount;
+    private Long amount;
     /**
      * 增加后金额
      */
-    private Integer afterAmount;
+    private Long afterAmount;
     /**
      * 收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖
      */

+ 3 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/ptprofitlog/PtProfitLogMapper.java

@@ -25,6 +25,8 @@ public interface PtProfitLogMapper extends BaseMapperX<PtProfitLogDO> {
                 .eqIfPresent(PtProfitLogDO::getProfitStatus, reqVO.getProfitStatus())
                 .eqIfPresent(PtProfitLogDO::getUserId, reqVO.getUserId())
                 .eqIfPresent(PtProfitLogDO::getOrderId, reqVO.getOrderId())
-                .eqIfPresent(PtProfitLogDO::getOrderNo, reqVO.getOrderNo()));
+                .eqIfPresent(PtProfitLogDO::getOrderNo, reqVO.getOrderNo())
+                .orderByDesc(PtProfitLogDO::getCreateTime)
+        );
     }
 }

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

@@ -1,6 +1,5 @@
 package cn.newfeifan.mall.module.distri.mq.message.order;
 
-import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -16,12 +15,12 @@ public class DistriOrderMessage {
     /**
      * 总价
      */
-    private Integer totalPrice;
+    private Long totalPrice;
 
     /**
      * 单价
      */
-    private Integer price;
+    private Long price;
 
     /**
      * 购买数量
@@ -35,7 +34,7 @@ public class DistriOrderMessage {
     /**
      * 成本价
      */
-    private Integer costPrice;
+    private Long costPrice;
 
 
     /**

+ 2 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserService.java

@@ -86,4 +86,6 @@ public interface DuserService {
     List<DuserDO> getDuserByName(String name);
 
     DuserDO getDuserByMobile(String mobile);
+
+    DuserInfoVO initDuser();
 }

+ 16 - 4
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserServiceImpl.java

@@ -111,6 +111,16 @@ public class DuserServiceImpl implements DuserService {
         );
     }
 
+    @Override
+    public DuserInfoVO initDuser() {
+
+        List<MemberUserDO> memberUserDOS = memberUserService.getAllUser();
+        for (MemberUserDO memberUserDO : memberUserDOS) {
+            checkAndCreat(memberUserDO.getId());
+        }
+        return null;
+    }
+
     @Override
     public PageResult<DuserDO> getDuserPage(DuserPageReqVO pageReqVO) {
         return duserMapper.selectPage(pageReqVO);
@@ -166,8 +176,8 @@ public class DuserServiceImpl implements DuserService {
         // 获取昨日贡献值 + 合赢奖
         String yesterday = ptProfitLogService.getYesterdayLog(sonsId);
         String totalLog = ptProfitLogService.getTotalLog(sonsId);
-        return duserInfoVOBuilder.descPrice(Integer.parseInt(yesterday))
-                .descTotalPrice(Integer.parseInt(totalLog)).build();
+        return duserInfoVOBuilder.descPrice(Long.parseLong(yesterday))
+                .descTotalPrice(Long.parseLong(totalLog)).build();
 
     }
 
@@ -179,11 +189,12 @@ public class DuserServiceImpl implements DuserService {
         if (integralDO == null) {
             // 创建一个钱包
             IntegralSaveReqVO integralSaveReqVO = IntegralSaveReqVO.builder()
-                    .currentQuota(0)
+                    .currentQuota(0L)
                     .nickName(user.getNickname())
                     .name(user.getName())
-                    .freezeQuota(0)
+                    .freezeQuota(0L)
                     .categoryId(3L)
+                    .highQuota(0L)
                     .userId(userId).build();
             Long integralId = integralService.createIntegral(integralSaveReqVO);
             integralDO = new IntegralDO().setId(integralId);
@@ -222,6 +233,7 @@ public class DuserServiceImpl implements DuserService {
                     .eq(SharePathDO::getDepth, 1)
             );
             duserRespVO.setAncNickName(sharePathDO != null ? sharePathDO.getAncNickName() : "");
+            duserRespVO.setAvatar(memberUserService.getUser(duserRespVO.getUserId()).getAvatar());
         }
     }
 }

+ 4 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralService.java

@@ -77,4 +77,8 @@ public interface IntegralService {
     IntegralDO selectUserParent(Long userId);
 
 
+
+    List<IntegralDO> selectAllUser();
+
+
 }

+ 7 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralServiceImpl.java

@@ -112,4 +112,11 @@ public class IntegralServiceImpl implements IntegralService {
         return integralMapper.selectOne(new LambdaQueryWrapperX<IntegralDO>().eqIfPresent(IntegralDO::getUserId, parentId));
     }
 
+    @Override
+    public List<IntegralDO> selectAllUser() {
+
+        return    integralMapper.selectList();
+
+    }
+
 }

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ordercalc/OrderCalcService.java

@@ -61,6 +61,6 @@ public interface OrderCalcService {
     void calc(List<DistriOrderMessage> tradeOrderDO);
 
 
-    List<OrderCalcDO> queryTodayCalcByUserIds(LocalDateTime todayStart, LocalDateTime todayEnd);
+    List<OrderCalcDO> queryTodayCalcByUserIds(LocalDateTime todayStart, LocalDateTime todayEnd,List<Long> userList);
 
 }

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

@@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 
 import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.util.*;
@@ -41,8 +42,6 @@ import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
 import cn.newfeifan.mall.module.distri.dal.mysql.ordercalc.OrderCalcMapper;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.newfeifan.mall.module.distri.constant.DistriConstants.PERCENT;
-import static cn.newfeifan.mall.module.distri.constant.DistriConstants.THREE;
 import static cn.newfeifan.mall.module.distri.enums.ErrorCodeConstants.*;
 
 /**
@@ -136,13 +135,10 @@ public class OrderCalcServiceImpl implements OrderCalcService {
         sharePathService.createSharePathByUserId(userId);
 
         try {
-
             OrderPercentageDO orderPercentageDO = orderPercentageService.queryStatus();
             // 当前计算百分比模板
             String percentTemplate = JsonUtils.toJsonString(orderPercentageDO);
-
             calc(tradeOrderDO, orderPercentageDO, percentTemplate);
-
         } catch (Exception e) {
 
         } finally {
@@ -153,17 +149,15 @@ public class OrderCalcServiceImpl implements OrderCalcService {
     }
 
     @Override
-    public List<OrderCalcDO> queryTodayCalcByUserIds(LocalDateTime todayStart, LocalDateTime todayEnd) {
-
-        return   orderCalcMapper.selectList(new LambdaQueryWrapperX<OrderCalcDO>().betweenIfPresent(OrderCalcDO::getCreateTime,todayStart,todayEnd));
-
+    public List<OrderCalcDO> queryTodayCalcByUserIds(LocalDateTime todayStart, LocalDateTime todayEnd, List<Long> userList) {
+        return orderCalcMapper.selectList(new LambdaQueryWrapperX<OrderCalcDO>()
+                .betweenIfPresent(OrderCalcDO::getCreateTime, todayStart, todayEnd)
+                .in(OrderCalcDO::getUserId, userList));
     }
 
     private void calc(List<DistriOrderMessage> tradeOrderDO, OrderPercentageDO orderPercentageDO, String percentTemplate) {
 
-        // 给用户分组
-
-
+        List<PtProfitSaveReqVO> savePFitMap = new ArrayList<>();
         // 每个订单收益
         List<OrderCalcSaveReqVO> saveList = new ArrayList<>();
         // 平台收益
@@ -175,6 +169,15 @@ public class OrderCalcServiceImpl implements OrderCalcService {
 
         // todo 修改用户身价 如何从订单中获取身价?
         List<DuserSaveReqVO> duserSaveReqVOS = new ArrayList<>();
+        BigDecimal oneHundred = new BigDecimal(BigInteger.ONE);
+
+
+        // 计算,毛利中100 之外的百分比
+        BigDecimal otherOneHundred = oneHundred.subtract(new BigDecimal(orderPercentageDO.getGrossProfitUserQuotaPerc()))
+                .subtract(new BigDecimal(orderPercentageDO.getGrossProfitAncestorQuotaPerc()))
+                .subtract(new BigDecimal(orderPercentageDO.getGrossProfitBonusQuotaPerc()))
+                .subtract(new BigDecimal(orderPercentageDO.getGrossProfitPlatformQuotaPerc()));
+
 
         PtProfitDO ptProfitDO = ptProfitService.getPtProfit();
         PtProfitDO finalPtProfitDO = ptProfitDO;
@@ -186,35 +189,43 @@ public class OrderCalcServiceImpl implements OrderCalcService {
 
             // 计算
             // 计算利润: (价格 - 成本价格) * 产品数量
-//            Integer profit = (k.getPrice() - k.getCostPrice()) * k.getProductCount();
-
             BigDecimal profit = price.subtract(costPrice).multiply(productCount);
 
+
             // 计算毛利: 利润 * 0.38
-            BigDecimal grossProfit = profit.multiply(new BigDecimal(String.valueOf(orderPercentageDO.getGrossProfitPerc()))).setScale(4, RoundingMode.DOWN);
+            BigDecimal grossProfit = profit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitPerc())).setScale(4, RoundingMode.DOWN);
+
+            // 计算平台收益
+            BigDecimal grossProfitAfterBonus = profit.multiply(oneHundred.subtract(new BigDecimal(orderPercentageDO.getGrossProfitPerc()))).setScale(4, RoundingMode.DOWN);
 
-            // 计算推荐人额度: 毛利 * 0.35
-            BigDecimal ancestorQuota = grossProfit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitUserQuotaPerc())).setScale(4, RoundingMode.DOWN);
+            if (otherOneHundred.compareTo(new BigDecimal(BigInteger.ZERO)) > 0) {
+                grossProfitAfterBonus.add(grossProfit.multiply(otherOneHundred).setScale(4, RoundingMode.DOWN));
+            }
 
-            // 计算直推人额度: 毛利 * 0.35
-            BigDecimal descendantQuota = grossProfit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitAncestorQuotaPerc())).setScale(4, RoundingMode.DOWN);
+            // 用户所得: 毛利 * 0.35
+            BigDecimal descendantQuota = grossProfit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitUserQuotaPerc())).setScale(4, RoundingMode.DOWN);
 
-            // 计算合赢奖: 毛利 * 0.08
+            // 直推奖: 毛利 * 0.35 (上一级)
+            BigDecimal ancestorQuota = grossProfit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitAncestorQuotaPerc())).setScale(4, RoundingMode.DOWN);
+
+            // 合赢将: 毛利 * 0.08
             BigDecimal bonusQuota = grossProfit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitBonusQuotaPerc())).setScale(4, RoundingMode.DOWN);
 
-            // 计算平台收益: 毛利 * 0.22
+            // 平台服务费: 毛利 * 0.22
             BigDecimal platformQuota = grossProfit.multiply(new BigDecimal(orderPercentageDO.getGrossProfitPlatformQuotaPerc())).setScale(4, RoundingMode.DOWN);
 
+
             // 计算当前下单人的毛利的三倍
             BigDecimal highQuota = grossProfit.multiply(new BigDecimal("3")).setScale(4, RoundingMode.DOWN);
 
             // 乘以 10000 并转换为整数
-            int grossProfitInt = grossProfit.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).intValueExact();
-            int ancestorQuotaInt = ancestorQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).intValueExact();
-            int descendantQuotaInt = descendantQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).intValueExact();
-            int bonusQuotaInt = bonusQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).intValueExact();
-            int platformQuotaInt = platformQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).intValueExact();
-            int highQuotaInt = highQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).intValueExact();
+            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 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();
+            Long platformQuotaInt = platformQuota.multiply(new BigDecimal("10000")).setScale(0, RoundingMode.DOWN).longValue();
 
 
             // 获取当前下单人关系
@@ -234,45 +245,36 @@ public class OrderCalcServiceImpl implements OrderCalcService {
                     .nickName(k.getNickName())
                     .name(k.getName())
                     .grossProfit(grossProfitInt)
-                    .grossProfitUserQuota(ancestorQuotaInt)
-                    .grossProfitAncestorQuota(descendantQuotaInt)
+                    .grossProfitUserQuota(descendantQuotaInt)
+                    .grossProfitAncestorQuota(ancestorQuotaInt)
                     .grossProfitBonusQuota(bonusQuotaInt)
                     .grossProfitPlatformQuota(platformQuotaInt)
                     .percentTemplate(percentTemplate).build();
             saveList.add(orderCalcSaveReqVO);            // ========== 修改用户钱包 =================
-            changeUserWallet(integralSaveReqVOS, integralDO, integralDOAncestor, ptIntegral, ancestorQuotaInt, descendantQuotaInt, highQuotaInt, grossProfitInt, platformQuotaInt);
+            changeUserWallet(integralSaveReqVOS, integralDO, integralDOAncestor, ptIntegral, ancestorQuotaInt, descendantQuotaInt, highQuotaInt, grossProfitAfterBonusInt, platformQuotaInt);
             // ========== 修改平台信息 =================
             // 每个订单计算的过程
             // 增加平台收益
             // 平台服务费
-
-            BigDecimal ptGrossAdd = new BigDecimal(finalPtProfitDO.getPtGrossAdd());
-            BigDecimal ptAdd = new BigDecimal(finalPtProfitDO.getPtAdd());
-            BigDecimal ptTotalAdd = new BigDecimal(finalPtProfitDO.getPtTotalAdd());
-            BigDecimal bonusQuotaPerc = new BigDecimal(orderPercentageDO.getGrossProfitPerc());
-
-            // 计算平台收益:毛利润减去合赢奖百分比后的金额
-            BigDecimal one = BigDecimal.ONE;
-            BigDecimal grossProfitAfterBonus = grossProfit.multiply(one.subtract(bonusQuotaPerc));
-            BigDecimal newPtAdd = ptAdd.add(grossProfitAfterBonus);
-            BigDecimal newPtGrossAdd = ptGrossAdd.add(platformQuota);
-
-            // 计算平台总收益
-            BigDecimal newPtTotal = ptTotalAdd.add(newPtGrossAdd).add(newPtAdd);
-
-            // 换成整数
-            int ptGrossAddInt = newPtGrossAdd.intValue();
-            int ptAddInt = newPtAdd.intValue();
-            int ptTotalInt = newPtTotal.intValue();
-
-            PtProfitSaveReqVO ptProfitSaveReqVO = PtProfitSaveReqVO.builder().ptAdd(ptAddInt).ptGrossAdd(ptGrossAddInt).ptTotalAdd(ptTotalInt).build();
+            PtProfitSaveReqVO ptProfitSaveReqVO = PtProfitSaveReqVO.builder().ptAdd(platformQuotaInt).ptGrossAdd(grossProfitAfterBonusInt).ptTotalAdd(platformQuotaInt + grossProfitAfterBonusInt).build();
             ptProfitSaveReqVOS.add(ptProfitSaveReqVO);
             // ========== 增加日志记录 =================
 
             // 平台记录
-            PtProfitLogSaveReqVO ptGrossAddLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId()).profitStatus(CaclEnum.PLATFORM_SERVICE_FEE.getType()).orderNo(k.getNo()).amount(platformQuotaInt).afterAmount(ptProfitSaveReqVO.getPtGrossAdd()).percentTemplate(percentTemplate).build();
+            // 平台总收益
+            // 平台总收益
+            PtProfitLogSaveReqVO ptTotal = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId())
+                    .profitStatus(CaclEnum.PLATFORM_TOTAL_ADD.getType()).orderNo(k.getNo())
+                    .amount(platformQuotaInt + grossProfitAfterBonusInt).afterAmount(ptProfitDO.getPtTotalAdd() + platformQuotaInt + grossProfitAfterBonusInt).percentTemplate(percentTemplate).build();
+            // 平台收益
+            PtProfitLogSaveReqVO ptGrossAddLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId())
+                    .profitStatus(CaclEnum.PLATFORM_REVENUE.getType()).orderNo(k.getNo())
+                    .amount(grossProfitAfterBonusInt).afterAmount(ptProfitDO.getPtGrossAdd() + ptProfitSaveReqVO.getPtGrossAdd()).percentTemplate(percentTemplate).build();
 
-            PtProfitLogSaveReqVO ptAddLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId()).profitStatus(CaclEnum.PLATFORM_REVENUE.getType()).orderNo(k.getNo()).amount(grossProfitAfterBonus.intValue()).afterAmount(ptProfitSaveReqVO.getPtAdd()).percentTemplate(percentTemplate).build();
+            // 平台服务费
+            PtProfitLogSaveReqVO ptAddLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId())
+                    .profitStatus(CaclEnum.PLATFORM_SERVICE_FEE.getType()).orderNo(k.getNo())
+                    .amount(platformQuotaInt).afterAmount(ptProfitDO.getPtAdd() + ptProfitSaveReqVO.getPtAdd()).percentTemplate(percentTemplate).build();
 
 
             // 推荐人记录
@@ -284,9 +286,10 @@ public class OrderCalcServiceImpl implements OrderCalcService {
             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();
 
             // 合赢奖记录
-            PtProfitLogSaveReqVO hyjLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId()).profitStatus(CaclEnum.TOGETHER_AWARD.getType()).orderNo(k.getNo()).amount(bonusQuotaInt).afterAmount(0).percentTemplate(percentTemplate).build();
+            PtProfitLogSaveReqVO hyjLog = PtProfitLogSaveReqVO.builder().orderId(k.getOrderId()).profitStatus(CaclEnum.TOGETHER_AWARD.getType()).orderNo(k.getNo()).amount(bonusQuotaInt).afterAmount(0L).percentTemplate(percentTemplate).build();
 
 
+            ptProfitLogSaveReqVOS.add(ptTotal);
             ptProfitLogSaveReqVOS.add(ptGrossAddLog);
             ptProfitLogSaveReqVOS.add(ptAddLog);
             ptProfitLogSaveReqVOS.add(tjrLog);
@@ -299,18 +302,34 @@ public class OrderCalcServiceImpl implements OrderCalcService {
 
         // 信息整合
         // 计算平台收益
-        ptProfitDO = calcPtProfit(ptProfitDO, ptProfitSaveReqVOS);
+//        ptProfitDO = calcPtProfit(ptProfitDO, ptProfitSaveReqVOS);
 
         // 将信息存储到数据库中
         orderCalcMapper.insertBatch(BeanUtils.toBean(saveList, OrderCalcDO.class));
-        ptProfitService.updatePtProfit(BeanUtils.toBean(ptProfitDO, PtProfitSaveReqVO.class));
+
         ptProfitLogService.saveBatch(ptProfitLogSaveReqVOS);
+
+        PtProfitDO ptProfit = ptProfitService.getPtProfit();
+        // 计算总积分
+        Long total = ptProfitSaveReqVOS.stream().mapToLong(PtProfitSaveReqVO::getPtTotalAdd).sum();
+        Long add = ptProfitSaveReqVOS.stream().mapToLong(PtProfitSaveReqVO::getPtAdd).sum();
+        Long grossAdd = ptProfitSaveReqVOS.stream().mapToLong(PtProfitSaveReqVO::getPtGrossAdd).sum();
+        ptProfit.setPtAdd(ptProfit.getPtAdd() + add);
+        ptProfit.setPtTotalAdd(ptProfit.getPtTotalAdd() + total);
+        ptProfit.setPtGrossAdd(ptProfit.getPtGrossAdd() + grossAdd);
+        PtProfitSaveReqVO ptProfitSaveReqVO = PtProfitSaveReqVO.builder()
+                .id(ptProfitDO.getId())
+                .ptTotalAdd(ptProfit.getPtTotalAdd())
+                .ptAdd(ptProfit.getPtAdd())
+                .ptGrossAdd(ptProfit.getPtGrossAdd()).build();
+        ptProfitService.updatePtProfit(ptProfitSaveReqVO);
+
     }
 
     private PtProfitDO calcPtProfit(PtProfitDO ptProfitDO, List<PtProfitSaveReqVO> ptProfitSaveReqVOS) {
 
-        int currentPtAdd = 0;
-        int currentPtGrossAdd = 0;
+        Long currentPtAdd = 0L;
+        Long currentPtGrossAdd = 0L;
 
         for (PtProfitSaveReqVO ptProfitSaveReqVO : ptProfitSaveReqVOS) {
             currentPtAdd = currentPtAdd + ptProfitSaveReqVO.getPtAdd();
@@ -324,7 +343,7 @@ public class OrderCalcServiceImpl implements OrderCalcService {
         return ptProfitDO;
     }
 
-    private static void addCaclDo(String percentTemplate, List<OrderCalcSaveReqVO> saveList, DistriOrderMessage k, Integer grossProfit, Integer ancestorQuota, Integer descendantQuota, Integer bonusQuota, Integer platformQuota) {
+    private static void addCaclDo(String percentTemplate, List<OrderCalcSaveReqVO> saveList, DistriOrderMessage k, Long grossProfit, Long ancestorQuota, Long descendantQuota, Long bonusQuota, Long platformQuota) {
         OrderCalcSaveReqVO orderCalcSaveReqVO = OrderCalcSaveReqVO.builder()
                 .userId(k.getUserId())
                 .orderNo(k.getNo())
@@ -340,17 +359,19 @@ public class OrderCalcServiceImpl implements OrderCalcService {
     }
 
     private void changeUserWallet(List<IntegralSaveReqVO> integralSaveReqVOS, IntegralDO integralDO, IntegralDO integralDOAncestor, IntegralDO pt,
-                                  Integer ancestorQuota, Integer descendantQuota, Integer highQuota, Integer ptA, Integer ptB) {
+                                  Long ancestorQuota, Long descendantQuota, Long highQuota, Long ptA, Long ptB) {
         // 修改用户钱包
         // 增加直推人额度
         integralDO.setHighQuota(integralDO.getHighQuota() + highQuota);
+        // todo 增加累计额度
+
         integralDO.setCurrentQuota(integralDO.getCurrentQuota() + descendantQuota);
 
 
         // 增加推荐人额度
-        integralDOAncestor.setCurrentQuota(integralDO.getCurrentQuota() + ancestorQuota);
+        integralDOAncestor.setCurrentQuota(integralDOAncestor.getCurrentQuota() + ancestorQuota);
         // 增加平台额度
-        pt.setCurrentQuota(integralDO.getCurrentQuota() + ptA + ptB);
+        pt.setCurrentQuota(pt.getCurrentQuota() + ptA + ptB);
 
 //        integralSaveReqVOS.add(BeanUtils.toBean(integralDO, IntegralSaveReqVO.class));
 //        integralSaveReqVOS.add(BeanUtils.toBean(integralDOAncestor, IntegralSaveReqVO.class));

+ 3 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitionbrothers/PartitionBrothersService.java

@@ -52,4 +52,7 @@ public interface PartitionBrothersService {
      */
     PageResult<PartitionBrothersDO> getPartitionBrothersPage(PartitionBrothersPageReqVO pageReqVO);
 
+
+    void saveBatch(List<PartitionBrothersSaveReqVO> partitionBrothersSaveReqVOS);
+
 }

+ 7 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitionbrothers/PartitionBrothersServiceImpl.java

@@ -71,4 +71,11 @@ public class PartitionBrothersServiceImpl implements PartitionBrothersService {
         return partitionBrothersMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public void saveBatch(List<PartitionBrothersSaveReqVO> partitionBrothersSaveReqVOS) {
+        List<PartitionBrothersDO> ptProfit = BeanUtils.toBean(partitionBrothersSaveReqVOS, PartitionBrothersDO.class);
+        partitionBrothersMapper.insertBatch(ptProfit);
+
+    }
+
 }

+ 106 - 43
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitioncrash/PartitionCrashServiceImpl.java

@@ -5,6 +5,8 @@ import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.newfeifan.mall.module.distri.controller.admin.integral.vo.IntegralSaveReqVO;
 import cn.newfeifan.mall.module.distri.controller.admin.partitionbrothers.vo.PartitionBrothersSaveReqVO;
 import cn.newfeifan.mall.module.distri.controller.admin.partitionson.vo.PartitionSonSaveReqVO;
+import cn.newfeifan.mall.module.distri.controller.admin.ptprofit.vo.PtProfitSaveReqVO;
+import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.PtProfitLogSaveReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.duser.DuserDO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.integral.IntegralDO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.ordercalc.OrderCalcDO;
@@ -18,14 +20,18 @@ import cn.newfeifan.mall.module.distri.service.partitionbrothers.PartitionBrothe
 import cn.newfeifan.mall.module.distri.service.partitionson.PartitionSonService;
 import cn.newfeifan.mall.module.distri.service.ptprofit.PtProfitService;
 import cn.newfeifan.mall.module.distri.service.ptprofitlog.PtProfitLogService;
+import cn.newfeifan.mall.module.distri.tools.LoginMessageTool;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import cn.newfeifan.mall.module.distri.service.sharepath.SharePathService;
+
 import javax.annotation.Resource;
 
 import org.springframework.validation.annotation.Validated;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
@@ -41,6 +47,7 @@ import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
 import cn.newfeifan.mall.module.distri.dal.mysql.partitioncrash.PartitionCrashMapper;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.newfeifan.mall.module.distri.constant.DistriConstants.PT_ID;
 import static cn.newfeifan.mall.module.distri.enums.ErrorCodeConstants.*;
 
 /**
@@ -50,6 +57,7 @@ import static cn.newfeifan.mall.module.distri.enums.ErrorCodeConstants.*;
  */
 @Service
 @Validated
+@Slf4j
 public class PartitionCrashServiceImpl implements PartitionCrashService {
 
     @Resource
@@ -133,14 +141,33 @@ public class PartitionCrashServiceImpl implements PartitionCrashService {
         if (duserDOS.isEmpty()) {
             return;
         }
+        List<HashMap<Long, Long>> afterCrashMap = new ArrayList<>();
         // 获取当前合赢奖百分比
         OrderPercentageDO orderPercentageDO = orderPercentageService.queryStatus();
-        List<HashMap<Long, Integer>> afterCrashMap = duserDOS.stream().map(k -> CompletableFuture.supplyAsync(() -> {
 
+        // 获取用户的钱包信息
+        List<IntegralDO> integralDOS = integralService.selectAllUser();
+        Map<Long, IntegralDO> integralDOMap = integralDOS.stream().collect(Collectors.toMap(IntegralDO::getUserId, k -> k));
+
+        // 获取当前所有用户的父亲
+        Map<Long, Long> sonAndParent = new HashMap<>();
+        List<Long> userIds = duserDOS.stream().map(DuserDO::getUserId).collect(Collectors.toList());
+        userIds.stream().map(k -> CompletableFuture.supplyAsync(() -> {
+            Long parent = sharePathService.queryParentBySonUserId(k);
+            sonAndParent.put(k, parent);
+            return parent;
+        })).collect(Collectors.toList()).stream().map(CompletableFuture::join).collect(Collectors.toList());
+
+        List<PartitionSonSaveReqVO> partitionSonSaveReqVOS = new ArrayList<>();
+        List<PartitionBrothersSaveReqVO> partitionBrothersSaveReqVOS = new ArrayList<>();
+        List<PartitionCrashSaveReqVO> partitionCrashSaveReqVOS = new ArrayList<>();
+
+        duserDOS.forEach(k -> {
             // 获取当前用户的钱包
-            IntegralDO integralDO = integralService.selectByUser(k.getUserId());
+            IntegralDO integralDO = integralDOMap.get(k.getUserId());
             // 获取当前父亲的钱包
-            IntegralDO parentIntegralDo = integralService.selectUserParent(k.getUserId());
+            Long parent = sonAndParent.get(k.getUserId());
+            IntegralDO parentIntegralDo = integralDOMap.get(parent);
 
             // 创建一个分区编号
             String todayNo = crashTodayNo(k.getUserId());
@@ -150,11 +177,13 @@ public class PartitionCrashServiceImpl implements PartitionCrashService {
             PartitionBrothersSaveReqVO.PartitionBrothersSaveReqVOBuilder brotherBuilder = PartitionBrothersSaveReqVO.builder();
             PartitionCrashSaveReqVO.PartitionCrashSaveReqVOBuilder crashSaveReqVOBuilder = PartitionCrashSaveReqVO.builder();
             sonBuilder.partNo(todayNo);
+            sonBuilder.userId(k.getUserId());
             sonBuilder.name(k.getName());
             sonBuilder.nickName(k.getNickName());
             sonBuilder.hasHit(1);
 
             brotherBuilder.partNo(todayNo);
+            brotherBuilder.userId(k.getUserId());
             brotherBuilder.name(k.getName());
             brotherBuilder.nickName(k.getNickName());
             brotherBuilder.hasHit(1);
@@ -169,38 +198,38 @@ public class PartitionCrashServiceImpl implements PartitionCrashService {
             if (sonOrderCalcDOS.isEmpty()) {
                 // 插入空数据
                 sonBuilder = addSonEmpty(sonBuilder, k);
-                crashSaveReqVOBuilder.sonPrice(0);
-                partitionSonService.createPartitionSon(sonBuilder.build());
+                crashSaveReqVOBuilder.sonPrice(0L);
             }
             // 合计儿子分支额度
-            Integer sonSumPrice = sonOrderCalcDOS.stream().mapToInt(OrderCalcDO::getGrossProfitBonusQuota).sum();
-            crashSaveReqVOBuilder.sonPrice(sonSumPrice);
+            Long sonSumPrice = sonOrderCalcDOS.stream().mapToLong(OrderCalcDO::getGrossProfitBonusQuota).sum();
+            sonBuilder.price(sonSumPrice);
 
             // 获取当前用户的兄弟分区
             List<OrderCalcDO> brothersOrderCalcDOS = sharePathService.selectBrothers(k.getUserId(), userId);
             if (brothersOrderCalcDOS.isEmpty()) {
                 // 插入空数据
                 brotherBuilder = addBrotherEmpty(brotherBuilder, k);
-                crashSaveReqVOBuilder.brotherPrice(0);
-                partitionBrothersService.createPartitionBrothers(brotherBuilder.build());
+                crashSaveReqVOBuilder.brotherPrice(0L);
             }
 
             // 合并兄弟分支额度
-            Integer brotherSumPrice = brothersOrderCalcDOS.stream().mapToInt(OrderCalcDO::getGrossProfitBonusQuota).sum();
-            crashSaveReqVOBuilder.brotherPrice(sonSumPrice);
+            Long brotherSumPrice = brothersOrderCalcDOS.stream().mapToLong(OrderCalcDO::getGrossProfitBonusQuota).sum();
+            brotherBuilder.price(brotherSumPrice);
 
 
             // 判断,昨天是否有存余的分支
             PartitionCrashDO yesterdayCrash = partitionCrashMapper.selectOne(new LambdaQueryWrapperX<PartitionCrashDO>().eqIfPresent(PartitionCrashDO::getPartNo, yesterdayNo));
             // 如果不为空, 则判断增加到哪个分支中
-            if (yesterdayCrash.getSonPrice() >= yesterdayCrash.getBrotherPrice()) {
-                sonSumPrice = sonSumPrice + yesterdayCrash.getSonPrice();
-            } else {
-                brotherSumPrice = brotherSumPrice + yesterdayCrash.getBrotherPrice();
+            if (yesterdayCrash != null) {
+                if (yesterdayCrash.getSonPrice() >= yesterdayCrash.getBrotherPrice()) {
+                    sonSumPrice = sonSumPrice + yesterdayCrash.getSonPrice();
+                } else {
+                    brotherSumPrice = brotherSumPrice + yesterdayCrash.getBrotherPrice();
+                }
             }
 
-            int afterCrash = 0;
-            Integer smallQuota = 0;
+            Long afterCrash = 0L;
+            Long smallQuota = 0L;
             // 碰撞计算
             if (sonSumPrice >= brotherSumPrice) {
                 sonBuilder.size(1);
@@ -222,68 +251,102 @@ public class PartitionCrashServiceImpl implements PartitionCrashService {
 
             // 积分添加 添加的时候, 需要注意当前用户是否有足够的积分可以获取
             // 碰撞后的额度的
-            Integer highQuota = integralDO.getHighQuota();
-            Integer parentHighQuota = parentIntegralDo.getHighQuota();
+            Long highQuota = integralDO.getHighQuota();
+            Long parentHighQuota = parentIntegralDo.getHighQuota();
 
             BigDecimal smallBigDecimal = new BigDecimal(String.valueOf(smallQuota));
-            BigDecimal multiply = smallBigDecimal.multiply(new BigDecimal(String.valueOf(orderPercentageDO.getDivideIntoPerc())));
+            BigDecimal multiply = smallBigDecimal.divide(new BigDecimal("2.0"), 4, RoundingMode.DOWN);
             if (compare(highQuota, multiply)) {
-                Integer currentQuota = integralDO.getCurrentQuota();
-                integralDO.setCurrentQuota(currentQuota + multiply.intValue());
+                integralDO.setCurrentQuota(integralDO.getCurrentQuota() + multiply.intValue());
+                integralDO.setHighQuota(parentIntegralDo.getHighQuota() - multiply.intValue());
                 // 碰撞后的额度添加到日志中 增加日志模块
                 integralService.updateIntegral(BeanUtils.toBean(integralDO, IntegralSaveReqVO.class));
-                ptProfitLogService.addMessage(k.getUserId(), CaclEnum.SMALL_QUOTA_CRASH, currentQuota, integralDO.getCurrentQuota(), JsonUtils.toJsonString(orderPercentageDO));
+                ptProfitLogService.addMessage(k.getUserId(), CaclEnum.SMALL_QUOTA_CRASH, Long.parseLong(String.valueOf(multiply.intValue())), integralDO.getCurrentQuota(), JsonUtils.toJsonString(orderPercentageDO));
             }
             if (compare(parentHighQuota, multiply)) {
-                Integer currentQuota = parentIntegralDo.getCurrentQuota();
-                parentIntegralDo.setCurrentQuota(currentQuota + multiply.intValue());
+                // 减去最高额度
+                parentIntegralDo.setCurrentQuota(parentIntegralDo.getCurrentQuota() + multiply.intValue());
+                parentIntegralDo.setHighQuota(parentIntegralDo.getHighQuota() - multiply.intValue());
                 // 碰撞后的额度添加到日志中 增加日志模块
                 integralService.updateIntegral(BeanUtils.toBean(parentIntegralDo, IntegralSaveReqVO.class));
-                ptProfitLogService.addMessage(parentIntegralDo.getUserId(), CaclEnum.SMALL_QUOTA_CRASH, currentQuota, parentIntegralDo.getCurrentQuota(), JsonUtils.toJsonString(orderPercentageDO));
+                ptProfitLogService.addMessage(parentIntegralDo.getUserId(), CaclEnum.SMALL_QUOTA_CRASH, Long.parseLong(String.valueOf(multiply.intValue())), parentIntegralDo.getCurrentQuota(), JsonUtils.toJsonString(orderPercentageDO));
             }
 
             // 获取计算后积分, Long为userId, Integer为碰撞后额度
-            HashMap<Long, Integer> map = new HashMap<>();
-            map.put(k.getUserId(), multiply.intValue());
-            map.put(parentIntegralDo.getUserId(), multiply.intValue());
-            return map;
+            HashMap<Long, Long> map = new HashMap<>();
+            // 如果为当前用户为平台,则不需要存入这个地方
+            if (!k.getUserId().equals(PT_ID)) {
+                map.put(k.getUserId(), multiply.longValue());
+            }
+            if (!parentIntegralDo.getUserId().equals(PT_ID)) {
+                map.put(parentIntegralDo.getUserId(), multiply.longValue());
+            }
+            afterCrashMap.add(map);
+
+            log.info(k.getNickName() + "用户合赢奖已经计算: 该用户合赢奖为: \t" +
+                    "兄弟分区为: " + brotherBuilder.build() + "\t" +
+                    "后代分区为: " + sonBuilder.build() + "\t" +
+                    "碰撞分区为: " + crashSaveReqVOBuilder.build() + "\t");
+
+            partitionSonSaveReqVOS.add(sonBuilder.build());
+            partitionBrothersSaveReqVOS.add(brotherBuilder.build());
+            partitionCrashSaveReqVOS.add(crashSaveReqVOBuilder.build());
 
-        })).collect(Collectors.toList()).stream().map(CompletableFuture::join).collect(Collectors.toList());
+
+        });
+
+        partitionSonService.saveBatch(partitionSonSaveReqVOS);
+        partitionBrothersService.saveBatch(partitionBrothersSaveReqVOS);
+        saveBatch(partitionCrashSaveReqVOS);
 
         // 计算平台积分
         // 获取当前平台的额度
         PtProfitDO ptProfit = ptProfitService.getPtProfit();
         // 遍历hashMap
-        for (HashMap<Long, Integer> longIntegerHashMap : afterCrashMap) {
-            for (Map.Entry<Long, Integer> entry : longIntegerHashMap.entrySet()) {
-                if (ptProfit.getPtTotalAdd() <= 0) {
+        for (HashMap<Long, Long> longIntegerHashMap : afterCrashMap) {
+            for (Map.Entry<Long, Long> entry : longIntegerHashMap.entrySet()) {
+                if (ptProfit.getPtGrossAdd() <= 0) {
                     break;
                 }
                 // 当前平台总积分
-                Integer ptTotalAdd = ptProfit.getPtTotalAdd();
+//                Integer ptTotalAdd = ptProfit.getPtTotalAdd();
+                // 扣除平台收益
+                log.info("扣除平台收益[合赢奖] " + "用户 " + entry.getKey() + "额度: " + entry.getValue());
+                ptProfit.setPtGrossAdd(ptProfit.getPtGrossAdd() - entry.getValue());
                 // 平台扣除积分
                 ptProfit.setPtTotalAdd(ptProfit.getPtTotalAdd() - entry.getValue());
                 // 碰撞后的额度添加到日志中 增加日志模块
                 ptProfitLogService.addMessage(entry.getKey(), CaclEnum.AFTER_CRASH_CALC_PT_TOTAL_QUOTA
-                        , ptTotalAdd, ptProfit.getPtTotalAdd() - entry.getValue(), JsonUtils.toJsonString(orderPercentageDO));
+                        , -entry.getValue(), ptProfit.getPtTotalAdd() - entry.getValue(), JsonUtils.toJsonString(orderPercentageDO));
+                ptProfitLogService.addMessage(entry.getKey(), CaclEnum.AFTER_CRASH_CALC_PT_TOTAL_GROSS_QUOTA
+                        , -entry.getValue(), ptProfit.getPtTotalAdd() - entry.getValue(), JsonUtils.toJsonString(orderPercentageDO));
             }
         }
+        ptProfitService.updatePtProfit(PtProfitSaveReqVO.builder().id(ptProfit.getId())
+                .ptAdd(ptProfit.getPtAdd())
+                .ptGrossAdd(ptProfit.getPtGrossAdd())
+                .ptTotalAdd(ptProfit.getPtTotalAdd()).build());
     }
 
-    public Boolean compare(Integer highQuota, BigDecimal afterCrash) {
+    public Boolean compare(Long highQuota, BigDecimal afterCrash) {
         BigDecimal high = new BigDecimal(String.valueOf(highQuota));
         int i = high.compareTo(afterCrash);
         return i >= 0;
     }
 
+    public void saveBatch(List<PartitionCrashSaveReqVO> partitionCrashSaveReqVOS) {
+
+        List<PartitionCrashDO> ptProfit = BeanUtils.toBean(partitionCrashSaveReqVOS, PartitionCrashDO.class);
+        partitionCrashMapper.insertBatch(ptProfit);
+    }
 
     private PartitionBrothersSaveReqVO.PartitionBrothersSaveReqVOBuilder addBrotherEmpty(PartitionBrothersSaveReqVO.PartitionBrothersSaveReqVOBuilder brotherBuilder, DuserDO duserDO) {
 
         return brotherBuilder.name(duserDO.getName())
                 .nickName(duserDO.getNickName())
                 .size(0)
-                .price(0)
-                .afterHitQuota(0)
+                .price(0L)
+                .afterHitQuota(0L)
                 .hasHit(0);
     }
 
@@ -293,8 +356,8 @@ public class PartitionCrashServiceImpl implements PartitionCrashService {
         return sonBuilder.name(duserDO.getName())
                 .nickName(duserDO.getNickName())
                 .size(0)
-                .price(0)
-                .afterHitQuota(0)
+                .price(0L)
+                .afterHitQuota(0L)
                 .hasHit(0);
     }
 
@@ -303,7 +366,7 @@ public class PartitionCrashServiceImpl implements PartitionCrashService {
     public String crashTodayNo(Long userId) {
         LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT); // 今天的开始时间,即午夜12点
         String todayStartString = todayStart.toString();
-        return "CRASH:" + userId + todayStartString;
+        return "CRASH:" + userId + ":" + todayStartString;
 
     }
 
@@ -312,7 +375,7 @@ public class PartitionCrashServiceImpl implements PartitionCrashService {
         LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT); // 今天的开始时间,即午夜12点
         LocalDateTime localDateTime = todayStart.minusDays(1);
         String yesterdayString = localDateTime.toString();
-        return "CRASH:" + userId + yesterdayString;
+        return "CRASH:" + userId + ":" + yesterdayString;
 
     }
 

+ 4 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitionson/PartitionSonService.java

@@ -52,4 +52,8 @@ public interface PartitionSonService {
      */
     PageResult<PartitionSonDO> getPartitionSonPage(PartitionSonPageReqVO pageReqVO);
 
+
+    void saveBatch(List<PartitionSonSaveReqVO> partitionSonSaveReqVOS);
+
+
 }

+ 8 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/partitionson/PartitionSonServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.newfeifan.mall.module.distri.service.partitionson;
 
+import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofit.PtProfitDO;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -71,4 +72,11 @@ public class PartitionSonServiceImpl implements PartitionSonService {
         return partitionSonMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public void saveBatch(List<PartitionSonSaveReqVO> partitionSonSaveReqVOS) {
+        // 批量存储数据
+        List<PartitionSonDO> ptProfit = BeanUtils.toBean(partitionSonSaveReqVOS, PartitionSonDO.class);
+        partitionSonMapper.insertBatch(ptProfit);
+    }
+
 }

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogService.java

@@ -64,7 +64,7 @@ public interface PtProfitLogService {
      * @param afterAmount 增加之后的额度
      * @param jsonString  百分比计算模板
      */
-    void addMessage(Long userId, CaclEnum caclEnum, Integer amount, Integer afterAmount, String jsonString);
+    void addMessage(Long userId, CaclEnum caclEnum, Long amount, Long afterAmount, String jsonString);
     void addMessage(Long userId, CaclEnum caclEnum, Integer amount, Integer afterAmount);
 
     /**

+ 6 - 8
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogServiceImpl.java

@@ -75,11 +75,9 @@ public class PtProfitLogServiceImpl implements PtProfitLogService {
 
     @Override
     public PageResult<PtProfitLogRespVO> getPtProfitLogPage(PtProfitLogPageReqVO pageReqVO) {
-        PageResult<PtProfitLogDO> ptProfitLogDOPageResult = ptProfitLogMapper.selectPage(pageReqVO);
-        PageResult<PtProfitLogRespVO> result = BeanUtils.toBean(ptProfitLogDOPageResult, PtProfitLogRespVO.class);
-
-        for (int i = 0; i < result.getList().size(); i++) {
-            result.getList().get(i).setSort((pageReqVO.getPageNo()-1)*pageReqVO.getPageSize() + i+1);
+        PageResult<PtProfitLogRespVO> result = BeanUtils.toBean(ptProfitLogMapper.selectPage(pageReqVO), PtProfitLogRespVO.class);
+        for (PtProfitLogRespVO ptProfitLogRespVO : result.getList()) {
+            ptProfitLogRespVO.setProfitStatusName(Objects.requireNonNull(CaclEnum.getCaclEnumByValue(ptProfitLogRespVO.getProfitStatus())).getName());
         }
         return result;
     }
@@ -91,7 +89,7 @@ public class PtProfitLogServiceImpl implements PtProfitLogService {
     }
 
     @Override
-    public void addMessage(Long userId, CaclEnum caclEnum, Integer amount, Integer afterAmount, String percentTemplate) {
+    public void addMessage(Long userId, CaclEnum caclEnum, Long amount, Long afterAmount, String percentTemplate) {
         PtProfitLogSaveReqVO ptProfitLog = PtProfitLogSaveReqVO.builder()
                 .afterAmount(afterAmount)
                 .amount(amount)
@@ -133,7 +131,7 @@ public class PtProfitLogServiceImpl implements PtProfitLogService {
                 .eqIfPresent(PtProfitLogDO::getProfitStatus, CaclEnum.DIRECT_REFERRAL_QUOTA.getType())
                 .or().eq(PtProfitLogDO::getProfitStatus, CaclEnum.TOGETHER_AWARD.getType())
                 .in(PtProfitLogDO::getUserId, sonsId));
-        int sum = ptProfitLogDOS.stream().mapToInt(PtProfitLogDO::getAmount).sum();
+        Long sum = ptProfitLogDOS.stream().mapToLong(PtProfitLogDO::getAmount).sum();
 
         return sum + "";
     }
@@ -144,7 +142,7 @@ public class PtProfitLogServiceImpl implements PtProfitLogService {
                 .eqIfPresent(PtProfitLogDO::getProfitStatus, CaclEnum.DIRECT_REFERRAL_QUOTA.getType())
                 .or().eq(PtProfitLogDO::getProfitStatus, CaclEnum.TOGETHER_AWARD.getType())
                 .in(PtProfitLogDO::getUserId, sonsId));
-        int sum = ptProfitLogDOS.stream().mapToInt(PtProfitLogDO::getAmount).sum();
+        Long sum = ptProfitLogDOS.stream().mapToLong(PtProfitLogDO::getAmount).sum();
 
         return sum + "";
     }

+ 65 - 6
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/SharePathServiceImpl.java

@@ -172,13 +172,16 @@ public class SharePathServiceImpl implements SharePathService {
         if (maxDepth > 1) {
             List<Long> descs = sharePathDOS.stream().filter(k -> k.getDepth() > 1).map(SharePathDO::getDescendant).collect(Collectors.toList());
             // 获取大于1层级的数据
-            if (!descs.isEmpty()){
+            if (!descs.isEmpty()) {
                 List<SharePathDO> descList = sharePathMapper.selectList(new LambdaQueryWrapperX<SharePathDO>().ne(SharePathDO::getAncestor, 1).in(SharePathDO::getDescendant, descs));
                 List<TreeNode> treeNodes1 = sharePathDO2TreeNode(descList);
-                deep = deep.stream().filter(k -> k.getDeep() == 1).collect(Collectors.toList());
+//                deep = deep.stream().filter(k -> k.getDeep() == 1).collect(Collectors.toList());
                 deep.addAll(treeNodes1);
             }
         }
+        // 只需要深度等于1的数据
+        deep = deep.stream().filter(k -> k.getDeep() == 1).collect(Collectors.toList());
+
         // 整合结构
         List<TreeNode> treeNodes = listWithTree(deep, userId);
 
@@ -227,6 +230,7 @@ public class SharePathServiceImpl implements SharePathService {
                 .deep(k.getDepth())
                 .parentId(k.getAncestor())
                 .userId(k.getDescendant())
+                .sort(k.getSort())
                 .nickname(k.getDescNickName()).build()).collect(Collectors.toList());
     }
 
@@ -268,7 +272,10 @@ public class SharePathServiceImpl implements SharePathService {
 
     @Override
     public List<OrderCalcDO> selectSons(Long userId, List<Long> userIds) {
-        List<Long> allDescendants = sharePathMapper.findAllDescendants(userId);
+        List<SharePathDO> sharePathDOS = sharePathMapper.selectList(new LambdaQueryWrapperX<SharePathDO>()
+                .eq(SharePathDO::getAncestor, userId));
+        List<Long> allDescendants = sharePathDOS.stream().map(SharePathDO::getDescendant).collect(Collectors.toList());
+//        List<Long> allDescendants = sharePathMapper.findAllDescendants(userId);
         if (allDescendants.isEmpty()) {
             return Collections.emptyList();
         }
@@ -289,14 +296,28 @@ public class SharePathServiceImpl implements SharePathService {
         LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIDNIGHT); // 今天的开始时间,即午夜12点
         LocalDateTime todayEnd = todayStart.plusDays(1);
 
-        return orderCalcService.queryTodayCalcByUserIds(todayStart, todayEnd);
+        return orderCalcService.queryTodayCalcByUserIds(todayStart, todayEnd, unionList);
 
     }
 
     @Override
     public List<OrderCalcDO> selectBrothers(Long userId, List<Long> userIds) {
+        List<Long> sortedSiblings = new ArrayList<>();
+        // 先查询出他的父亲
+        SharePathDO sharePathDO = sharePathMapper.selectOne(new LambdaQueryWrapperX<SharePathDO>().eq(SharePathDO::getDepth, 1).eq(SharePathDO::getDescendant, userId));
+        if (sharePathDO == null) {
+            sortedSiblings = sharePathMapper.findLessSortedSiblings(userId);
+        } else {
+            // 再根据父亲查询他的所有儿子
+            List<SharePathDO> sharePathDOS = sharePathMapper.selectList(new LambdaQueryWrapperX<SharePathDO>()
+                    .eq(SharePathDO::getDepth, 1)
+                    .eq(SharePathDO::getAncestor, sharePathDO.getAncestor()));
+            //最后再进行排序
+            sortedSiblings = filterByDescendant(sharePathDOS, userId);
+            // 查询兄弟的所有儿子
+            sortedSiblings.addAll(findSons(sortedSiblings));
+        }
 
-        List<Long> sortedSiblings = sharePathMapper.findLessSortedSiblings(userId);
         if (sortedSiblings.isEmpty()) {
             return Collections.emptyList();
         }
@@ -309,6 +330,40 @@ public class SharePathServiceImpl implements SharePathService {
         return calcQuota(unionList);
     }
 
+    private List<Long> findSons(List<Long> sortedSiblings) {
+        List<Long> longs = new ArrayList<>();
+        for (Long sortedSibling : sortedSiblings) {
+            List<SharePathDO> sharePathDOS = sharePathMapper.selectList(new LambdaQueryWrapperX<SharePathDO>()
+                    .eq(SharePathDO::getAncestor, sortedSibling));
+            if (sharePathDOS.isEmpty()) {
+                continue;
+            }
+            List<Long> collect = sharePathDOS.stream().map(SharePathDO::getDescendant).collect(Collectors.toList());
+            longs.addAll(collect);
+        }
+        return longs.stream().distinct().collect(Collectors.toList());
+    }
+
+
+    public List<Long> filterByDescendant(List<SharePathDO> sharePaths, Long descendantId) {
+        // 首先,找到特定 descendantId 的 sort 值
+        SharePathDO reference = sharePaths.stream()
+                .filter(sharePath -> sharePath.getDescendant().equals(descendantId))
+                .findFirst()
+                .orElse(null);
+
+        if (reference == null) {
+            throw new IllegalArgumentException("Descendant with ID " + descendantId + " not found");
+        }
+
+        // 过滤出所有 sort 值大于找到的 sort 值的记录
+        return sharePaths.stream()
+                .filter(sharePath -> sharePath.getSort() > reference.getSort())
+                .map(SharePathDO::getDescendant)
+                .collect(Collectors.toList());
+    }
+
+
     @Override
     public Long queryParentBySonUserId(Long userId) {
 
@@ -348,7 +403,11 @@ public class SharePathServiceImpl implements SharePathService {
 
 
     public List<Long> unionList(List<Long> orderUserId, List<Long> userId) {
-        return Stream.concat(orderUserId.stream(), userId.stream()).distinct().collect(Collectors.toList());
+        return userId.stream()
+                .filter(orderUserId::contains)
+                .collect(Collectors.toList());
+
+//        return Stream.concat(orderUserId.stream(), userId.stream()).distinct().collect(Collectors.toList());
 
     }
 

+ 31 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/tools/LoginMessageTool.java

@@ -0,0 +1,31 @@
+package cn.newfeifan.mall.module.distri.tools;
+
+
+import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.PtProfitLogSaveReqVO;
+import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofitlog.PtProfitLogDO;
+import cn.newfeifan.mall.module.distri.enums.CaclEnum;
+import cn.newfeifan.mall.module.distri.service.ptprofitlog.PtProfitLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.function.Function;
+import java.util.function.Supplier;
+
+@Component
+public class LoginMessageTool {
+
+
+    private static PtProfitLogService ptProfitLogService;
+
+
+    @Autowired
+    LoginMessageTool(PtProfitLogService ptProfitLogService) {
+        LoginMessageTool.ptProfitLogService = ptProfitLogService;
+    }
+
+    public static void messageSave(Supplier<PtProfitLogSaveReqVO> createProfitLogFunction) {
+        PtProfitLogSaveReqVO ptProfitLogSaveReqVO = createProfitLogFunction.get();
+        ptProfitLogService.createPtProfitLog(ptProfitLogSaveReqVO);
+    }
+
+}

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/resources/mapper/sharepath/SharePathMapper.xml

@@ -93,7 +93,7 @@
         FROM distri_share_path a
                  JOIN distri_share_path b ON a.ancestor = b.ancestor
         WHERE b.descendant = #{descendantId}
-          AND a.sort &lt; b.sort
+          AND a.sort &gt; b.sort
     </select>
 
 

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

@@ -220,24 +220,15 @@ public class TradeOrderController {
     public CommonResult<Map<Integer, Long>> getOrderCountByUser(@RequestParam(value = "userId", required = false) Long userId) {
         Map<Integer, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(6);
 
-        orderCount.put(-1, tradeOrderQueryService.getOrderCount(null,userId));
+        orderCount.put(-1, tradeOrderQueryService.getOrderCount(null, userId));
         orderCount.put(TradeOrderStatusEnum.UNPAID.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNPAID.getStatus(), userId));
-        orderCount.put(TradeOrderStatusEnum.UNDELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNDELIVERED.getStatus(),userId));
+        orderCount.put(TradeOrderStatusEnum.UNDELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.UNDELIVERED.getStatus(), userId));
         orderCount.put(TradeOrderStatusEnum.DELIVERED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.DELIVERED.getStatus(), userId));
         orderCount.put(TradeOrderStatusEnum.COMPLETED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.COMPLETED.getStatus(), userId));
         orderCount.put(TradeOrderStatusEnum.CANCELED.getStatus(), tradeOrderQueryService.getOrderCount(TradeOrderStatusEnum.CANCELED.getStatus(), userId));
         return success(orderCount);
     }
 
-    @GetMapping("/startCalc")
-    @Operation(summary = "计算启动")
-    public CommonResult<String> startCalc() {
-        List<DistriOrderMessage> appTradeOrderDetailRespVos = tradeOrderQueryService.queryAllOrder();
-        CalcMessage calcMessage = CalcMessage.builder().distriOrderMessages(appTradeOrderDetailRespVos).build();
-        distriOrderProducer.sendDistriOrderMessage(calcMessage);
-        return success("success");
-    }
-
 
     @GetMapping("/pay/page")
     @Operation(summary = "获得支付订单分页")
@@ -258,4 +249,17 @@ public class TradeOrderController {
     }
 
 
+    @GetMapping("/startCalc")
+    @Operation(summary = "计算启动")
+    public CommonResult<String> startCalc(@RequestParam("orderIds") List<Long> orderIds) {
+//        List<DistriOrderMessage> appTradeOrderDetailRespVos = tradeOrderQueryService.queryAllOrder();
+        List<DistriOrderMessage> appTradeOrderDetailRespVos = tradeOrderQueryService.queryAllOrder(orderIds);
+        CalcMessage calcMessage = CalcMessage.builder().distriOrderMessages(appTradeOrderDetailRespVos).build();
+        distriOrderProducer.sendDistriOrderMessage(calcMessage);
+        return success("success");
+    }
+
+
+
+
 }

+ 1 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/dal/mysql/order/TradeOrderMapper.java

@@ -153,4 +153,5 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
 
     List<DistriOrderMessage> queryAllOrder(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
 
+    List<DistriOrderMessage> queryAllOrderByOrderIds(@Param("orderIds") List<Long> orderIds);
 }

+ 2 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryService.java

@@ -213,6 +213,8 @@ public interface TradeOrderQueryService {
      */
     List<DistriOrderMessage> queryAllOrder();
 
+    List<DistriOrderMessage> queryAllOrder(List<Long> orderIds);
+
     /**
      * 获取店铺信息
      * @return 店铺商户

+ 6 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderQueryServiceImpl.java

@@ -269,6 +269,12 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
 
     }
 
+    @Override
+    public List<DistriOrderMessage> queryAllOrder(List<Long> orderIds) {
+        // 根据orderIds获取订单
+        return tradeOrderMapper.queryAllOrderByOrderIds(orderIds);
+    }
+
 
     @Override
     public ShopBO getShop() {

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

@@ -40,4 +40,37 @@
                            on toi.sku_id = ps.id
         where  tor.update_time BETWEEN #{start} AND #{end}
     </select>
+    <select id="queryAllOrderByOrderIds"
+            resultMap="BaseResultMap">
+        select tor.total_price as totalPrice,
+        ps.cost_price as costPrice,
+        ps.price as price,
+        tor.product_count as productCount,
+        tor.`no` as `no`,
+        tor.id as orderId,
+        tor.user_id as userId,
+        ps.merchant_id as merchantId,
+        ps.shop_id as shopId,
+        ps.shop_id as shopId,
+        mu.`name` as name,
+        mu.nickname as nickname
+        from trade_order tor
+        LEFT JOIN member_user mu
+        ON tor.user_id = mu.id
+        LEFT JOIN trade_order_item toi
+        on tor.id = toi.order_id
+        LEFT JOIN product_sku ps
+        on toi.sku_id = ps.id
+        <where>
+            tor.pay_status = 1
+            <if test="orderIds!=null">
+                and tor.id in (
+                <foreach collection="orderIds" item="orderId" separator=",">
+                    #{orderId}
+                </foreach>
+                )
+            </if>
+        </where>
+
+    </select>
 </mapper>

+ 4 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/user/MemberUserService.java

@@ -187,4 +187,8 @@ public interface MemberUserService {
      */
     boolean updateUserPoint(Long userId, Integer point);
 
+
+    List<MemberUserDO> getAllUser();
+
+
 }

+ 5 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/user/MemberUserServiceImpl.java

@@ -314,4 +314,9 @@ public class MemberUserServiceImpl implements MemberUserService {
         return true;
     }
 
+    @Override
+    public List<MemberUserDO> getAllUser() {
+        return memberUserMapper.selectList();
+    }
+
 }

+ 1 - 1
feifan-module-mp/feifan-module-mp-biz/src/main/java/cn/newfeifan/mall/module/mp/service/account/MpAccountServiceImpl.java

@@ -76,7 +76,7 @@ public class MpAccountServiceImpl implements MpAccountService {
                 if (!ex.getMessage().contains("doesn't exist")) {
                     throw ex;
                 }
-                log.error("[微信公众号 feifan-module-mp - 表结构未导入][参考 https://doc.iocoder.cn/mp/build/ 开启]");
+                log.error("[微信公众号 feifan-module-mp - 表结构未导入]");
             }
             log.info("[initLocalCacheIfUpdate][缓存公众号账号,数量为:{}]", accounts.size());
 

+ 8 - 1
feifan-module-sale/feifan-module-sale-biz/src/main/java/cn/newfeifan/mall/sale/service/shop/ShopServiceImpl.java

@@ -6,6 +6,7 @@ import cn.newfeifan.mall.module.system.controller.admin.user.vo.user.UserRespVO;
 import cn.newfeifan.mall.module.system.dal.dataobject.user.AdminUserDO;
 import cn.newfeifan.mall.module.system.dal.mysql.user.AdminUserMapper;
 import cn.newfeifan.mall.module.system.dal.redis.oauth2.OAuth2AccessTokenRedisDAO;
+import cn.newfeifan.mall.module.system.service.permission.RoleService;
 import cn.newfeifan.mall.module.system.service.user.AdminUserService;
 import cn.newfeifan.mall.sale.controller.admin.shop.vo.ShopPageReqVO;
 import cn.newfeifan.mall.sale.controller.admin.shop.vo.ShopRespVO;
@@ -45,6 +46,8 @@ public class ShopServiceImpl implements ShopService {
     private ShopMapper shopMapper;
     @Resource
     private AdminUserMapper userMapper;
+    @Resource
+    private RoleService roleService;
     @Override
     public Long createShop(ShopSaveReqVO createReqVO) {
         // 插入
@@ -124,7 +127,11 @@ public class ShopServiceImpl implements ShopService {
 
         List<AdminUserDO> userRespVO = userService.getUserByShopIds(shopIds);
 
-        return BeanUtils.toBean(userRespVO, UserRespVO.class);
+        List<UserRespVO> respVOS = BeanUtils.toBean(userRespVO, UserRespVO.class);
+        for (UserRespVO respVO : respVOS) {
+            respVO.setRoleName(roleService.getRoleNames(respVO.getId()));
+        }
+        return  respVOS;
     }
 
 

+ 3 - 1
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/controller/admin/user/vo/user/UserRespVO.java

@@ -9,6 +9,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.time.LocalDateTime;
+import java.util.List;
 import java.util.Set;
 
 @Schema(description = "管理后台 - 用户信息 Response VO")
@@ -85,6 +86,7 @@ public class UserRespVO{
     @Schema(description = "姓名,只是用来看的,不是用户名", example = "赵六")
     private String name;
 
-
+    @Schema(description = "角色名称")
+    private List<String> roleName;
 
 }

+ 11 - 0
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/dal/mysql/permission/RoleMapper.java

@@ -9,8 +9,10 @@ import cn.newfeifan.mall.module.system.dal.dataobject.permission.RoleDO;
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.lang.Nullable;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import java.util.Set;
 
 @Mapper
 public interface RoleMapper extends BaseMapperX<RoleDO> {
@@ -37,4 +39,13 @@ public interface RoleMapper extends BaseMapperX<RoleDO> {
         return selectList(RoleDO::getStatus, statuses);
     }
 
+    default List<String> selectByRoleIds(Set<Long> roleIds){
+        List<RoleDO> roleDOS = selectList(new LambdaQueryWrapperX<RoleDO>()
+                .inIfPresent(RoleDO::getId, roleIds));
+        List<String> strings = new ArrayList<>();
+        for (RoleDO roleDO : roleDOS) {
+            strings.add(roleDO.getName());
+        }
+        return strings;
+    }
 }

+ 2 - 0
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/service/permission/RoleService.java

@@ -129,4 +129,6 @@ public interface RoleService {
      */
     void validateRoleList(Collection<Long> ids);
 
+    List<String> getRoleNames(Long userId);
+
 }

+ 6 - 0
feifan-module-system/feifan-module-system-biz/src/main/java/cn/newfeifan/mall/module/system/service/permission/RoleServiceImpl.java

@@ -238,6 +238,12 @@ public class RoleServiceImpl implements RoleService {
         });
     }
 
+    @Override
+    public List<String> getRoleNames(Long userId) {
+        Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(userId);
+        return roleMapper.selectByRoleIds(roleIds);
+    }
+
     /**
      * 获得自身的代理对象,解决 AOP 生效问题
      *

+ 1 - 1
feifan-server/src/main/resources/application.yaml

@@ -3,7 +3,7 @@ spring:
     name: feifan-server
 
   profiles:
-    active: local
+    active: prod
 
   main:
     allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。