Browse Source

✨ CRM:新增跟进记录表

YunaiV 1 year ago
parent
commit
f8f5e525be

+ 1 - 0
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerLimitConfigController.java

@@ -43,6 +43,7 @@ public class CrmCustomerLimitConfigController {
     @Resource
     private AdminUserApi adminUserApi;
 
+    // TODO @puhui999:可以把 vo 改下哈
     @PostMapping("/create")
     @Operation(summary = "创建客户限制配置")
     @PreAuthorize("@ss.hasPermission('crm:customer-limit-config:create')")

+ 1 - 0
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerPoolConfigController.java

@@ -26,6 +26,7 @@ public class CrmCustomerPoolConfigController {
     @Resource
     private CrmCustomerPoolConfigService customerPoolConfigService;
 
+    // TODO @puhui999:可以把 vo 改下哈
     @GetMapping("/get")
     @Operation(summary = "获取客户公海规则设置")
     @PreAuthorize("@ss.hasPermission('crm:customer-pool-config:query')")

+ 3 - 3
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/poolconfig/CrmCustomerPoolConfigSaveReqVO.java

@@ -16,9 +16,9 @@ import java.util.Objects;
 @ToString(callSuper = true)
 public class CrmCustomerPoolConfigSaveReqVO extends CrmCustomerPoolConfigBaseVO {
 
-    // TODO @wanwan:AssertTrue 必须 is 开头哈;注意需要 json 忽略下,避免被序列化;
+    // TODO @puhui999:AssertTrue 必须 is 开头哈;注意需要 json 忽略下,避免被序列化;
     @AssertTrue(message = "客户公海规则设置不正确")
-    // TODO @wanwan:这个方法,是不是拆成 2 个,一个校验 contactExpireDays、一个校验 dealExpireDays;
+    // TODO @puhui999:这个方法,是不是拆成 2 个,一个校验 contactExpireDays、一个校验 dealExpireDays;
     public boolean poolEnableValid() {
         if (!BooleanUtil.isTrue(getEnabled())) {
             return true;
@@ -27,7 +27,7 @@ public class CrmCustomerPoolConfigSaveReqVO extends CrmCustomerPoolConfigBaseVO
     }
 
     @AssertTrue(message = "客户公海规则设置不正确")
-    // TODO @wanwan:这个方法,是不是改成 isNotifyDaysValid() 更好点?本质校验的是 notifyDays 是否为空
+    // TODO @puhui999:这个方法,是不是改成 isNotifyDaysValid() 更好点?本质校验的是 notifyDays 是否为空
     public boolean notifyEnableValid() {
         if (!BooleanUtil.isTrue(getNotifyEnabled())) {
             return true;

+ 1 - 0
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/customer/CrmCustomerDO.java

@@ -115,6 +115,7 @@ public class CrmCustomerDO extends BaseDO {
      * 最后跟进时间
      */
     private LocalDateTime contactLastTime;
+    // TODO @puhui999:增加一个字段 contactLastContent;最后跟进内容
     /**
      * 下次联系时间
      */

+ 81 - 0
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/followup/CrmFollowUpRecordDO.java

@@ -0,0 +1,81 @@
+package cn.iocoder.yudao.module.crm.dal.dataobject.followup;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import cn.iocoder.yudao.module.crm.dal.dataobject.business.CrmBusinessDO;
+import cn.iocoder.yudao.module.crm.dal.dataobject.contact.CrmContactDO;
+import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+// TODO @puhui999:界面:做成一个 list 列表,字段是 id、跟进人、跟进方式、跟进时间、跟进内容、下次联系时间、关联联系人、关联商机
+// TODO @puhui999:界面:记录时,弹窗,表单字段是跟进方式、跟进内容、下次联系时间、关联联系人、关联商机;其中关联联系人、关联商机,要做成对应的组件列。
+/**
+ * 跟进记录 DO
+ *
+ * 用于记录客户、联系人的每一次跟进
+ *
+ * @author 芋道源码
+ */
+@TableName(value = "crm_follow_up_record")
+@KeySequence("crm_follow_up_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class CrmFollowUpRecordDO extends BaseDO {
+
+    /**
+     * 编号
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 数据类型
+     *
+     * 枚举 {@link CrmBizTypeEnum}
+     */
+    private Integer bizType;
+    /**
+     * 数据编号
+     *
+     * 关联 {@link CrmBizTypeEnum} 对应模块 DO 的 id 字段
+     */
+    private Long bizId;
+
+    /**
+     * 跟进类型
+     *
+     * TODO @puhui999:可以搞个数据字典,打电话、发短信、上门拜访、微信、邮箱、QQ
+     */
+    private Integer type;
+    /**
+     * 跟进内容
+     */
+    private String content;
+    /**
+     * 下次联系时间
+     */
+    private LocalDateTime nextTime;
+
+    /**
+     * 关联的商机编号数组
+     *
+     * 关联 {@link CrmBusinessDO#getId()}
+     */
+    private List<Long> businessIds;
+    /**
+     * 关联的联系人编号数组
+     *
+     * 关联 {@link CrmContactDO#getId()}
+     */
+    private List<Long> contactIds;
+
+}