Browse Source

【新增】字典归类
【修改】规范实体命名和字段类型修改

liuhongfeng 1 year ago
parent
commit
f1f180ff77
16 changed files with 64 additions and 163 deletions
  1. 1 0
      yudao-module-crm/yudao-module-crm-api/src/main/java/cn/iocoder/yudao/module/crm/enums/DictTypeConstants.java
  2. 6 27
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivableBaseVO.java
  3. 6 14
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivableExcelVO.java
  4. 4 17
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivableExportReqVO.java
  5. 3 21
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePageReqVO.java
  6. 10 20
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePlanBaseVO.java
  7. 7 6
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePlanExcelVO.java
  8. 3 3
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePlanExportReqVO.java
  9. 2 13
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePlanPageReqVO.java
  10. 8 9
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/receivable/ReceivableDO.java
  11. 6 6
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/receivable/ReceivablePlanDO.java
  12. 0 10
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/receivable/ReceivableMapper.java
  13. 0 3
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/receivable/ReceivablePlanMapper.java
  14. 8 1
      yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/ReceivableServiceImpl.java
  15. 0 3
      yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/receivable/ReceivablePlanServiceImplTest.java
  16. 0 10
      yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/receivable/ReceivableServiceImplTest.java

+ 1 - 0
yudao-module-crm/yudao-module-crm-api/src/main/java/cn/iocoder/yudao/module/crm/enums/DictTypeConstants.java

@@ -11,5 +11,6 @@ public interface DictTypeConstants {
     String CRM_CUSTOMER_INDUSTRY = "crm_customer_industry"; // CRM 客户所属行业
     String CRM_CUSTOMER_LEVEL = "crm_customer_level"; // CRM 客户等级
     String CRM_CUSTOMER_SOURCE = "crm_customer_source"; // CRM 客户来源
+    String CRM_RECEIVABLE_CHECK_STATUS = "crm_receivable_check_status"; // CRM 审批状态
 
 }

+ 6 - 27
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivableBaseVO.java

@@ -19,30 +19,22 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class ReceivableBaseVO {
 
-    // TODO @liuhongfeng:部分缺少 example 的字段,要补充下;
-    // TODO @liuhongfeng:部分字段,需要必传,要写 requiredMode = Schema.RequiredMode.REQUIRED,以及对应的 validator 非空校验
-
-    @Schema(description = "回款编号")
+    @Schema(description = "回款编号",requiredMode = Schema.RequiredMode.REQUIRED, example = "31177")
     private String no;
 
-    // TODO @liuhongfeng:中英文之间,有个空格,这样更干净;
-    @Schema(description = "回款计划ID", example = "31177")
+    @Schema(description = "回款计划", example = "31177")
     private Long planId;
 
-    @Schema(description = "客户ID", example = "4963")
+    @Schema(description = "客户名称", example = "4963")
     private Long customerId;
 
-    @Schema(description = "合同ID", example = "30305")
+    @Schema(description = "合同名称", example = "30305")
     private Long contractId;
 
     @Schema(description = "审批状态", example = "1")
     @InEnum(AuditStatusEnum.class)
     private Integer checkStatus;
 
-    // TODO @liuhongfeng:这个字段,应该不是前端传递的噢,而是后端自己生成的,所以不适合放在 base 里面;
-    @Schema(description = "工作流编号", example = "16568")
-    private Long processInstanceId;
-
     @Schema(description = "回款日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime returnTime;
@@ -50,9 +42,8 @@ public class ReceivableBaseVO {
     @Schema(description = "回款方式", example = "2")
     private String returnType;
 
-    // TODO @liuhongfeng:使用 Int 哈,分;
     @Schema(description = "回款金额", example = "31859")
-    private BigDecimal price;
+    private Integer price;
 
     @Schema(description = "负责人", example = "22202")
     private Long ownerUserId;
@@ -63,19 +54,7 @@ public class ReceivableBaseVO {
     @Schema(description = "显示顺序")
     private Integer sort;
 
-    // TODO @芋艿:这个字段在看看;dataScope、dataScopeDeptIds
-    @Schema(description = "数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)")
-    private Integer dataScope;
-
-    @Schema(description = "数据范围(指定部门数组)")
-    private String dataScopeDeptIds;
-
-    // TODO @liuhongfeng:这个字段,这个字段,应该不是前端传递的噢,而是后端自己生成的,所以不适合放在 base 里面;
-    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotNull(message = "状态不能为空")
-    private Integer status;
-
-    @Schema(description = "备注", example = "随便")
+    @Schema(description = "备注", example = "备注")
     private String remark;
 
 }

+ 6 - 14
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivableExcelVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.crm.controller.admin.receivable.vo;
 
+import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import java.util.*;
@@ -30,14 +31,14 @@ public class ReceivableExcelVO {
     @ExcelProperty("回款计划ID")
     private Long planId;
 
-    @ExcelProperty("客户ID")
+    @ExcelProperty("客户名称")
     private Long customerId;
 
-    @ExcelProperty("合同ID")
+    @ExcelProperty("合同名称")
     private Long contractId;
 
     @ExcelProperty(value = "审批状态", converter = DictConvert.class)
-    @DictFormat("crm_receivable_check_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
+    @DictFormat(cn.iocoder.yudao.module.crm.enums.DictTypeConstants.CRM_RECEIVABLE_CHECK_STATUS)
     private Integer checkStatus;
 
     @ExcelProperty("工作流编号")
@@ -50,7 +51,7 @@ public class ReceivableExcelVO {
     private String returnType;
 
     @ExcelProperty("回款金额")
-    private BigDecimal price;
+    private Integer price;
 
     @ExcelProperty("负责人")
     private Long ownerUserId;
@@ -58,17 +59,8 @@ public class ReceivableExcelVO {
     @ExcelProperty("批次")
     private Long batchId;
 
-    //@ExcelProperty("显示顺序")
-    //private Integer sort;
-
-    //@ExcelProperty("数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)")
-    //private Integer dataScope;
-
-    //@ExcelProperty("数据范围(指定部门数组)")
-    //private String dataScopeDeptIds;
-
     @ExcelProperty(value = "状态", converter = DictConvert.class)
-    @DictFormat("common_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
+    @DictFormat(DictTypeConstants.COMMON_STATUS)
     private Integer status;
 
     @ExcelProperty("备注")

+ 4 - 17
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivableExportReqVO.java

@@ -4,7 +4,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -19,21 +18,18 @@ public class ReceivableExportReqVO {
     @Schema(description = "回款编号")
     private String no;
 
-    @Schema(description = "回款计划ID", example = "31177")
+    @Schema(description = "回款计划", example = "31177")
     private Long planId;
 
-    @Schema(description = "客户ID", example = "4963")
+    @Schema(description = "客户名称", example = "4963")
     private Long customerId;
 
-    @Schema(description = "合同ID", example = "30305")
+    @Schema(description = "合同名称", example = "30305")
     private Long contractId;
 
     @Schema(description = "审批状态", example = "1")
     private Integer checkStatus;
 
-    @Schema(description = "工作流编号", example = "16568")
-    private Long processInstanceId;
-
     @Schema(description = "回款日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] returnTime;
@@ -42,7 +38,7 @@ public class ReceivableExportReqVO {
     private String returnType;
 
     @Schema(description = "回款金额", example = "31859")
-    private BigDecimal price;
+    private Integer price;
 
     @Schema(description = "负责人", example = "22202")
     private Long ownerUserId;
@@ -50,15 +46,6 @@ public class ReceivableExportReqVO {
     @Schema(description = "批次", example = "2539")
     private Long batchId;
 
-    @Schema(description = "显示顺序")
-    private Integer sort;
-
-    @Schema(description = "数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)")
-    private Integer dataScope;
-
-    @Schema(description = "数据范围(指定部门数组)")
-    private String dataScopeDeptIds;
-
     @Schema(description = "状态", example = "1")
     private Integer status;
 

+ 3 - 21
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePageReqVO.java

@@ -18,25 +18,21 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class ReceivablePageReqVO extends PageParam {
 
-    // TODO @liuhongfeng:目前就使用 no 检索即可;
     @Schema(description = "回款编号")
     private String no;
 
     @Schema(description = "回款计划ID", example = "31177")
     private Long planId;
 
-    @Schema(description = "客户ID", example = "4963")
+    @Schema(description = "客户名称", example = "4963")
     private Long customerId;
 
-    @Schema(description = "合同ID", example = "30305")
+    @Schema(description = "合同名称", example = "30305")
     private Long contractId;
 
     @Schema(description = "审批状态", example = "1")
     private Integer checkStatus;
 
-    @Schema(description = "工作流编号", example = "16568")
-    private Long processInstanceId;
-
     @Schema(description = "回款日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] returnTime;
@@ -45,29 +41,15 @@ public class ReceivablePageReqVO extends PageParam {
     private String returnType;
 
     @Schema(description = "回款金额", example = "31859")
-    private BigDecimal price;
+    private Integer price;
 
     @Schema(description = "负责人", example = "22202")
     private Long ownerUserId;
 
-    @Schema(description = "批次", example = "2539")
-    private Long batchId;
-
-    @Schema(description = "显示顺序")
-    private Integer sort;
-
-    @Schema(description = "数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)")
-    private Integer dataScope;
-
-    @Schema(description = "数据范围(指定部门数组)")
-    private String dataScopeDeptIds;
 
     @Schema(description = "状态", example = "1")
     private Integer status;
 
-    @Schema(description = "备注", example = "随便")
-    private String remark;
-
     @Schema(description = "创建时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;

+ 10 - 20
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePlanBaseVO.java

@@ -1,10 +1,11 @@
 package cn.iocoder.yudao.module.crm.controller.admin.receivable.vo;
 
+import cn.iocoder.yudao.framework.common.validation.InEnum;
+import cn.iocoder.yudao.module.crm.enums.AuditStatusEnum;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -16,57 +17,46 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class ReceivablePlanBaseVO {
 
-    // TODO 芋艿:这个字段,在想想命名;
-    @Schema(description = "期数")
+    @Schema(description = "期数", example = "1")
     private Integer period;
 
-    // TODO @liuhongfeng:中英文之间,有个空格,这样更干净;
-    @Schema(description = "回款ID", example = "19852")
+    @Schema(description = "回款计划", example = "19852")
     private Long receivableId;
 
     @Schema(description = "完成状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    //@NotNull(message = "完成状态不能为空")
     private Integer status;
 
-    // TODO @liuhongfeng:这个字段,可以写个枚举,然后 InEnum 去校验下;
-    // TODO @liuhongfeng:这个字段,应该不是前端传递的噢,而是后端自己生成的
     @Schema(description = "审批状态", example = "1")
+    @InEnum(AuditStatusEnum.class)
     private Integer checkStatus;
 
-    // TODO @liuhongfeng:这个字段,应该不是前端传递的噢,而是后端自己生成的,所以不适合放在 base 里面;
-    @Schema(description = "工作流编号", example = "8909")
-    private Long processInstanceId;
-
-    // TODO @liuhongfeng:使用 Int 哈,分;
     @Schema(description = "计划回款金额", example = "29675")
-    private BigDecimal price;
+    private Integer price;
 
     @Schema(description = "计划回款日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime returnTime;
 
-    // TODO @liuhongfeng:这个字段,Integer
     @Schema(description = "提前几天提醒")
-    private Long remindDays;
+    private Integer remindDays;
 
     @Schema(description = "提醒日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime remindTime;
 
-    @Schema(description = "客户ID", example = "18026")
+    @Schema(description = "客户名称", example = "18026")
     private Long customerId;
 
-    @Schema(description = "合同ID", example = "3473")
+    @Schema(description = "合同名称", example = "3473")
     private Long contractId;
 
-    // TODO @liuhongfeng:这个字段,应该不是前端传递的噢,而是后端自己生成的,所以不适合放在 base 里面;
     @Schema(description = "负责人", example = "17828")
     private Long ownerUserId;
 
     @Schema(description = "显示顺序")
     private Integer sort;
 
-    @Schema(description = "备注", example = "随便")
+    @Schema(description = "备注", example = "备注")
     private String remark;
 
 }

+ 7 - 6
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePlanExcelVO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.crm.controller.admin.receivable.vo;
 
+import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
 import lombok.*;
 
 import java.math.BigDecimal;
@@ -27,25 +28,25 @@ public class ReceivablePlanExcelVO {
     @ExcelProperty("回款ID")
     private Long receivableId;
 
-    @ExcelProperty(value = "完成状态", converter = DictConvert.class)
-    @DictFormat("common_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
+    @ExcelProperty(value = "状态", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.COMMON_STATUS)
     private Integer status;
 
     @ExcelProperty(value = "审批状态", converter = DictConvert.class)
-    @DictFormat("crm_receivable_check_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
+    @DictFormat(cn.iocoder.yudao.module.crm.enums.DictTypeConstants.CRM_RECEIVABLE_CHECK_STATUS)
     private Integer checkStatus;
 
     //@ExcelProperty("工作流编号")
     //private Long processInstanceId;
 
     @ExcelProperty("计划回款金额")
-    private BigDecimal price;
+    private Integer price;
 
     @ExcelProperty("计划回款日期")
     private LocalDateTime returnTime;
 
     @ExcelProperty("提前几天提醒")
-    private Long remindDays;
+    private Integer remindDays;
 
     @ExcelProperty("提醒日期")
     private LocalDateTime remindTime;
@@ -53,7 +54,7 @@ public class ReceivablePlanExcelVO {
     @ExcelProperty("客户ID")
     private Long customerId;
 
-    @ExcelProperty("合同ID")
+    @ExcelProperty("合同名称")
     private Long contractId;
 
     @ExcelProperty("负责人")

+ 3 - 3
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePlanExportReqVO.java

@@ -26,16 +26,16 @@ public class ReceivablePlanExportReqVO {
     private LocalDateTime[] returnTime;
 
     @Schema(description = "提前几天提醒")
-    private Long remindDays;
+    private Integer remindDays;
 
     @Schema(description = "提醒日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] remindTime;
 
-    @Schema(description = "客户ID", example = "18026")
+    @Schema(description = "客户名称", example = "18026")
     private Long customerId;
 
-    @Schema(description = "合同ID", example = "3473")
+    @Schema(description = "合同名称", example = "3473")
     private Long contractId;
 
     @Schema(description = "负责人", example = "17828")

+ 2 - 13
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/vo/ReceivablePlanPageReqVO.java

@@ -17,11 +17,6 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class ReceivablePlanPageReqVO extends PageParam {
 
-    // TODO 芋艿:筛选字段,需要去掉几个,在想想;
-
-    @Schema(description = "期数")
-    private Integer period;
-
     @Schema(description = "完成状态", example = "2")
     private Integer status;
 
@@ -32,25 +27,19 @@ public class ReceivablePlanPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] returnTime;
 
-    @Schema(description = "提前几天提醒")
-    private Long remindDays;
-
     @Schema(description = "提醒日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] remindTime;
 
-    @Schema(description = "客户ID", example = "18026")
+    @Schema(description = "客户名称", example = "18026")
     private Long customerId;
 
-    @Schema(description = "合同ID", example = "3473")
+    @Schema(description = "合同名称", example = "3473")
     private Long contractId;
 
     @Schema(description = "负责人", example = "17828")
     private Long ownerUserId;
 
-    @Schema(description = "备注", example = "随便")
-    private String remark;
-
     @Schema(description = "创建时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;

+ 8 - 9
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/receivable/ReceivableDO.java

@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
@@ -34,27 +33,26 @@ public class ReceivableDO extends BaseDO {
      */
     private String no;
     /**
-     * 回款计划ID
+     * 回款计划
      *
-     * TODO @liuhongfeng:这个字段,后续要写下关联的实体哈
+     * 对应实体 {@link cn.iocoder.yudao.module.crm.dal.dataobject.receivable.ReceivablePlanDO}
      */
     private Long planId;
     /**
      * 客户ID
      *
-     * TODO @liuhongfeng:这个字段,后续要写下关联的实体哈
+     * 对应实体 {@link cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO}
      */
     private Long customerId;
     /**
      * 合同ID
      *
-     * TODO @liuhongfeng:这个字段,后续要写下关联的实体哈
+     * 对应实体 {@link cn.iocoder.yudao.module.crm.dal.dataobject.contract.ContractDO}
      */
     private Long contractId;
     /**
      * 审批状态
-     *
-     * 枚举 {@link TODO crm_receivable_check_status 对应的类}
+     * 对应字典 {@link cn.iocoder.yudao.module.crm.enums.DictTypeConstants#CRM_RECEIVABLE_CHECK_STATUS}
      */
     private Integer checkStatus;
     /**
@@ -74,7 +72,7 @@ public class ReceivableDO extends BaseDO {
     /**
      * 回款金额
      */
-    private BigDecimal price;
+    private Integer price;
     /**
      * 负责人
      */
@@ -99,7 +97,8 @@ public class ReceivableDO extends BaseDO {
     /**
      * 状态
      *
-     * 枚举 {@link TODO common_status 对应的类}
+     * 枚举 {@link cn.iocoder.yudao.framework.common.enums.CommonStatusEnum}
+     *
      */
     private Integer status;
     /**

+ 6 - 6
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/receivable/ReceivablePlanDO.java

@@ -37,15 +37,15 @@ public class ReceivablePlanDO extends BaseDO {
      */
     private Long receivableId;
     /**
-     * 完成状态
+     * 状态
+     *
+     * 枚举 {@link cn.iocoder.yudao.framework.common.enums.CommonStatusEnum}
      *
-     * 枚举 {@link TODO common_status 对应的类}
      */
     private Integer status;
     /**
      * 审批状态
-     *
-     * 枚举 {@link TODO crm_receivable_check_status 对应的类}
+     * 对应字典 {@link cn.iocoder.yudao.module.crm.enums.DictTypeConstants#CRM_RECEIVABLE_CHECK_STATUS}
      */
     private Integer checkStatus;
     /**
@@ -55,7 +55,7 @@ public class ReceivablePlanDO extends BaseDO {
     /**
      * 计划回款金额
      */
-    private BigDecimal price;
+    private Integer price;
     /**
      * 计划回款日期
      */
@@ -63,7 +63,7 @@ public class ReceivablePlanDO extends BaseDO {
     /**
      * 提前几天提醒
      */
-    private Long remindDays;
+    private Integer remindDays;
     /**
      * 提醒日期
      */

+ 0 - 10
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/receivable/ReceivableMapper.java

@@ -24,17 +24,11 @@ public interface ReceivableMapper extends BaseMapperX<ReceivableDO> {
                 .eqIfPresent(ReceivableDO::getCustomerId, reqVO.getCustomerId())
                 .eqIfPresent(ReceivableDO::getContractId, reqVO.getContractId())
                 .eqIfPresent(ReceivableDO::getCheckStatus, reqVO.getCheckStatus())
-                .eqIfPresent(ReceivableDO::getProcessInstanceId, reqVO.getProcessInstanceId())
                 .betweenIfPresent(ReceivableDO::getReturnTime, reqVO.getReturnTime())
                 .eqIfPresent(ReceivableDO::getReturnType, reqVO.getReturnType())
                 .eqIfPresent(ReceivableDO::getPrice, reqVO.getPrice())
                 .eqIfPresent(ReceivableDO::getOwnerUserId, reqVO.getOwnerUserId())
-                .eqIfPresent(ReceivableDO::getBatchId, reqVO.getBatchId())
-                .eqIfPresent(ReceivableDO::getSort, reqVO.getSort())
-                .eqIfPresent(ReceivableDO::getDataScope, reqVO.getDataScope())
-                .eqIfPresent(ReceivableDO::getDataScopeDeptIds, reqVO.getDataScopeDeptIds())
                 .eqIfPresent(ReceivableDO::getStatus, reqVO.getStatus())
-                .eqIfPresent(ReceivableDO::getRemark, reqVO.getRemark())
                 .betweenIfPresent(ReceivableDO::getCreateTime, reqVO.getCreateTime())
                 .orderByDesc(ReceivableDO::getId));
     }
@@ -46,15 +40,11 @@ public interface ReceivableMapper extends BaseMapperX<ReceivableDO> {
                 .eqIfPresent(ReceivableDO::getCustomerId, reqVO.getCustomerId())
                 .eqIfPresent(ReceivableDO::getContractId, reqVO.getContractId())
                 .eqIfPresent(ReceivableDO::getCheckStatus, reqVO.getCheckStatus())
-                .eqIfPresent(ReceivableDO::getProcessInstanceId, reqVO.getProcessInstanceId())
                 .betweenIfPresent(ReceivableDO::getReturnTime, reqVO.getReturnTime())
                 .eqIfPresent(ReceivableDO::getReturnType, reqVO.getReturnType())
                 .eqIfPresent(ReceivableDO::getPrice, reqVO.getPrice())
                 .eqIfPresent(ReceivableDO::getOwnerUserId, reqVO.getOwnerUserId())
                 .eqIfPresent(ReceivableDO::getBatchId, reqVO.getBatchId())
-                .eqIfPresent(ReceivableDO::getSort, reqVO.getSort())
-                .eqIfPresent(ReceivableDO::getDataScope, reqVO.getDataScope())
-                .eqIfPresent(ReceivableDO::getDataScopeDeptIds, reqVO.getDataScopeDeptIds())
                 .eqIfPresent(ReceivableDO::getStatus, reqVO.getStatus())
                 .eqIfPresent(ReceivableDO::getRemark, reqVO.getRemark())
                 .betweenIfPresent(ReceivableDO::getCreateTime, reqVO.getCreateTime())

+ 0 - 3
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/receivable/ReceivablePlanMapper.java

@@ -19,16 +19,13 @@ public interface ReceivablePlanMapper extends BaseMapperX<ReceivablePlanDO> {
 
     default PageResult<ReceivablePlanDO> selectPage(ReceivablePlanPageReqVO reqVO) {
         return selectPage(reqVO, new LambdaQueryWrapperX<ReceivablePlanDO>()
-                .eqIfPresent(ReceivablePlanDO::getPeriod, reqVO.getPeriod())
                 .eqIfPresent(ReceivablePlanDO::getStatus, reqVO.getStatus())
                 .eqIfPresent(ReceivablePlanDO::getCheckStatus, reqVO.getCheckStatus())
                 .betweenIfPresent(ReceivablePlanDO::getReturnTime, reqVO.getReturnTime())
-                .eqIfPresent(ReceivablePlanDO::getRemindDays, reqVO.getRemindDays())
                 .betweenIfPresent(ReceivablePlanDO::getRemindTime, reqVO.getRemindTime())
                 .eqIfPresent(ReceivablePlanDO::getCustomerId, reqVO.getCustomerId())
                 .eqIfPresent(ReceivablePlanDO::getContractId, reqVO.getContractId())
                 .eqIfPresent(ReceivablePlanDO::getOwnerUserId, reqVO.getOwnerUserId())
-                .eqIfPresent(ReceivablePlanDO::getRemark, reqVO.getRemark())
                 .betweenIfPresent(ReceivablePlanDO::getCreateTime, reqVO.getCreateTime())
                 .orderByDesc(ReceivablePlanDO::getId));
     }

+ 8 - 1
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/ReceivableServiceImpl.java

@@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.crm.convert.receivable.ReceivableConvert;
 import cn.iocoder.yudao.module.crm.dal.dataobject.contract.ContractDO;
 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO;
 import cn.iocoder.yudao.module.crm.dal.dataobject.receivable.ReceivableDO;
+import cn.iocoder.yudao.module.crm.dal.dataobject.receivable.ReceivablePlanDO;
 import cn.iocoder.yudao.module.crm.dal.mysql.receivable.ReceivableMapper;
 import cn.iocoder.yudao.module.crm.enums.AuditStatusEnum;
 import cn.iocoder.yudao.module.crm.service.contract.ContractService;
@@ -43,10 +44,11 @@ public class ReceivableServiceImpl implements ReceivableService {
     private ContractService contractService;
     @Resource
     private CrmCustomerService crmCustomerService;
+    @Resource
+    private ReceivablePlanService receivablePlanService;
 
     @Override
     public Long createReceivable(ReceivableCreateReqVO createReqVO) {
-        // TODO @liuhongfeng:planId 是否存在,是否合法,需要去校验;
         // 插入
         ReceivableDO receivable = ReceivableConvert.INSTANCE.convert(createReqVO);
         if (ObjectUtil.isNull(receivable.getStatus())){
@@ -80,6 +82,11 @@ public class ReceivableServiceImpl implements ReceivableService {
             throw exception(CUSTOMER_NOT_EXISTS);
         }
 
+        ReceivablePlanDO receivablePlan = receivablePlanService.getReceivablePlan(receivable.getPlanId());
+        if(ObjectUtil.isNull(receivablePlan)){
+            throw exception(RECEIVABLE_PLAN_NOT_EXISTS);
+        }
+
     }
 
     @Override

+ 0 - 3
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/receivable/ReceivablePlanServiceImplTest.java

@@ -144,16 +144,13 @@ public class ReceivablePlanServiceImplTest extends BaseDbUnitTest {
        receivablePlanMapper.insert(cloneIgnoreId(dbReceivablePlan, o -> o.setCreateTime(null)));
        // 准备参数
        ReceivablePlanPageReqVO reqVO = new ReceivablePlanPageReqVO();
-       reqVO.setPeriod(null);
        reqVO.setStatus(null);
        reqVO.setCheckStatus(null);
        reqVO.setReturnTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
-       reqVO.setRemindDays(null);
        reqVO.setRemindTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
        reqVO.setCustomerId(null);
        reqVO.setContractId(null);
        reqVO.setOwnerUserId(null);
-       reqVO.setRemark(null);
        reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
 
        // 调用

+ 0 - 10
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/receivable/ReceivableServiceImplTest.java

@@ -167,17 +167,11 @@ public class ReceivableServiceImplTest extends BaseDbUnitTest {
        reqVO.setCustomerId(null);
        reqVO.setContractId(null);
        reqVO.setCheckStatus(null);
-       reqVO.setProcessInstanceId(null);
        reqVO.setReturnTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
        reqVO.setReturnType(null);
        reqVO.setPrice(null);
        reqVO.setOwnerUserId(null);
-       reqVO.setBatchId(null);
-       reqVO.setSort(null);
-       reqVO.setDataScope(null);
-       reqVO.setDataScopeDeptIds(null);
        reqVO.setStatus(null);
-       reqVO.setRemark(null);
        reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
 
        // 调用
@@ -253,15 +247,11 @@ public class ReceivableServiceImplTest extends BaseDbUnitTest {
        reqVO.setCustomerId(null);
        reqVO.setContractId(null);
        reqVO.setCheckStatus(null);
-       reqVO.setProcessInstanceId(null);
        reqVO.setReturnTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
        reqVO.setReturnType(null);
        reqVO.setPrice(null);
        reqVO.setOwnerUserId(null);
        reqVO.setBatchId(null);
-       reqVO.setSort(null);
-       reqVO.setDataScope(null);
-       reqVO.setDataScopeDeptIds(null);
        reqVO.setStatus(null);
        reqVO.setRemark(null);
        reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));