Bläddra i källkod

Merge branch 'dev/2024/0420/update-app' of Harper/feifan-backend-zx-app into master

用户查看自己的积分及团队
Yangzw 1 år sedan
förälder
incheckning
034dfc3254
28 ändrade filer med 407 tillägg och 256 borttagningar
  1. 9 0
      feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/CaclEnum.java
  2. 0 47
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogRespVO.java
  3. 0 40
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/SharePathRespVO.java
  4. 0 34
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/SharePathSaveReqVO.java
  5. 25 29
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/PtProfitLogController.java
  6. 27 14
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/vo/PtProfitLogPageReqVO.java
  7. 62 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/vo/PtProfitLogRespVO.java
  8. 22 22
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/vo/PtProfitLogSaveReqVO.java
  9. 8 13
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/SharePathController.java
  10. 21 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/AppSharePathRespVO.java
  11. 20 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathPageReqVO.java
  12. 64 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathRespVO.java
  13. 47 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathSaveReqVO.java
  14. 2 2
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathTreeReqVO.java
  15. 2 2
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathtransFerenceRelaReqVO.java
  16. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/TreeNode.java
  17. 23 21
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ptprofitlog/PtProfitLogDO.java
  18. 9 6
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/ptprofitlog/PtProfitLogMapper.java
  19. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/sharepath/SharePathMapper.java
  20. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/mq/consumer/sharePath/AddSharePathConsumer.java
  21. 1 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserService.java
  22. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/duser/DuserServiceImpl.java
  23. 1 4
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ordercalc/OrderCalcServiceImpl.java
  24. 5 3
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogService.java
  25. 9 5
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptprofitlog/PtProfitLogServiceImpl.java
  26. 5 2
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/SharePathService.java
  27. 40 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/SharePathServiceImpl.java
  28. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/builder/TreeBuilder.java

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

@@ -27,4 +27,13 @@ public enum CaclEnum {
      */
     private final String name;
 
+    public static CaclEnum getCaclEnumByValue(int value) {
+        for (CaclEnum caclEnum : CaclEnum.values()) {
+            if (caclEnum.getType() == value) {
+                return caclEnum;
+            }
+        }
+        return null;
+    }
+
 }

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

@@ -1,47 +0,0 @@
-package cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.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.*;
-
-@Schema(description = "管理后台 - 平台利润记录 Response VO")
-@Data
-@ExcelIgnoreUnannotated
-public class PtProfitLogRespVO {
-
-    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12046")
-    @ExcelProperty("用户编号")
-    private Long id;
-
-    @Schema(description = "增加金额")
-    @ExcelProperty("增加金额")
-    private Integer amount;
-
-    @Schema(description = "增加后金额")
-    @ExcelProperty("增加后金额")
-    private Integer afterAmount;
-
-    @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖", example = "2")
-    @ExcelProperty("收益类型 1:平台服务器费 2:平台收益")
-    private Integer profitStatus;
-
-    @Schema(description = "用户ID , 只有收益类型为 3,4才有值", example = "6982")
-    private Long userId;
-
-    @Schema(description = "订单号", example = "15682")
-    @ExcelProperty("订单号")
-    private Long orderId;
-
-    @Schema(description = "计算百分比模板")
-    @ExcelProperty("计算百分比模板")
-    private String percentTemplate;
-
-    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
-    @ExcelProperty("创建时间")
-    private LocalDateTime createTime;
-
-}

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

@@ -1,40 +0,0 @@
-package cn.newfeifan.mall.module.distri.controller.admin.sharepath.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.*;
-
-@Schema(description = "管理后台 - 分销用户关系 Response VO")
-@Data
-@ExcelIgnoreUnannotated
-public class SharePathRespVO {
-
-    @Schema(description = "层级")
-    @ExcelProperty("层级")
-    private Integer depth;
-
-    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
-    @ExcelProperty("创建时间")
-    private LocalDateTime createTime;
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12537")
-    @ExcelProperty("id")
-    private Long id;
-
-    @Schema(description = "推荐人")
-    @ExcelProperty("推荐人")
-    private Long ancestor;
-
-    @Schema(description = "直推人")
-    @ExcelProperty("直推人")
-    private Long descendant;
-
-    @Schema(description = "顺序")
-    @ExcelProperty("顺序")
-    private Integer sort;
-
-}

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

@@ -1,34 +0,0 @@
-package cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
-import java.util.*;
-import javax.validation.constraints.*;
-
-@Schema(description = "管理后台 - 分销用户关系新增/修改 Request VO")
-@Data
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class SharePathSaveReqVO {
-
-    @Schema(description = "层级")
-    private Integer depth;
-
-    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12537")
-    private Long id;
-
-    @Schema(description = "推荐人")
-    private Long ancestor;
-
-    @Schema(description = "直推人")
-    private Long descendant;
-
-    @Schema(description = "顺序")
-    private Integer sort;
-
-    @Schema(description = "链接来源")
-    private Long source;
-
-}

+ 25 - 29
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/PtProfitLogController.java → feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/PtProfitLogController.java

@@ -1,35 +1,33 @@
-package cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog;
-
-import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.security.access.prepost.PreAuthorize;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.Operation;
-
-import javax.validation.constraints.*;
-import javax.validation.*;
-import javax.servlet.http.*;
-import java.util.*;
-import java.io.IOException;
+package cn.newfeifan.mall.module.distri.controller.app.ptprofitlog;
 
+import cn.newfeifan.mall.framework.common.pojo.CommonResult;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.framework.common.pojo.CommonResult;
 import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
-import static cn.newfeifan.mall.framework.common.pojo.CommonResult.success;
-
 import cn.newfeifan.mall.framework.excel.core.util.ExcelUtils;
-
 import cn.newfeifan.mall.framework.operatelog.core.annotations.OperateLog;
-import static cn.newfeifan.mall.framework.operatelog.core.enums.OperateTypeEnum.*;
-
-import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.*;
+import cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo.PtProfitLogPageReqVO;
+import cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo.PtProfitLogRespVO;
+import cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo.PtProfitLogSaveReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofitlog.PtProfitLogDO;
 import cn.newfeifan.mall.module.distri.service.ptprofitlog.PtProfitLogService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
 
-@Tag(name = "管理后台 - 平台利润记录")
+import static cn.newfeifan.mall.framework.common.pojo.CommonResult.success;
+import static cn.newfeifan.mall.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
+
+@Tag(name = "用户 APP - 平台利润记录")
 @RestController
 @RequestMapping("/distri/pt-profit-log")
 @Validated
@@ -73,23 +71,21 @@ public class PtProfitLogController {
 
     @GetMapping("/page")
     @Operation(summary = "获得平台利润记录分页")
-    @PreAuthorize("@ss.hasPermission('distri:pt-profit-log:query')")
     public CommonResult<PageResult<PtProfitLogRespVO>> getPtProfitLogPage(@Valid PtProfitLogPageReqVO pageReqVO) {
-        PageResult<PtProfitLogDO> pageResult = ptProfitLogService.getPtProfitLogPage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, PtProfitLogRespVO.class));
+        PageResult<PtProfitLogRespVO> pageResult = ptProfitLogService.getPtProfitLogPage(pageReqVO);
+        return success(pageResult);
     }
 
     @GetMapping("/export-excel")
     @Operation(summary = "导出平台利润记录 Excel")
-    @PreAuthorize("@ss.hasPermission('distri:pt-profit-log:export')")
     @OperateLog(type = EXPORT)
     public void exportPtProfitLogExcel(@Valid PtProfitLogPageReqVO pageReqVO,
               HttpServletResponse response) throws IOException {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
-        List<PtProfitLogDO> list = ptProfitLogService.getPtProfitLogPage(pageReqVO).getList();
+        List<PtProfitLogRespVO> list = ptProfitLogService.getPtProfitLogPage(pageReqVO).getList();
         // 导出 Excel
         ExcelUtils.write(response, "平台利润记录.xls", "数据", PtProfitLogRespVO.class,
-                        BeanUtils.toBean(list, PtProfitLogRespVO.class));
+                list);
     }
 
 }

+ 27 - 14
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogPageReqVO.java → feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/vo/PtProfitLogPageReqVO.java

@@ -1,10 +1,12 @@
-package cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo;
+package cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo;
 
-import lombok.*;
-import java.util.*;
-import io.swagger.v3.oas.annotations.media.Schema;
 import cn.newfeifan.mall.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
 import org.springframework.format.annotation.DateTimeFormat;
+
 import java.time.LocalDateTime;
 
 import static cn.newfeifan.mall.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -15,11 +17,9 @@ import static cn.newfeifan.mall.framework.common.util.date.DateUtils.FORMAT_YEAR
 @ToString(callSuper = true)
 public class PtProfitLogPageReqVO extends PageParam {
 
-    @Schema(description = "增加金额")
-    private Integer amount;
-
-    @Schema(description = "增加后金额")
-    private Integer afterAmount;
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
 
     @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖", example = "2")
     private Integer profitStatus;
@@ -27,14 +27,27 @@ public class PtProfitLogPageReqVO extends PageParam {
     @Schema(description = "用户ID , 只有收益类型为 3,4才有值", example = "6982")
     private Long userId;
 
-    @Schema(description = "订单号", example = "15682")
+    @Schema(description = "订单Id", example = "26464")
     private Long orderId;
 
+    @Schema(description = "订单编号")
+    private String orderNo;
+
+    @Schema(description = "变动的当前可用积分值(可为负数)")
+    private Integer amount;
+
+    @Schema(description = "变动后当前可用积分钱包的余额")
+    private Integer afterAmount;
+
+    @Schema(description = "变动的冻结积分值(可为负数)")
+    private Integer freezeAmount;
+
+    @Schema(description = "变动后冻结积分钱包的余额")
+    private Integer afterFreezeAmount;
+
     @Schema(description = "计算百分比模板")
     private String percentTemplate;
 
-    @Schema(description = "创建时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime[] createTime;
-
+    @Schema(description = "是否冻结  true-冻结  false-可用")
+    private Boolean isFreeze;
 }

+ 62 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/vo/PtProfitLogRespVO.java

@@ -0,0 +1,62 @@
+package cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 平台利润记录 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class PtProfitLogRespVO {
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖", example = "2")
+    @ExcelProperty("收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖")
+    private Integer profitStatus;
+
+    @Schema(description = "收益类型名称")
+    private String profitStatusName;
+
+    @Schema(description = "用户ID , 只有收益类型为 3,4才有值", example = "6982")
+    @ExcelProperty("用户ID , 只有收益类型为 3,4才有值")
+    private Long userId;
+
+    @Schema(description = "订单Id", example = "26464")
+    @ExcelProperty("订单Id")
+    private Long orderId;
+
+    @Schema(description = "订单编号")
+    @ExcelProperty("订单编号")
+    private String orderNo;
+
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5931")
+    @ExcelProperty("编号")
+    private Long id;
+
+    @Schema(description = "变动的当前可用积分值(可为负数)")
+    @ExcelProperty("变动的当前可用积分值(可为负数)")
+    private Integer amount;
+
+    @Schema(description = "变动后当前可用积分钱包的余额")
+    @ExcelProperty("变动后当前可用积分钱包的余额")
+    private Integer afterAmount;
+
+    @Schema(description = "变动的冻结积分值(可为负数)")
+    @ExcelProperty("变动的冻结积分值(可为负数)")
+    private Integer freezeAmount;
+
+    @Schema(description = "变动后冻结积分钱包的余额")
+    @ExcelProperty("变动后冻结积分钱包的余额")
+    private Integer afterFreezeAmount;
+
+    @Schema(description = "计算百分比模板")
+    @ExcelProperty("计算百分比模板")
+    private String percentTemplate;
+
+}

+ 22 - 22
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptprofitlog/vo/PtProfitLogSaveReqVO.java → feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/ptprofitlog/vo/PtProfitLogSaveReqVO.java

@@ -1,10 +1,10 @@
-package cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo;
+package cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-
-import java.util.*;
-import javax.validation.constraints.*;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
 
 @Schema(description = "管理后台 - 平台利润记录新增/修改 Request VO")
 @Data
@@ -13,33 +13,33 @@ import javax.validation.constraints.*;
 @NoArgsConstructor
 public class PtProfitLogSaveReqVO {
 
-    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "12046")
-    private Long id;
-
-    @Schema(description = "增加金额")
-    private Integer amount;
-
-    @Schema(description = "增加后金额")
-    private Integer afterAmount;
-
-    @Schema(description = "增加金额")
-    private Integer freezeAmount;
-
-    @Schema(description = "增加后金额")
-    private Integer afterFreezeAmount;
-
     @Schema(description = "收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖", example = "2")
     private Integer profitStatus;
 
     @Schema(description = "用户ID , 只有收益类型为 3,4才有值", example = "6982")
     private Long userId;
 
-    @Schema(description = "订单id", example = "15682")
+    @Schema(description = "订单Id", example = "26464")
     private Long orderId;
 
-    @Schema(description = "订单号", example = "o787815682")
+    @Schema(description = "订单编号")
     private String orderNo;
 
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5931")
+    private Long id;
+
+    @Schema(description = "变动的当前可用积分值(可为负数)")
+    private Integer amount;
+
+    @Schema(description = "变动后当前可用积分钱包的余额")
+    private Integer afterAmount;
+
+    @Schema(description = "变动的冻结积分值(可为负数)")
+    private Integer freezeAmount;
+
+    @Schema(description = "变动后冻结积分钱包的余额")
+    private Integer afterFreezeAmount;
+
     @Schema(description = "计算百分比模板")
     private String percentTemplate;
 

+ 8 - 13
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/SharePathController.java → feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/SharePathController.java

@@ -1,16 +1,15 @@
-package cn.newfeifan.mall.module.distri.controller.admin.sharepath;
+package cn.newfeifan.mall.module.distri.controller.app.sharepath;
 
+import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.*;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 
 import org.springframework.validation.annotation.Validated;
-import org.springframework.security.access.prepost.PreAuthorize;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Operation;
 
-import javax.validation.constraints.*;
 import javax.validation.*;
 import javax.servlet.http.*;
 import java.util.*;
@@ -29,11 +28,10 @@ import cn.newfeifan.mall.framework.operatelog.core.annotations.OperateLog;
 
 import static cn.newfeifan.mall.framework.operatelog.core.enums.OperateTypeEnum.*;
 
-import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.*;
 import cn.newfeifan.mall.module.distri.dal.dataobject.sharepath.SharePathDO;
 import cn.newfeifan.mall.module.distri.service.sharepath.SharePathService;
 
-@Tag(name = "管理后台 - 分销用户关系")
+@Tag(name = "用户 APP - 分销用户关系")
 @RestController
 @RequestMapping("/distri/share-path")
 @Validated
@@ -44,7 +42,6 @@ public class SharePathController {
 
     @PostMapping("/create")
     @Operation(summary = "创建分销用户关系")
-    @PreAuthorize("@ss.hasPermission('distri:share-path:create')")
     public CommonResult<Boolean> createSharePath(@Valid @RequestBody SharePathSaveReqVO createReqVO) {
         sharePathService.createSharePathByUserId(createReqVO);
         return success(true);
@@ -52,7 +49,6 @@ public class SharePathController {
 
     @GetMapping("/getTree")
     @Operation(summary = "获取分销人员关系树")
-    @PreAuthorize("@ss.hasPermission('distri:share-path:query')")
     public CommonResult<SharePathRespVO> getTree() {
         TreeNode sharePath = sharePathService.getTree();
         return success(BeanUtils.toBean(sharePath, SharePathRespVO.class));
@@ -60,7 +56,6 @@ public class SharePathController {
 
     @PutMapping("/transference_rela")
     @Operation(summary = "转让分销关系")
-    @PreAuthorize("@ss.hasPermission('distri:share-path:update')")
     public CommonResult<Boolean> transferenceRela(SharePathtransFerenceRelaReqVO sharePathtransFerenceRelaReqVO) {
         sharePathService.transferenceRela(sharePathtransFerenceRelaReqVO);
         return success(true);
@@ -69,7 +64,6 @@ public class SharePathController {
 
     @PutMapping("/update")
     @Operation(summary = "更新分销用户关系")
-    @PreAuthorize("@ss.hasPermission('distri:share-path:update')")
     public CommonResult<Boolean> updateSharePath(@Valid @RequestBody SharePathSaveReqVO updateReqVO) {
         sharePathService.updateSharePath(updateReqVO);
         return success(true);
@@ -78,7 +72,6 @@ public class SharePathController {
     @DeleteMapping("/delete")
     @Operation(summary = "删除分销用户关系")
     @Parameter(name = "id", description = "编号", required = true)
-    @PreAuthorize("@ss.hasPermission('distri:share-path:delete')")
     public CommonResult<Boolean> deleteSharePath(@RequestParam("id") Long id) {
         sharePathService.deleteSharePath(id);
         return success(true);
@@ -87,7 +80,6 @@ public class SharePathController {
     @GetMapping("/get")
     @Operation(summary = "获得分销用户关系")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('distri:share-path:query')")
     public CommonResult<SharePathRespVO> getSharePath(@RequestParam("id") Long id) {
         SharePathDO sharePath = sharePathService.getSharePath(id);
         return success(BeanUtils.toBean(sharePath, SharePathRespVO.class));
@@ -95,7 +87,6 @@ public class SharePathController {
 
     @GetMapping("/page")
     @Operation(summary = "获得分销用户关系分页")
-    @PreAuthorize("@ss.hasPermission('distri:share-path:query')")
     public CommonResult<PageResult<SharePathRespVO>> getSharePathPage(@Valid SharePathPageReqVO pageReqVO) {
         PageResult<SharePathDO> pageResult = sharePathService.getSharePathPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, SharePathRespVO.class));
@@ -103,7 +94,6 @@ public class SharePathController {
 
     @GetMapping("/export-excel")
     @Operation(summary = "导出分销用户关系 Excel")
-    @PreAuthorize("@ss.hasPermission('distri:share-path:export')")
     @OperateLog(type = EXPORT)
     public void exportSharePathExcel(@Valid SharePathPageReqVO pageReqVO,
                                      HttpServletResponse response) throws IOException {
@@ -114,4 +104,9 @@ public class SharePathController {
                 BeanUtils.toBean(list, SharePathRespVO.class));
     }
 
+    @GetMapping("/getTeam")
+    @Operation(summary = "获取团队")
+    public CommonResult<AppSharePathRespVO> getTeam(@Valid PageParam pageParam){
+        return success(sharePathService.getTeam(pageParam));
+    }
 }

+ 21 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/AppSharePathRespVO.java

@@ -0,0 +1,21 @@
+package cn.newfeifan.mall.module.distri.controller.app.sharepath.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Builder;
+import lombok.Data;
+import cn.newfeifan.mall.framework.common.pojo.PageResult;
+
+
+@Schema(description = "用户 APP - 分销用户关系 Response VO")
+@Data
+@Builder
+public class AppSharePathRespVO {
+    @Schema(description = "团队总数")
+    private Long teamCount;
+
+    @Schema(description = "推荐人")
+    private SharePathRespVO ancestor;
+
+    @Schema(description = "团队成员")
+    private PageResult<SharePathRespVO> descendants;
+}

+ 20 - 3
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/SharePathPageReqVO.java → feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathPageReqVO.java

@@ -1,7 +1,6 @@
-package cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo;
+package cn.newfeifan.mall.module.distri.controller.app.sharepath.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;
@@ -9,7 +8,7 @@ import java.time.LocalDateTime;
 
 import static cn.newfeifan.mall.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 
-@Schema(description = "管理后台 - 分销用户关系分页 Request VO")
+@Schema(description = "用户 APP - 分销用户关系分页 Request VO")
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
@@ -31,4 +30,22 @@ public class SharePathPageReqVO extends PageParam {
     @Schema(description = "顺序")
     private Integer sort;
 
+    @Schema(description = "推荐人姓名", example = "王五")
+    private String ancName;
+
+    @Schema(description = "推荐人手机号")
+    private String ancPhone;
+
+    @Schema(description = "直推人姓名", example = "李四")
+    private String descName;
+
+    @Schema(description = "推荐人手机号")
+    private String descPhone;
+
+    @Schema(description = "推荐人昵称", example = "非繁人")
+    private String ancNickName;
+
+    @Schema(description = "直推人昵称", example = "张三")
+    private String descNickName;
+
 }

+ 64 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathRespVO.java

@@ -0,0 +1,64 @@
+package cn.newfeifan.mall.module.distri.controller.app.sharepath.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "用户 APP - 分销用户关系 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class SharePathRespVO {
+
+    @Schema(description = "层级")
+    @ExcelProperty("层级")
+    private Integer depth;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12537")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "推荐人")
+    @ExcelProperty("推荐人")
+    private Long ancestor;
+
+    @Schema(description = "直推人")
+    @ExcelProperty("直推人")
+    private Long descendant;
+
+    @Schema(description = "顺序")
+    @ExcelProperty("顺序")
+    private Integer sort;
+
+    @Schema(description = "推荐人姓名", example = "王五")
+    @ExcelProperty("推荐人姓名")
+    private String ancName;
+
+    @Schema(description = "推荐人手机号")
+    @ExcelProperty("推荐人手机号")
+    private String ancPhone;
+
+    @Schema(description = "直推人姓名", example = "李四")
+    @ExcelProperty("直推人姓名")
+    private String descName;
+
+    @Schema(description = "推荐人手机号")
+    @ExcelProperty("推荐人手机号")
+    private String descPhone;
+
+    @Schema(description = "推荐人昵称", example = "非繁人")
+    @ExcelProperty("推荐人昵称")
+    private String ancNickName;
+
+    @Schema(description = "直推人昵称", example = "张三")
+    @ExcelProperty("直推人昵称")
+    private String descNickName;
+
+    @Schema(description = "头像")
+    private String avatar;
+
+}

+ 47 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathSaveReqVO.java

@@ -0,0 +1,47 @@
+package cn.newfeifan.mall.module.distri.controller.app.sharepath.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+
+@Schema(description = "用户 APP - 分销用户关系新增/修改 Request VO")
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class SharePathSaveReqVO {
+
+    @Schema(description = "层级")
+    private Integer depth;
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12537")
+    private Long id;
+
+    @Schema(description = "推荐人")
+    private Long ancestor;
+
+    @Schema(description = "直推人")
+    private Long descendant;
+
+    @Schema(description = "顺序")
+    private Integer sort;
+
+    @Schema(description = "推荐人姓名", example = "王五")
+    private String ancName;
+
+    @Schema(description = "推荐人手机号")
+    private String ancPhone;
+
+    @Schema(description = "直推人姓名", example = "李四")
+    private String descName;
+
+    @Schema(description = "推荐人手机号")
+    private String descPhone;
+
+    @Schema(description = "推荐人昵称", example = "非繁人")
+    private String ancNickName;
+
+    @Schema(description = "直推人昵称", example = "张三")
+    private String descNickName;
+
+}

+ 2 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/SharePathTreeReqVO.java → feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathTreeReqVO.java

@@ -1,4 +1,4 @@
-package cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo;
+package cn.newfeifan.mall.module.distri.controller.app.sharepath.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -6,7 +6,7 @@ import lombok.ToString;
 
 import javax.validation.constraints.NotNull;
 
-@Schema(description = "管理后台 - 分销用户关系树 Request VO")
+@Schema(description = "用户 APP - 分销用户关系树 Request VO")
 @Data
 @ToString(callSuper = true)
 public class SharePathTreeReqVO {

+ 2 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/sharepath/vo/SharePathtransFerenceRelaReqVO.java → feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/app/sharepath/vo/SharePathtransFerenceRelaReqVO.java

@@ -1,9 +1,9 @@
-package cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo;
+package cn.newfeifan.mall.module.distri.controller.app.sharepath.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-@Schema(description = "管理后台 - 分销用户关系转让 Request VO")
+@Schema(description = "用户 APP - 分销用户关系转让 Request VO")
 @Data
 public class SharePathtransFerenceRelaReqVO {
 

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

@@ -1,4 +1,4 @@
-package cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo;
+package cn.newfeifan.mall.module.distri.controller.app.sharepath.vo;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;

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

@@ -1,10 +1,6 @@
 package cn.newfeifan.mall.module.distri.dal.dataobject.ptprofitlog;
 
-import io.swagger.v3.oas.annotations.media.Schema;
 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;
 
@@ -24,40 +20,46 @@ import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
 public class PtProfitLogDO extends BaseDO {
 
     /**
-     * 用户编号
+     * 收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖
+     */
+    private Integer profitStatus;
+    /**
+     * 用户ID , 只有收益类型为 3,4才有值
+     */
+    private Long userId;
+    /**
+     * 订单Id
+     */
+    private Long orderId;
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+    /**
+     * 编号
      */
     @TableId
     private Long id;
     /**
-     * 增加金额
+     * 变动的当前可用积分值(可为负数)
      */
     private Integer amount;
     /**
-     * 增加后金额
+     * 变动后当前可用积分钱包的余
      */
     private Integer afterAmount;
     /**
-     * 收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖
+     * 变动的冻结积分值(可为负数)
      */
-    private Integer profitStatus;
+    private Integer freezeAmount;
     /**
-     * 用户ID , 只有收益类型为 3,4才有值
+     * 变动后冻结积分钱包的余额
      */
-    private Long userId;
-
-    /**
-     * 订单id
-     */
-    private Long orderId;
+    private Integer afterFreezeAmount;
     /**
      * 计算百分比模板
      */
     private String percentTemplate;
 
-    /**
-     * 订单号
-     */
-    private String orderNo;
-
 
 }

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

@@ -1,13 +1,12 @@
 package cn.newfeifan.mall.module.distri.dal.mysql.ptprofitlog;
 
-import java.util.*;
 
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.newfeifan.mall.framework.mybatis.core.mapper.BaseMapperX;
 import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofitlog.PtProfitLogDO;
 import org.apache.ibatis.annotations.Mapper;
-import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.*;
+import cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo.*;
 
 /**
  * 平台利润记录 Mapper
@@ -18,14 +17,18 @@ import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.*;
 public interface PtProfitLogMapper extends BaseMapperX<PtProfitLogDO> {
 
     default PageResult<PtProfitLogDO> selectPage(PtProfitLogPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<PtProfitLogDO>()
+        LambdaQueryWrapperX<PtProfitLogDO> queryWrapper = new LambdaQueryWrapperX<PtProfitLogDO>()
                 .eqIfPresent(PtProfitLogDO::getAmount, reqVO.getAmount())
                 .eqIfPresent(PtProfitLogDO::getAfterAmount, reqVO.getAfterAmount())
                 .eqIfPresent(PtProfitLogDO::getOrderId, reqVO.getOrderId())
                 .eqIfPresent(PtProfitLogDO::getPercentTemplate, reqVO.getPercentTemplate())
-                .betweenIfPresent(PtProfitLogDO::getCreateTime, reqVO.getCreateTime())
-                .eqIfPresent(PtProfitLogDO::getProfitStatus, reqVO.getProfitStatus())
                 .eqIfPresent(PtProfitLogDO::getUserId, reqVO.getUserId())
-                .orderByDesc(PtProfitLogDO::getId));
+                .orderByDesc(PtProfitLogDO::getCreateTime);
+        if(reqVO.getIsFreeze()){
+            queryWrapper.isNotNull(PtProfitLogDO::getAmount);
+        }else{
+            queryWrapper.isNotNull(PtProfitLogDO::getFreezeAmount);
+        }
+        return selectPage(reqVO, queryWrapper);
     }
 }

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/sharepath/SharePathMapper.java

@@ -4,9 +4,9 @@ package cn.newfeifan.mall.module.distri.dal.mysql.sharepath;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.newfeifan.mall.framework.mybatis.core.mapper.BaseMapperX;
+import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.SharePathPageReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.sharepath.SharePathDO;
 import org.apache.ibatis.annotations.Mapper;
-import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.*;
 import org.apache.ibatis.annotations.Param;
 
 /**

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/mq/consumer/sharePath/AddSharePathConsumer.java

@@ -1,6 +1,6 @@
 package cn.newfeifan.mall.module.distri.mq.consumer.sharePath;
 
-import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.SharePathSaveReqVO;
+import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.SharePathSaveReqVO;
 import cn.newfeifan.mall.module.distri.service.sharelink.ShareLinkService;
 import cn.newfeifan.mall.module.distri.service.sharepath.SharePathService;
 import cn.newfeifan.mall.module.member.message.share.SharePathCreateMessage;

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

@@ -1,12 +1,10 @@
 package cn.newfeifan.mall.module.distri.service.duser;
 
-import java.util.*;
 import javax.validation.*;
 import cn.newfeifan.mall.module.distri.controller.admin.duser.vo.*;
-import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.SharePathSaveReqVO;
+import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.SharePathSaveReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.duser.DuserDO;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.framework.common.pojo.PageParam;
 
 /**
  * 推荐用户 Service 接口

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

@@ -2,7 +2,7 @@ package cn.newfeifan.mall.module.distri.service.duser;
 
 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.sharepath.vo.SharePathSaveReqVO;
+import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.SharePathSaveReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.integral.IntegralDO;
 import cn.newfeifan.mall.module.distri.service.integral.IntegralService;
 import cn.newfeifan.mall.module.distri.service.ptprofitlog.PtProfitLogService;

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

@@ -3,7 +3,7 @@ package cn.newfeifan.mall.module.distri.service.ordercalc;
 import cn.newfeifan.mall.framework.common.mq.message.order.DistriOrderMessage;
 import cn.newfeifan.mall.framework.common.util.json.JsonUtils;
 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.controller.app.ptprofitlog.vo.PtProfitLogSaveReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.orderpercentage.OrderPercentageDO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofit.PtProfitDO;
 import cn.newfeifan.mall.module.distri.service.orderpercentage.OrderPercentageService;
@@ -14,16 +14,13 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 
 import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
 import cn.newfeifan.mall.module.distri.controller.admin.ordercalc.vo.*;
 import cn.newfeifan.mall.module.distri.dal.dataobject.ordercalc.OrderCalcDO;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
 
 import cn.newfeifan.mall.module.distri.dal.mysql.ordercalc.OrderCalcMapper;

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

@@ -2,10 +2,12 @@ package cn.newfeifan.mall.module.distri.service.ptprofitlog;
 
 import java.util.*;
 import javax.validation.*;
-import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.*;
+
+import cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo.PtProfitLogPageReqVO;
+import cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo.PtProfitLogRespVO;
+import cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo.PtProfitLogSaveReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofitlog.PtProfitLogDO;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import cn.newfeifan.mall.module.distri.enums.CaclEnum;
 
 /**
@@ -51,7 +53,7 @@ public interface PtProfitLogService {
      * @param pageReqVO 分页查询
      * @return 平台利润记录分页
      */
-    PageResult<PtProfitLogDO> getPtProfitLogPage(PtProfitLogPageReqVO pageReqVO);
+    PageResult<PtProfitLogRespVO> getPtProfitLogPage(PtProfitLogPageReqVO pageReqVO);
 
     void saveBatch(List<PtProfitLogSaveReqVO> ptProfitLogSaveReqVOS);
 

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

@@ -7,20 +7,19 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 
 import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.util.*;
 
-import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.*;
+import cn.newfeifan.mall.module.distri.controller.app.ptprofitlog.vo.*;
 import cn.newfeifan.mall.module.distri.dal.dataobject.ptprofitlog.PtProfitLogDO;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
 
 import cn.newfeifan.mall.module.distri.dal.mysql.ptprofitlog.PtProfitLogMapper;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.newfeifan.mall.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 import static cn.newfeifan.mall.module.distri.enums.ErrorCodeConstants.*;
 
 /**
@@ -73,8 +72,13 @@ public class PtProfitLogServiceImpl implements PtProfitLogService {
     }
 
     @Override
-    public PageResult<PtProfitLogDO> getPtProfitLogPage(PtProfitLogPageReqVO pageReqVO) {
-        return ptProfitLogMapper.selectPage(pageReqVO);
+    public PageResult<PtProfitLogRespVO> getPtProfitLogPage(PtProfitLogPageReqVO pageReqVO) {
+        pageReqVO.setUserId(getLoginUserId());
+        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;
     }
 
     @Override

+ 5 - 2
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/SharePathService.java

@@ -2,10 +2,11 @@ package cn.newfeifan.mall.module.distri.service.sharepath;
 
 import java.util.*;
 import javax.validation.*;
-import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.*;
+
+import cn.newfeifan.mall.framework.common.pojo.PageParam;
+import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.*;
 import cn.newfeifan.mall.module.distri.dal.dataobject.sharepath.SharePathDO;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
-import cn.newfeifan.mall.framework.common.pojo.PageParam;
 
 /**
  * 分销用户关系 Service 接口
@@ -71,4 +72,6 @@ public interface SharePathService {
     List<Long> sonsId(Long userId);
 
     Boolean hasParent(Long userId);
+
+    AppSharePathRespVO getTeam(PageParam pageParam);
 }

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

@@ -1,6 +1,8 @@
 package cn.newfeifan.mall.module.distri.service.sharepath;
 
+import cn.newfeifan.mall.framework.common.pojo.PageParam;
 import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.*;
 import cn.newfeifan.mall.module.distri.service.duser.DuserService;
 import cn.newfeifan.mall.module.member.dal.dataobject.user.MemberUserDO;
 import cn.newfeifan.mall.module.member.service.user.MemberUserService;
@@ -12,7 +14,6 @@ import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
 
 
-import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.*;
 import cn.newfeifan.mall.module.distri.dal.dataobject.sharepath.SharePathDO;
 import cn.newfeifan.mall.framework.common.pojo.PageResult;
 import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
@@ -23,6 +24,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.newfeifan.mall.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 import static cn.newfeifan.mall.module.distri.constant.DistriConstants.PT_ID;
 import static cn.newfeifan.mall.module.distri.enums.ErrorCodeConstants.*;
 
@@ -111,6 +113,43 @@ public class SharePathServiceImpl implements SharePathService {
         return sharePathDO != null;
     }
 
+    @Override
+    public AppSharePathRespVO getTeam(PageParam pageParam) {
+        Long userId = getLoginUserId();
+
+        //获取团队数
+        LambdaQueryWrapperX<SharePathDO> wrapper = new LambdaQueryWrapperX<>();
+        wrapper.eq(SharePathDO::getAncestor, userId).or().eq(SharePathDO::getDescendant, userId);
+        //  +1为父级
+        Long teamCount = sharePathMapper.selectCount(wrapper) + 1;
+
+        //获取推荐人
+        SharePathDO sharePathDO = sharePathMapper.selectOne(new LambdaQueryWrapperX<SharePathDO>()
+                .eq(SharePathDO::getDescendant, userId)
+                .eq(SharePathDO::getDepth, 1));
+        SharePathRespVO ancestor = BeanUtils.toBean(sharePathDO, SharePathRespVO.class);
+        if(ancestor != null) ancestor.setAvatar(getAvatar(ancestor.getAncestor()));
+
+        //获取团队成员
+        PageResult<SharePathDO> descendants = sharePathMapper.selectPage(pageParam, new LambdaQueryWrapperX<SharePathDO>()
+                .eq(SharePathDO::getAncestor, userId)
+                .orderByAsc(SharePathDO::getDepth));
+        PageResult<SharePathRespVO> result = BeanUtils.toBean(descendants, SharePathRespVO.class);
+        result.getList().forEach(item -> {
+            item.setAvatar(getAvatar(item.getDescendant()));
+        });
+
+
+        return AppSharePathRespVO.builder()
+                .teamCount(teamCount)
+                .ancestor(ancestor)
+                .descendants(result).build();
+    }
+
+    private String getAvatar(Long userId) {
+        return memberUserService.getUser(userId).getAvatar();
+    }
+
     @Override
     public void updateSharePath(SharePathSaveReqVO updateReqVO) {
         // 校验存在

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/sharepath/builder/TreeBuilder.java

@@ -1,6 +1,6 @@
 package cn.newfeifan.mall.module.distri.service.sharepath.builder;
 
-import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.TreeNode;
+import cn.newfeifan.mall.module.distri.controller.app.sharepath.vo.TreeNode;
 import cn.newfeifan.mall.module.distri.dal.dataobject.sharepath.SharePathDO;
 import org.springframework.stereotype.Component;