Commit fc087fa2527959f25978377cf9eab48d6126cda9

Authored by liuhongfeng
2 parents 9608cf05 054d80b4

Merge branch 'feature/crm' of https://gitee.com/zhijiantianya/ruoyi-vue-pro into feature/crm

Showing 21 changed files with 126 additions and 588 deletions
sql/mysql/crm.sql
1 SET NAMES utf8mb4; 1 SET NAMES utf8mb4;
2 2
3 --- ----------------------------  
4 --- 合同表  
5 --- ----------------------------  
6 -DROP TABLE IF EXISTS `crm_contract`;  
7 -CREATE TABLE `crm_contract`  
8 -(  
9 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号,主键自增',  
10 - `name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '合同名称',  
11 - `customer_id` bigint DEFAULT NULL COMMENT '客户编号',  
12 - `business_id` bigint DEFAULT NULL COMMENT '商机编号',  
13 - `process_instance_id` bigint DEFAULT NULL COMMENT '工作流编号',  
14 - `order_date` datetime DEFAULT NULL COMMENT '下单日期',  
15 - `owner_user_id` bigint DEFAULT NULL COMMENT '负责人的用户编号',  
16 - `no` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '合同编号',  
17 - `start_time` datetime DEFAULT NULL COMMENT '开始时间',  
18 - `end_time` datetime DEFAULT NULL COMMENT '结束时间',  
19 - `price` int DEFAULT NULL COMMENT '合同金额',  
20 - `discount_percent` int DEFAULT NULL COMMENT '整单折扣',  
21 - `product_price` int DEFAULT NULL COMMENT '产品总金额',  
22 - `ro_user_ids` varchar(4096) DEFAULT NULL COMMENT '只读权限的用户编号数组',  
23 - `rw_user_ids` varchar(4096) DEFAULT NULL COMMENT '读写权限的用户编号数组',  
24 - `contact_id` bigint DEFAULT NULL COMMENT '联系人编号',  
25 - `sign_user_id` bigint DEFAULT NULL COMMENT '公司签约人',  
26 - `contact_last_time` datetime DEFAULT NULL COMMENT '最后跟进时间',  
27 -  
28 - -- 通用字段  
29 - `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',  
30 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',  
31 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
32 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',  
33 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
34 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
35 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
36 - PRIMARY KEY (`id`) USING BTREE  
37 -) ENGINE = InnoDB  
38 - CHARACTER SET = utf8mb4  
39 - COLLATE = utf8mb4_unicode_ci COMMENT ='合同表';  
40 -  
41 -  
42 -DROP TABLE IF EXISTS `crm_clue`;  
43 -CREATE TABLE `crm_clue` (  
44 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号,主键自增',  
45 - `transform_status` tinyint DEFAULT NULL COMMENT '转化状态',  
46 - `follow_up_status` tinyint DEFAULT NULL COMMENT '跟进状态',  
47 - `name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '线索名称',  
48 - `customer_id` bigint NOT NULL COMMENT '客户id',  
49 - `contact_next_time` datetime DEFAULT NULL COMMENT '下次联系时间',  
50 - `telephone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '电话',  
51 - `mobile` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号',  
52 - `address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '地址',  
53 - `owner_user_id` bigint NOT NULL COMMENT '负责人的用户编号',  
54 - `contact_last_time` datetime DEFAULT NULL COMMENT '最后跟进时间',  
55 - `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',  
56 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',  
57 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
58 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',  
59 - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  
60 - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',  
61 - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',  
62 - PRIMARY KEY (`id`) USING BTREE  
63 -) ENGINE = InnoDB COMMENT = '线索表' ;  
64 -  
65 --- ----------------------------  
66 --- 商机表  
67 --- ----------------------------  
68 -  
69 -DROP TABLE IF EXISTS `crm_business`;  
70 -CREATE TABLE `crm_business` (  
71 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
72 - `name` varchar(100) NOT NULL COMMENT '商机名称',  
73 - `status_type_id` bigint DEFAULT NULL COMMENT '商机状态类型编号',  
74 - `status_id` bigint DEFAULT NULL COMMENT '商机状态编号',  
75 - `contact_next_time` datetime DEFAULT NULL COMMENT '下次联系时间',  
76 - `customer_id` bigint NOT NULL COMMENT '客户编号',  
77 - `deal_time` datetime DEFAULT NULL COMMENT '预计成交日期',  
78 - `price` decimal(18,2) DEFAULT NULL COMMENT '商机金额',  
79 - `discount_percent` decimal(10,2) DEFAULT NULL COMMENT '整单折扣',  
80 - `product_price` decimal(18,2) DEFAULT NULL COMMENT '产品总金额',  
81 - `remark` varchar(500) DEFAULT NULL COMMENT '备注',  
82 - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '创建人',  
83 - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '更新人',  
84 - `owner_user_id` bigint DEFAULT NULL COMMENT '负责人的用户编号',  
85 - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
86 - `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',  
87 - `ro_user_ids` longtext NOT NULL COMMENT '只读权限的用户编号数组',  
88 - `rw_user_ids` longtext NOT NULL COMMENT '读写权限的用户编号数组',  
89 - `end_status` int NOT NULL COMMENT '1赢单2输单3无效',  
90 - `end_remark` varchar(500) DEFAULT NULL COMMENT '结束时的备注',  
91 - `deleted` bit(1) DEFAULT b'0' COMMENT '逻辑删除',  
92 - `contact_last_time` datetime DEFAULT NULL COMMENT '最后跟进时间',  
93 - `follow_up_status` int DEFAULT NULL COMMENT '跟进状态',  
94 - `tenant_id` bigint DEFAULT '0' COMMENT '租户ID',  
95 - PRIMARY KEY (`id`)  
96 -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='商机表';  
97 3
98 4
99 5
@@ -157,61 +63,3 @@ CREATE TABLE `crm_receivable_plan` ( @@ -157,61 +63,3 @@ CREATE TABLE `crm_receivable_plan` (
157 `tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号', 63 `tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',
158 PRIMARY KEY (`id`) USING BTREE 64 PRIMARY KEY (`id`) USING BTREE
159 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '回款计划' ROW_FORMAT = DYNAMIC; 65 ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '回款计划' ROW_FORMAT = DYNAMIC;
160 -  
161 -  
162 -  
163 -  
164 -  
165 -  
166 -CREATE TABLE `crm_contact` (  
167 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
168 - `name` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系人名称',  
169 - `next_time` datetime DEFAULT NULL COMMENT '下次联系时间',  
170 - `mobile` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号',  
171 - `telephone` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '电话',  
172 - `email` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '电子邮箱',  
173 - `post` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '职务',  
174 - `customer_id` bigint(20) DEFAULT NULL COMMENT '客户编号',  
175 - `address` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '地址',  
176 - `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',  
177 - `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人',  
178 - `owner_user_id` bigint DEFAULT NULL COMMENT '负责人用户编号',  
179 - `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',  
180 - `update_time` timestamp NULL DEFAULT NULL COMMENT '更新时间',  
181 - `last_time` timestamp NULL DEFAULT NULL COMMENT '最后跟进时间',  
182 - `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人',  
183 - `deleted` bit(1) NOT NULL DEFAULT b'0',  
184 - `tenant_id` bigint DEFAULT NULL,  
185 - PRIMARY KEY (`id`)  
186 -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='crm联系人';  
187 -  
188 -  
189 --- ----------------------------  
190 --- 商机状态表  
191 --- ----------------------------  
192 -DROP TABLE IF EXISTS `crm_business_status`;  
193 -CREATE TABLE `crm_business_status` (  
194 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
195 - `type_id` bigint NOT NULL COMMENT '状态类型编号',  
196 - `name` varchar(100) NOT NULL COMMENT '状态名',  
197 - `percent` varchar(20) DEFAULT NULL COMMENT '赢单率',  
198 - `sort` int DEFAULT NULL COMMENT '排序',  
199 - `tenant_id` bigint DEFAULT '1' COMMENT '租户ID',  
200 - PRIMARY KEY (`id`)  
201 -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='商机状态表'  
202 -  
203 --- ----------------------------  
204 --- 商机状态类型表  
205 --- ----------------------------  
206 -DROP TABLE IF EXISTS `crm_business_status_type`;  
207 -CREATE TABLE `crm_business_status_type` (  
208 - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',  
209 - `name` varchar(100) NOT NULL COMMENT '状态类型名',  
210 - `dept_ids` varchar(200) NOT NULL COMMENT '使用的部门编号',  
211 - `status` bit(1) NOT NULL DEFAULT b'0' COMMENT '开启状态',  
212 - `creator` varchar(64) NOT NULL COMMENT '创建人',  
213 - `create_time` datetime NOT NULL COMMENT '创建时间',  
214 - `update_time` datetime DEFAULT NULL COMMENT '更新时间',  
215 - `tenant_id` bigint DEFAULT '1' COMMENT '租户ID',  
216 - PRIMARY KEY (`id`)  
217 -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='商机状态类型表'  
sql/mysql/crm_menu.sql
1 --- ----------------------------  
2 --- 合同菜单  
3 --- ----------------------------  
4 -  
5 --- 菜单 SQL  
6 -INSERT INTO system_menu(  
7 - name, permission, type, sort, parent_id,  
8 - path, icon, component, status, component_name  
9 -)  
10 -VALUES (  
11 - '合同管理', '', 2, 0, 2375,  
12 - 'contract', '', 'crm/contract/index', 0, 'Contract'  
13 -);  
14 -  
15 --- 按钮父菜单ID  
16 --- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码  
17 -SELECT @parentId := LAST_INSERT_ID();  
18 -  
19 --- 按钮 SQL  
20 -INSERT INTO system_menu(  
21 - name, permission, type, sort, parent_id,  
22 - path, icon, component, status  
23 -)  
24 -VALUES (  
25 - '合同查询', 'crm:contract:query', 3, 1, @parentId,  
26 - '', '', '', 0  
27 -);  
28 -INSERT INTO system_menu(  
29 - name, permission, type, sort, parent_id,  
30 - path, icon, component, status  
31 -)  
32 -VALUES (  
33 - '合同创建', 'crm:contract:create', 3, 2, @parentId,  
34 - '', '', '', 0  
35 -);  
36 -INSERT INTO system_menu(  
37 - name, permission, type, sort, parent_id,  
38 - path, icon, component, status  
39 -)  
40 -VALUES (  
41 - '合同更新', 'crm:contract:update', 3, 3, @parentId,  
42 - '', '', '', 0  
43 -);  
44 -INSERT INTO system_menu(  
45 - name, permission, type, sort, parent_id,  
46 - path, icon, component, status  
47 -)  
48 -VALUES (  
49 - '合同删除', 'crm:contract:delete', 3, 4, @parentId,  
50 - '', '', '', 0  
51 -);  
52 -INSERT INTO system_menu(  
53 - name, permission, type, sort, parent_id,  
54 - path, icon, component, status  
55 -)  
56 -VALUES (  
57 - '合同导出', 'crm:contract:export', 3, 5, @parentId,  
58 - '', '', '', 0  
59 -);  
60 -  
61 --- ----------------------------  
62 --- 线索菜单  
63 --- ----------------------------  
64 -  
65 --- 菜单 SQL  
66 -INSERT INTO system_menu(  
67 - name, permission, type, sort, parent_id,  
68 - path, icon, component, status, component_name  
69 -)  
70 -VALUES (  
71 - '线索管理', '', 2, 0, 2375,  
72 - 'clue', '', 'crm/clue/index', 0, 'CrmClue'  
73 -);  
74 -  
75 --- 按钮父菜单ID  
76 --- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码  
77 -SELECT @parentId := LAST_INSERT_ID();  
78 -  
79 --- 按钮 SQL  
80 -INSERT INTO system_menu(  
81 - name, permission, type, sort, parent_id,  
82 - path, icon, component, status  
83 -)  
84 -VALUES (  
85 - '线索查询', 'crm:clue:query', 3, 1, @parentId,  
86 - '', '', '', 0  
87 -);  
88 -INSERT INTO system_menu(  
89 - name, permission, type, sort, parent_id,  
90 - path, icon, component, status  
91 -)  
92 -VALUES (  
93 - '线索创建', 'crm:clue:create', 3, 2, @parentId,  
94 - '', '', '', 0  
95 -);  
96 -INSERT INTO system_menu(  
97 - name, permission, type, sort, parent_id,  
98 - path, icon, component, status  
99 -)  
100 -VALUES (  
101 - '线索更新', 'crm:clue:update', 3, 3, @parentId,  
102 - '', '', '', 0  
103 -);  
104 -INSERT INTO system_menu(  
105 - name, permission, type, sort, parent_id,  
106 - path, icon, component, status  
107 -)  
108 -VALUES (  
109 - '线索删除', 'crm:clue:delete', 3, 4, @parentId,  
110 - '', '', '', 0  
111 -);  
112 -INSERT INTO system_menu(  
113 - name, permission, type, sort, parent_id,  
114 - path, icon, component, status  
115 -)  
116 -VALUES (  
117 - '线索导出', 'crm:clue:export', 3, 5, @parentId,  
118 - '', '', '', 0  
119 -);  
120 --- 菜单 SQL  
121 -INSERT INTO system_menu(  
122 - name, permission, type, sort, parent_id,  
123 - path, icon, component, status, component_name  
124 -)  
125 -VALUES (  
126 - '联系人', '', 2, 0, ${table.parentMenuId},  
127 - 'contact', '', 'crm/contact/index', 0, 'Contact'  
128 - );  
129 -  
130 --- 按钮父菜单ID  
131 --- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码  
132 -SELECT @parentId := LAST_INSERT_ID();  
133 -  
134 --- 按钮 SQL  
135 -INSERT INTO system_menu(  
136 - name, permission, type, sort, parent_id,  
137 - path, icon, component, status  
138 -)  
139 -VALUES (  
140 - '联系人查询', 'crm:contact:query', 3, 1, @parentId,  
141 - '', '', '', 0  
142 - );  
143 -INSERT INTO system_menu(  
144 - name, permission, type, sort, parent_id,  
145 - path, icon, component, status  
146 -)  
147 -VALUES (  
148 - '联系人创建', 'crm:contact:create', 3, 2, @parentId,  
149 - '', '', '', 0  
150 - );  
151 -INSERT INTO system_menu(  
152 - name, permission, type, sort, parent_id,  
153 - path, icon, component, status  
154 -)  
155 -VALUES (  
156 - '联系人更新', 'crm:contact:update', 3, 3, @parentId,  
157 - '', '', '', 0  
158 - );  
159 -INSERT INTO system_menu(  
160 - name, permission, type, sort, parent_id,  
161 - path, icon, component, status  
162 -)  
163 -VALUES (  
164 - '联系人删除', 'crm:contact:delete', 3, 4, @parentId,  
165 - '', '', '', 0  
166 - );  
167 -INSERT INTO system_menu(  
168 - name, permission, type, sort, parent_id,  
169 - path, icon, component, status  
170 -)  
171 -VALUES (  
172 - '联系人导出', 'crm:contact:export', 3, 5, @parentId,  
173 - '', '', '', 0  
174 - );  
175 -  
176 --- ----------------------------  
177 --- 合同菜单  
178 --- ----------------------------  
179 -  
180 --- 菜单 SQL  
181 -INSERT INTO system_menu(  
182 - name, permission, type, sort, parent_id,  
183 - path, icon, component, status, component_name  
184 -)  
185 -VALUES (  
186 - '商机管理', '', 2, 0, '',  
187 - 'business', '', 'crm/business/index', 0, 'CrmBusiness'  
188 - );  
189 -  
190 --- 按钮父菜单ID  
191 --- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码  
192 -SELECT @parentId := LAST_INSERT_ID();  
193 -  
194 --- 按钮 SQL  
195 -INSERT INTO system_menu(  
196 - name, permission, type, sort, parent_id,  
197 - path, icon, component, status  
198 -)  
199 -VALUES (  
200 - '商机查询', 'crm:business:query', 3, 1, @parentId,  
201 - '', '', '', 0  
202 - );  
203 -INSERT INTO system_menu(  
204 - name, permission, type, sort, parent_id,  
205 - path, icon, component, status  
206 -)  
207 -VALUES (  
208 - '商机创建', 'crm:business:create', 3, 2, @parentId,  
209 - '', '', '', 0  
210 - );  
211 -INSERT INTO system_menu(  
212 - name, permission, type, sort, parent_id,  
213 - path, icon, component, status  
214 -)  
215 -VALUES (  
216 - '商机更新', 'crm:business:update', 3, 3, @parentId,  
217 - '', '', '', 0  
218 - );  
219 -INSERT INTO system_menu(  
220 - name, permission, type, sort, parent_id,  
221 - path, icon, component, status  
222 -)  
223 -VALUES (  
224 - '商机删除', 'crm:business:delete', 3, 4, @parentId,  
225 - '', '', '', 0  
226 - );  
227 -INSERT INTO system_menu(  
228 - name, permission, type, sort, parent_id,  
229 - path, icon, component, status  
230 -)  
231 -VALUES (  
232 - '商机导出', 'crm:business:export', 3, 5, @parentId,  
233 - '', '', '', 0  
234 - );  
235 -  
236 --- ----------------------------  
237 --- 回款菜单  
238 --- ----------------------------  
239 -  
240 --- 菜单 SQL  
241 -INSERT INTO system_menu(  
242 - name, permission, type, sort, parent_id,  
243 - path, icon, component, status, component_name  
244 -)  
245 -VALUES (  
246 - '回款管理', '', 2, 0, 2375,  
247 - 'receivable', '', 'crm/receivable/index', 0, 'Receivable'  
248 - );  
249 -  
250 --- 按钮父菜单ID  
251 --- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码  
252 -SELECT @parentId := LAST_INSERT_ID();  
253 -  
254 --- 按钮 SQL  
255 -INSERT INTO system_menu(  
256 - name, permission, type, sort, parent_id,  
257 - path, icon, component, status  
258 -)  
259 -VALUES (  
260 - '回款管理查询', 'crm:receivable:query', 3, 1, @parentId,  
261 - '', '', '', 0  
262 - );  
263 -INSERT INTO system_menu(  
264 - name, permission, type, sort, parent_id,  
265 - path, icon, component, status  
266 -)  
267 -VALUES (  
268 - '回款管理创建', 'crm:receivable:create', 3, 2, @parentId,  
269 - '', '', '', 0  
270 - );  
271 -INSERT INTO system_menu(  
272 - name, permission, type, sort, parent_id,  
273 - path, icon, component, status  
274 -)  
275 -VALUES (  
276 - '回款管理更新', 'crm:receivable:update', 3, 3, @parentId,  
277 - '', '', '', 0  
278 - );  
279 -INSERT INTO system_menu(  
280 - name, permission, type, sort, parent_id,  
281 - path, icon, component, status  
282 -)  
283 -VALUES (  
284 - '回款管理删除', 'crm:receivable:delete', 3, 4, @parentId,  
285 - '', '', '', 0  
286 - );  
287 -INSERT INTO system_menu(  
288 - name, permission, type, sort, parent_id,  
289 - path, icon, component, status  
290 -)  
291 -VALUES (  
292 - '回款管理导出', 'crm:receivable:export', 3, 5, @parentId,  
293 - '', '', '', 0  
294 - );  
295 -  
296 -  
297 --- ----------------------------  
298 --- 回款计划菜单  
299 --- ----------------------------  
300 -  
301 --- 菜单 SQL  
302 -INSERT INTO system_menu(  
303 - name, permission, type, sort, parent_id,  
304 - path, icon, component, status, component_name  
305 -)  
306 -VALUES (  
307 - '回款计划管理', '', 2, 0, 2375,  
308 - 'receivable-plan', '', 'crm/receivablePlan/index', 0, 'ReceivablePlan'  
309 - );  
310 -  
311 --- 按钮父菜单ID  
312 --- 暂时只支持 MySQL。如果你是 Oracle、PostgreSQL、SQLServer 的话,需要手动修改 @parentId 的部分的代码  
313 -SELECT @parentId := LAST_INSERT_ID();  
314 -  
315 --- 按钮 SQL  
316 -INSERT INTO system_menu(  
317 - name, permission, type, sort, parent_id,  
318 - path, icon, component, status  
319 -)  
320 -VALUES (  
321 - '回款计划查询', 'crm:receivable-plan:query', 3, 1, @parentId,  
322 - '', '', '', 0  
323 - );  
324 -INSERT INTO system_menu(  
325 - name, permission, type, sort, parent_id,  
326 - path, icon, component, status  
327 -)  
328 -VALUES (  
329 - '回款计划创建', 'crm:receivable-plan:create', 3, 2, @parentId,  
330 - '', '', '', 0  
331 - );  
332 -INSERT INTO system_menu(  
333 - name, permission, type, sort, parent_id,  
334 - path, icon, component, status  
335 -)  
336 -VALUES (  
337 - '回款计划更新', 'crm:receivable-plan:update', 3, 3, @parentId,  
338 - '', '', '', 0  
339 - );  
340 -INSERT INTO system_menu(  
341 - name, permission, type, sort, parent_id,  
342 - path, icon, component, status  
343 -)  
344 -VALUES (  
345 - '回款计划删除', 'crm:receivable-plan:delete', 3, 4, @parentId,  
346 - '', '', '', 0  
347 - );  
348 -INSERT INTO system_menu(  
349 - name, permission, type, sort, parent_id,  
350 - path, icon, component, status  
351 -)  
352 -VALUES (  
353 - '回款计划导出', 'crm:receivable-plan:export', 3, 5, @parentId,  
354 - '', '', '', 0  
355 - );  
sql/mysql/ruoyi-vue-pro.sql
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 Target Server Version : 80034 11 Target Server Version : 80034
12 File Encoding : 65001 12 File Encoding : 65001
13 13
14 - Date: 24/10/2023 20:48:38 14 + Date: 29/10/2023 19:22:42
15 */ 15 */
16 16
17 SET NAMES utf8mb4; 17 SET NAMES utf8mb4;
@@ -341,7 +341,8 @@ CREATE TABLE `infra_api_access_log` ( @@ -341,7 +341,8 @@ CREATE TABLE `infra_api_access_log` (
341 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 341 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
342 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 342 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
343 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 343 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
344 - PRIMARY KEY (`id`) USING BTREE 344 + PRIMARY KEY (`id`) USING BTREE,
  345 + INDEX `idx_create_time`(`create_time` ASC) USING BTREE
345 ) ENGINE = InnoDB AUTO_INCREMENT = 35832 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'API 访问日志表'; 346 ) ENGINE = InnoDB AUTO_INCREMENT = 35832 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'API 访问日志表';
346 347
347 -- ---------------------------- 348 -- ----------------------------
@@ -384,7 +385,7 @@ CREATE TABLE `infra_api_error_log` ( @@ -384,7 +385,7 @@ CREATE TABLE `infra_api_error_log` (
384 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 385 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
385 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 386 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
386 PRIMARY KEY (`id`) USING BTREE 387 PRIMARY KEY (`id`) USING BTREE
387 -) ENGINE = InnoDB AUTO_INCREMENT = 1745 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志'; 388 +) ENGINE = InnoDB AUTO_INCREMENT = 1750 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志';
388 389
389 -- ---------------------------- 390 -- ----------------------------
390 -- Records of infra_api_error_log 391 -- Records of infra_api_error_log
@@ -538,7 +539,7 @@ CREATE TABLE `infra_file` ( @@ -538,7 +539,7 @@ CREATE TABLE `infra_file` (
538 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 539 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
539 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 540 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
540 PRIMARY KEY (`id`) USING BTREE 541 PRIMARY KEY (`id`) USING BTREE
541 -) ENGINE = InnoDB AUTO_INCREMENT = 1108 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件表'; 542 +) ENGINE = InnoDB AUTO_INCREMENT = 1109 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件表';
542 543
543 -- ---------------------------- 544 -- ----------------------------
544 -- Records of infra_file 545 -- Records of infra_file
@@ -587,7 +588,7 @@ CREATE TABLE `infra_file_content` ( @@ -587,7 +588,7 @@ CREATE TABLE `infra_file_content` (
587 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 588 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
588 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 589 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
589 PRIMARY KEY (`id`) USING BTREE 590 PRIMARY KEY (`id`) USING BTREE
590 -) ENGINE = InnoDB AUTO_INCREMENT = 201 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件表'; 591 +) ENGINE = InnoDB AUTO_INCREMENT = 202 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '文件表';
591 592
592 -- ---------------------------- 593 -- ----------------------------
593 -- Records of infra_file_content 594 -- Records of infra_file_content
@@ -768,7 +769,7 @@ CREATE TABLE `member_experience_record` ( @@ -768,7 +769,7 @@ CREATE TABLE `member_experience_record` (
768 PRIMARY KEY (`id`) USING BTREE, 769 PRIMARY KEY (`id`) USING BTREE,
769 INDEX `idx_user_id`(`user_id` ASC) USING BTREE COMMENT '会员经验记录-用户编号', 770 INDEX `idx_user_id`(`user_id` ASC) USING BTREE COMMENT '会员经验记录-用户编号',
770 INDEX `idx_user_biz_type`(`user_id` ASC, `biz_type` ASC) USING BTREE COMMENT '会员经验记录-用户业务类型' 771 INDEX `idx_user_biz_type`(`user_id` ASC, `biz_type` ASC) USING BTREE COMMENT '会员经验记录-用户业务类型'
771 -) ENGINE = InnoDB AUTO_INCREMENT = 41 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '会员经验记录'; 772 +) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '会员经验记录';
772 773
773 -- ---------------------------- 774 -- ----------------------------
774 -- Records of member_experience_record 775 -- Records of member_experience_record
@@ -884,7 +885,7 @@ CREATE TABLE `member_level_record` ( @@ -884,7 +885,7 @@ CREATE TABLE `member_level_record` (
884 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 885 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
885 PRIMARY KEY (`id`) USING BTREE, 886 PRIMARY KEY (`id`) USING BTREE,
886 INDEX `idx_user_id`(`user_id` ASC) USING BTREE COMMENT '会员等级记录-用户编号' 887 INDEX `idx_user_id`(`user_id` ASC) USING BTREE COMMENT '会员等级记录-用户编号'
887 -) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '会员等级记录'; 888 +) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '会员等级记录';
888 889
889 -- ---------------------------- 890 -- ----------------------------
890 -- Records of member_level_record 891 -- Records of member_level_record
@@ -914,7 +915,7 @@ CREATE TABLE `member_point_record` ( @@ -914,7 +915,7 @@ CREATE TABLE `member_point_record` (
914 PRIMARY KEY (`id`) USING BTREE, 915 PRIMARY KEY (`id`) USING BTREE,
915 INDEX `index_userId`(`user_id` ASC) USING BTREE, 916 INDEX `index_userId`(`user_id` ASC) USING BTREE,
916 INDEX `index_title`(`title` ASC) USING BTREE 917 INDEX `index_title`(`title` ASC) USING BTREE
917 -) ENGINE = InnoDB AUTO_INCREMENT = 60 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户积分记录'; 918 +) ENGINE = InnoDB AUTO_INCREMENT = 61 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户积分记录';
918 919
919 -- ---------------------------- 920 -- ----------------------------
920 -- Records of member_point_record 921 -- Records of member_point_record
@@ -1434,6 +1435,39 @@ INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `st @@ -1434,6 +1435,39 @@ INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `st
1434 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1395, 22, '订单积分奖励(整单取消)', '22', 'member_point_biz_type', 0, 'default', '', '', '1', '2023-10-11 07:42:55', '1', '2023-10-11 07:43:01', b'0'); 1435 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1395, 22, '订单积分奖励(整单取消)', '22', 'member_point_biz_type', 0, 'default', '', '', '1', '2023-10-11 07:42:55', '1', '2023-10-11 07:43:01', b'0');
1435 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1396, 23, '订单积分奖励(单个退款)', '23', 'member_point_biz_type', 0, 'default', '', '', '1', '2023-10-11 07:43:16', '1', '2023-10-11 07:43:16', b'0'); 1436 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1396, 23, '订单积分奖励(单个退款)', '23', 'member_point_biz_type', 0, 'default', '', '', '1', '2023-10-11 07:43:16', '1', '2023-10-11 07:43:16', b'0');
1436 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1397, 13, '下单奖励(单个退款)', '13', 'member_experience_biz_type', 0, 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', b'0'); 1437 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1397, 13, '下单奖励(单个退款)', '13', 'member_experience_biz_type', 0, 'warning', '', '', '1', '2023-10-11 07:45:24', '1', '2023-10-11 07:45:38', b'0');
  1438 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1402, 1, 'A 农、林、牧、渔业', '1', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:02:15', '1', '2023-10-28 23:02:15', b'0');
  1439 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1403, 2, 'B 采矿业', '2', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:02:29', '1', '2023-10-28 23:02:29', b'0');
  1440 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1404, 3, 'C 制造业', '3', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:02:41', '1', '2023-10-28 23:02:41', b'0');
  1441 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1405, 4, 'D 电力、热力、燃气及水生产和供应业', '4', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:02:54', '1', '2023-10-28 23:02:54', b'0');
  1442 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1406, 5, 'E 建筑业', '5', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:03:03', '1', '2023-10-28 23:03:03', b'0');
  1443 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1407, 6, 'F 批发和零售业', '6', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:03:13', '1', '2023-10-28 23:03:13', b'0');
  1444 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1408, 7, 'G 交通运输、仓储和邮政业', '7', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:03:27', '1', '2023-10-28 23:03:27', b'0');
  1445 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1409, 8, 'H 住宿和餐饮业', '8', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:03:37', '1', '2023-10-28 23:03:37', b'0');
  1446 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1410, 9, 'I 信息传输、软件和信息技术服务业', '9', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:03:47', '1', '2023-10-28 23:03:47', b'0');
  1447 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1411, 10, 'J 金融业', '10', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:03:57', '1', '2023-10-28 23:03:57', b'0');
  1448 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1412, 11, 'K 房地产业', '11', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:04:15', '1', '2023-10-28 23:04:22', b'0');
  1449 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1413, 12, 'L 租赁和商务服务业', '12', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:04:33', '1', '2023-10-28 23:04:33', b'0');
  1450 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1414, 13, 'M 科学研究和技术服务业', '13', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:04:43', '1', '2023-10-28 23:04:43', b'0');
  1451 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1415, 14, 'N 水利、环境和公共设施管理业', '14', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:04:53', '1', '2023-10-28 23:04:53', b'0');
  1452 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1416, 15, 'O 居民服务、修理和其他服务业', '15', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:05:05', '1', '2023-10-28 23:05:05', b'0');
  1453 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1417, 16, 'P 教育', '16', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:05:15', '1', '2023-10-28 23:05:15', b'0');
  1454 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1418, 17, 'Q 卫生和社会工作', '17', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:05:44', '1', '2023-10-28 23:05:44', b'0');
  1455 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1419, 18, 'R 文化、体育和娱乐业', '18', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:05:55', '1', '2023-10-28 23:05:55', b'0');
  1456 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1420, 19, 'S 公共管理、社会保障和社会组织', '19', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:06:05', '1', '2023-10-28 23:06:05', b'0');
  1457 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1421, 20, 'T 国际组织', '20', 'crm_customer_industry', 0, 'default', '', '', '1', '2023-10-28 23:06:15', '1', '2023-10-28 23:06:15', b'0');
  1458 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1422, 1, 'A (重点客户)', '1', 'crm_customer_level', 0, 'primary', '', '', '1', '2023-10-28 23:07:13', '1', '2023-10-28 23:07:13', b'0');
  1459 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1423, 2, 'B (普通客户)', '2', 'crm_customer_level', 0, 'info', '', '', '1', '2023-10-28 23:07:35', '1', '2023-10-28 23:07:35', b'0');
  1460 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1424, 3, 'C (非优先客户)', '3', 'crm_customer_level', 0, 'default', '', '', '1', '2023-10-28 23:07:53', '1', '2023-10-28 23:07:53', b'0');
  1461 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1425, 1, '促销', '1', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:08:29', '1', '2023-10-28 23:08:29', b'0');
  1462 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1426, 2, '搜索引擎', '2', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:08:39', '1', '2023-10-28 23:08:39', b'0');
  1463 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1427, 3, '广告', '3', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:08:47', '1', '2023-10-28 23:08:47', b'0');
  1464 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1428, 4, '转介绍', '4', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:08:58', '1', '2023-10-28 23:08:58', b'0');
  1465 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1429, 5, '线上注册', '5', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:09:12', '1', '2023-10-28 23:09:12', b'0');
  1466 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1430, 6, '线上咨询', '6', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:09:22', '1', '2023-10-28 23:09:22', b'0');
  1467 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1431, 7, '预约上门', '7', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:09:39', '1', '2023-10-28 23:09:39', b'0');
  1468 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1432, 8, '陌拜', '8', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:10:04', '1', '2023-10-28 23:10:04', b'0');
  1469 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1433, 9, '电话咨询', '9', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:10:18', '1', '2023-10-28 23:10:18', b'0');
  1470 +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1434, 10, '邮件咨询', '10', 'crm_customer_source', 0, 'default', '', '', '1', '2023-10-28 23:10:33', '1', '2023-10-28 23:10:33', b'0');
1437 COMMIT; 1471 COMMIT;
1438 1472
1439 -- ---------------------------- 1473 -- ----------------------------
@@ -1454,7 +1488,7 @@ CREATE TABLE `system_dict_type` ( @@ -1454,7 +1488,7 @@ CREATE TABLE `system_dict_type` (
1454 `deleted_time` datetime NULL DEFAULT NULL COMMENT '删除时间', 1488 `deleted_time` datetime NULL DEFAULT NULL COMMENT '删除时间',
1455 PRIMARY KEY (`id`) USING BTREE, 1489 PRIMARY KEY (`id`) USING BTREE,
1456 UNIQUE INDEX `dict_type`(`type` ASC) USING BTREE 1490 UNIQUE INDEX `dict_type`(`type` ASC) USING BTREE
1457 -) ENGINE = InnoDB AUTO_INCREMENT = 185 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表'; 1491 +) ENGINE = InnoDB AUTO_INCREMENT = 601 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表';
1458 1492
1459 -- ---------------------------- 1493 -- ----------------------------
1460 -- Records of system_dict_type 1494 -- Records of system_dict_type
@@ -1528,6 +1562,9 @@ INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creat @@ -1528,6 +1562,9 @@ INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creat
1528 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (182, '佣金提现银行', 'brokerage_bank_name', 0, NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', b'0', NULL); 1562 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (182, '佣金提现银行', 'brokerage_bank_name', 0, NULL, '', '2023-09-28 02:46:05', '', '2023-09-28 02:46:05', b'0', NULL);
1529 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (183, '砍价记录的状态', 'promotion_bargain_record_status', 0, '', '1', '2023-10-05 10:41:08', '1', '2023-10-05 10:41:08', b'0', '1970-01-01 00:00:00'); 1563 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (183, '砍价记录的状态', 'promotion_bargain_record_status', 0, '', '1', '2023-10-05 10:41:08', '1', '2023-10-05 10:41:08', b'0', '1970-01-01 00:00:00');
1530 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (184, '拼团记录的状态', 'promotion_combination_record_status', 0, '', '1', '2023-10-08 07:24:25', '1', '2023-10-08 07:24:25', b'0', '1970-01-01 00:00:00'); 1564 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (184, '拼团记录的状态', 'promotion_combination_record_status', 0, '', '1', '2023-10-08 07:24:25', '1', '2023-10-08 07:24:25', b'0', '1970-01-01 00:00:00');
  1565 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (186, '客户所属行业', 'crm_customer_industry', 0, 'CRM 客户所属行业', '1', '2023-10-28 22:57:07', '1', '2023-10-28 15:11:16', b'0', NULL);
  1566 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (187, '客户等级', 'crm_customer_level', 0, 'CRM 客户等级', '1', '2023-10-28 22:59:12', '1', '2023-10-28 15:11:16', b'0', NULL);
  1567 +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (188, '客户来源', 'crm_customer_source', 0, 'CRM 客户来源', '1', '2023-10-28 23:00:34', '1', '2023-10-28 15:11:16', b'0', NULL);
1531 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (600, 'Banner Position', 'promotion_banner_position', 0, '', '1', '2023-10-08 07:24:25', '1', '2023-10-08 07:24:25', b'0', '1970-01-01 00:00:00'); 1568 INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (600, 'Banner Position', 'promotion_banner_position', 0, '', '1', '2023-10-08 07:24:25', '1', '2023-10-08 07:24:25', b'0', '1970-01-01 00:00:00');
1532 COMMIT; 1569 COMMIT;
1533 1570
@@ -1577,7 +1614,7 @@ CREATE TABLE `system_login_log` ( @@ -1577,7 +1614,7 @@ CREATE TABLE `system_login_log` (
1577 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 1614 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1578 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 1615 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1579 PRIMARY KEY (`id`) USING BTREE 1616 PRIMARY KEY (`id`) USING BTREE
1580 -) ENGINE = InnoDB AUTO_INCREMENT = 2620 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录'; 1617 +) ENGINE = InnoDB AUTO_INCREMENT = 2626 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录';
1581 1618
1582 -- ---------------------------- 1619 -- ----------------------------
1583 -- Records of system_login_log 1620 -- Records of system_login_log
@@ -2203,6 +2240,49 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i @@ -2203,6 +2240,49 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
2203 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2388, '商城首页', '', 2, 1, 2362, 'home', 'ep:home-filled', 'mall/home/index', 'MallHome', 0, b'1', b'1', b'1', '', '2023-10-16 12:10:33', '', '2023-10-16 12:10:33', b'0'); 2240 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2388, '商城首页', '', 2, 1, 2362, 'home', 'ep:home-filled', 'mall/home/index', 'MallHome', 0, b'1', b'1', b'1', '', '2023-10-16 12:10:33', '', '2023-10-16 12:10:33', b'0');
2204 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2389, '核销订单', '', 2, 2, 2166, 'pick-up-order', 'ep:list', 'mall/trade/delivery/pickUpOrder/index', 'PickUpOrder', 0, b'1', b'1', b'1', '', '2023-10-19 16:09:51', '', '2023-10-19 16:09:51', b'0'); 2241 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2389, '核销订单', '', 2, 2, 2166, 'pick-up-order', 'ep:list', 'mall/trade/delivery/pickUpOrder/index', 'PickUpOrder', 0, b'1', b'1', b'1', '', '2023-10-19 16:09:51', '', '2023-10-19 16:09:51', b'0');
2205 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2390, '优惠活动', '', 1, 99, 2030, 'youhui', 'ep:aim', '', '', 0, b'1', b'1', b'1', '1', '2023-10-21 19:23:49', '1', '2023-10-21 19:23:49', b'0'); 2242 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2390, '优惠活动', '', 1, 99, 2030, 'youhui', 'ep:aim', '', '', 0, b'1', b'1', b'1', '1', '2023-10-21 19:23:49', '1', '2023-10-21 19:23:49', b'0');
  2243 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2391, '客户管理', '', 2, 0, 2397, 'customer', 'fa:address-book-o', 'crm/customer/index', 'CrmCustomer', 0, b'1', b'1', b'1', '', '2023-10-29 09:04:21', '1', '2023-10-29 17:11:03', b'0');
  2244 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2392, '客户查询', 'crm:customer:query', 3, 1, 2391, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 09:04:21', '', '2023-10-29 09:04:21', b'0');
  2245 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2393, '客户创建', 'crm:customer:create', 3, 2, 2391, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 09:04:21', '', '2023-10-29 09:04:21', b'0');
  2246 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2394, '客户更新', 'crm:customer:update', 3, 3, 2391, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 09:04:21', '', '2023-10-29 09:04:21', b'0');
  2247 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2395, '客户删除', 'crm:customer:delete', 3, 4, 2391, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 09:04:21', '', '2023-10-29 09:04:21', b'0');
  2248 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2396, '客户导出', 'crm:customer:export', 3, 5, 2391, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 09:04:21', '', '2023-10-29 09:04:21', b'0');
  2249 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2397, '客户管理系统', '', 1, 200, 0, '/crm', 'ep:avatar', '', '', 0, b'1', b'1', b'1', '1', '2023-10-29 17:08:30', '1', '2023-10-29 17:08:30', b'0');
  2250 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2398, '合同管理', '', 2, 1, 2397, 'contract', 'ep:notebook', 'crm/contract/index', 'CrmContract', 0, b'1', b'1', b'1', '', '2023-10-29 10:50:41', '1', '2023-10-29 18:55:53', b'0');
  2251 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2399, '合同查询', 'crm:contract:query', 3, 1, 2398, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 10:50:41', '', '2023-10-29 10:50:41', b'0');
  2252 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2400, '合同创建', 'crm:contract:create', 3, 2, 2398, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 10:50:41', '', '2023-10-29 10:50:41', b'0');
  2253 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2401, '合同更新', 'crm:contract:update', 3, 3, 2398, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 10:50:41', '', '2023-10-29 10:50:41', b'0');
  2254 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2402, '合同删除', 'crm:contract:delete', 3, 4, 2398, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 10:50:41', '', '2023-10-29 10:50:41', b'0');
  2255 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2403, '合同导出', 'crm:contract:export', 3, 5, 2398, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 10:50:41', '', '2023-10-29 10:50:41', b'0');
  2256 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2404, '线索管理', '', 2, 0, 2397, 'clue', 'fa:pagelines', 'crm/clue/index', 'CrmClue', 0, b'1', b'1', b'1', '', '2023-10-29 11:06:29', '1', '2023-10-29 19:08:35', b'0');
  2257 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2405, '线索查询', 'crm:clue:query', 3, 1, 2404, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:06:29', '', '2023-10-29 11:06:29', b'0');
  2258 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2406, '线索创建', 'crm:clue:create', 3, 2, 2404, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:06:29', '', '2023-10-29 11:06:29', b'0');
  2259 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2407, '线索更新', 'crm:clue:update', 3, 3, 2404, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:06:29', '', '2023-10-29 11:06:29', b'0');
  2260 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2408, '线索删除', 'crm:clue:delete', 3, 4, 2404, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:06:29', '', '2023-10-29 11:06:29', b'0');
  2261 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2409, '线索导出', 'crm:clue:export', 3, 5, 2404, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:06:29', '', '2023-10-29 11:06:29', b'0');
  2262 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2410, '商机管理', '', 2, 0, 2397, 'business', 'fa:bus', 'crm/business/index', 'CrmBusiness', 0, b'1', b'1', b'1', '', '2023-10-29 11:12:35', '1', '2023-10-29 19:13:01', b'0');
  2263 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2411, '商机查询', 'crm:business:query', 3, 1, 2410, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:12:35', '', '2023-10-29 11:12:35', b'0');
  2264 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2412, '商机创建', 'crm:business:create', 3, 2, 2410, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:12:35', '', '2023-10-29 11:12:35', b'0');
  2265 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2413, '商机更新', 'crm:business:update', 3, 3, 2410, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:12:35', '', '2023-10-29 11:12:35', b'0');
  2266 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2414, '商机删除', 'crm:business:delete', 3, 4, 2410, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:12:35', '', '2023-10-29 11:12:35', b'0');
  2267 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2415, '商机导出', 'crm:business:export', 3, 5, 2410, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:12:35', '', '2023-10-29 11:12:35', b'0');
  2268 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2416, '联系人管理', '', 2, 0, 2397, 'contact', 'fa:address-book-o', 'crm/contact/index', 'Contact', 0, b'1', b'1', b'1', '', '2023-10-29 11:14:56', '1', '2023-10-29 19:15:32', b'0');
  2269 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2417, '联系人查询', 'crm:contact:query', 3, 1, 2416, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:14:56', '', '2023-10-29 11:14:56', b'0');
  2270 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2418, '联系人创建', 'crm:contact:create', 3, 2, 2416, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:14:56', '', '2023-10-29 11:14:56', b'0');
  2271 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2419, '联系人更新', 'crm:contact:update', 3, 3, 2416, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:14:56', '', '2023-10-29 11:14:56', b'0');
  2272 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2420, '联系人删除', 'crm:contact:delete', 3, 4, 2416, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:14:56', '', '2023-10-29 11:14:56', b'0');
  2273 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2421, '联系人导出', 'crm:contact:export', 3, 5, 2416, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:14:56', '', '2023-10-29 11:14:56', b'0');
  2274 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2422, '回款管理', '', 2, 0, 2397, 'receivable', 'ep:money', 'crm/receivable/index', 'CrmReceivable', 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '1', '2023-10-29 19:18:52', b'0');
  2275 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2423, '回款管理查询', 'crm:receivable:query', 3, 1, 2422, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2276 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2424, '回款管理创建', 'crm:receivable:create', 3, 2, 2422, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2277 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2425, '回款管理更新', 'crm:receivable:update', 3, 3, 2422, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2278 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2426, '回款管理删除', 'crm:receivable:delete', 3, 4, 2422, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2279 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2427, '回款管理导出', 'crm:receivable:export', 3, 5, 2422, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2280 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2428, '回款计划管理', '', 2, 0, 2397, 'receivable-plan', 'fa:money', 'crm/receivablePlan/index', 'CrmReceivablePlan', 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '1', '2023-10-29 19:19:08', b'0');
  2281 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2429, '回款计划查询', 'crm:receivable-plan:query', 3, 1, 2428, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2282 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2430, '回款计划创建', 'crm:receivable-plan:create', 3, 2, 2428, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2283 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2431, '回款计划更新', 'crm:receivable-plan:update', 3, 3, 2428, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2284 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2432, '回款计划删除', 'crm:receivable-plan:delete', 3, 4, 2428, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
  2285 +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2433, '回款计划导出', 'crm:receivable-plan:export', 3, 5, 2428, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-10-29 11:18:09', '', '2023-10-29 11:18:09', b'0');
2206 COMMIT; 2286 COMMIT;
2207 2287
2208 -- ---------------------------- 2288 -- ----------------------------
@@ -2320,8 +2400,10 @@ CREATE TABLE `system_oauth2_access_token` ( @@ -2320,8 +2400,10 @@ CREATE TABLE `system_oauth2_access_token` (
2320 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 2400 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
2321 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2401 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2322 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2402 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2323 - PRIMARY KEY (`id`) USING BTREE  
2324 -) ENGINE = InnoDB AUTO_INCREMENT = 3130 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 访问令牌'; 2403 + PRIMARY KEY (`id`) USING BTREE,
  2404 + INDEX `idx_access_token`(`access_token` ASC) USING BTREE,
  2405 + INDEX `idx_refresh_token`(`refresh_token` ASC) USING BTREE
  2406 +) ENGINE = InnoDB AUTO_INCREMENT = 3137 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 访问令牌';
2325 2407
2326 -- ---------------------------- 2408 -- ----------------------------
2327 -- Records of system_oauth2_access_token 2409 -- Records of system_oauth2_access_token
@@ -2443,7 +2525,7 @@ CREATE TABLE `system_oauth2_refresh_token` ( @@ -2443,7 +2525,7 @@ CREATE TABLE `system_oauth2_refresh_token` (
2443 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2525 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2444 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2526 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2445 PRIMARY KEY (`id`) USING BTREE 2527 PRIMARY KEY (`id`) USING BTREE
2446 -) ENGINE = InnoDB AUTO_INCREMENT = 1089 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 刷新令牌'; 2528 +) ENGINE = InnoDB AUTO_INCREMENT = 1094 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 刷新令牌';
2447 2529
2448 -- ---------------------------- 2530 -- ----------------------------
2449 -- Records of system_oauth2_refresh_token 2531 -- Records of system_oauth2_refresh_token
@@ -2483,7 +2565,7 @@ CREATE TABLE `system_operate_log` ( @@ -2483,7 +2565,7 @@ CREATE TABLE `system_operate_log` (
2483 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', 2565 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2484 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', 2566 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2485 PRIMARY KEY (`id`) USING BTREE 2567 PRIMARY KEY (`id`) USING BTREE
2486 -) ENGINE = InnoDB AUTO_INCREMENT = 8757 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录'; 2568 +) ENGINE = InnoDB AUTO_INCREMENT = 8766 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录';
2487 2569
2488 -- ---------------------------- 2570 -- ----------------------------
2489 -- Records of system_operate_log 2571 -- Records of system_operate_log
@@ -3834,7 +3916,7 @@ CREATE TABLE `system_users` ( @@ -3834,7 +3916,7 @@ CREATE TABLE `system_users` (
3834 -- Records of system_users 3916 -- Records of system_users
3835 -- ---------------------------- 3917 -- ----------------------------
3836 BEGIN; 3918 BEGIN;
3837 -INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://127.0.0.1:48080/admin-api/infra/file/4/get/37e56010ecbee472cdd821ac4b608e151e62a74d9633f15d085aee026eedeb60.png', 0, '0:0:0:0:0:0:0:1', '2023-10-24 20:20:54', 'admin', '2021-01-05 17:03:47', NULL, '2023-10-24 20:20:54', b'0', 1); 3919 +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://127.0.0.1:48080/admin-api/infra/file/4/get/37e56010ecbee472cdd821ac4b608e151e62a74d9633f15d085aee026eedeb60.png', 0, '0:0:0:0:0:0:0:1', '2023-10-29 17:06:12', 'admin', '2021-01-05 17:03:47', NULL, '2023-10-29 17:06:12', b'0', 1);
3838 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', 104, '[1]', 'yudao@iocoder.cn', '15601691300', 1, '', 1, '127.0.0.1', '2022-07-09 23:03:33', '', '2021-01-07 09:07:17', NULL, '2022-07-09 23:03:33', b'0', 1); 3920 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', 104, '[1]', 'yudao@iocoder.cn', '15601691300', 1, '', 1, '127.0.0.1', '2022-07-09 23:03:33', '', '2021-01-07 09:07:17', NULL, '2022-07-09 23:03:33', b'0', 1);
3839 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, 'yuanma', '$2a$10$YMpimV4T6BtDhIaA8jSW.u8UTGBeGhc/qwXP4oxoMr4mOw9.qttt6', '源码', NULL, 106, NULL, 'yuanma@iocoder.cn', '15601701300', 0, '', 0, '127.0.0.1', '2022-07-08 01:26:27', '', '2021-01-13 23:50:35', NULL, '2022-07-08 01:26:27', b'0', 1); 3921 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, 'yuanma', '$2a$10$YMpimV4T6BtDhIaA8jSW.u8UTGBeGhc/qwXP4oxoMr4mOw9.qttt6', '源码', NULL, 106, NULL, 'yuanma@iocoder.cn', '15601701300', 0, '', 0, '127.0.0.1', '2022-07-08 01:26:27', '', '2021-01-13 23:50:35', NULL, '2022-07-08 01:26:27', b'0', 1);
3840 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, 'test', '$2a$10$GP8zvqHB//TekuzYZSBYAuBQJiNq1.fxQVDYJ.uBCOnWCtDVKE4H6', '测试号', NULL, 107, '[1,2]', '111@qq.com', '15601691200', 1, '', 0, '0:0:0:0:0:0:0:1', '2023-09-24 18:21:19', '', '2021-01-21 02:13:53', NULL, '2023-09-24 18:21:19', b'0', 1); 3922 INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, 'test', '$2a$10$GP8zvqHB//TekuzYZSBYAuBQJiNq1.fxQVDYJ.uBCOnWCtDVKE4H6', '测试号', NULL, 107, '[1,2]', '111@qq.com', '15601691200', 1, '', 0, '0:0:0:0:0:0:0:1', '2023-09-24 18:21:19', '', '2021-01-21 02:13:53', NULL, '2023-09-24 18:21:19', b'0', 1);
yudao-module-crm/yudao-module-crm-api/src/main/java/cn/iocoder/yudao/module/crm/enums/ErrorCodeConstants.java
@@ -11,7 +11,7 @@ public interface ErrorCodeConstants { @@ -11,7 +11,7 @@ public interface ErrorCodeConstants {
11 11
12 // ========== 合同管理 1-020-000-000 ========== 12 // ========== 合同管理 1-020-000-000 ==========
13 ErrorCode CONTRACT_NOT_EXISTS = new ErrorCode(1_020_000_000, "合同不存在"); 13 ErrorCode CONTRACT_NOT_EXISTS = new ErrorCode(1_020_000_000, "合同不存在");
14 - ErrorCode CONTRACT_TRANSFER_FAIL_PERMISSION_DENIED = new ErrorCode(1_020_000_001, "合同转移失败,原因:没有转移权限"); 14 + ErrorCode CONTRACT_TRANSFER_FAIL_PERMISSION_DENIED = new ErrorCode(1_020_000_001, "合同转移失败,原因:没有转移权限"); // TODO @puhui999:这个搞成 “合同操作失败,原因:没有权限”
15 ErrorCode CONTRACT_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_000_002, "合同转移失败,原因:负责人不存在"); 15 ErrorCode CONTRACT_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_000_002, "合同转移失败,原因:负责人不存在");
16 16
17 // ========== 线索管理 1-020-001-000 ========== 17 // ========== 线索管理 1-020-001-000 ==========
@@ -19,7 +19,7 @@ public interface ErrorCodeConstants { @@ -19,7 +19,7 @@ public interface ErrorCodeConstants {
19 19
20 // ========== 商机管理 1-020-002-000 ========== 20 // ========== 商机管理 1-020-002-000 ==========
21 ErrorCode BUSINESS_NOT_EXISTS = new ErrorCode(1_020_002_000, "商机不存在"); 21 ErrorCode BUSINESS_NOT_EXISTS = new ErrorCode(1_020_002_000, "商机不存在");
22 - ErrorCode BUSINESS_TRANSFER_FAIL_PERMISSION_DENIED = new ErrorCode(1_020_002_001, "商机转移失败,原因:没有转移权限"); 22 + ErrorCode BUSINESS_TRANSFER_FAIL_PERMISSION_DENIED = new ErrorCode(1_020_002_001, "商机转移失败,原因:没有转移权限"); // TODO @puhui999:这个搞成 “商机操作失败,原因:没有权限”
23 ErrorCode BUSINESS_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_002_002, "商机转移失败,原因:负责人不存在"); 23 ErrorCode BUSINESS_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_002_002, "商机转移失败,原因:负责人不存在");
24 24
25 // TODO @lilleo:商机状态、商机类型,都单独错误码段 25 // TODO @lilleo:商机状态、商机类型,都单独错误码段
@@ -29,7 +29,7 @@ public interface ErrorCodeConstants { @@ -29,7 +29,7 @@ public interface ErrorCodeConstants {
29 29
30 // ========== 联系人管理 1-020-003-000 ========== 30 // ========== 联系人管理 1-020-003-000 ==========
31 ErrorCode CONTACT_NOT_EXISTS = new ErrorCode(1_020_003_000, "联系人不存在"); 31 ErrorCode CONTACT_NOT_EXISTS = new ErrorCode(1_020_003_000, "联系人不存在");
32 - ErrorCode CONTACT_TRANSFER_FAIL_PERMISSION_DENIED = new ErrorCode(1_020_003_001, "联系人转移失败,原因:没有转移权限"); 32 + ErrorCode CONTACT_TRANSFER_FAIL_PERMISSION_DENIED = new ErrorCode(1_020_003_001, "联系人转移失败,原因:没有转移权限"); // TODO @puhui999:这个搞成 “联系人操作失败,原因:没有权限”
33 ErrorCode CONTACT_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_003_002, "联系人转移失败,原因:负责人不存在"); 33 ErrorCode CONTACT_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_003_002, "联系人转移失败,原因:负责人不存在");
34 34
35 // ========== 回款管理 1-020-004-000 ========== 35 // ========== 回款管理 1-020-004-000 ==========
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/vo/CrmBusinessCreateReqVO.java
@@ -5,21 +5,12 @@ import lombok.Data; @@ -5,21 +5,12 @@ import lombok.Data;
5 import lombok.EqualsAndHashCode; 5 import lombok.EqualsAndHashCode;
6 import lombok.ToString; 6 import lombok.ToString;
7 7
8 -import java.util.Set;  
9 -  
10 @Schema(description = "管理后台 - 商机创建 Request VO") 8 @Schema(description = "管理后台 - 商机创建 Request VO")
11 @Data 9 @Data
12 @EqualsAndHashCode(callSuper = true) 10 @EqualsAndHashCode(callSuper = true)
13 @ToString(callSuper = true) 11 @ToString(callSuper = true)
14 public class CrmBusinessCreateReqVO extends CrmBusinessBaseVO { 12 public class CrmBusinessCreateReqVO extends CrmBusinessBaseVO {
15 13
16 - @Schema(description = "只读权限的用户编号数组")  
17 - private Set<Long> roUserIds;  
18 -  
19 - @Schema(description = "读写权限的用户编号数组")  
20 - private Set<Long> rwUserIds;  
21 -  
22 -  
23 // TODO @ljileo:新建的时候,应该可以传递添加的产品; 14 // TODO @ljileo:新建的时候,应该可以传递添加的产品;
24 15
25 } 16 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/vo/CrmBusinessExcelVO.java
1 package cn.iocoder.yudao.module.crm.controller.admin.business.vo; 1 package cn.iocoder.yudao.module.crm.controller.admin.business.vo;
2 2
3 -import io.swagger.v3.oas.annotations.media.Schema;  
4 -import lombok.*;  
5 -import java.util.*;  
6 -import java.time.LocalDateTime;  
7 -import java.time.LocalDateTime;  
8 -import java.math.BigDecimal;  
9 -import java.math.BigDecimal; 3 +import com.alibaba.excel.annotation.ExcelProperty;
  4 +import lombok.Data;
  5 +
10 import java.math.BigDecimal; 6 import java.math.BigDecimal;
11 import java.time.LocalDateTime; 7 import java.time.LocalDateTime;
12 -import java.time.LocalDateTime;  
13 -import java.time.LocalDateTime;  
14 -  
15 -import com.alibaba.excel.annotation.ExcelProperty; 8 +import java.util.Set;
16 9
17 /** 10 /**
18 * 商机 Excel VO 11 * 商机 Excel VO
@@ -62,10 +55,10 @@ public class CrmBusinessExcelVO { @@ -62,10 +55,10 @@ public class CrmBusinessExcelVO {
62 private LocalDateTime createTime; 55 private LocalDateTime createTime;
63 56
64 @ExcelProperty("只读权限的用户编号数组") 57 @ExcelProperty("只读权限的用户编号数组")
65 - private String roUserIds; 58 + private Set<Long> roUserIds;
66 59
67 @ExcelProperty("读写权限的用户编号数组") 60 @ExcelProperty("读写权限的用户编号数组")
68 - private String rwUserIds; 61 + private Set<Long> rwUserIds;
69 62
70 @ExcelProperty("1赢单2输单3无效") 63 @ExcelProperty("1赢单2输单3无效")
71 private Integer endStatus; 64 private Integer endStatus;
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/vo/CrmBusinessTransferReqVO.java
@@ -15,6 +15,6 @@ public class CrmBusinessTransferReqVO { @@ -15,6 +15,6 @@ public class CrmBusinessTransferReqVO {
15 15
16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430") 16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430")
17 @NotNull(message = "新负责人的用户编号不能为空") 17 @NotNull(message = "新负责人的用户编号不能为空")
18 - private Long ownerUserId; // 新的负责人 18 + private Long ownerUserId;
19 19
20 } 20 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/vo/CrmBusinessUpdateReqVO.java
@@ -6,7 +6,6 @@ import lombok.EqualsAndHashCode; @@ -6,7 +6,6 @@ import lombok.EqualsAndHashCode;
6 import lombok.ToString; 6 import lombok.ToString;
7 7
8 import javax.validation.constraints.NotNull; 8 import javax.validation.constraints.NotNull;
9 -import java.util.Set;  
10 9
11 @Schema(description = "管理后台 - 商机更新 Request VO") 10 @Schema(description = "管理后台 - 商机更新 Request VO")
12 @Data 11 @Data
@@ -18,13 +17,6 @@ public class CrmBusinessUpdateReqVO extends CrmBusinessBaseVO { @@ -18,13 +17,6 @@ public class CrmBusinessUpdateReqVO extends CrmBusinessBaseVO {
18 @NotNull(message = "主键不能为空") 17 @NotNull(message = "主键不能为空")
19 private Long id; 18 private Long id;
20 19
21 - @Schema(description = "只读权限的用户编号数组")  
22 - private Set<Long> roUserIds;  
23 -  
24 - @Schema(description = "读写权限的用户编号数组")  
25 - private Set<Long> rwUserIds;  
26 -  
27 -  
28 // TODO @ljileo:修改的时候,应该可以传递添加的产品; 20 // TODO @ljileo:修改的时候,应该可以传递添加的产品;
29 21
30 } 22 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contact/vo/ContactUpdateReqVO.java
@@ -5,8 +5,6 @@ import lombok.Data; @@ -5,8 +5,6 @@ import lombok.Data;
5 import lombok.EqualsAndHashCode; 5 import lombok.EqualsAndHashCode;
6 import lombok.ToString; 6 import lombok.ToString;
7 7
8 -import java.util.Set;  
9 -  
10 @Schema(description = "管理后台 - crm联系人更新 Request VO") 8 @Schema(description = "管理后台 - crm联系人更新 Request VO")
11 @Data 9 @Data
12 @EqualsAndHashCode(callSuper = true) 10 @EqualsAndHashCode(callSuper = true)
@@ -16,10 +14,4 @@ public class ContactUpdateReqVO extends ContactBaseVO { @@ -16,10 +14,4 @@ public class ContactUpdateReqVO extends ContactBaseVO {
16 @Schema(description = "主键", example = "23210") 14 @Schema(description = "主键", example = "23210")
17 private Long id; 15 private Long id;
18 16
19 - @Schema(description = "只读权限的用户编号数组")  
20 - private Set<Long> roUserIds;  
21 -  
22 - @Schema(description = "读写权限的用户编号数组")  
23 - private Set<Long> rwUserIds;  
24 -  
25 } 17 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contact/vo/CrmContactTransferReqVO.java
@@ -15,6 +15,6 @@ public class CrmContactTransferReqVO { @@ -15,6 +15,6 @@ public class CrmContactTransferReqVO {
15 15
16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430") 16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430")
17 @NotNull(message = "新负责人的用户编号不能为空") 17 @NotNull(message = "新负责人的用户编号不能为空")
18 - private Long ownerUserId; // 新的负责人 18 + private Long ownerUserId;
19 19
20 } 20 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contract/ContractController.java
@@ -95,5 +95,4 @@ public class ContractController { @@ -95,5 +95,4 @@ public class ContractController {
95 return success(true); 95 return success(true);
96 } 96 }
97 97
98 -  
99 } 98 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contract/vo/ContractCreateReqVO.java
@@ -5,18 +5,10 @@ import lombok.Data; @@ -5,18 +5,10 @@ import lombok.Data;
5 import lombok.EqualsAndHashCode; 5 import lombok.EqualsAndHashCode;
6 import lombok.ToString; 6 import lombok.ToString;
7 7
8 -import java.util.Set;  
9 -  
10 @Schema(description = "管理后台 - 合同创建 Request VO") 8 @Schema(description = "管理后台 - 合同创建 Request VO")
11 @Data 9 @Data
12 @EqualsAndHashCode(callSuper = true) 10 @EqualsAndHashCode(callSuper = true)
13 @ToString(callSuper = true) 11 @ToString(callSuper = true)
14 public class ContractCreateReqVO extends ContractBaseVO { 12 public class ContractCreateReqVO extends ContractBaseVO {
15 13
16 - @Schema(description = "只读权限的用户编号数组")  
17 - private Set<Long> roUserIds;  
18 -  
19 - @Schema(description = "读写权限的用户编号数组")  
20 - private Set<Long> rwUserIds;  
21 -  
22 } 14 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contract/vo/ContractUpdateReqVO.java
@@ -6,7 +6,6 @@ import lombok.EqualsAndHashCode; @@ -6,7 +6,6 @@ import lombok.EqualsAndHashCode;
6 import lombok.ToString; 6 import lombok.ToString;
7 7
8 import javax.validation.constraints.NotNull; 8 import javax.validation.constraints.NotNull;
9 -import java.util.Set;  
10 9
11 @Schema(description = "管理后台 - 合同更新 Request VO") 10 @Schema(description = "管理后台 - 合同更新 Request VO")
12 @Data 11 @Data
@@ -18,10 +17,4 @@ public class ContractUpdateReqVO extends ContractBaseVO { @@ -18,10 +17,4 @@ public class ContractUpdateReqVO extends ContractBaseVO {
18 @NotNull(message = "合同编号不能为空") 17 @NotNull(message = "合同编号不能为空")
19 private Long id; 18 private Long id;
20 19
21 - @Schema(description = "只读权限的用户编号数组")  
22 - private Set<Long> roUserIds;  
23 -  
24 - @Schema(description = "读写权限的用户编号数组")  
25 - private Set<Long> rwUserIds;  
26 -  
27 } 20 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contract/vo/CrmContractTransferReqVO.java
@@ -15,6 +15,6 @@ public class CrmContractTransferReqVO { @@ -15,6 +15,6 @@ public class CrmContractTransferReqVO {
15 15
16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430") 16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430")
17 @NotNull(message = "新负责人的用户编号不能为空") 17 @NotNull(message = "新负责人的用户编号不能为空")
18 - private Long ownerUserId; // 新的负责人 18 + private Long ownerUserId;
19 19
20 } 20 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/business/CrmBusinessConvert.java
@@ -32,8 +32,10 @@ public interface CrmBusinessConvert { @@ -32,8 +32,10 @@ public interface CrmBusinessConvert {
32 32
33 default CrmBusinessDO convert(CrmBusinessDO business, CrmBusinessTransferReqVO reqVO, Long userId) { 33 default CrmBusinessDO convert(CrmBusinessDO business, CrmBusinessTransferReqVO reqVO, Long userId) {
34 Set<Long> rwUserIds = business.getRwUserIds(); 34 Set<Long> rwUserIds = business.getRwUserIds();
35 - rwUserIds.removeIf(item -> ObjUtil.equal(item, userId)); // 移除老负责人 35 + rwUserIds.removeIf(item -> ObjUtil.equal(item, userId)); // 移除老负责人 TODO puhui999:是不是直接 rwUserIds.remove(userId)
  36 + // TODO @puhui999:ownerUserId 不用添加到进去,它就是 ownerUserId 就够;因为一共有 3 个角色:负责人、读写、只读;
36 rwUserIds.add(reqVO.getOwnerUserId()); // 读写权限加入新的负人 37 rwUserIds.add(reqVO.getOwnerUserId()); // 读写权限加入新的负人
  38 + // TODO @puhui999:对原负责人,加个类似的处理:移除、转化为团队成员(只读、读写)
37 return new CrmBusinessDO().setId(business.getId()).setOwnerUserId(reqVO.getOwnerUserId()) // 设置新负责人 39 return new CrmBusinessDO().setId(business.getId()).setOwnerUserId(reqVO.getOwnerUserId()) // 设置新负责人
38 .setRwUserIds(rwUserIds); 40 .setRwUserIds(rwUserIds);
39 } 41 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/contact/ContactConvert.java
@@ -32,6 +32,7 @@ public interface ContactConvert { @@ -32,6 +32,7 @@ public interface ContactConvert {
32 32
33 List<ContactExcelVO> convertList02(List<ContactDO> list); 33 List<ContactExcelVO> convertList02(List<ContactDO> list);
34 34
  35 + // TODO @puhui999:参考 CrmBusinessConvert 的修改建议
35 default ContactDO convert(ContactDO contact, CrmContactTransferReqVO reqVO, Long userId) { 36 default ContactDO convert(ContactDO contact, CrmContactTransferReqVO reqVO, Long userId) {
36 Set<Long> rwUserIds = contact.getRwUserIds(); 37 Set<Long> rwUserIds = contact.getRwUserIds();
37 rwUserIds.removeIf(item -> ObjUtil.equal(item, userId)); // 移除老负责人 38 rwUserIds.removeIf(item -> ObjUtil.equal(item, userId)); // 移除老负责人
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/contract/ContractConvert.java
@@ -32,6 +32,7 @@ public interface ContractConvert { @@ -32,6 +32,7 @@ public interface ContractConvert {
32 32
33 List<ContractExcelVO> convertList02(List<ContractDO> list); 33 List<ContractExcelVO> convertList02(List<ContractDO> list);
34 34
  35 + // TODO @puhui999:参考 CrmBusinessConvert 的修改建议
35 default ContractDO convert(ContractDO contract, CrmContractTransferReqVO reqVO, Long userId) { 36 default ContractDO convert(ContractDO contract, CrmContractTransferReqVO reqVO, Long userId) {
36 Set<Long> rwUserIds = contract.getRwUserIds(); 37 Set<Long> rwUserIds = contract.getRwUserIds();
37 rwUserIds.removeIf(item -> ObjUtil.equal(item, userId)); // 移除老负责人 38 rwUserIds.removeIf(item -> ObjUtil.equal(item, userId)); // 移除老负责人
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/utils/AuthUtil.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.crm.framework.utils; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.crm.framework.utils;
2 2
3 import java.util.Collection; 3 import java.util.Collection;
4 4
  5 +// TODO @puhui999:改成 CrmPermissionUtils;
5 /** 6 /**
6 * 数据读写权限校验工具类 7 * 数据读写权限校验工具类
7 * 8 *
@@ -9,6 +10,8 @@ import java.util.Collection; @@ -9,6 +10,8 @@ import java.util.Collection;
9 */ 10 */
10 public class AuthUtil { 11 public class AuthUtil {
11 12
  13 + // TODO @puhui999:负责人是单独的字段哈;
  14 + // TODO @puhui999:额外校验,如果是管理员,可以查看所有;看着要做成有状态的了,可能要搞个 CrmPermissionService 咧;
12 /** 15 /**
13 * 判断当前数据对用户来说是否是只读的 16 * 判断当前数据对用户来说是否是只读的
14 * 17 *
@@ -17,6 +20,7 @@ public class AuthUtil { @@ -17,6 +20,7 @@ public class AuthUtil {
17 * @return boolean 是/否 20 * @return boolean 是/否
18 */ 21 */
19 public static boolean isReadOnly(Collection<Long> roUserIds, Long userId) { 22 public static boolean isReadOnly(Collection<Long> roUserIds, Long userId) {
  23 + // TODO @puhui999:从代码角度来说,最好使用 CollUtil.contains
20 return roUserIds.contains(userId); 24 return roUserIds.contains(userId);
21 } 25 }
22 26
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java
@@ -92,26 +92,27 @@ public class CrmBusinessServiceImpl implements CrmBusinessService { @@ -92,26 +92,27 @@ public class CrmBusinessServiceImpl implements CrmBusinessService {
92 return businessMapper.selectList(exportReqVO); 92 return businessMapper.selectList(exportReqVO);
93 } 93 }
94 94
  95 + // TODO @puhui999:动名词哈。transferBusiness
95 @Override 96 @Override
96 public void businessTransfer(CrmBusinessTransferReqVO reqVO, Long userId) { 97 public void businessTransfer(CrmBusinessTransferReqVO reqVO, Long userId) {
97 - // 1. 校验商机是否存在 98 + // 1.1 校验商机是否存在
98 CrmBusinessDO business = validateBusinessExists(reqVO.getId()); 99 CrmBusinessDO business = validateBusinessExists(reqVO.getId());
99 - // 1.2. 校验用户是否拥有读写权限 100 + // 1.2 校验用户是否拥有读写权限
100 if (!isReadAndWrite(business.getRwUserIds(), userId)) { 101 if (!isReadAndWrite(business.getRwUserIds(), userId)) {
101 throw exception(BUSINESS_TRANSFER_FAIL_PERMISSION_DENIED); 102 throw exception(BUSINESS_TRANSFER_FAIL_PERMISSION_DENIED);
102 } 103 }
103 - // 2. 校验新负责人是否存在 104 + // TODO @puhui999:如果已经是该负责人,抛个业务异常;
  105 + // 1.3 校验新负责人是否存在
104 AdminUserRespDTO user = adminUserApi.getUser(reqVO.getOwnerUserId()); 106 AdminUserRespDTO user = adminUserApi.getUser(reqVO.getOwnerUserId());
105 if (user == null) { 107 if (user == null) {
106 throw exception(BUSINESS_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS); 108 throw exception(BUSINESS_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS);
107 } 109 }
108 110
109 - // 3. 更新新的负责人 111 + // 2. 更新新的负责人
110 CrmBusinessDO updateBusiness = CrmBusinessConvert.INSTANCE.convert(business, reqVO, userId); 112 CrmBusinessDO updateBusiness = CrmBusinessConvert.INSTANCE.convert(business, reqVO, userId);
111 businessMapper.updateById(updateBusiness); 113 businessMapper.updateById(updateBusiness);
112 114
113 // 4. TODO 记录商机转移日志 115 // 4. TODO 记录商机转移日志
114 -  
115 } 116 }
116 117
117 } 118 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/contact/ContactServiceImpl.java
@@ -95,6 +95,7 @@ public class ContactServiceImpl implements ContactService { @@ -95,6 +95,7 @@ public class ContactServiceImpl implements ContactService {
95 return contactMapper.selectList(exportReqVO); 95 return contactMapper.selectList(exportReqVO);
96 } 96 }
97 97
  98 + // TODO @puhui999:参考 CrmBusinessServiceImpl 修改建议
98 @Override 99 @Override
99 public void contactTransfer(CrmContactTransferReqVO reqVO, Long userId) { 100 public void contactTransfer(CrmContactTransferReqVO reqVO, Long userId) {
100 // 1. 校验联系人是否存在 101 // 1. 校验联系人是否存在
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/contract/ContractServiceImpl.java
@@ -92,6 +92,7 @@ public class ContractServiceImpl implements ContractService { @@ -92,6 +92,7 @@ public class ContractServiceImpl implements ContractService {
92 return contractMapper.selectList(exportReqVO); 92 return contractMapper.selectList(exportReqVO);
93 } 93 }
94 94
  95 + // TODO @puhui999:参考 CrmBusinessServiceImpl 修改建议
95 @Override 96 @Override
96 public void contractTransfer(CrmContractTransferReqVO reqVO, Long userId) { 97 public void contractTransfer(CrmContractTransferReqVO reqVO, Long userId) {
97 // 1. 校验合同是否存在 98 // 1. 校验合同是否存在