From fe330482b35ada5c948b9bec3f3feea55243a169 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 19 Feb 2024 19:02:12 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=96=20CRM=EF=BC=9A=E7=BA=BF=E7=B4=A2?= =?UTF-8?q?=20clue=20=E6=96=B0=E5=A2=9E/=E4=BF=AE=E6=94=B9=E7=9A=84?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/clue/vo/CrmClueRespVO.java | 20 +-- .../admin/clue/vo/CrmClueSaveReqVO.java | 15 +- .../admin/customer/CrmCustomerController.java | 4 +- .../customer/vo/CrmCustomerImportExcelVO.java | 3 - .../admin/customer/vo/CrmCustomerRespVO.java | 8 - .../customer/vo/CrmCustomerSaveReqVO.java | 4 - .../crm/dal/dataobject/clue/CrmClueDO.java | 18 +- .../dataobject/customer/CrmCustomerDO.java | 8 - .../customer/bo/CrmCustomerCreateReqBO.java | 4 - .../src/test/resources/sql/clean.sql | 11 -- .../src/test/resources/sql/create_tables.sql | 162 ------------------ 11 files changed, 27 insertions(+), 230 deletions(-) delete mode 100644 yudao-module-crm/yudao-module-crm-biz/src/test/resources/sql/clean.sql delete mode 100644 yudao-module-crm/yudao-module-crm-biz/src/test/resources/sql/create_tables.sql diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/vo/CrmClueRespVO.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/vo/CrmClueRespVO.java index 880e818ef..56e5c2561 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/vo/CrmClueRespVO.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/vo/CrmClueRespVO.java @@ -70,10 +70,6 @@ public class CrmClueRespVO { @ExcelProperty("电话") private String telephone; - @Schema(description = "网址", example = "25682") - @ExcelProperty("网址") - private String website; - @Schema(description = "QQ", example = "25682") @ExcelProperty("QQ") private String qq; @@ -86,9 +82,15 @@ public class CrmClueRespVO { @ExcelProperty("email") private String email; - @Schema(description = "地址", example = "北京市海淀区") - @ExcelProperty("地址") - private String address; + @Schema(description = "地区编号", example = "1024") + @ExcelProperty("地区编号") + private Integer areaId; + @Schema(description = "地区名称", example = "北京市") + @ExcelProperty("地区名称") + private String areaName; + @Schema(description = "详细地址", example = "北京市成华大道") + @ExcelProperty("详细地址") + private String detailAddress; @Schema(description = "所属行业", requiredMode = Schema.RequiredMode.REQUIRED, example = "13563") @ExcelProperty(value = "所属行业", converter = DictConvert.class) @@ -105,10 +107,6 @@ public class CrmClueRespVO { @DictFormat(cn.iocoder.yudao.module.crm.enums.DictTypeConstants.CRM_CUSTOMER_SOURCE) private Integer source; - @Schema(description = "客户描述", example = "25682") - @ExcelProperty("客户描述") - private String description; - @Schema(description = "备注", example = "随便") @ExcelProperty("备注") private String remark; diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/vo/CrmClueSaveReqVO.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/vo/CrmClueSaveReqVO.java index e121438bb..ca45d5ee1 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/vo/CrmClueSaveReqVO.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/vo/CrmClueSaveReqVO.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.crm.enums.customer.CrmCustomerLevelEnum; import cn.iocoder.yudao.module.crm.framework.operatelog.core.CrmCustomerIndustryParseFunction; import cn.iocoder.yudao.module.crm.framework.operatelog.core.CrmCustomerLevelParseFunction; import cn.iocoder.yudao.module.crm.framework.operatelog.core.CrmCustomerSourceParseFunction; +import cn.iocoder.yudao.module.crm.framework.operatelog.core.SysAreaParseFunction; import com.mzt.logapi.starter.annotation.DiffLogField; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Email; @@ -56,10 +57,6 @@ public class CrmClueSaveReqVO { @Telephone private String telephone; - @Schema(description = "网址", example = "https://www.baidu.com") - @DiffLogField(name = "网址") - private String website; - @Schema(description = "QQ", example = "123456789") @DiffLogField(name = "QQ") @Size(max = 20, message = "QQ长度不能超过 20 个字符") @@ -76,9 +73,13 @@ public class CrmClueSaveReqVO { @Size(max = 255, message = "邮箱长度不能超过 255 个字符") private String email; - @Schema(description = "地址", example = "北京市海淀区") - @DiffLogField(name = "地址") - private String address; + @Schema(description = "地区编号", example = "20158") + @DiffLogField(name = "地区编号", function = SysAreaParseFunction.NAME) + private Integer areaId; + + @Schema(description = "详细地址", example = "北京市海淀区") + @DiffLogField(name = "详细地址") + private String detailAddress; @Schema(description = "所属行业", example = "1") @DiffLogField(name = "所属行业", function = CrmCustomerIndustryParseFunction.NAME) diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerController.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerController.java index b89eb9feb..4c5d948c8 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerController.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerController.java @@ -239,10 +239,10 @@ public class CrmCustomerController { // 手动创建导出 demo List list = Arrays.asList( CrmCustomerImportExcelVO.builder().name("芋道").industryId(1).level(1).source(1).mobile("15601691300").telephone("") - .website("https://doc.iocoder.cn/").qq("").wechat("").email("yunai@iocoder.cn").description("").remark("") + .qq("").wechat("").email("yunai@iocoder.cn").description("").remark("") .areaId(null).detailAddress("").build(), CrmCustomerImportExcelVO.builder().name("源码").industryId(1).level(1).source(1).mobile("15601691300").telephone("") - .website("https://doc.iocoder.cn/").qq("").wechat("").email("yunai@iocoder.cn").description("").remark("") + .qq("").wechat("").email("yunai@iocoder.cn").description("").remark("") .areaId(null).detailAddress("").build() ); // 输出 diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerImportExcelVO.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerImportExcelVO.java index 4f57564dd..dda607147 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerImportExcelVO.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerImportExcelVO.java @@ -43,9 +43,6 @@ public class CrmCustomerImportExcelVO { @ExcelProperty("电话") private String telephone; - @ExcelProperty("网址") - private String website; - @ExcelProperty("QQ") private String qq; diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerRespVO.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerRespVO.java index 69c75856f..031bc66c1 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerRespVO.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerRespVO.java @@ -64,10 +64,6 @@ public class CrmCustomerRespVO { @ExcelProperty("电话") private String telephone; - @Schema(description = "负责人的用户编号", example = "25682") - @ExcelProperty("网址") - private String website; - @Schema(description = "负责人的用户编号", example = "25682") @ExcelProperty("QQ") private String qq; @@ -80,10 +76,6 @@ public class CrmCustomerRespVO { @ExcelProperty("email") private String email; - @Schema(description = "负责人的用户编号", example = "25682") - @ExcelProperty("客户描述") - private String description; - @Schema(description = "负责人的用户编号", example = "25682") @ExcelProperty("备注") private String remark; diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerSaveReqVO.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerSaveReqVO.java index d6d73b142..b8e3d244a 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerSaveReqVO.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/CrmCustomerSaveReqVO.java @@ -58,10 +58,6 @@ public class CrmCustomerSaveReqVO { @Telephone private String telephone; - @Schema(description = "网址", example = "https://www.baidu.com") - @DiffLogField(name = "网址") - private String website; - @Schema(description = "QQ", example = "123456789") @DiffLogField(name = "QQ") @Size(max = 20, message = "QQ长度不能超过 20 个字符") diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/clue/CrmClueDO.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/clue/CrmClueDO.java index 5ff910e1a..48e600be6 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/clue/CrmClueDO.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/clue/CrmClueDO.java @@ -80,10 +80,6 @@ public class CrmClueDO extends BaseDO { * 电话 */ private String telephone; - /** - * 网址 - */ - private String website; /** * QQ */ @@ -97,9 +93,15 @@ public class CrmClueDO extends BaseDO { */ private String email; /** - * 地址 + * 所在地 + * + * 关联 {@link cn.iocoder.yudao.framework.ip.core.Area#getId()} 字段 */ - private String address; + private Integer areaId; + /** + * 详细地址 + */ + private String detailAddress; /** * 所属行业 * @@ -118,10 +120,6 @@ public class CrmClueDO extends BaseDO { * 对应字典 {@link DictTypeConstants#CRM_CUSTOMER_SOURCE} */ private Integer source; - /** - * 客户描述 - */ - private String description; /** * 备注 */ diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/customer/CrmCustomerDO.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/customer/CrmCustomerDO.java index bf94c053a..a39e92bdb 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/customer/CrmCustomerDO.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/customer/CrmCustomerDO.java @@ -79,10 +79,6 @@ public class CrmCustomerDO extends BaseDO { * 电话 */ private String telephone; - /** - * 网址 - */ - private String website; /** * QQ */ @@ -123,10 +119,6 @@ public class CrmCustomerDO extends BaseDO { * 对应字典 {@link DictTypeConstants#CRM_CUSTOMER_SOURCE} */ private Integer source; - /** - * 客户描述 - */ - private String description; /** * 备注 */ diff --git a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/bo/CrmCustomerCreateReqBO.java b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/bo/CrmCustomerCreateReqBO.java index 6d80b0e4c..58d1476c8 100644 --- a/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/bo/CrmCustomerCreateReqBO.java +++ b/yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/bo/CrmCustomerCreateReqBO.java @@ -64,10 +64,6 @@ public class CrmCustomerCreateReqBO { */ @Telephone private String telephone; - /** - * 网址 - */ - private String website; /** * QQ */ diff --git a/yudao-module-crm/yudao-module-crm-biz/src/test/resources/sql/clean.sql b/yudao-module-crm/yudao-module-crm-biz/src/test/resources/sql/clean.sql deleted file mode 100644 index 138780eed..000000000 --- a/yudao-module-crm/yudao-module-crm-biz/src/test/resources/sql/clean.sql +++ /dev/null @@ -1,11 +0,0 @@ -DELETE FROM "crm_contract"; - -DELETE FROM "crm_clue"; - -DELETE FROM "crm_receivable"; - -DELETE FROM "crm_receivable_plan"; - -DELETE FROM "crm_customer"; - -DELETE FROM "crm_customer_limit_config"; \ No newline at end of file diff --git a/yudao-module-crm/yudao-module-crm-biz/src/test/resources/sql/create_tables.sql b/yudao-module-crm/yudao-module-crm-biz/src/test/resources/sql/create_tables.sql deleted file mode 100644 index 9528f3dde..000000000 --- a/yudao-module-crm/yudao-module-crm-biz/src/test/resources/sql/create_tables.sql +++ /dev/null @@ -1,162 +0,0 @@ -CREATE TABLE IF NOT EXISTS "crm_contract" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "name" varchar NOT NULL, - "customer_id" bigint, - "business_id" bigint, - "process_instance_id" bigint, - "order_date" varchar, - "owner_user_id" bigint, - "no" varchar, - "start_time" varchar, - "end_time" varchar, - "price" int, - "discount_percent" int, - "product_price" int, - "ro_user_ids" varchar, - "rw_user_ids" varchar, - "contact_id" bigint, - "sign_user_id" bigint, - "contact_last_time" varchar, - "remark" varchar, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - PRIMARY KEY ("id") -) COMMENT '合同表'; - -CREATE TABLE IF NOT EXISTS "crm_clue" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "transform_status" bit NOT NULL, - "follow_up_status" bit NOT NULL, - "name" varchar NOT NULL, - "customer_id" bigint NOT NULL, - "contact_next_time" varchar, - "telephone" varchar, - "mobile" varchar, - "address" varchar, - "owner_user_id" bigint, - "contact_last_time" varchar, - "remark" varchar, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint NOT NULL, - PRIMARY KEY ("id") -) COMMENT '线索表'; - -CREATE TABLE IF NOT EXISTS "crm_receivable" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "no" varchar, - "plan_id" bigint, - "customer_id" bigint, - "contract_id" bigint, - "check_status" int, - "process_instance_id" bigint, - "return_time" varchar, - "return_type" varchar, - "price" varchar, - "owner_user_id" bigint, - "batch_id" bigint, - "sort" int, - "data_scope" int, - "data_scope_dept_ids" varchar, - "status" int NOT NULL, - "remark" varchar, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - PRIMARY KEY ("id") -) COMMENT '回款'; - -CREATE TABLE IF NOT EXISTS "crm_receivable_plan" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "index_no" bigint, - "receivable_id" bigint, - "status" int NOT NULL, - "check_status" varchar, - "process_instance_id" bigint, - "price" varchar, - "return_time" varchar, - "remind_days" bigint, - "remind_time" varchar, - "customer_id" bigint, - "contract_id" bigint, - "owner_user_id" bigint, - "sort" int, - "remark" varchar, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - PRIMARY KEY ("id") -) COMMENT '回款计划'; - -CREATE TABLE IF NOT EXISTS "crm_customer" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "name" varchar(255), - "follow_up_status" int NOT NULL, - "lock_status" int NOT NULL, - "deal_status" int NOT NULL, - "industry_id" int, - "level" int, - "source" int, - "mobile" varchar(255), - "telephone" varchar(255), - "website" varchar(255), - "qq" varchar(255), - "wechat" varchar(255), - "email" varchar(255), - "description" varchar(255), - "remark" varchar(255), - "owner_user_id" bigint, - "area_id" int, - "detail_address" varchar(255), - "contact_last_time" datetime, - "contact_next_time" datetime, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint NOT NULL, - PRIMARY KEY ("id") -) COMMENT '客户表'; - -CREATE TABLE IF NOT EXISTS "crm_customer_limit_config" ( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "type" int NOT NULL, - "user_ids" varchar, - "dept_ids" varchar, - "max_count" int NOT NULL, - "deal_count_enabled" varchar, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint NOT NULL, - PRIMARY KEY ("id") -) COMMENT '客户限制配置表'; - -CREATE TABLE IF NOT EXISTS "crm_permission" -( - "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, - "biz_id" bigint NOT NULL, - "biz_type" int NOT NULL, - "user_id" bigint NOT NULL, - "level" int NOT NULL, - "creator" varchar DEFAULT '', - "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updater" varchar DEFAULT '', - "update_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - "deleted" bit NOT NULL DEFAULT FALSE, - "tenant_id" bigint NOT NULL, - PRIMARY KEY ("id") -) COMMENT '客户限制配置表'; \ No newline at end of file