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 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 63 `tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',
158 64 PRIMARY KEY (`id`) USING BTREE
159 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 11 Target Server Version : 80034
12 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 17 SET NAMES utf8mb4;
... ... @@ -341,7 +341,8 @@ CREATE TABLE `infra_api_access_log` (
341 341 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
342 342 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
343 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 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 385 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
385 386 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
386 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 391 -- Records of infra_api_error_log
... ... @@ -538,7 +539,7 @@ CREATE TABLE `infra_file` (
538 539 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
539 540 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
540 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 545 -- Records of infra_file
... ... @@ -587,7 +588,7 @@ CREATE TABLE `infra_file_content` (
587 588 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
588 589 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
589 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 594 -- Records of infra_file_content
... ... @@ -768,7 +769,7 @@ CREATE TABLE `member_experience_record` (
768 769 PRIMARY KEY (`id`) USING BTREE,
769 770 INDEX `idx_user_id`(`user_id` ASC) USING BTREE COMMENT '会员经验记录-用户编号',
770 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 775 -- Records of member_experience_record
... ... @@ -884,7 +885,7 @@ CREATE TABLE `member_level_record` (
884 885 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
885 886 PRIMARY KEY (`id`) USING BTREE,
886 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 891 -- Records of member_level_record
... ... @@ -914,7 +915,7 @@ CREATE TABLE `member_point_record` (
914 915 PRIMARY KEY (`id`) USING BTREE,
915 916 INDEX `index_userId`(`user_id` ASC) USING BTREE,
916 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 921 -- Records of member_point_record
... ... @@ -1434,6 +1435,39 @@ INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `st
1434 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 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 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 1471 COMMIT;
1438 1472  
1439 1473 -- ----------------------------
... ... @@ -1454,7 +1488,7 @@ CREATE TABLE `system_dict_type` (
1454 1488 `deleted_time` datetime NULL DEFAULT NULL COMMENT '删除时间',
1455 1489 PRIMARY KEY (`id`) USING BTREE,
1456 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 1494 -- Records of system_dict_type
... ... @@ -1528,6 +1562,9 @@ INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creat
1528 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 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 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 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 1569 COMMIT;
1533 1570  
... ... @@ -1577,7 +1614,7 @@ CREATE TABLE `system_login_log` (
1577 1614 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1578 1615 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
1579 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 1620 -- Records of system_login_log
... ... @@ -2203,6 +2240,49 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
2203 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 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 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 2286 COMMIT;
2207 2287  
2208 2288 -- ----------------------------
... ... @@ -2320,8 +2400,10 @@ CREATE TABLE `system_oauth2_access_token` (
2320 2400 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
2321 2401 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2322 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 2409 -- Records of system_oauth2_access_token
... ... @@ -2443,7 +2525,7 @@ CREATE TABLE `system_oauth2_refresh_token` (
2443 2525 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2444 2526 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2445 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 2531 -- Records of system_oauth2_refresh_token
... ... @@ -2483,7 +2565,7 @@ CREATE TABLE `system_operate_log` (
2483 2565 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
2484 2566 `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
2485 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 2571 -- Records of system_operate_log
... ... @@ -3834,7 +3916,7 @@ CREATE TABLE `system_users` (
3834 3916 -- Records of system_users
3835 3917 -- ----------------------------
3836 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 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 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 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 11  
12 12 // ========== 合同管理 1-020-000-000 ==========
13 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 15 ErrorCode CONTRACT_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_000_002, "合同转移失败,原因:负责人不存在");
16 16  
17 17 // ========== 线索管理 1-020-001-000 ==========
... ... @@ -19,7 +19,7 @@ public interface ErrorCodeConstants {
19 19  
20 20 // ========== 商机管理 1-020-002-000 ==========
21 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 23 ErrorCode BUSINESS_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_002_002, "商机转移失败,原因:负责人不存在");
24 24  
25 25 // TODO @lilleo:商机状态、商机类型,都单独错误码段
... ... @@ -29,7 +29,7 @@ public interface ErrorCodeConstants {
29 29  
30 30 // ========== 联系人管理 1-020-003-000 ==========
31 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 33 ErrorCode CONTACT_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS = new ErrorCode(1_020_003_002, "联系人转移失败,原因:负责人不存在");
34 34  
35 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 5 import lombok.EqualsAndHashCode;
6 6 import lombok.ToString;
7 7  
8   -import java.util.Set;
9   -
10 8 @Schema(description = "管理后台 - 商机创建 Request VO")
11 9 @Data
12 10 @EqualsAndHashCode(callSuper = true)
13 11 @ToString(callSuper = true)
14 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 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 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 6 import java.math.BigDecimal;
11 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 11 * 商机 Excel VO
... ... @@ -62,10 +55,10 @@ public class CrmBusinessExcelVO {
62 55 private LocalDateTime createTime;
63 56  
64 57 @ExcelProperty("只读权限的用户编号数组")
65   - private String roUserIds;
  58 + private Set<Long> roUserIds;
66 59  
67 60 @ExcelProperty("读写权限的用户编号数组")
68   - private String rwUserIds;
  61 + private Set<Long> rwUserIds;
69 62  
70 63 @ExcelProperty("1赢单2输单3无效")
71 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 15  
16 16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430")
17 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 6 import lombok.ToString;
7 7  
8 8 import javax.validation.constraints.NotNull;
9   -import java.util.Set;
10 9  
11 10 @Schema(description = "管理后台 - 商机更新 Request VO")
12 11 @Data
... ... @@ -18,13 +17,6 @@ public class CrmBusinessUpdateReqVO extends CrmBusinessBaseVO {
18 17 @NotNull(message = "主键不能为空")
19 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 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 5 import lombok.EqualsAndHashCode;
6 6 import lombok.ToString;
7 7  
8   -import java.util.Set;
9   -
10 8 @Schema(description = "管理后台 - crm联系人更新 Request VO")
11 9 @Data
12 10 @EqualsAndHashCode(callSuper = true)
... ... @@ -16,10 +14,4 @@ public class ContactUpdateReqVO extends ContactBaseVO {
16 14 @Schema(description = "主键", example = "23210")
17 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 15  
16 16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430")
17 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 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 5 import lombok.EqualsAndHashCode;
6 6 import lombok.ToString;
7 7  
8   -import java.util.Set;
9   -
10 8 @Schema(description = "管理后台 - 合同创建 Request VO")
11 9 @Data
12 10 @EqualsAndHashCode(callSuper = true)
13 11 @ToString(callSuper = true)
14 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 6 import lombok.ToString;
7 7  
8 8 import javax.validation.constraints.NotNull;
9   -import java.util.Set;
10 9  
11 10 @Schema(description = "管理后台 - 合同更新 Request VO")
12 11 @Data
... ... @@ -18,10 +17,4 @@ public class ContractUpdateReqVO extends ContractBaseVO {
18 17 @NotNull(message = "合同编号不能为空")
19 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 15  
16 16 @Schema(description = "新负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10430")
17 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 32  
33 33 default CrmBusinessDO convert(CrmBusinessDO business, CrmBusinessTransferReqVO reqVO, Long userId) {
34 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 37 rwUserIds.add(reqVO.getOwnerUserId()); // 读写权限加入新的负人
  38 + // TODO @puhui999:对原负责人,加个类似的处理:移除、转化为团队成员(只读、读写)
37 39 return new CrmBusinessDO().setId(business.getId()).setOwnerUserId(reqVO.getOwnerUserId()) // 设置新负责人
38 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 32  
33 33 List<ContactExcelVO> convertList02(List<ContactDO> list);
34 34  
  35 + // TODO @puhui999:参考 CrmBusinessConvert 的修改建议
35 36 default ContactDO convert(ContactDO contact, CrmContactTransferReqVO reqVO, Long userId) {
36 37 Set<Long> rwUserIds = contact.getRwUserIds();
37 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 32  
33 33 List<ContractExcelVO> convertList02(List<ContractDO> list);
34 34  
  35 + // TODO @puhui999:参考 CrmBusinessConvert 的修改建议
35 36 default ContractDO convert(ContractDO contract, CrmContractTransferReqVO reqVO, Long userId) {
36 37 Set<Long> rwUserIds = contract.getRwUserIds();
37 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 2  
3 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 10 */
10 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 20 * @return boolean 是/否
18 21 */
19 22 public static boolean isReadOnly(Collection<Long> roUserIds, Long userId) {
  23 + // TODO @puhui999:从代码角度来说,最好使用 CollUtil.contains
20 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 92 return businessMapper.selectList(exportReqVO);
93 93 }
94 94  
  95 + // TODO @puhui999:动名词哈。transferBusiness
95 96 @Override
96 97 public void businessTransfer(CrmBusinessTransferReqVO reqVO, Long userId) {
97   - // 1. 校验商机是否存在
  98 + // 1.1 校验商机是否存在
98 99 CrmBusinessDO business = validateBusinessExists(reqVO.getId());
99   - // 1.2. 校验用户是否拥有读写权限
  100 + // 1.2 校验用户是否拥有读写权限
100 101 if (!isReadAndWrite(business.getRwUserIds(), userId)) {
101 102 throw exception(BUSINESS_TRANSFER_FAIL_PERMISSION_DENIED);
102 103 }
103   - // 2. 校验新负责人是否存在
  104 + // TODO @puhui999:如果已经是该负责人,抛个业务异常;
  105 + // 1.3 校验新负责人是否存在
104 106 AdminUserRespDTO user = adminUserApi.getUser(reqVO.getOwnerUserId());
105 107 if (user == null) {
106 108 throw exception(BUSINESS_TRANSFER_FAIL_OWNER_USER_NOT_EXISTS);
107 109 }
108 110  
109   - // 3. 更新新的负责人
  111 + // 2. 更新新的负责人
110 112 CrmBusinessDO updateBusiness = CrmBusinessConvert.INSTANCE.convert(business, reqVO, userId);
111 113 businessMapper.updateById(updateBusiness);
112 114  
113 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 95 return contactMapper.selectList(exportReqVO);
96 96 }
97 97  
  98 + // TODO @puhui999:参考 CrmBusinessServiceImpl 修改建议
98 99 @Override
99 100 public void contactTransfer(CrmContactTransferReqVO reqVO, Long userId) {
100 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 92 return contractMapper.selectList(exportReqVO);
93 93 }
94 94  
  95 + // TODO @puhui999:参考 CrmBusinessServiceImpl 修改建议
95 96 @Override
96 97 public void contractTransfer(CrmContractTransferReqVO reqVO, Long userId) {
97 98 // 1. 校验合同是否存在
... ...