新增发邮件、发短信

This commit is contained in:
hupeng 2024-11-09 14:38:37 +08:00
parent f0e069bf2e
commit b97b7e59bf
7 changed files with 174 additions and 24 deletions

View File

@ -11,7 +11,7 @@
Target Server Version : 80027
File Encoding : 65001
Date: 09/10/2024 15:54:16
Date: 21/10/2024 16:47:05
*/
SET NAMES utf8mb4;
@ -1574,7 +1574,7 @@ CREATE TABLE `system_login_log` (
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4645 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统访问记录';
) ENGINE=InnoDB AUTO_INCREMENT=4650 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统访问记录';
-- ----------------------------
-- Records of system_login_log
@ -1601,6 +1601,11 @@ INSERT INTO `system_login_log` VALUES (4641, 200, '', 1, 2, 'admin', 0, '0:0:0:0
INSERT INTO `system_login_log` VALUES (4642, 100, '', 1, 2, 'admin', 0, '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 wechatdevtools/1.06.2307260 MicroMessenger/8.0.5 Language/zh_CN webview/', NULL, '2024-10-07 15:35:34', NULL, '2024-10-07 15:35:34', b'0', 0);
INSERT INTO `system_login_log` VALUES (4643, 100, '', 1, 2, 'admin', 0, '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36', NULL, '2024-10-07 15:36:20', NULL, '2024-10-07 15:36:20', b'0', 0);
INSERT INTO `system_login_log` VALUES (4644, 200, '', 1, 2, 'admin', 0, '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 wechatdevtools/1.06.2307260 MicroMessenger/8.0.5 Language/zh_CN webview/', '1', '2024-10-08 15:22:49', '1', '2024-10-08 15:22:49', b'0', 0);
INSERT INTO `system_login_log` VALUES (4645, 200, '', 1, 2, 'admin', 0, '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36', '1', '2024-10-10 11:23:24', '1', '2024-10-10 11:23:24', b'0', 0);
INSERT INTO `system_login_log` VALUES (4646, 100, '', 1, 2, 'admin', 0, '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36', NULL, '2024-10-10 11:23:32', NULL, '2024-10-10 11:23:32', b'0', 0);
INSERT INTO `system_login_log` VALUES (4647, 100, '', 1, 2, 'admin', 0, '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36', NULL, '2024-10-18 09:23:23', NULL, '2024-10-18 09:23:23', b'0', 0);
INSERT INTO `system_login_log` VALUES (4648, 100, '', 1, 2, 'admin', 0, '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36', NULL, '2024-10-21 10:20:41', NULL, '2024-10-21 10:20:41', b'0', 0);
INSERT INTO `system_login_log` VALUES (4649, 100, '', 1, 2, 'admin', 0, '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Mobile Safari/537.36 wechatdevtools/1.06.2307260 MicroMessenger/8.0.5 Language/zh_CN webview/', NULL, '2024-10-21 10:43:26', NULL, '2024-10-21 10:43:26', b'0', 0);
COMMIT;
-- ----------------------------
@ -1743,7 +1748,7 @@ INSERT INTO `system_menu` VALUES (103, '部门管理', '', 2, 4, 1, 'dept', 'ant
INSERT INTO `system_menu` VALUES (104, '岗位管理', '', 2, 5, 1, 'post', 'fa:address-book-o', 'system/post/index', 'SystemPost', 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-05-31 17:01:40', b'0');
INSERT INTO `system_menu` VALUES (105, '字典管理', '', 2, 6, 1, 'dict', 'ep:collection', 'system/dict/index', 'SystemDictType', 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-05-31 17:01:51', b'0');
INSERT INTO `system_menu` VALUES (106, '配置管理', '', 2, 6, 2, 'config', 'fa:connectdevelop', 'infra/config/index', 'InfraConfig', 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-07-24 17:36:48', b'1');
INSERT INTO `system_menu` VALUES (107, '新闻公告', '', 2, 8, 1, 'notice', 'fa-solid:newspaper', 'system/notice/index', 'SystemNotice', 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-07-24 17:31:53', b'1');
INSERT INTO `system_menu` VALUES (107, '通知管理', '', 2, 8, 2426, 'notice', 'fa-solid:newspaper', 'system/notice/index', 'SystemNotice', 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-10-21 10:32:28', b'0');
INSERT INTO `system_menu` VALUES (108, '审计日志', '', 1, 9, 1, 'log', 'ep:document-copy', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-05-31 17:02:22', b'0');
INSERT INTO `system_menu` VALUES (109, '令牌管理', '', 2, 2, 1261, 'token', 'fa:key', 'system/oauth2/token/index', 'SystemTokenClient', 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-05-31 17:02:32', b'0');
INSERT INTO `system_menu` VALUES (110, '定时任务', '', 2, 12, 2, 'job', 'fa-solid:tasks', 'infra/job/index', 'InfraJob', 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-05-31 17:02:43', b'0');
@ -1790,10 +1795,10 @@ INSERT INTO `system_menu` VALUES (1032, '配置新增', 'infra:config:create', 3
INSERT INTO `system_menu` VALUES (1033, '配置修改', 'infra:config:update', 3, 3, 106, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-07-24 17:36:32', b'1');
INSERT INTO `system_menu` VALUES (1034, '配置删除', 'infra:config:delete', 3, 4, 106, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-07-24 17:36:36', b'1');
INSERT INTO `system_menu` VALUES (1035, '配置导出', 'infra:config:export', 3, 5, 106, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2024-07-24 17:36:41', b'1');
INSERT INTO `system_menu` VALUES (1036, '公告查询', 'system:notice:query', 3, 1, 107, '#', '#', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2024-07-24 17:31:40', b'1');
INSERT INTO `system_menu` VALUES (1037, '公告新增', 'system:notice:create', 3, 2, 107, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-07-24 17:31:43', b'1');
INSERT INTO `system_menu` VALUES (1038, '公告修改', 'system:notice:update', 3, 3, 107, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-07-24 17:31:46', b'1');
INSERT INTO `system_menu` VALUES (1039, '公告删除', 'system:notice:delete', 3, 4, 107, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-07-24 17:31:49', b'1');
INSERT INTO `system_menu` VALUES (1036, '公告查询', 'system:notice:query', 3, 1, 107, '#', '#', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2024-10-21 10:25:57', b'0');
INSERT INTO `system_menu` VALUES (1037, '公告新增', 'system:notice:create', 3, 2, 107, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-10-21 10:26:00', b'0');
INSERT INTO `system_menu` VALUES (1038, '公告修改', 'system:notice:update', 3, 3, 107, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-10-21 10:26:03', b'0');
INSERT INTO `system_menu` VALUES (1039, '公告删除', 'system:notice:delete', 3, 4, 107, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '1', '2024-10-21 10:26:08', b'0');
INSERT INTO `system_menu` VALUES (1040, '操作查询', 'system:operate-log:query', 3, 1, 500, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
INSERT INTO `system_menu` VALUES (1042, '日志导出', 'system:operate-log:export', 3, 2, 500, '', '', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
INSERT INTO `system_menu` VALUES (1043, '登录查询', 'system:login-log:query', 3, 1, 501, '#', '#', '', NULL, 0, b'1', b'1', b'1', 'admin', '2021-01-05 17:03:48', '', '2022-04-20 17:03:10', b'0');
@ -2075,7 +2080,7 @@ INSERT INTO `system_menu` VALUES (2422, '合同创建', 'crm:contract:create', 3
INSERT INTO `system_menu` VALUES (2423, '合同更新', 'crm:contract:update', 3, 3, 2420, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2024-08-05 11:19:21', '', '2024-08-05 11:19:21', b'0');
INSERT INTO `system_menu` VALUES (2424, '合同删除', 'crm:contract:delete', 3, 4, 2420, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2024-08-05 11:19:21', '', '2024-08-05 11:19:21', b'0');
INSERT INTO `system_menu` VALUES (2425, '合同导出', 'crm:contract:export', 3, 5, 2420, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2024-08-05 11:19:21', '', '2024-08-05 11:19:21', b'0');
INSERT INTO `system_menu` VALUES (2426, '审批流程', '', 1, 60, 0, '/flow', 'ep:flag', '', '', 0, b'1', b'1', b'1', '1', '2024-08-07 16:53:15', '1', '2024-08-15 20:15:57', b'0');
INSERT INTO `system_menu` VALUES (2426, 'CRM配置', '', 1, 60, 0, '/flow', 'ep:flag', '', '', 0, b'1', b'1', b'1', '1', '2024-08-07 16:53:15', '1', '2024-10-21 10:29:47', b'0');
INSERT INTO `system_menu` VALUES (2427, '审批管理', '', 2, 0, 2426, 'flow', 'ep:caret-right', 'crm/crmflow/index', 'CrmFlow', 0, b'1', b'1', b'1', '', '2024-08-07 17:40:38', '1', '2024-08-07 18:19:14', b'0');
INSERT INTO `system_menu` VALUES (2428, '审批流程查询', 'crm:flow:query', 3, 1, 2427, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2024-08-07 17:40:38', '', '2024-08-07 17:40:38', b'0');
INSERT INTO `system_menu` VALUES (2429, '审批流程创建', 'crm:flow:create', 3, 2, 2427, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2024-08-07 17:40:38', '', '2024-08-07 17:40:38', b'0');
@ -2118,7 +2123,7 @@ CREATE TABLE `system_notice` (
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='通知公告表';
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='通知公告表';
-- ----------------------------
-- Records of system_notice
@ -2127,6 +2132,7 @@ BEGIN;
INSERT INTO `system_notice` VALUES (1, 'B2C单商户微服务-统计报表功能正式发布!', 'https://apidc.yixiang.co/admin-api/infra/file/4/get/ad0cc3947ff9a41caceab6207e13982beed27559b9bfc311128e5992cc702056.jpg', '<p>新版本内容133</p>', 1, 0, 'admin', '2021-01-05 17:03:48', '1', '2024-05-06 17:58:44', b'0', 1);
INSERT INTO `system_notice` VALUES (2, '618最后三天,你还不来', 'https://apidc.yixiang.co/admin-api/infra/file/4/get/ad0cc3947ff9a41caceab6207e13982beed27559b9bfc311128e5992cc702056.jpg', '<p>618最后三天,你还不来618最后三天,你还不来618最后三天,你还不来618最后三天,你还不来</p>', 2, 0, 'admin', '2021-01-05 17:03:48', '1', '2024-05-31 18:02:57', b'0', 1);
INSERT INTO `system_notice` VALUES (4, 'YSHOP-PRO 预售开始啦', NULL, '<p>哈哈哈哈123</p>', 1, 0, '110', '2022-02-22 01:01:25', '1', '2023-07-26 14:29:42', b'0', 121);
INSERT INTO `system_notice` VALUES (5, '新通知', ' http://localhost:48081/admin-api/infra/file/4/get/26d4848ac60a8c0c6ab609ecad30dd1741600443304f6a5b3366d248a119cd14.png', '<p>2222</p>', 1, 0, '1', '2024-10-21 14:59:16', '1', '2024-10-21 14:59:16', b'0', 0);
COMMIT;
-- ----------------------------
@ -2217,7 +2223,7 @@ CREATE TABLE `system_oauth2_access_token` (
`tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
`shop_id` bigint DEFAULT '0' COMMENT '门店id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4727 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OAuth2 访问令牌';
) ENGINE=InnoDB AUTO_INCREMENT=4731 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OAuth2 访问令牌';
-- ----------------------------
-- Records of system_oauth2_access_token
@ -2233,7 +2239,11 @@ INSERT INTO `system_oauth2_access_token` VALUES (4722, 1, 2, '{\"nickname\":\"ys
INSERT INTO `system_oauth2_access_token` VALUES (4723, 100, 2, '{\"nickname\":\"yixiang\",\"deptId\":\"104\"}', '6f51af87bdc0448cac32d99d41186170', 'c8f638e4c03740f3baf6dffe17a036b7', 'default', NULL, '2025-05-02 19:19:48', NULL, '2024-10-06 11:19:48', NULL, '2024-10-06 11:32:18', b'1', 0, 0);
INSERT INTO `system_oauth2_access_token` VALUES (4724, 129, 2, '{\"nickname\":\"yshop001\",\"deptId\":\"103\"}', 'a0cb47cb75b442a1bfbd0898f737e79e', '6cbb9ffff70c45e5b9311809fc30d901', 'default', NULL, '2025-05-02 19:32:34', NULL, '2024-10-06 11:32:34', NULL, '2024-10-07 15:24:46', b'1', 0, 0);
INSERT INTO `system_oauth2_access_token` VALUES (4725, 1, 2, '{\"nickname\":\"yshop\",\"deptId\":\"100\"}', '74403f122b3147c0b5d240514b139ed7', 'f6992c4265db42b980d2e3a9194eff4c', 'default', NULL, '2025-05-03 23:35:34', NULL, '2024-10-07 15:35:34', NULL, '2024-10-08 15:22:48', b'1', 0, 0);
INSERT INTO `system_oauth2_access_token` VALUES (4726, 1, 2, '{\"nickname\":\"yshop\",\"deptId\":\"100\"}', 'a281b2bf024c4f01a11e8aed10790843', '6d94de083b77465089488f9f01f67f0b', 'default', NULL, '2025-05-03 23:36:20', NULL, '2024-10-07 15:36:20', NULL, '2024-10-07 15:36:20', b'0', 0, 0);
INSERT INTO `system_oauth2_access_token` VALUES (4726, 1, 2, '{\"nickname\":\"yshop\",\"deptId\":\"100\"}', 'a281b2bf024c4f01a11e8aed10790843', '6d94de083b77465089488f9f01f67f0b', 'default', NULL, '2025-05-03 23:36:20', NULL, '2024-10-07 15:36:20', NULL, '2024-10-10 11:23:23', b'1', 0, 0);
INSERT INTO `system_oauth2_access_token` VALUES (4727, 1, 2, '{\"nickname\":\"yshop\",\"deptId\":\"100\"}', '2faa8cfde8fa456c874c4c20fa156569', '970b93c3071548a1a908eb81f5c232d0', 'default', NULL, '2025-05-06 19:23:32', NULL, '2024-10-10 11:23:32', NULL, '2024-10-10 11:23:32', b'0', 0, 0);
INSERT INTO `system_oauth2_access_token` VALUES (4728, 1, 2, '{\"nickname\":\"yshop\",\"deptId\":\"100\"}', 'f7572f13fd624828933377a7ca565da6', '1cc82e0c20eb4ca5a8c91221ad53a28c', 'default', NULL, '2025-05-14 17:23:23', NULL, '2024-10-18 09:23:23', NULL, '2024-10-18 09:23:23', b'0', 0, 0);
INSERT INTO `system_oauth2_access_token` VALUES (4729, 1, 2, '{\"nickname\":\"yshop\",\"deptId\":\"100\"}', 'd90a0e21e3cc494b828d98955464de9f', '445a56bd0f144577901364fe7e322cf2', 'default', NULL, '2025-05-17 18:20:41', NULL, '2024-10-21 10:20:41', NULL, '2024-10-21 10:20:41', b'0', 0, 0);
INSERT INTO `system_oauth2_access_token` VALUES (4730, 1, 2, '{\"nickname\":\"yshop\",\"deptId\":\"100\"}', '61445b738f7b40508e55c4a6e451bbb6', 'd8daf41829f74874b60c81b28f3be382', 'default', NULL, '2025-05-17 18:43:26', NULL, '2024-10-21 10:43:26', NULL, '2024-10-21 10:43:26', b'0', 0, 0);
COMMIT;
-- ----------------------------
@ -2351,7 +2361,7 @@ CREATE TABLE `system_oauth2_refresh_token` (
`tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
`shop_id` bigint DEFAULT '0' COMMENT '门店ID',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3041 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OAuth2 刷新令牌';
) ENGINE=InnoDB AUTO_INCREMENT=3045 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OAuth2 刷新令牌';
-- ----------------------------
-- Records of system_oauth2_refresh_token
@ -2367,7 +2377,11 @@ INSERT INTO `system_oauth2_refresh_token` VALUES (3036, 1, 'aff0fc36fc3c4294ba89
INSERT INTO `system_oauth2_refresh_token` VALUES (3037, 100, 'c8f638e4c03740f3baf6dffe17a036b7', 2, 'default', NULL, '2024-10-06 23:19:48', NULL, '2024-10-06 11:19:48', NULL, '2024-10-06 11:32:18', b'1', 0, 0);
INSERT INTO `system_oauth2_refresh_token` VALUES (3038, 129, '6cbb9ffff70c45e5b9311809fc30d901', 2, 'default', NULL, '2024-10-06 23:32:34', NULL, '2024-10-06 11:32:34', NULL, '2024-10-07 15:24:47', b'1', 0, 0);
INSERT INTO `system_oauth2_refresh_token` VALUES (3039, 1, 'f6992c4265db42b980d2e3a9194eff4c', 2, 'default', NULL, '2024-10-08 03:35:34', NULL, '2024-10-07 15:35:34', NULL, '2024-10-08 15:22:48', b'1', 0, 0);
INSERT INTO `system_oauth2_refresh_token` VALUES (3040, 1, '6d94de083b77465089488f9f01f67f0b', 2, 'default', NULL, '2024-10-08 03:36:20', NULL, '2024-10-07 15:36:20', NULL, '2024-10-07 15:36:20', b'0', 0, 0);
INSERT INTO `system_oauth2_refresh_token` VALUES (3040, 1, '6d94de083b77465089488f9f01f67f0b', 2, 'default', NULL, '2024-10-08 03:36:20', NULL, '2024-10-07 15:36:20', NULL, '2024-10-10 11:23:23', b'1', 0, 0);
INSERT INTO `system_oauth2_refresh_token` VALUES (3041, 1, '970b93c3071548a1a908eb81f5c232d0', 2, 'default', NULL, '2024-10-10 23:23:32', NULL, '2024-10-10 11:23:32', NULL, '2024-10-10 11:23:32', b'0', 0, 0);
INSERT INTO `system_oauth2_refresh_token` VALUES (3042, 1, '1cc82e0c20eb4ca5a8c91221ad53a28c', 2, 'default', NULL, '2024-10-18 21:23:23', NULL, '2024-10-18 09:23:23', NULL, '2024-10-18 09:23:23', b'0', 0, 0);
INSERT INTO `system_oauth2_refresh_token` VALUES (3043, 1, '445a56bd0f144577901364fe7e322cf2', 2, 'default', NULL, '2024-10-21 22:20:41', NULL, '2024-10-21 10:20:41', NULL, '2024-10-21 10:20:41', b'0', 0, 0);
INSERT INTO `system_oauth2_refresh_token` VALUES (3044, 1, 'd8daf41829f74874b60c81b28f3be382', 2, 'default', NULL, '2024-10-21 22:43:26', NULL, '2024-10-21 10:43:26', NULL, '2024-10-21 10:43:26', b'0', 0, 0);
COMMIT;
-- ----------------------------
@ -4267,7 +4281,7 @@ CREATE TABLE `system_users` (
-- Records of system_users
-- ----------------------------
BEGIN;
INSERT INTO `system_users` VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', 'yshop', '管理员', 100, '[1]', 'yshop@yixaing.co', '18000000000', 1, 'https://app2.yixiang.co/avatar/20200705181403641316.png', 0, '0:0:0:0:0:0:0:1', '2024-10-07 15:36:20', 'admin', '2021-01-05 17:03:47', NULL, '2024-10-07 15:36:20', b'0', 1);
INSERT INTO `system_users` VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', 'yshop', '管理员', 100, '[1]', 'yshop@yixaing.co', '18000000000', 1, 'https://app2.yixiang.co/avatar/20200705181403641316.png', 0, '0:0:0:0:0:0:0:1', '2024-10-21 10:43:26', 'admin', '2021-01-05 17:03:47', NULL, '2024-10-21 10:43:26', b'0', 1);
INSERT INTO `system_users` VALUES (100, 'yshop', '$2a$04$DDHxxwc0jNmsS6.h5s5gpu.QxAaWMMMiOemVK6UO6R87UbfzDOu7a', 'yixiang', '不要吓我', 104, '[1]', 'yshop@iocoder.cn', '15601691300', 1, '', 0, '0:0:0:0:0:0:0:1', '2024-10-06 11:19:48', '', '2021-01-07 09:07:17', NULL, '2024-10-06 11:19:48', b'0', 1);
INSERT INTO `system_users` VALUES (126, 'yixiang001', '$2a$04$JTIqo.OqDIy/QnGD8DyalOuD2S10Rdz20abG1Vw7uaU5xDjBqEWky', '意向餐饮管理员', '', 110, '[]', '', '18888888888', 0, '', 0, '0:0:0:0:0:0:0:1', '2024-03-13 18:10:56', '1', '2023-09-05 10:23:17', NULL, '2024-03-13 18:10:56', b'0', 0);
INSERT INTO `system_users` VALUES (127, 'myshop', '$2a$04$oqIyvsv5yVcmLL0PE3V2C.swndkOqFAAMabSeghaCWm2pUHJTp78a', 'yshop-drink', NULL, NULL, NULL, '', '18777777777', 0, '', 0, '0:0:0:0:0:0:0:1', '2024-04-02 08:18:32', '1', '2024-03-26 18:14:45', NULL, '2024-07-24 17:28:10', b'0', 151);

View File

@ -15,7 +15,8 @@ import java.util.Arrays;
public enum UserTypeEnum implements IntArrayValuable {
MEMBER(1, "会员"), // 面向 c 普通用户
ADMIN(2, "管理员"); // 面向 b 管理后台
ADMIN(2, "管理员"), // 面向 b 管理后台
CUSTOMER(3, "客户"); //客户
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(UserTypeEnum::getValue).toArray();

View File

@ -6,9 +6,7 @@ import co.yixiang.yshop.framework.common.pojo.PageParam;
import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.framework.common.util.object.BeanUtils;
import co.yixiang.yshop.framework.excel.core.util.ExcelUtils;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerPageReqVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerRespVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerSaveReqVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.*;
import co.yixiang.yshop.module.crm.dal.dataobject.crmcustomer.CrmCustomerDO;
import co.yixiang.yshop.module.crm.service.crmcustomer.CrmCustomerService;
import io.swagger.v3.oas.annotations.Operation;
@ -114,6 +112,20 @@ public class CrmCustomerController {
BeanUtils.toBean(list, CrmCustomerRespVO.class));
}
@PostMapping("/send-sms")
@Operation(summary = "发送短信")
public CommonResult<Boolean> sendSms(@Valid @RequestBody SmsTemplateSendVO sendVO) {
customerService.sendSms(sendVO);
return success(true);
}
@PostMapping("/send-mail")
@Operation(summary = "发送邮件")
public CommonResult<Boolean> sendMail(@Valid @RequestBody MailTemplateSendVO sendVO) {
customerService.sendMail(sendVO);
return success(true);
}
}

View File

@ -0,0 +1,28 @@
package co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Schema(description = "管理后台 - 邮箱模板的发送 Request VO")
@Data
public class MailTemplateSendVO {
@Schema(description = "客户ID")
@NotNull(message = "请选择客户")
private List<Long> customerIds;
@Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
@NotNull(message = "模板编码不能为空")
private String templateCode;
@Schema(description = "模板参数")
private Map<String, Object> templateParams;
@Schema(description = "是否发送客户")
private Boolean isCustomer;
}

View File

@ -0,0 +1,28 @@
package co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Schema(description = "管理后台 - 短信模板的发送 Request VO")
@Data
public class SmsTemplateSendVO {
@Schema(description = "客户ID")
@NotNull(message = "请选择客户")
private List<Long> customerIds;
@Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
@NotNull(message = "模板编码不能为空")
private String templateCode;
@Schema(description = "模板参数")
private Map<String, Object> templateParams;
@Schema(description = "是否发送客户")
private Boolean isCustomer;
}

View File

@ -1,9 +1,7 @@
package co.yixiang.yshop.module.crm.service.crmcustomer;
import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerPageReqVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerRespVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerSaveReqVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.*;
import co.yixiang.yshop.module.crm.dal.dataobject.crmcustomer.CrmCustomerDO;
import jakarta.validation.Valid;
@ -72,6 +70,20 @@ public interface CrmCustomerService {
*/
PageResult<CrmCustomerRespVO> getCustomerPage2(CrmCustomerPageReqVO pageReqVO);
/**
* 发送短信
* @param sendVO
* @return
*/
void sendSms(SmsTemplateSendVO sendVO);
/**
* 发送邮件
* @param sendVO
* @return
*/
void sendMail(MailTemplateSendVO sendVO);
}

View File

@ -1,11 +1,12 @@
package co.yixiang.yshop.module.crm.service.crmcustomer;
import cn.hutool.core.util.StrUtil;
import co.yixiang.yshop.framework.common.enums.UserTypeEnum;
import co.yixiang.yshop.framework.common.exception.ErrorCode;
import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.framework.common.util.object.BeanUtils;
import co.yixiang.yshop.framework.security.core.util.SecurityFrameworkUtils;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerPageReqVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerRespVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.CrmCustomerSaveReqVO;
import co.yixiang.yshop.module.crm.controller.admin.crmcustomer.vo.*;
import co.yixiang.yshop.module.crm.dal.dataobject.crmcustomer.CrmCustomerDO;
import co.yixiang.yshop.module.crm.dal.dataobject.crmcustomercontacts.CrmCustomerContactsDO;
import co.yixiang.yshop.module.crm.dal.mysql.crmcustomer.CrmCustomerMapper;
@ -14,6 +15,8 @@ import co.yixiang.yshop.module.crm.enums.CustomerTypesEnum;
import co.yixiang.yshop.module.crm.enums.RelationEnum;
import co.yixiang.yshop.module.crm.service.crmoperatelog.CrmOperatelogService;
import co.yixiang.yshop.module.system.api.user.AdminUserApi;
import co.yixiang.yshop.module.system.service.mail.MailSendService;
import co.yixiang.yshop.module.system.service.sms.SmsSendService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@ -44,6 +47,10 @@ public class CrmCustomerServiceImpl implements CrmCustomerService {
private CrmCustomerContactsMapper customerContactsMapper;
@Resource
private AdminUserApi adminUserApi;
@Resource
private SmsSendService smsSendService;
@Resource
private MailSendService mailSendService;
@Override
@ -173,4 +180,52 @@ public class CrmCustomerServiceImpl implements CrmCustomerService {
public PageResult<CrmCustomerRespVO> getCustomerPage2(CrmCustomerPageReqVO pageReqVO) {
return customerMapper.selectPage2(pageReqVO);
}
@Override
public void sendSms(SmsTemplateSendVO sendVO) {
List<CrmCustomerContactsDO> crmCustomerDOS = null;
if(sendVO.getIsCustomer()){
crmCustomerDOS = customerContactsMapper.selectList(new LambdaQueryWrapper<CrmCustomerContactsDO>().
in(CrmCustomerContactsDO::getCustomerId,sendVO.getCustomerIds()));
}else{
crmCustomerDOS = customerContactsMapper.selectList(new LambdaQueryWrapper<CrmCustomerContactsDO>().
in(CrmCustomerContactsDO::getId,sendVO.getCustomerIds()));
}
if(crmCustomerDOS == null || crmCustomerDOS.isEmpty()){
throw exception(new ErrorCode(202409100,"客户信息不存在"));
}
crmCustomerDOS.forEach(customer -> {
//发送短信
if(StrUtil.isNotEmpty(customer.getMobile())){
smsSendService.sendSingleSms(customer.getMobile(),customer.getId(), UserTypeEnum.CUSTOMER.getValue(),
sendVO.getTemplateCode(),sendVO.getTemplateParams());
}
});
}
@Override
public void sendMail(MailTemplateSendVO sendVO) {
List<CrmCustomerContactsDO> crmCustomerDOS = null;
if(sendVO.getIsCustomer()){
crmCustomerDOS = customerContactsMapper.selectList(new LambdaQueryWrapper<CrmCustomerContactsDO>().
in(CrmCustomerContactsDO::getCustomerId,sendVO.getCustomerIds()));
}else{
crmCustomerDOS = customerContactsMapper.selectList(new LambdaQueryWrapper<CrmCustomerContactsDO>().
in(CrmCustomerContactsDO::getId,sendVO.getCustomerIds()));
}
if(crmCustomerDOS == null || crmCustomerDOS.isEmpty()){
throw exception(new ErrorCode(202409101,"客户信息不存在"));
}
crmCustomerDOS.forEach(customer -> {
//发送邮件
if(StrUtil.isNotEmpty(customer.getEmail())){
mailSendService.sendSingleMail(customer.getEmail(),customer.getId(), UserTypeEnum.CUSTOMER.getValue(),
sendVO.getTemplateCode(),sendVO.getTemplateParams());
}
});
}
}