diff --git a/README.md b/README.md index f920f6cdac96cc63f0a1c86b69d5d2bdbb04fb68..deb66b1631dcc23929589dd7ef7d4a42110aaaf2 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ <p align="center"> <img src="https://img.shields.io/github/stars/dromara/dax-pay?style=flat&label=Github"> <img src='https://gitee.com/bootx/dax-pay/badge/star.svg?theme=dark' alt='star'/> - <img src="https://img.shields.io/badge/Dax%20Pay-2.0.7-success.svg" alt="Build Status"/> + <img src="https://img.shields.io/badge/Dax%20Pay-2.0.8-success.svg" alt="Build Status"/> <img src="https://img.shields.io/badge/Author-Daxpay-orange.svg" alt="Build Status"/> <img src="https://img.shields.io/badge/Spring%20Boot-2.7.18-blue.svg" alt="Downloads"/> <img src="https://img.shields.io/badge/license-Apache%20License%202.0-green.svg"/> @@ -166,10 +166,6 @@ public class PayOrderTest { 扫码加入QQ交流群 -交流一群 -<p> -<img src="https://jsd.cdn.zzko.cn/gh/xxm1995/picx-images-hosting@master/connect/微信图片_20240412132238.3rb0hgrf2z.webp" width = "330" height = "500"/> -</p> 交流二群 <p> <img src="https://jsd.cdn.zzko.cn/gh/xxm1995/picx-images-hosting@master/connect/微信图片_20240513180310.2yy68aykip.webp" width = "330" height = "500"/> diff --git a/_config/mysql/2.0.5/2.0.5.dax-pay.backup.sql b/_config/mysql/2.0.5/2.0.5.dax-pay.backup.sql deleted file mode 100644 index de463c6172df622e1bfbae2f50741b49314dab9f..0000000000000000000000000000000000000000 --- a/_config/mysql/2.0.5/2.0.5.dax-pay.backup.sql +++ /dev/null @@ -1,4202 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server Type : MySQL - Source Server Version : 50743 - - Target Server Type : MySQL - Target Server Version : 50743 - File Encoding : 65001 - - Date: 18/04/2024 11:05:44 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for base_area --- ---------------------------- -DROP TABLE IF EXISTS `base_area`; -CREATE TABLE `base_area` ( - `code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '区域名称', - `city_code` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '城市编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_city_code`(`city_code`) USING BTREE COMMENT '城市' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '县区表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_area --- ---------------------------- - --- ---------------------------- --- Table structure for base_china_word --- ---------------------------- -DROP TABLE IF EXISTS `base_china_word`; -CREATE TABLE `base_china_word` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `white` bit(1) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_china_word --- ---------------------------- - --- ---------------------------- --- Table structure for base_city --- ---------------------------- -DROP TABLE IF EXISTS `base_city`; -CREATE TABLE `base_city` ( - `code` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '城市编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '城市名称', - `province_code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '省份编码', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '城市表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_city --- ---------------------------- - --- ---------------------------- --- Table structure for base_data_result_sql --- ---------------------------- -DROP TABLE IF EXISTS `base_data_result_sql`; -CREATE TABLE `base_data_result_sql` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `database_id` bigint(20) NULL DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `is_list` bit(1) NULL DEFAULT NULL, - `sql` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, - `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '数据集SQL语句' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_data_result_sql --- ---------------------------- - --- ---------------------------- --- Table structure for base_dict --- ---------------------------- -DROP TABLE IF EXISTS `base_dict`; -CREATE TABLE `base_dict` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编码', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `group_tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类标签', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dict --- ---------------------------- -INSERT INTO `base_dict` VALUES (1422929378374828033, 'Sex', '性别', b'1', '基础属性', '性别', 0, '2021-08-04 22:36:15', 1399985191002447872, '2022-05-11 19:48:40', 0, 6); -INSERT INTO `base_dict` VALUES (1425744045414772737, 'MenuType', '菜单类型', b'1', '系统属性', '菜单类型', 0, '2021-08-12 17:00:44', 1399985191002447872, '2022-05-11 19:48:44', 0, 4); -INSERT INTO `base_dict` VALUES (1430063572491411456, 'loginType', '字典类型', b'1', '基础属性', '字典类型', 1399985191002447872, '2021-08-24 15:05:00', 1399985191002447872, '2021-08-24 15:05:00', 1, 2); -INSERT INTO `base_dict` VALUES (1435829999592759296, 'UserStatusCode', '用户状态码', b'1', '系统属性', '用户状态码', 1399985191002447872, '2021-09-09 12:58:43', 1399985191002447872, '2022-05-11 19:48:56', 0, 2); -INSERT INTO `base_dict` VALUES (1435838066191458304, 'LogBusinessType', '业务操作类型', b'1', '系统属性', '操作日志记录的业务操作类型', 1399985191002447872, '2021-09-09 13:30:46', 1399985191002447872, '2022-05-11 19:49:00', 0, 2); -INSERT INTO `base_dict` VALUES (1438078864509317120, 'MailSecurityCode', '邮箱安全方式编码', b'1', '消息服务', '邮箱安全方式编码', 1399985191002447872, '2021-09-15 17:54:54', 1399985191002447872, '2022-05-11 19:49:06', 0, 2); -INSERT INTO `base_dict` VALUES (1439961232651034624, 'MessageTemplateCode', '消息模板类型', b'1', '消息服务', '消息模板类型', 1399985191002447872, '2021-09-20 22:34:46', 1399985191002447872, '2022-05-11 19:48:34', 0, 1); -INSERT INTO `base_dict` VALUES (1452836604783845376, 'SocialType', '三方系统类型', b'1', '系统属性', '三方系统类型', 1399985191002447872, '2021-10-26 11:16:54', 1399985191002447872, '2022-05-11 19:48:28', 0, 3); -INSERT INTO `base_dict` VALUES (1452843488735621120, 'ParamType', '参数类型', b'1', '系统属性', '参数类型', 1399985191002447872, '2021-10-26 11:44:15', 1399985191002447872, '2022-05-11 19:48:21', 0, 2); -INSERT INTO `base_dict` VALUES (1496024933900169216, 'Political', '政治面貌', b'1', '基础数据', '政治面貌', 1399985191002447872, '2022-02-22 15:31:54', 1399985191002447872, '2022-05-11 19:48:04', 0, 1); -INSERT INTO `base_dict` VALUES (1556996322223968256, 'WeChatMediaType', '微信媒体类型', b'1', '微信', '微信媒体类型', 1399985191002447872, '2022-08-09 21:30:25', 1399985191002447872, '2022-08-09 21:30:26', 0, 0); -INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消息接收类型', b'1', '站内信', '站内信接收类型', 1399985191002447872, '2022-08-20 22:51:37', 1399985191002447872, '2022-08-20 22:51:37', 0, 0); -INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); -INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据权限类型', b'1', '系统属性', '数据权限类型', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2023-11-28 23:14:24', 0, 4); -INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); -INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); -INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); -INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); -INSERT INTO `base_dict` VALUES (1744996611615039488, 'AsyncPayChannel', '异步支付通道', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:16:27', 1399985191002447872, '2024-01-10 16:16:27', 0, 0); -INSERT INTO `base_dict` VALUES (1744996845355212800, 'PayChannel', '支付通道', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:17:23', 1399985191002447872, '2024-01-10 16:17:23', 0, 0); -INSERT INTO `base_dict` VALUES (1744996913667842048, 'PayStatus', '支付状态', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:17:39', 1399985191002447872, '2024-01-10 16:17:39', 0, 0); -INSERT INTO `base_dict` VALUES (1745086859116224512, 'PayWay', '支付方式', b'1', '支付', '', 1399985191002447872, '2024-01-10 22:15:04', 1399985191002447872, '2024-01-10 22:15:04', 0, 0); -INSERT INTO `base_dict` VALUES (1745109350333173760, 'PayCallbackStatus', '支付回调处理状态', b'1', '支付', '', 1399985191002447872, '2024-01-10 23:44:26', 1399985191002447872, '2024-01-10 23:44:26', 0, 0); -INSERT INTO `base_dict` VALUES (1745128986382667776, 'PayRepairSource', '支付修复来源', b'1', '支付', '', 1399985191002447872, '2024-01-11 01:02:28', 1399985191002447872, '2024-01-11 01:02:28', 0, 0); -INSERT INTO `base_dict` VALUES (1745134438772346880, 'PayRepairWay', '支付修复方式', b'1', '支付', '', 1399985191002447872, '2024-01-11 01:24:08', 1399985191002447872, '2024-01-11 01:24:08', 0, 0); -INSERT INTO `base_dict` VALUES (1745748188122554368, 'RefundStatus', '退款状态', b'1', '支付', '', 1399985191002447872, '2024-01-12 18:02:57', 1399985191002447872, '2024-02-09 21:22:52', 0, 1); -INSERT INTO `base_dict` VALUES (1746208645341917184, 'PaySyncStatus', '支付同步结果', b'1', '支付', '', 1399985191002447872, '2024-01-14 00:32:39', 1399985191002447872, '2024-01-14 00:32:39', 0, 0); -INSERT INTO `base_dict` VALUES (1749612665392541696, 'ReconcileTrade', '支付对账交易类型', b'1', '支付', '', 1399985191002447872, '2024-01-23 09:59:00', 1399985191002447872, '2024-03-01 23:31:32', 0, 1); -INSERT INTO `base_dict` VALUES (1751603996496453632, 'PaymentType', '支付系统行为类型', b'1', '支付', '支付系统中常见的操作类型, 如支付/退款/转账等', 1399985191002447872, '2024-01-28 21:51:51', 1399985191002447872, '2024-01-28 21:51:51', 0, 0); -INSERT INTO `base_dict` VALUES (1751613032260370432, 'PayCallbackType', '回调类型', b'1', '支付', '', 1399985191002447872, '2024-01-28 22:27:45', 1399985191002447872, '2024-01-28 22:27:45', 0, 0); -INSERT INTO `base_dict` VALUES (1752560153120428032, 'RefundSyncStatus', '退款同步状态', b'1', '支付', '', 1399985191002447872, '2024-01-31 13:11:16', 1399985191002447872, '2024-01-31 13:11:16', 0, 0); -INSERT INTO `base_dict` VALUES (1753047382185091072, 'RefundRepairWay', '退款修复方式', b'1', '支付', '', 1399985191002447872, '2024-02-01 21:27:21', 1399985191002447872, '2024-02-01 21:27:21', 0, 0); -INSERT INTO `base_dict` VALUES (1758881354618220544, 'WalletStatus', '钱包状态', b'1', '支付', '', 1399985191002447872, '2024-02-17 23:49:28', 1399985191002447872, '2024-02-17 23:49:28', 0, 0); -INSERT INTO `base_dict` VALUES (1759189874194481152, 'VoucherStatus', '储值卡状态', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:15:25', 1399985191002447872, '2024-02-18 20:15:25', 0, 0); -INSERT INTO `base_dict` VALUES (1759190066511708160, 'WalletRecordType', '钱包记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:16:11', 1399985191002447872, '2024-02-18 20:16:11', 0, 0); -INSERT INTO `base_dict` VALUES (1759190427897135104, 'VoucherRecordType', '储值卡记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:17:37', 1399985191002447872, '2024-02-18 20:17:37', 0, 0); -INSERT INTO `base_dict` VALUES (1759190780252225536, 'CashRecordType', '现金记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:19:01', 1399985191002447872, '2024-02-19 22:07:09', 0, 1); -INSERT INTO `base_dict` VALUES (1761434095349624832, 'ClientNoticeType', '客户消息通知类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 00:53:09', 1399985191002447872, '2024-02-25 00:53:09', 0, 0); -INSERT INTO `base_dict` VALUES (1761434264858226688, 'ClientNoticeSendType', '客户消息通知发送类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 00:53:49', 1399985191002447872, '2024-02-25 00:53:49', 0, 0); -INSERT INTO `base_dict` VALUES (1761581634023583744, 'AlipayRecordType', '支付宝流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 10:39:25', 1399985191002447872, '2024-02-25 10:39:25', 0, 0); -INSERT INTO `base_dict` VALUES (1761588314480300032, 'WechatPayRecordType', '微信支付流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 11:05:58', 1399985191002447872, '2024-02-25 11:05:58', 0, 0); -INSERT INTO `base_dict` VALUES (1763588034467713024, 'ReconcileDiffType', '对账差异类型', b'1', '支付', '', 1399985191002447872, '2024-03-01 23:32:08', 1399985191002447872, '2024-03-01 23:32:08', 0, 0); -INSERT INTO `base_dict` VALUES (1766713545981153280, 'UnionPaySignType', '云闪付签名类型', b'1', '支付', '', 1399985191002447872, '2024-03-10 14:31:48', 1399985191002447872, '2024-03-10 14:31:48', 0, 0); -INSERT INTO `base_dict` VALUES (1768206399071809536, 'UnionPayRecordType', '云闪付流水类型', b'1', '支付', '', 1399985191002447872, '2024-03-14 17:23:52', 1399985191002447872, '2024-03-14 17:23:52', 0, 0); -INSERT INTO `base_dict` VALUES (1775112798259302400, 'AllocationReceiverType', '分账接收方类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 18:47:26', 1399985191002447872, '2024-04-02 18:47:26', 0, 0); -INSERT INTO `base_dict` VALUES (1775122632706805760, 'AllocationRelationType', '分账关系类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 19:26:30', 1399985191002447872, '2024-04-02 19:26:30', 0, 0); -INSERT INTO `base_dict` VALUES (1777697358802530304, 'AllocationOrderStatus', '分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-09 21:57:33', 1399985191002447872, '2024-04-16 19:09:18', 0, 1); -INSERT INTO `base_dict` VALUES (1780163691808391168, 'AllocationDetailResult', '支付分账明细处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:17:53', 1399985191002447872, '2024-04-16 17:23:37', 0, 2); -INSERT INTO `base_dict` VALUES (1780165499633106944, 'AllocationOrderResult', '支付分账订单处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:25:04', 1399985191002447872, '2024-04-16 17:25:04', 0, 0); -INSERT INTO `base_dict` VALUES (1780165929528295424, 'PayOrderAllocationStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-04-16 17:26:46', 0, 0); - --- ---------------------------- --- Table structure for base_dict_item --- ---------------------------- -DROP TABLE IF EXISTS `base_dict_item`; -CREATE TABLE `base_dict_item` ( - `id` bigint(20) NOT NULL, - `dict_id` bigint(20) NOT NULL COMMENT '字典id', - `dict_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典code', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典项code', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典项名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `sort_no` double(8, 2) NOT NULL COMMENT '排序', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_dictionary_id`(`dict_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典项' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dict_item --- ---------------------------- -INSERT INTO `base_dict_item` VALUES (1422931375807242241, 1422929378374828033, 'Sex', '1', '男', b'1', 0.00, '男性', 0, '2021-08-04 22:44:11', 0, '2021-08-04 22:44:11', 0, 2); -INSERT INTO `base_dict_item` VALUES (1425729455402401794, 1422929378374828033, 'Sex', '2', '女', b'1', 0.00, '女性', 0, '2021-08-12 16:02:46', 0, '2021-08-12 16:02:46', 0, 1); -INSERT INTO `base_dict_item` VALUES (1425744258544136194, 1425744045414772737, 'MenuType', '0', '顶级菜单', b'1', 0.00, '顶级菜单', 0, '2021-08-12 17:01:35', 0, '2021-08-12 17:01:35', 0, 0); -INSERT INTO `base_dict_item` VALUES (1425744436592340993, 1425744045414772737, 'MenuType', '1', '子菜单', b'1', 0.00, '子菜单', 0, '2021-08-12 17:02:17', 0, '2021-08-12 17:02:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1425744470582980610, 1425744045414772737, 'MenuType', '2', '按钮权限', b'1', 0.00, '按钮权限', 0, '2021-08-12 17:02:26', 0, '2021-08-12 17:02:26', 0, 0); -INSERT INTO `base_dict_item` VALUES (1430094707250413568, 1422929378374828033, 'Sex', '0', '未知', b'1', 0.00, '不确定性别', 1399985191002447872, '2021-08-24 17:08:43', 1399985191002447872, '2021-08-24 17:08:43', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435830086406463488, 1435829999592759296, 'UserStatusCode', 'normal', '正常', b'1', 0.00, 'NORMAL', 1399985191002447872, '2021-09-09 12:59:04', 1399985191002447872, '2023-11-25 15:32:04', 0, 1); -INSERT INTO `base_dict_item` VALUES (1435830141855162368, 1435829999592759296, 'UserStatusCode', 'lock', '锁定', b'1', 0.00, 'LOCK, 多次登录失败被锁定', 1399985191002447872, '2021-09-09 12:59:17', 1399985191002447872, '2023-11-25 15:32:14', 0, 2); -INSERT INTO `base_dict_item` VALUES (1435830260503633920, 1435829999592759296, 'UserStatusCode', 'ban', '封禁', b'1', 0.00, 'BAN', 1399985191002447872, '2021-09-09 12:59:45', 1399985191002447872, '2023-11-25 15:32:20', 0, 1); -INSERT INTO `base_dict_item` VALUES (1435838374749626368, 1435838066191458304, 'LogBusinessType', 'other', '其它', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:00', 1399985191002447872, '2021-09-09 13:32:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838414436130816, 1435838066191458304, 'LogBusinessType', 'insert', '新增', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:09', 1399985191002447872, '2021-09-09 13:32:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838467624099840, 1435838066191458304, 'LogBusinessType', 'update', '修改', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:22', 1399985191002447872, '2021-09-09 13:32:22', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838502755590144, 1435838066191458304, 'LogBusinessType', 'delete', '删除', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:30', 1399985191002447872, '2021-09-09 13:32:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838546934194176, 1435838066191458304, 'LogBusinessType', 'grant', '授权', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:41', 1399985191002447872, '2021-09-09 13:32:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838605537009664, 1435838066191458304, 'LogBusinessType', 'export', '导出', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:55', 1399985191002447872, '2021-09-09 13:32:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838705457913856, 1435838066191458304, 'LogBusinessType', 'import', '导入', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:19', 1399985191002447872, '2021-09-09 13:33:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838745861644288, 1435838066191458304, 'LogBusinessType', 'force', '强退', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:28', 1399985191002447872, '2021-09-09 13:33:28', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838786273763328, 1435838066191458304, 'LogBusinessType', 'clean', '清空数据', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:38', 1399985191002447872, '2021-09-09 13:33:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438079113630003200, 1438078864509317120, 'MailSecurityCode', '1', '普通方式', b'1', 0.00, 'SECURITY_TYPE_PLAIN', 1399985191002447872, '2021-09-15 17:55:54', 1399985191002447872, '2021-09-15 17:55:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438080323061755904, 1438078864509317120, 'MailSecurityCode', '2', 'TLS方式', b'1', 0.00, 'SECURITY_TYPE_TLS', 1399985191002447872, '2021-09-15 18:00:42', 1399985191002447872, '2021-09-15 18:00:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438080372231581696, 1438078864509317120, 'MailSecurityCode', '3', 'SSL方式', b'1', 0.00, 'SECURITY_TYPE_SSL', 1399985191002447872, '2021-09-15 18:00:54', 1399985191002447872, '2021-09-15 18:00:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439961603914047488, 1439961232651034624, 'MessageTemplateCode', '5', '微信', b'1', -10.00, 'WECHAT', 1399985191002447872, '2021-09-20 22:36:14', 1399985191002447872, '2021-09-20 22:36:14', 0, 1); -INSERT INTO `base_dict_item` VALUES (1439961704321490944, 1439961232651034624, 'MessageTemplateCode', '4', 'Email', b'1', 0.00, 'EMAIL', 1399985191002447872, '2021-09-20 22:36:38', 1399985191002447872, '2021-09-20 22:36:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962132744478720, 1439961232651034624, 'MessageTemplateCode', '3', '短信', b'1', 0.00, 'SMS', 1399985191002447872, '2021-09-20 22:38:20', 1399985191002447872, '2021-09-20 22:38:20', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962205578567680, 1439961232651034624, 'MessageTemplateCode', '2', '钉钉机器人', b'1', 0.00, 'DING_TALK_ROBOT', 1399985191002447872, '2021-09-20 22:38:38', 1399985191002447872, '2021-09-20 22:38:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962267511660544, 1439961232651034624, 'MessageTemplateCode', '1', '钉钉', b'1', 0.00, 'DING_TALK', 1399985191002447872, '2021-09-20 22:38:52', 1399985191002447872, '2021-09-20 22:38:52', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452836696873984000, 1452836604783845376, 'SocialType', 'WeChat', '微信', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:17:16', 1399985191002447872, '2021-10-26 11:17:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452837435482529792, 1452836604783845376, 'SocialType', 'QQ', 'QQ', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:20:12', 1399985191002447872, '2021-10-26 11:20:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452837523030237184, 1452836604783845376, 'SocialType', 'DingTalk', '钉钉', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:20:33', 1399985191002447872, '2021-10-26 11:20:33', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452844537911406592, 1452843488735621120, 'ParamType', '1', '系统参数', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:48:25', 1399985191002447872, '2021-10-26 11:48:25', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452844565031776256, 1452843488735621120, 'ParamType', '2', '用户参数', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:48:32', 1399985191002447872, '2021-10-26 11:48:32', 0, 2); -INSERT INTO `base_dict_item` VALUES (1496026946344005632, 1496024933900169216, 'Political', '1', '中共党员', b'1', 1.00, '', 1399985191002447872, '2022-02-22 15:39:54', 1399985191002447872, '2022-02-22 15:39:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027004560945152, 1496024933900169216, 'Political', '2', '中共预备党员', b'1', 2.00, '', 1399985191002447872, '2022-02-22 15:40:07', 1399985191002447872, '2022-02-22 15:40:07', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027039264616448, 1496024933900169216, 'Political', '3', '共青团员', b'1', 3.00, '', 1399985191002447872, '2022-02-22 15:40:16', 1399985191002447872, '2022-02-22 15:40:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027077550223360, 1496024933900169216, 'Political', '4', '民革党员', b'1', 4.00, '', 1399985191002447872, '2022-02-22 15:40:25', 1399985191002447872, '2022-02-22 15:40:25', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027123461074944, 1496024933900169216, 'Political', '5', '民盟盟员', b'1', 5.00, '', 1399985191002447872, '2022-02-22 15:40:36', 1399985191002447872, '2022-02-22 15:40:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027197566038016, 1496024933900169216, 'Political', '6', '民建会员', b'1', 6.00, '', 1399985191002447872, '2022-02-22 15:40:53', 1399985191002447872, '2022-02-22 15:40:53', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027234803068928, 1496024933900169216, 'Political', '7', '民进会员', b'1', 7.00, '', 1399985191002447872, '2022-02-22 15:41:02', 1399985191002447872, '2022-02-22 15:41:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027272941875200, 1496024933900169216, 'Political', '8', '农工党党员', b'1', 8.00, '', 1399985191002447872, '2022-02-22 15:41:11', 1399985191002447872, '2022-02-22 15:41:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027306634719232, 1496024933900169216, 'Political', '9', '致公党党员', b'1', 9.00, '', 1399985191002447872, '2022-02-22 15:41:19', 1399985191002447872, '2022-02-22 15:41:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027369796743168, 1496024933900169216, 'Political', '10', '九三学社社员', b'1', 10.00, '', 1399985191002447872, '2022-02-22 15:41:34', 1399985191002447872, '2022-02-22 15:41:35', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027408141070336, 1496024933900169216, 'Political', '11', '台盟盟员', b'1', 11.00, '', 1399985191002447872, '2022-02-22 15:41:44', 1399985191002447872, '2022-02-22 15:41:44', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027456849522688, 1496024933900169216, 'Political', '12', '无党派人士', b'1', 12.00, '', 1399985191002447872, '2022-02-22 15:41:55', 1399985191002447872, '2022-02-22 15:41:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027516639326208, 1496024933900169216, 'Political', '13', '群众', b'1', 13.00, '', 1399985191002447872, '2022-02-22 15:42:09', 1399985191002447872, '2022-02-22 15:42:10', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003368762032128, 1561003021674987520, 'SiteMessageReceive', 'user', '指定用户', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:00', 1399985191002447872, '2022-08-20 22:53:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003399778910208, 1561003021674987520, 'SiteMessageReceive', 'all', '全部用户', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:07', 1399985191002447872, '2022-08-20 22:53:24', 0, 1); -INSERT INTO `base_dict_item` VALUES (1561003539772194816, 1561003189111603200, 'SiteMessageState', 'sent', '已发送', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:41', 1399985191002447872, '2022-08-20 22:53:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003575608328192, 1561003189111603200, 'SiteMessageState', 'cancel', '撤销', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:49', 1399985191002447872, '2022-08-20 22:53:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561245469535080448, 1561003189111603200, 'SiteMessageState', 'draft', '草稿', b'1', 0.00, '', 1399985191002447872, '2022-08-21 14:55:01', 1399985191002447872, '2022-08-21 14:55:01', 0, 0); -INSERT INTO `base_dict_item` VALUES (1573665422392098816, 1439961232651034624, 'MessageTemplateCode', '0', '站内信', b'1', -11.00, 'SITE', 1399985191002447872, '2022-09-24 21:27:29', 1399985191002447872, '2022-09-24 21:27:39', 0, 1); -INSERT INTO `base_dict_item` VALUES (1589528254477488128, 1589527951317389312, 'DataScopePerm', 'self_dept_sub', '所在及下级部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:43', 1399985191002447872, '2023-11-28 23:16:02', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528283539820544, 1589527951317389312, 'DataScopePerm', 'self_dept', '所在部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:49', 1399985191002447872, '2023-11-28 23:15:52', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528315672383488, 1589527951317389312, 'DataScopePerm', 'all', '全部数据', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:57', 1399985191002447872, '2023-11-25 22:51:28', 0, 1); -INSERT INTO `base_dict_item` VALUES (1589528340267782144, 1589527951317389312, 'DataScopePerm', 'dept_and_user', '自定义部门和用户', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:03', 1399985191002447872, '2023-11-29 15:25:01', 0, 3); -INSERT INTO `base_dict_item` VALUES (1589528367228768256, 1589527951317389312, 'DataScopePerm', 'dept', '自定义部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:09', 1399985191002447872, '2023-11-29 15:24:47', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528393292173312, 1589527951317389312, 'DataScopePerm', 'user', '指定用户', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:16', 1399985191002447872, '2023-11-29 15:25:16', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528423956729856, 1589527951317389312, 'DataScopePerm', 'self', '自身数据', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:23', 1399985191002447872, '2023-11-25 22:50:41', 0, 1); -INSERT INTO `base_dict_item` VALUES (1633403429028536320, 1633393287952257024, 'DatabaseType', 'mysql', 'MySQL', b'1', 1.00, '', 1414143554414059520, '2023-03-08 17:44:59', 1414143554414059520, '2023-03-08 17:44:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1633403459470794752, 1633393287952257024, 'DatabaseType', 'oracle', 'Oracle', b'1', 2.00, '', 1414143554414059520, '2023-03-08 17:45:07', 1414143554414059520, '2023-03-08 17:45:07', 0, 0); -INSERT INTO `base_dict_item` VALUES (1633403498695925760, 1633393287952257024, 'DatabaseType', 'mssql', 'SQLServer', b'1', 3.00, '', 1414143554414059520, '2023-03-08 17:45:16', 1414143554414059520, '2023-03-08 17:45:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742732891111424, 1688742690398617600, 'SmsChannel', 'alibaba', '阿里云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:38', 1414143554414059520, '2023-08-08 10:43:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742768479780864, 1688742690398617600, 'SmsChannel', 'huawei', '华为云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:46', 1414143554414059520, '2023-08-08 10:43:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742808027873280, 1688742690398617600, 'SmsChannel', 'yunpian', '云片', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:55', 1414143554414059520, '2023-08-08 10:43:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742840626003968, 1688742690398617600, 'SmsChannel', 'tencent', '腾讯云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:03', 1414143554414059520, '2023-08-08 10:44:03', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742872506908672, 1688742690398617600, 'SmsChannel', 'uni_sms', '合一短信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:11', 1414143554414059520, '2023-08-08 10:44:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742905553829888, 1688742690398617600, 'SmsChannel', 'jd_cloud', '京东云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:19', 1414143554414059520, '2023-08-08 10:44:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742954715267072, 1688742690398617600, 'SmsChannel', 'cloopen', '容联云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:30', 1414143554414059520, '2023-08-08 10:44:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742990446542848, 1688742690398617600, 'SmsChannel', 'emay', '亿美软通', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:39', 1414143554414059520, '2023-08-08 10:44:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743032297308160, 1688742690398617600, 'SmsChannel', 'ctyun', '天翼云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:49', 1414143554414059520, '2023-08-08 10:44:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743065205817344, 1688742690398617600, 'SmsChannel', 'netease', '网易云信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:57', 1414143554414059520, '2023-08-08 10:44:57', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338619024437248, 1690338321769918464, 'GeneralTemplateUseType', 'import', '导入', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:06', 1414143554414059520, '2023-08-12 20:25:06', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338653442895872, 1690338321769918464, 'GeneralTemplateUseType', 'export', '导出', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:15', 1414143554414059520, '2023-08-12 20:25:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338707129987072, 1690338545284378624, 'GeneralTemplateState', 'enable', '启用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:27', 1414143554414059520, '2023-08-12 20:25:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338748032839680, 1690338545284378624, 'GeneralTemplateState', 'disable', '停用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:37', 1414143554414059520, '2023-08-12 20:25:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1729519341702086656, 1589527951317389312, 'DataScopePerm', 'dept_sub', '指定部门及下级部门', b'1', 0.00, '', 1399985191002447872, '2023-11-28 23:15:19', 1399985191002447872, '2023-11-28 23:15:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997130102317056, 1744996845355212800, 'PayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 16:18:31', 1399985191002447872, '2024-01-10 16:18:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997169239367680, 1744996845355212800, 'PayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:18:40', 1399985191002447872, '2024-01-10 16:18:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997213623492608, 1744996845355212800, 'PayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:18:51', 1399985191002447872, '2024-01-10 16:18:51', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997258951335936, 1744996845355212800, 'PayChannel', 'cash_pay', '现金支付', b'1', 4.00, '', 1399985191002447872, '2024-01-10 16:19:02', 1399985191002447872, '2024-01-10 16:19:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997315557662720, 1744996845355212800, 'PayChannel', 'wallet_pay', '钱包支付', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:19:15', 1399985191002447872, '2024-01-10 16:19:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997364404527104, 1744996845355212800, 'PayChannel', 'voucher_pay', '储值卡支付', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:19:27', 1399985191002447872, '2024-01-10 16:19:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997501033979904, 1744996913667842048, 'PayStatus', 'progress', '支付中', b'1', 1.00, '', 1399985191002447872, '2024-01-10 16:19:59', 1399985191002447872, '2024-01-10 16:19:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997541811003392, 1744996913667842048, 'PayStatus', 'success', '成功', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:20:09', 1399985191002447872, '2024-01-10 16:20:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997578863484928, 1744996913667842048, 'PayStatus', 'close', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:20:18', 1399985191002447872, '2024-01-10 16:20:18', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997619665674240, 1744996913667842048, 'PayStatus', 'fail', '失败', b'1', 7.00, '', 1399985191002447872, '2024-01-10 16:20:28', 1399985191002447872, '2024-01-27 00:52:05', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997658735616000, 1744996913667842048, 'PayStatus', 'partial_refund', '部分退款', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:20:37', 1399985191002447872, '2024-01-10 16:20:44', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997746321072128, 1744996913667842048, 'PayStatus', 'refunded', '全部退款', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:20:58', 1399985191002447872, '2024-01-10 16:20:58', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745085949967278080, 1744996611615039488, 'AsyncPayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:11:27', 1399985191002447872, '2024-01-10 22:11:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745085991767711744, 1744996611615039488, 'AsyncPayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:11:37', 1399985191002447872, '2024-01-10 22:11:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745086048852189184, 1744996611615039488, 'AsyncPayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:11:51', 1399985191002447872, '2024-01-11 00:13:03', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745086902929924096, 1745086859116224512, 'PayWay', 'normal', '常规支付', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:15:14', 1399985191002447872, '2024-01-10 22:15:26', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745086940036931584, 1745086859116224512, 'PayWay', 'wap', 'wap支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:15:23', 1399985191002447872, '2024-01-10 22:15:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087004062982144, 1745086859116224512, 'PayWay', 'app', '应用支付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:15:39', 1399985191002447872, '2024-01-10 22:15:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087058194669568, 1745086859116224512, 'PayWay', 'web', 'web支付', b'1', 4.00, '', 1399985191002447872, '2024-01-10 22:15:51', 1399985191002447872, '2024-01-10 22:15:51', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087104050995200, 1745086859116224512, 'PayWay', 'qrcode', '扫码支付', b'1', 5.00, '', 1399985191002447872, '2024-01-10 22:16:02', 1399985191002447872, '2024-01-10 22:16:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087163324899328, 1745086859116224512, 'PayWay', 'barcode', '付款码', b'1', 6.00, '', 1399985191002447872, '2024-01-10 22:16:17', 1399985191002447872, '2024-01-10 22:16:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087221629919232, 1745086859116224512, 'PayWay', 'jsapi', '公众号/小程序支付', b'1', 7.00, '', 1399985191002447872, '2024-01-10 22:16:30', 1399985191002447872, '2024-01-10 22:16:37', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745109413893656576, 1745109350333173760, 'PayCallbackStatus', 'success', '成功', b'1', 1.00, '', 1399985191002447872, '2024-01-10 23:44:41', 1399985191002447872, '2024-01-10 23:44:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109449050312704, 1745109350333173760, 'PayCallbackStatus', 'fail', '失败', b'1', 2.00, '', 1399985191002447872, '2024-01-10 23:44:50', 1399985191002447872, '2024-01-10 23:44:50', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109487289782272, 1745109350333173760, 'PayCallbackStatus', 'ignore', '忽略', b'1', 3.00, '', 1399985191002447872, '2024-01-10 23:44:59', 1399985191002447872, '2024-01-10 23:44:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109526477164544, 1745109350333173760, 'PayCallbackStatus', 'exception', '异常', b'1', 4.00, '', 1399985191002447872, '2024-01-10 23:45:08', 1399985191002447872, '2024-02-01 22:14:52', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745109571771453440, 1745109350333173760, 'PayCallbackStatus', 'not_found', '未找到', b'1', 5.00, '', 1399985191002447872, '2024-01-10 23:45:19', 1399985191002447872, '2024-01-10 23:45:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745129035573465088, 1745128986382667776, 'PayRepairSource', 'sync', '同步', b'1', 1.00, '', 1399985191002447872, '2024-01-11 01:02:40', 1399985191002447872, '2024-01-11 01:02:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745133530906857472, 1745128986382667776, 'PayRepairSource', 'callback', '回调', b'1', 2.00, '', 1399985191002447872, '2024-01-11 01:20:31', 1399985191002447872, '2024-01-11 01:20:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745133583939637248, 1745128986382667776, 'PayRepairSource', 'reconcile', '对账', b'1', 3.00, '', 1399985191002447872, '2024-01-11 01:20:44', 1399985191002447872, '2024-01-11 01:20:44', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745134495319953408, 1745134438772346880, 'PayRepairWay', 'pay_success', '支付成功', b'1', 1.00, '', 1399985191002447872, '2024-01-11 01:24:21', 1399985191002447872, '2024-02-01 21:29:32', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134589926674432, 1745134438772346880, 'PayRepairWay', 'pay_close_local', '关闭本地支付', b'1', 2.00, '', 1399985191002447872, '2024-01-11 01:24:44', 1399985191002447872, '2024-02-01 21:29:36', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134628447162368, 1745134438772346880, 'PayRepairWay', 'pay_progress', '更改为支付中', b'1', 3.00, '', 1399985191002447872, '2024-01-11 01:24:53', 1399985191002447872, '2024-02-01 22:02:53', 0, 2); -INSERT INTO `base_dict_item` VALUES (1745134664807583744, 1745134438772346880, 'PayRepairWay', 'pay_close_gateway', '关闭网关支付', b'1', 4.00, '', 1399985191002447872, '2024-01-11 01:25:02', 1399985191002447872, '2024-02-01 21:29:43', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134703416152064, 1745134438772346880, 'PayRepairWay', 'refund', '退款', b'1', 5.00, '', 1399985191002447872, '2024-01-11 01:25:11', 1399985191002447872, '2024-01-28 21:55:55', 1, 1); -INSERT INTO `base_dict_item` VALUES (1745748239158845440, 1745748188122554368, 'RefundStatus', 'success', '成功', b'1', 1.00, '', 1399985191002447872, '2024-01-12 18:03:09', 1399985191002447872, '2024-01-12 18:03:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745748274525216768, 1745748188122554368, 'RefundStatus', 'fail', '失败', b'1', 3.00, '', 1399985191002447872, '2024-01-12 18:03:18', 1399985191002447872, '2024-01-27 00:51:02', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208700446683136, 1746208645341917184, 'PaySyncStatus', 'pay_fail', '支付查询失败', b'1', 1.00, '', 1399985191002447872, '2024-01-14 00:32:52', 1399985191002447872, '2024-02-01 21:59:17', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208760488144896, 1746208645341917184, 'PaySyncStatus', 'pay_success', '支付成功', b'1', 2.00, '', 1399985191002447872, '2024-01-14 00:33:06', 1399985191002447872, '2024-02-01 21:59:23', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208802531848192, 1746208645341917184, 'PaySyncStatus', 'pay_progress', '支付中', b'1', 3.00, '', 1399985191002447872, '2024-01-14 00:33:16', 1399985191002447872, '2024-02-01 21:59:33', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208853882712064, 1746208645341917184, 'PaySyncStatus', 'pay_closed', '支付已关闭', b'1', 4.00, '', 1399985191002447872, '2024-01-14 00:33:28', 1399985191002447872, '2024-02-01 21:59:43', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208898396860416, 1746208645341917184, 'PaySyncStatus', 'pay_refund', '支付退款', b'1', 5.00, '', 1399985191002447872, '2024-01-14 00:33:39', 1399985191002447872, '2024-02-01 21:59:53', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746208959721779200, 1746208645341917184, 'PaySyncStatus', 'pay_not_found', '交易不存在', b'1', 6.00, '', 1399985191002447872, '2024-01-14 00:33:54', 1399985191002447872, '2024-02-01 22:00:05', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746224281904455680, 1746208645341917184, 'PaySyncStatus', 'pay_not_found_unknown', '交易不存在(特殊)', b'1', 7.00, '未查询到订单(具体类型未知), 区别于上面的未查询到订单,有些支付方式如支付宝,发起支付后并不能查询到订单,需要用户进行操作后才能查询到订单,所以查询为了区分,增加一个未知的状态, 用于处理这种特殊情况, 然后根据业务需要,关闭订单或者进行其他操作', 1399985191002447872, '2024-01-14 01:34:47', 1399985191002447872, '2024-02-01 22:00:13', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746224432131842048, 1746208645341917184, 'PaySyncStatus', 'pay_timeout', '支付超时', b'1', 8.00, '', 1399985191002447872, '2024-01-14 01:35:23', 1399985191002447872, '2024-02-01 22:00:30', 0, 2); -INSERT INTO `base_dict_item` VALUES (1749612708363186176, 1749612665392541696, 'ReconcileTrade', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-23 09:59:11', 1399985191002447872, '2024-01-23 09:59:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1749612758531256320, 1749612665392541696, 'ReconcileTrade', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-23 09:59:23', 1399985191002447872, '2024-01-23 09:59:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1749612797680889856, 1749612665392541696, 'ReconcileTrade', 'revoked', '撤销', b'1', 3.00, '', 1399985191002447872, '2024-01-23 09:59:32', 1399985191002447872, '2024-01-23 09:59:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924188674404352, 1745748188122554368, 'RefundStatus', 'progress', '退款中', b'1', 0.00, '接口调用成功不代表成功', 1399985191002447872, '2024-01-27 00:50:32', 1399985191002447872, '2024-01-27 00:50:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924286401687552, 1745748188122554368, 'RefundStatus', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-01-27 00:50:55', 1399985191002447872, '2024-01-27 00:50:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924518497693696, 1744996913667842048, 'PayStatus', 'refunding', '退款中', b'1', 4.00, '', 1399985191002447872, '2024-01-27 00:51:50', 1399985191002447872, '2024-01-27 00:52:10', 0, 1); -INSERT INTO `base_dict_item` VALUES (1751528739035111424, 1751603996496453632, 'PaymentType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-28 16:52:48', 1399985191002447872, '2024-01-28 16:52:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751528773260632064, 1751603996496453632, 'PaymentType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-28 16:52:56', 1399985191002447872, '2024-01-28 16:52:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751613076980039680, 1751613032260370432, 'PayCallbackType', 'pay', '支付回调', b'1', 1.00, '', 1399985191002447872, '2024-01-28 22:27:56', 1399985191002447872, '2024-01-28 22:27:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751613114254819328, 1751613032260370432, 'PayCallbackType', 'refund', '退款回调', b'1', 2.00, '', 1399985191002447872, '2024-01-28 22:28:04', 1399985191002447872, '2024-01-28 22:28:04', 0, 0); -INSERT INTO `base_dict_item` VALUES (1752216855927226368, 1745748188122554368, 'RefundStatus', 'close', '关闭', b'1', 4.00, '', 1399985191002447872, '2024-01-30 14:27:08', 1399985191002447872, '2024-01-30 14:27:08', 0, 0); -INSERT INTO `base_dict_item` VALUES (1752560213673594880, 1752560153120428032, 'RefundSyncStatus', 'refund_success', '退款成功', b'1', 1.00, '', 1399985191002447872, '2024-01-31 13:11:31', 1399985191002447872, '2024-02-01 21:56:59', 0, 1); -INSERT INTO `base_dict_item` VALUES (1752560254228320256, 1752560153120428032, 'RefundSyncStatus', 'refund_fail', '退款失败', b'1', 2.00, '', 1399985191002447872, '2024-01-31 13:11:40', 1399985191002447872, '2024-02-01 21:57:07', 0, 1); -INSERT INTO `base_dict_item` VALUES (1752560288546115584, 1752560153120428032, 'RefundSyncStatus', 'refund_progress', '退款中', b'1', 3.00, '', 1399985191002447872, '2024-01-31 13:11:48', 1399985191002447872, '2024-02-01 21:57:45', 0, 1); -INSERT INTO `base_dict_item` VALUES (1753044707091554304, 1745128986382667776, 'PayRepairSource', 'task', '定时任务', b'1', 4.00, '', 1399985191002447872, '2024-02-01 21:16:43', 1399985191002447872, '2024-02-01 21:16:43', 0, 0); -INSERT INTO `base_dict_item` VALUES (1753047429014495232, 1753047382185091072, 'RefundRepairWay', 'refund_success', '退款成功', b'1', 1.00, '', 1399985191002447872, '2024-02-01 21:27:32', 1399985191002447872, '2024-02-01 21:29:13', 0, 1); -INSERT INTO `base_dict_item` VALUES (1753047491140526080, 1753047382185091072, 'RefundRepairWay', 'refund_fail', '退款失败', b'1', 2.00, '', 1399985191002447872, '2024-02-01 21:27:47', 1399985191002447872, '2024-02-01 21:29:19', 0, 1); -INSERT INTO `base_dict_item` VALUES (1755939895162052608, 1745134438772346880, 'PayRepairWay', 'refund_success', '退款成功', b'1', 5.00, '会更新为部分退款和全部退款', 1399985191002447872, '2024-02-09 21:01:09', 1399985191002447872, '2024-02-09 21:10:22', 0, 2); -INSERT INTO `base_dict_item` VALUES (1755942271772139520, 1745134438772346880, 'PayRepairWay', 'refund_fail', '退款失败', b'1', 6.00, '', 1399985191002447872, '2024-02-09 21:10:36', 1399985191002447872, '2024-02-09 21:10:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1758881424411439104, 1758881354618220544, 'WalletStatus', 'normal', '正常', b'1', 1.00, '', 1399985191002447872, '2024-02-17 23:49:45', 1399985191002447872, '2024-02-17 23:49:45', 0, 0); -INSERT INTO `base_dict_item` VALUES (1758881470334873600, 1758881354618220544, 'WalletStatus', 'forbidden', '禁用', b'1', 2.00, '', 1399985191002447872, '2024-02-17 23:49:56', 1399985191002447872, '2024-02-17 23:49:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759189919170002944, 1759189874194481152, 'VoucherStatus', 'normal', '正常', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:15:36', 1399985191002447872, '2024-02-18 20:15:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759189962564272128, 1759189874194481152, 'VoucherStatus', 'forbidden', '禁用', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:15:46', 1399985191002447872, '2024-02-18 20:15:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190150464897024, 1759190066511708160, 'WalletRecordType', 'create', '创建', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:16:31', 1399985191002447872, '2024-02-18 20:16:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190193783668736, 1759190066511708160, 'WalletRecordType', 'pay', '支付', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:16:41', 1399985191002447872, '2024-02-18 20:16:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190227510067200, 1759190066511708160, 'WalletRecordType', 'refund', '退款', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:16:49', 1399985191002447872, '2024-02-18 20:16:56', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190291980713984, 1759190066511708160, 'WalletRecordType', 'close_pay', '支付关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:17:04', 1399985191002447872, '2024-02-18 20:17:04', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190340517199872, 1759190066511708160, 'WalletRecordType', 'close_refund', '退款关闭', b'1', 5.00, '', 1399985191002447872, '2024-02-18 20:17:16', 1399985191002447872, '2024-02-19 17:31:26', 1, 0); -INSERT INTO `base_dict_item` VALUES (1759190472654553088, 1759190427897135104, 'VoucherRecordType', 'import', '导入', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:17:48', 1399985191002447872, '2024-02-18 20:17:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190506087350272, 1759190427897135104, 'VoucherRecordType', 'pay', '支付', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:17:55', 1399985191002447872, '2024-02-18 20:18:16', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190574865547264, 1759190427897135104, 'VoucherRecordType', 'refund', '退款', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:18:12', 1399985191002447872, '2024-02-18 20:18:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190633921347584, 1759190427897135104, 'VoucherRecordType', 'close_pay', '支付关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:18:26', 1399985191002447872, '2024-02-18 20:18:26', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190717757095936, 1759190427897135104, 'VoucherRecordType', 'close_refund', '退款关闭', b'1', 5.00, '', 1399985191002447872, '2024-02-18 20:18:46', 1399985191002447872, '2024-02-19 17:31:20', 1, 0); -INSERT INTO `base_dict_item` VALUES (1759190820500766720, 1759190780252225536, 'CashRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:19:10', 1399985191002447872, '2024-02-18 20:19:39', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190850754281472, 1759190780252225536, 'CashRecordType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:19:18', 1399985191002447872, '2024-02-18 20:19:42', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190884061249536, 1759190780252225536, 'CashRecordType', 'close_pay', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:19:26', 1399985191002447872, '2024-02-18 20:19:46', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190913261993984, 1759190780252225536, 'CashrRecordType', 'close_refund', '退款关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:19:33', 1399985191002447872, '2024-02-19 17:31:15', 1, 1); -INSERT INTO `base_dict_item` VALUES (1759514962507554816, 1759190066511708160, 'WalletRecordType', 'recharge', '充值', b'1', 11.00, '', 1399985191002447872, '2024-02-19 17:47:12', 1399985191002447872, '2024-02-19 17:47:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759515000520531968, 1759190066511708160, 'WalletRecordType', 'deduct', '扣减', b'1', 12.00, '', 1399985191002447872, '2024-02-19 17:47:21', 1399985191002447872, '2024-02-19 17:47:21', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434142275497984, 1761434095349624832, 'ClientNoticeType', 'pay', '支付通知', b'1', 1.00, '', 1399985191002447872, '2024-02-25 00:53:20', 1399985191002447872, '2024-02-25 00:53:20', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434179445420032, 1761434095349624832, 'ClientNoticeType', 'refund', '退款通知', b'1', 2.00, '', 1399985191002447872, '2024-02-25 00:53:29', 1399985191002447872, '2024-02-25 00:53:29', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434308537708544, 1761434264858226688, 'ClientNoticeSendType', 'auto', '自动发送', b'1', 0.00, '', 1399985191002447872, '2024-02-25 00:54:00', 1399985191002447872, '2024-02-25 00:54:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434346206752768, 1761434264858226688, 'ClientNoticeSendType', 'manual', '手动发送', b'1', 1.00, '', 1399985191002447872, '2024-02-25 00:54:09', 1399985191002447872, '2024-02-25 00:54:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761581686381080576, 1761581634023583744, 'AlipayRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-02-25 10:39:37', 1399985191002447872, '2024-02-25 10:39:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761581731029446656, 1761581634023583744, 'AlipayRecordType', 'refund', '退款', b'1', 1.00, '', 1399985191002447872, '2024-02-25 10:39:48', 1399985191002447872, '2024-02-25 10:39:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761588368863645696, 1761588314480300032, 'WechatPayRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-02-25 11:06:11', 1399985191002447872, '2024-02-25 11:06:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761588397825314816, 1761588314480300032, 'WechatPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-02-25 11:06:17', 1399985191002447872, '2024-02-25 11:06:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588081838182400, 1763588034467713024, 'ReconcileDiffType', 'local_not_exists', '本地订单不存在', b'1', 0.00, '', 1399985191002447872, '2024-03-01 23:32:19', 1399985191002447872, '2024-03-01 23:32:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588123143688192, 1763588034467713024, 'ReconcileDiffType', 'remote_not_exists', '远程订单不存在', b'1', 1.00, '', 1399985191002447872, '2024-03-01 23:32:29', 1399985191002447872, '2024-03-01 23:32:29', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588174695878656, 1763588034467713024, 'ReconcileDiffType', 'not_match', '订单信息不一致', b'1', 2.00, '', 1399985191002447872, '2024-03-01 23:32:41', 1399985191002447872, '2024-03-01 23:32:48', 0, 1); -INSERT INTO `base_dict_item` VALUES (1766713657021157376, 1766713545981153280, 'UnionPaySignType', 'RSA2', 'RSA2', b'1', 0.00, '', 1399985191002447872, '2024-03-10 14:32:14', 1399985191002447872, '2024-03-10 14:32:14', 0, 0); -INSERT INTO `base_dict_item` VALUES (1768206502721449984, 1768206399071809536, 'UnionPayRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-03-14 17:24:17', 1399985191002447872, '2024-03-14 17:24:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1768206547285929984, 1768206399071809536, 'UnionPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-03-14 17:24:27', 1399985191002447872, '2024-03-14 17:24:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122126567559168, 1775112798259302400, 'AllocationReceiverType', 'wx_personal', '个人', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-04-02 19:24:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122171861848064, 1775112798259302400, 'AllocationReceiverType', 'wx_merchant', '商户', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-04-02 19:24:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122227956469760, 1775112798259302400, 'AllocationReceiverType', 'ali_user_id', '用户ID', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:24:54', 1399985191002447872, '2024-04-02 19:25:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1775122278170677248, 1775112798259302400, 'AllocationReceiverType', 'ali_open_id', '登录号', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-04-02 19:25:06', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122427802472448, 1775112798259302400, 'AllocationReceiverType', 'ali_login_name', '账号', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:25:42', 1399985191002447872, '2024-04-02 19:25:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122672623996928, 1775122632706805760, 'AllocationRelationType', 'SERVICE_PROVIDER', '服务商', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:26:40', 1399985191002447872, '2024-04-02 19:26:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122710884438016, 1775122632706805760, 'AllocationRelationType', 'STORE', '门店', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:26:49', 1399985191002447872, '2024-04-02 19:26:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122750612885504, 1775122632706805760, 'AllocationRelationType', 'STAFF', '员工', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:26:59', 1399985191002447872, '2024-04-02 19:26:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122847035740160, 1775122632706805760, 'AllocationRelationType', 'STORE_OWNER', '店主', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:27:22', 1399985191002447872, '2024-04-02 19:27:22', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122892464246784, 1775122632706805760, 'AllocationRelationType', 'PARTNER', '合作伙伴', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:27:32', 1399985191002447872, '2024-04-02 19:27:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122934138851328, 1775122632706805760, 'AllocationRelationType', 'HEADQUARTER', '总部', b'1', 6.00, '', 1399985191002447872, '2024-04-02 19:27:42', 1399985191002447872, '2024-04-02 19:27:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123560512016384, 1775122632706805760, 'AllocationRelationType', 'DISTRIBUTOR', '分销商', b'1', 7.00, '', 1399985191002447872, '2024-04-02 19:30:12', 1399985191002447872, '2024-04-02 19:30:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123607781822464, 1775122632706805760, 'AllocationRelationType', 'USER', '用户', b'1', 8.00, '', 1399985191002447872, '2024-04-02 19:30:23', 1399985191002447872, '2024-04-02 19:30:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123654527340544, 1775122632706805760, 'AllocationRelationType', 'SUPPLIER', '供应商', b'1', 9.00, '', 1399985191002447872, '2024-04-02 19:30:34', 1399985191002447872, '2024-04-02 19:30:34', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123705886593024, 1775122632706805760, 'AllocationRelationType', 'CUSTOM', '自定义', b'1', 10.00, '', 1399985191002447872, '2024-04-02 19:30:46', 1399985191002447872, '2024-04-02 19:30:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1777700713809522688, 1777697358802530304, 'AllocationOrderStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-09 22:10:53', 1399985191002447872, '2024-04-09 22:10:53', 0, 0); -INSERT INTO `base_dict_item` VALUES (1777700750744563712, 1777697358802530304, 'AllocationOrderStatus', 'allocation_processing', '分账处理中', b'1', 2.00, '', 1399985191002447872, '2024-04-09 22:11:02', 1399985191002447872, '2024-04-16 17:14:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777700787453112320, 1777697358802530304, 'AllocationOrderStatus', 'allocation_end', '分账完成', b'1', 3.00, '', 1399985191002447872, '2024-04-09 22:11:10', 1399985191002447872, '2024-04-16 17:36:25', 0, 2); -INSERT INTO `base_dict_item` VALUES (1777700835826020352, 1777697358802530304, 'AllocationOrderStatus', 'allocation_failed', '分账失败', b'1', 4.00, '', 1399985191002447872, '2024-04-09 22:11:22', 1399985191002447872, '2024-04-16 17:16:34', 0, 2); -INSERT INTO `base_dict_item` VALUES (1777700870613577728, 1777697358802530304, 'AllocationOrderStatus', 'finish', '分账完结', b'1', 5.00, '', 1399985191002447872, '2024-04-09 22:11:30', 1399985191002447872, '2024-04-16 17:17:06', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777700915450687488, 1777697358802530304, 'AllocationStatus', 'partial_failed', '部分分账失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:41', 1399985191002447872, '2024-04-16 17:16:49', 1, 1); -INSERT INTO `base_dict_item` VALUES (1777700964087836672, 1777697358802530304, 'AllocationOrderStatus', 'finish_failed', '分账完结失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:53', 1399985191002447872, '2024-04-16 17:17:25', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777701030081015808, 1777697358802530304, 'AllocationStatus', 'closed', '分账关闭', b'1', 8.00, '', 1399985191002447872, '2024-04-09 22:12:08', 1399985191002447872, '2024-04-16 17:16:19', 1, 0); -INSERT INTO `base_dict_item` VALUES (1777701090676125696, 1777697358802530304, 'AllocationStatus', 'unknown', '分账状态未知', b'1', 9.00, '', 1399985191002447872, '2024-04-09 22:12:23', 1399985191002447872, '2024-04-16 17:16:16', 1, 0); -INSERT INTO `base_dict_item` VALUES (1780164864510623744, 1780163691808391168, 'AllocationDetailResult', 'pending', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:22:32', 1399985191002447872, '2024-04-16 17:22:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780164903886749696, 1780163691808391168, 'AllocationDetailResult', 'success', '分账成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:22:42', 1399985191002447872, '2024-04-16 17:22:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780164940712738816, 1780163691808391168, 'AllocationDetailResult', 'fail', '分账失败', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:22:50', 1399985191002447872, '2024-04-16 17:22:50', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165545665593344, 1780165499633106944, 'AllocationOrderResult', 'all_pending', '全部成功', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:25:15', 1399985191002447872, '2024-04-16 17:25:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165581623361536, 1780165499633106944, 'AllocationOrderResult', 'all_success', '全部成功', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:25:23', 1399985191002447872, '2024-04-16 17:25:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165617413357568, 1780165499633106944, 'AllocationOrderResult', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:25:32', 1399985191002447872, '2024-04-16 17:25:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165653350154240, 1780165499633106944, 'AllocationOrderResult', 'all_failed', '全部失败', b'1', 3.00, '', 1399985191002447872, '2024-04-16 17:25:40', 1399985191002447872, '2024-04-16 17:25:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocationStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocationStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); - --- ---------------------------- --- Table structure for base_dynamic_data_source --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_data_source`; -CREATE TABLE `base_dynamic_data_source` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源名称', - `database_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库类型', - `auto_load` bit(1) NULL DEFAULT NULL COMMENT '是否启动自动加载', - `db_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '驱动类', - `db_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库地址', - `db_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库名称', - `db_username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `db_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态数据源管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_data_source --- ---------------------------- - --- ---------------------------- --- Table structure for base_dynamic_form --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_form`; -CREATE TABLE `base_dynamic_form` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单键名', - `value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '表单内容', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态表单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_form --- ---------------------------- - --- ---------------------------- --- Table structure for base_general_template --- ---------------------------- -DROP TABLE IF EXISTS `base_general_template`; -CREATE TABLE `base_general_template` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板名称', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板代码', - `use_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '使用类型(导入/导出)', - `file_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板类型', - `file_suffix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '模板后缀名', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '状态', - `file_id` bigint(20) NULL DEFAULT NULL COMMENT '文件ID', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '通用模板管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_general_template --- ---------------------------- - --- ---------------------------- --- Table structure for base_key_value --- ---------------------------- -DROP TABLE IF EXISTS `base_key_value`; -CREATE TABLE `base_key_value` ( - `id` bigint(20) NOT NULL, - `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'kv存储' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_key_value --- ---------------------------- - --- ---------------------------- --- Table structure for base_param --- ---------------------------- -DROP TABLE IF EXISTS `base_param`; -CREATE TABLE `base_param` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称', - `param_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `type` int(4) NULL DEFAULT NULL COMMENT '参数类型', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `internal` bit(1) NOT NULL COMMENT '内置参数', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_param --- ---------------------------- -INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2024-01-07 23:31:08', 1, 0); -INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9000', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2024-01-07 23:31:29', 0, 3); -INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'http://127.0.0.1:9000', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1399985191002447872, '2024-01-07 23:31:20', 0, 2); - --- ---------------------------- --- Table structure for base_province --- ---------------------------- -DROP TABLE IF EXISTS `base_province`; -CREATE TABLE `base_province` ( - `code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '省份编码', - `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省份名称', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_province --- ---------------------------- - --- ---------------------------- --- Table structure for base_query_sql --- ---------------------------- -DROP TABLE IF EXISTS `base_query_sql`; -CREATE TABLE `base_query_sql` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `database_id` bigint(20) NULL DEFAULT NULL COMMENT '数据源ID', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `is_list` bit(1) NULL DEFAULT NULL COMMENT '是否集合', - `sql` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'sql语句', - `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询参数', - `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'SQL查询结果字段', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'SQL查询语句' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_query_sql --- ---------------------------- - --- ---------------------------- --- Table structure for base_street --- ---------------------------- -DROP TABLE IF EXISTS `base_street`; -CREATE TABLE `base_street` ( - `code` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '街道名称', - `area_code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '县区编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_area_code`(`area_code`) USING BTREE COMMENT '县区' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '街道表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_street --- ---------------------------- - --- ---------------------------- --- Table structure for base_village --- ---------------------------- -DROP TABLE IF EXISTS `base_village`; -CREATE TABLE `base_village` ( - `code` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '编码', - `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称', - `street_code` char(9) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '社区/乡镇编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_street_code`(`street_code`) USING BTREE COMMENT '所属街道索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '村庄/社区' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_village --- ---------------------------- - --- ---------------------------- --- Table structure for cash_record --- ---------------------------- -DROP TABLE IF EXISTS `cash_record`; -CREATE TABLE `cash_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单号', - `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端ip', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '现金记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of cash_record --- ---------------------------- - --- ---------------------------- --- Table structure for common_sequence_range --- ---------------------------- -DROP TABLE IF EXISTS `common_sequence_range`; -CREATE TABLE `common_sequence_range` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `range_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区间key', - `range_value` bigint(20) NOT NULL COMMENT '区间开始值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '序列生成器队列区间管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of common_sequence_range --- ---------------------------- - --- ---------------------------- --- Table structure for ddl_history --- ---------------------------- -DROP TABLE IF EXISTS `ddl_history`; -CREATE TABLE `ddl_history` ( - `script` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '脚本', - `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', - `version` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '版本', - PRIMARY KEY (`script`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'DDL 版本' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ddl_history --- ---------------------------- - --- ---------------------------- --- Table structure for iam_client --- ---------------------------- -DROP TABLE IF EXISTS `iam_client`; -CREATE TABLE `iam_client` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', - `login_type_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '关联登录方式\r\n', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '认证终端' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_client --- ---------------------------- -INSERT INTO `iam_client` VALUES (1580487061605175296, 'dax-pay', '支付网关', b'0', b'1', b'1', '1430430071299207168,1430478946919653376,1435138582839009280,1542091599907115008,1542804450312122368,1543126042909016064', '支付网关管理端', 1399985191002447872, '2022-10-13 17:14:14', 1399985191002447872, '2023-10-19 19:58:21', 3, b'0'); - --- ---------------------------- --- Table structure for iam_data_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role`; -CREATE TABLE `iam_data_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据范围权限' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role --- ---------------------------- - --- ---------------------------- --- Table structure for iam_data_role_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role_dept`; -CREATE TABLE `iam_data_role_dept` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '数据角色id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围部门关联配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_data_role_user --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role_user`; -CREATE TABLE `iam_data_role_user` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '数据角色id', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围用户关联配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role_user --- ---------------------------- - --- ---------------------------- --- Table structure for iam_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_dept`; -CREATE TABLE `iam_dept` ( - `id` bigint(20) NOT NULL COMMENT 'ID', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父机构ID', - `dept_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', - `sort_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序', - `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司 2部门 3岗位', - `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', - `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', - `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', - `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门组织机构表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_login_security_config --- ---------------------------- -DROP TABLE IF EXISTS `iam_login_security_config`; -CREATE TABLE `iam_login_security_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `client_id` bigint(20) NULL DEFAULT NULL COMMENT '关联终端ID', - `require_login_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '修改密码是否需要重新登录', - `captcha_enable` bit(1) NULL DEFAULT NULL COMMENT '默认启用验证码', - `max_captcha_error_count` int(11) NULL DEFAULT NULL COMMENT '出现验证码的错误次数', - `allow_multi_login` bit(1) NULL DEFAULT NULL COMMENT '同端是否允许同时登录', - `allow_multi_terminal_login` bit(1) NULL DEFAULT NULL COMMENT '多终端是否允许同时登录', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '登录安全策略' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_login_security_config --- ---------------------------- - --- ---------------------------- --- Table structure for iam_login_type --- ---------------------------- -DROP TABLE IF EXISTS `iam_login_type`; -CREATE TABLE `iam_login_type` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `timeout` bigint(11) NULL DEFAULT NULL COMMENT '在线时长(秒)', - `captcha_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证码类型', - `captcha` bit(1) NOT NULL COMMENT '启用验证码', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登录方式' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_login_type --- ---------------------------- -INSERT INTO `iam_login_type` VALUES (1430430071299207168, 'password', '账号密码登陆', 'password', b'1', 3600, '-1', b'0', b'1', NULL, 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-11-03 22:24:53', 20, b'0'); -INSERT INTO `iam_login_type` VALUES (1435138582839009280, 'phone', '手机短信登录', 'openId', b'0', 3600, '0', b'0', b'1', NULL, 1399985191002447872, '2021-09-07 15:11:16', 1399985191002447872, '2022-07-16 12:32:19', 5, b'0'); -INSERT INTO `iam_login_type` VALUES (1542091599907115008, 'dingTalk', '钉钉', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-06-29 18:24:23', 1399985191002447872, '2022-07-02 14:55:01', 5, b'0'); -INSERT INTO `iam_login_type` VALUES (1542804450312122368, 'weCom', '企业微信', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-01 17:37:00', 1399985191002447872, '2022-07-01 17:37:00', 0, b'0'); -INSERT INTO `iam_login_type` VALUES (1543126042909016064, 'weChat', '微信登录', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-02 14:54:53', 0, '2022-10-12 22:15:05', 2, b'0'); - --- ---------------------------- --- Table structure for iam_password_change_history --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_change_history`; -CREATE TABLE `iam_password_change_history` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码更改历史' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_change_history --- ---------------------------- -INSERT INTO `iam_password_change_history` VALUES (1757299138075283456, 1757299137932677120, 'f52020dca765fd3943ed40a615dc2c5c', 1399985191002447872, '2024-02-13 15:02:18'); -INSERT INTO `iam_password_change_history` VALUES (1757317256038281216, 1757317255899869184, '1e9e3c3deaa4a06d08326e82a49d1b63', 1399985191002447872, '2024-02-13 16:14:18'); - --- ---------------------------- --- Table structure for iam_password_login_fail_record --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_login_fail_record`; -CREATE TABLE `iam_password_login_fail_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `fail_count` int(11) NULL DEFAULT NULL COMMENT '登录失败次数', - `fail_time` datetime(0) NULL DEFAULT NULL COMMENT '登录失败时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码登录失败记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_login_fail_record --- ---------------------------- - --- ---------------------------- --- Table structure for iam_password_security_config --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_security_config`; -CREATE TABLE `iam_password_security_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `max_pwd_error_count` int(11) NULL DEFAULT NULL COMMENT '最大密码错误数', - `error_lock_time` int(11) NULL DEFAULT NULL COMMENT '密码错误锁定时间(分钟)', - `require_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '强制修改初始密码', - `update_frequency` int(11) NULL DEFAULT NULL COMMENT '更新频率', - `expire_remind` int(11) NULL DEFAULT NULL COMMENT '到期提醒(天数)', - `same_as_login_name` bit(1) NULL DEFAULT NULL COMMENT '与登录名相同', - `recent_password` int(11) NULL DEFAULT NULL COMMENT '不能与近期多少次密码相同', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码安全策略' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_security_config --- ---------------------------- -INSERT INTO `iam_password_security_config` VALUES (1714844168393515008, 9999999, 10, b'1', 9999999, 14, b'0', 5, 1399985191002447872, '2023-10-19 11:21:25', 1399985191002447872, '2023-11-29 12:10:21', 2, b'0'); - --- ---------------------------- --- Table structure for iam_perm_menu --- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_menu`; -CREATE TABLE `iam_perm_menu` ( - `id` bigint(20) NOT NULL, - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '终端code', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称', - `perm_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', - `effect` bit(1) NULL DEFAULT NULL COMMENT '是否有效', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标', - `hidden` bit(1) NOT NULL COMMENT '是否隐藏', - `hide_children_in_menu` bit(1) NOT NULL COMMENT '是否隐藏子菜单', - `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', - `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名字', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', - `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单跳转地址(重定向)', - `sort_no` double NOT NULL COMMENT '菜单排序', - `menu_type` int(5) NOT NULL COMMENT '类型(0:一级菜单;1:子菜单 ;2:按钮权限)', - `leaf` bit(1) NULL DEFAULT NULL COMMENT '是否叶子节点', - `keep_alive` bit(1) NULL DEFAULT NULL COMMENT '是否缓存页面', - `target_outside` bit(1) NULL DEFAULT NULL COMMENT '是否外部打开方式', - `hidden_header_content` bit(1) NULL DEFAULT NULL COMMENT '隐藏的标题内容', - `admin` bit(1) NOT NULL COMMENT '系统菜单', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_perm_menu --- ---------------------------- -INSERT INTO `iam_perm_menu` VALUES (1580740450633101312, 'dax-pay', NULL, '系统管理', 'System', NULL, b'0', 'ant-design:setting-outlined', b'0', b'0', 'Layout', NULL, '/system', '/system1/client', -99999, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:07', 1414143554414059520, '2022-10-18 15:32:09', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740637841666048, 'dax-pay', 1582253306356649984, '终端管理', 'ClientList', NULL, b'0', '', b'0', b'0', '/modules/system/client/ClientList.vue', NULL, '/system/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:51', 1414143554414059520, '2022-10-18 14:13:27', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740758629232640, 'dax-pay', 1582253306356649984, '登录方式', 'LoginTypeList', NULL, b'0', '', b'0', b'0', '/modules/system/loginType/LoginTypeList.vue', NULL, '/system/loginType', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:02:20', 1414143554414059520, '2022-10-18 14:13:40', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580928436300337152, 'dax-pay', 1580740450633101312, '菜单管理', 'MenuList', NULL, b'0', '', b'0', b'0', '/modules/system/menu/MenuList.vue', NULL, '/system/menu', '', -99, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 22:28:06', 1399985191002447872, '2022-10-14 22:28:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582249924602580992, 'dax-pay', 1580740450633101312, '权限管理', 'Permission', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 13:59:13', 1414143554414059520, '2022-10-18 13:59:13', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'dax-pay', 1580740450633101312, '用户信息', 'UserAuth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/user', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:11:30', 1414143554414059520, '2022-10-18 14:11:30', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'dax-pay', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'dax-pay', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'dax-pay', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'dax-pay', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'dax-pay', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'dax-pay', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'dax-pay', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'dax-pay', 1582249924602580992, '请求权限', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1399985191002447872, '2023-11-29 13:57:56', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'dax-pay', 1582249924602580992, '数据角色', 'DataRoleList', NULL, b'0', '', b'0', b'0', '/modules/system/scope/DataRoleList.vue', NULL, '/system/permission/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:26:52', 1399985191002447872, '2023-11-28 21:02:57', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'dax-pay', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'dax-pay', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'dax-pay', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'dax-pay', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'dax-pay', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'dax-pay', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'dax-pay', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'dax-pay', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'dax-pay', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'dax-pay', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'dax-pay', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'dax-pay', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'dax-pay', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'dax-pay', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'dax-pay', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'dax-pay', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'dax-pay', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'dax-pay', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'dax-pay', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'dax-pay', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'dax-pay', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'dax-pay', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'dax-pay', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'dax-pay', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'dax-pay', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'dax-pay', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'dax-pay', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'dax-pay', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'dax-pay', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'dax-pay', NULL, '关于', '', NULL, b'0', 'ant-design:info-circle-outlined', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1399985191002447872, '2024-01-14 23:09:56', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'dax-pay', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1629039360928075776, 'dax-pay', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1414143554414059520, '2023-02-24 16:44:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'dax-pay', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'dax-pay', 1582276341792985088, '数据集管理', 'DataResultSqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/dataresult/DataResultSqlList', NULL, '/develop/dataresult', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1414143554414059520, '2023-09-18 14:26:51', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'dax-pay', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'dax-pay', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'dax-pay', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'dax-pay', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'dax-pay', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1703665090038800384, 'dax-pay', 1582276341792985088, '在线SQL', 'SqlQueryInfo', NULL, b'0', '', b'0', b'0', '/modules/develop/query/SqlQueryInfo', NULL, '/develop/sqlquery', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-09-18 14:59:45', 1414143554414059520, '2023-09-18 14:59:45', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1713931084759293952, 'dax-pay', 1582253306356649984, '密码安全', 'PassowrdSecurity', NULL, b'0', '', b'0', b'0', '/modules/system/security/password/PasswordSecurityConfig.vue', NULL, '/system/config/passowrd', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-10-16 22:53:09', 1399985191002447872, '2023-10-16 22:58:59', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1733829906427682816, 'dax-pay', 1582275875424129024, '在线用户', 'OnlineUserList', NULL, b'0', '', b'0', b'0', '/modules/monitor/user/online/OnlineUserList', NULL, '/monitor/user/online', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-12-10 20:43:57', 1399985191002447872, '2023-12-10 20:43:57', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1744271715476684800, 'dax-pay', NULL, '支付配置', 'PayConfig', NULL, b'0', 'ant-design:setting-filled', b'0', b'0', 'Layout', NULL, '/pay/config', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:15:59', 1399985191002447872, '2024-01-09 15:38:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744276101384880128, 'dax-pay', 1744271715476684800, '支付通道', 'PayChannelConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/channel/PayChannelConfigList', NULL, '/pay/config/channel', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:33:24', 1399985191002447872, '2024-01-18 14:49:15', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744372631231995904, 'dax-pay', 1744271715476684800, '支付方式', 'PayWayInfoList', NULL, b'0', '', b'0', b'0', 'payment/system/way/PayWayInfoList', NULL, '/pay/config/way', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 22:56:59', 1399985191002447872, '2024-01-18 14:50:55', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1744624886658318336, 'dax-pay', 1744271715476684800, '支付接口', 'PayApiConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/api/PayApiConfigList', NULL, '/pay/config/api', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 15:39:21', 1399985191002447872, '2024-01-10 11:52:20', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1744642856348520448, 'dax-pay', NULL, '订单管理', 'PayOrder', NULL, b'0', 'ant-design:wallet-outlined', b'0', b'0', 'Layout', NULL, '/pay/order', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:50:46', 1399985191002447872, '2024-01-09 16:53:35', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744643265142165504, 'dax-pay', NULL, '数据记录', 'PayRecord', NULL, b'0', 'ant-design:profile-outlined', b'0', b'0', 'Layout', NULL, '/pay/record', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:52:23', 1399985191002447872, '2024-01-09 16:53:50', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744930046228017152, 'dax-pay', 1744643265142165504, '回调记录', 'PayCallbackRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/callback/PayCallbackRecordList', NULL, '/pay/record/callback', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-10 11:51:57', 1399985191002447872, '2024-01-10 11:59:07', 10, 0); -INSERT INTO `iam_perm_menu` VALUES (1745126072389963776, 'dax-pay', 1744643265142165504, '关闭记录', 'PayCloseRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/close/PayCloseRecordList', NULL, '/pay/record/close', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 00:50:53', 1399985191002447872, '2024-01-11 00:50:53', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745136155962347520, 'dax-pay', 1744643265142165504, '修复记录', 'PayRepairRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/repair/PayRepairRecordList', NULL, '/pay/record/repair', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 01:30:57', 1399985191002447872, '2024-01-11 01:30:57', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745143528663781376, 'dax-pay', 1744643265142165504, '同步记录', 'PaySyncRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/sync/PaySyncRecordList', NULL, '/pay/record/sync', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 02:00:15', 1399985191002447872, '2024-01-11 02:00:33', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1745457623493496832, 'dax-pay', 1744642856348520448, '支付订单', 'PayOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/pay/PayOrderList', NULL, '/pay/order/pay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:21', 1399985191002447872, '2024-01-11 22:48:21', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745457746529210368, 'dax-pay', 1744642856348520448, '退款订单', 'RefundOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/refund/RefundOrderList.vue', NULL, '/pay/order/refund', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:50', 1399985191002447872, '2024-01-21 22:50:29', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1745822093382230016, 'dax-pay', 1744271715476684800, '通道配置', 'ChannelPayConfigList', NULL, b'0', '', b'0', b'0', 'payment/channel/config/ChannelPayConfigList', NULL, '/pay/config/channelpay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-12 22:56:38', 1399985191002447872, '2024-02-06 14:32:08', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1746194891925561344, 'dax-pay', 1744271715476684800, '平台配置', 'PayPlatformConfig', NULL, b'0', '', b'0', b'0', 'payment/system/platform/PayPlatformConfig', NULL, '/pay/config/platform', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-13 23:38:00', 1399985191002447872, '2024-01-13 23:38:00', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1749262518385082368, 'dax-pay', 1744642856348520448, '对账订单', 'ReconcileOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/reconcile/order/ReconcileOrderList.vue', NULL, '/pay/order/reconcile/list', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-22 10:47:39', 1399985191002447872, '2024-04-16 19:11:56', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1758860876272861184, 'dax-pay', NULL, '支付通道', 'PayChannel', NULL, b'0', 'ant-design:align-left-outlined', b'0', b'0', 'Layout', NULL, '/pay/channel', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-17 22:28:06', 1399985191002447872, '2024-02-17 22:28:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1758861129311027200, 'dax-pay', 1758860876272861184, '钱包管理', 'WalletList', NULL, b'0', '', b'0', b'0', 'payment/channel/wallet/manager/WalletList', NULL, '/pay/channel/wallet', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-17 22:29:06', 1399985191002447872, '2024-03-05 22:09:12', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1759192238594949120, 'dax-pay', 1758860876272861184, '储值卡管理', 'VoucherList', NULL, b'0', '', b'0', b'0', 'payment/channel/voucher/manager/VoucherList', NULL, '/pay/channel/voucher', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-18 20:24:49', 1399985191002447872, '2024-03-05 22:09:30', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1759192520611561472, 'dax-pay', 1758860876272861184, '现金流水', 'CashRecordList', NULL, b'0', '', b'0', b'0', 'payment/channel/cash/record/CashRecordList', NULL, '/pay/channel/cash', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-18 20:25:56', 1399985191002447872, '2024-02-18 23:35:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1759768820429352960, 'dax-pay', NULL, '演示模块', '', NULL, b'0', 'ant-design:crown-outlined', b'0', b'0', 'Layout', NULL, '/pay/demo', '', 9, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:35:56', 1399985191002447872, '2024-02-20 10:35:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1759769092698402816, 'dax-pay', 1759768820429352960, '收银台演示', '', NULL, b'0', '', b'0', b'0', '', NULL, 'outside:///cashier', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:37:01', 1399985191002447872, '2024-02-20 10:37:01', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1759861648606097408, 'dax-pay', 1758860876272861184, '支付宝流水', 'AlipayRecordList', NULL, b'0', '', b'0', b'0', 'payment/channel/alipay/record/AlipayRecordList', NULL, '/pay/channel/alipay', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 16:44:48', 1399985191002447872, '2024-02-20 16:44:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1759865163772485632, 'dax-pay', 1758860876272861184, '微信流水', 'WechatPayRecordList', NULL, b'0', '', b'0', b'0', 'payment/channel/wechat/record/WechatPayRecordList', NULL, '/pay/channel/wecha', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 16:58:46', 1399985191002447872, '2024-02-20 17:00:08', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1761429304959528960, 'dax-pay', NULL, '任务记录', 'PayTask', NULL, b'0', 'ant-design:clock-circle-outlined', b'0', b'0', 'Layout', NULL, '/pay/task', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-25 00:34:07', 1399985191002447872, '2024-02-25 00:34:30', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1761429682618855424, 'dax-pay', 1761429304959528960, '消息通知', 'ClientNoticeTaskList', NULL, b'0', '', b'0', b'0', 'payment/task/notice/ClientNoticeTaskList', NULL, '/pay/task/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-25 00:35:37', 1399985191002447872, '2024-02-25 00:35:37', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1764638353289027584, 'dax-pay', 1749262518385082368, '对账单', 'ReconcileOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/reconcile/order/ReconcileOrderList.vue', NULL, '/pay/order/reconcile/list', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-03-04 21:05:43', 1399985191002447872, '2024-04-16 19:12:02', 1, 1); -INSERT INTO `iam_perm_menu` VALUES (1764638678821543936, 'dax-pay', 1749262518385082368, '差异单', 'ReconcileDiffList', NULL, b'0', '', b'1', b'0', 'payment/order/reconcile/diff/ReconcileDiffList.vue', NULL, '/pay/order/reconcile/diff', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-03-04 21:07:01', 1399985191002447872, '2024-04-16 19:12:06', 2, 1); -INSERT INTO `iam_perm_menu` VALUES (1768203432981655552, 'dax-pay', 1758860876272861184, '云闪付流水', 'UnionPayRecordList', NULL, b'0', '', b'0', b'0', 'payment/channel/union/record/UnionPayRecordList', NULL, '/pay/channel/union', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-03-14 17:12:05', 1399985191002447872, '2024-03-14 17:12:05', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1775089099078553600, 'dax-pay', NULL, '分账管理', 'Allocation', NULL, b'0', 'ant-design:sliders-twotone', b'0', b'0', 'Layout', NULL, '/pay/allocation', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:13:15', 1399985191002447872, '2024-04-02 17:13:15', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1775089820368818176, 'dax-pay', 1775089099078553600, '分账接收者', 'AllocationReceiverList', NULL, b'0', '', b'0', b'0', 'payment/allocation/receiver/AllocationReceiverList', NULL, '/pay/allocation/receiver', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:16:07', 1399985191002447872, '2024-04-02 17:23:13', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1775091561835450368, 'dax-pay', 1775089099078553600, '分账组', 'AllocationGroupList', NULL, b'0', '', b'0', b'0', 'payment/allocation/group/AllocationGroupList', NULL, '/pay/allocation/group', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:23:03', 1399985191002447872, '2024-04-02 17:23:27', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1777688382748700672, 'dax-pay', 1744642856348520448, '分账订单', 'AllocationOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/allocation/AllocationOrderList', NULL, '/pay/order/allocation', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-09 21:21:53', 1399985191002447872, '2024-04-09 21:21:53', 0, 0); - --- ---------------------------- --- Table structure for iam_perm_path --- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_path`; -CREATE TABLE `iam_perm_path` ( - `id` bigint(20) NOT NULL, - `code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限标识', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', - `request_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求类型', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求路径', - `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称', - `enable` bit(1) NOT NULL COMMENT '启用状态', - `generate` bit(1) NOT NULL COMMENT '是否通过系统生成的权限', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL, - `create_time` datetime(6) NULL DEFAULT NULL, - `last_modifier` bigint(20) NULL DEFAULT NULL, - `last_modified_time` datetime(6) NULL DEFAULT NULL, - `deleted` bit(1) NOT NULL, - `version` int(11) NOT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_请求' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_perm_path --- ---------------------------- -INSERT INTO `iam_perm_path` VALUES (1757297527147974656, 'DynamicDataSourceController#existsByCode', '编码是否被使用', 'GET', '/dynamic/source/existsByCode', '动态数据源管理', b'1', b'1', '动态数据源管理 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974658, 'QuartzJobController#stop', '停止', 'POST', '/quartz/stop', '定时任务', b'1', b'1', '定时任务 停止', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974659, 'RoleController#page', '分页查询角色', 'GET', '/role/page', '角色管理', b'1', b'1', '角色管理 分页查询角色', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974660, 'DictionaryItemController#delete', '删除字典项', 'DELETE', '/dict/item/delete', '字典项', b'1', b'1', '字典项 删除字典项', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974661, 'UserAssistController#validatePhoneChangeCaptcha', '验证改/绑定手机验证码', 'GET', '/user/validatePhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证改/绑定手机验证码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974662, 'PayRefundOrderController#refund', '手动发起退款', 'POST', '/order/refund/refund', '支付退款控制器', b'1', b'1', '支付退款控制器 手动发起退款', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974663, 'UserDataRoleController#findDataRoleByUser', '根据用户ID获取到数据角色列表', 'GET', '/user/data/role/findDataRoleByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974664, 'FIleUpLoadController#preview', '预览文件(流量会经过后端)', 'GET', '/file/preview/{id}', '文件上传', b'1', b'1', '文件上传 预览文件(流量会经过后端)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974665, 'UserAssistController#sendPhoneForgetCaptcha', '发送找回密码手机验证码', 'POST', '/user/sendPhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码手机验证码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974666, 'DynamicDataSourceController#findById', '通过ID查询', 'GET', '/dynamic/source/findById', '动态数据源管理', b'1', b'1', '动态数据源管理 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974667, 'GeneralTemplateController#findByCode', '通过Code查询', 'GET', '/general/template/findByCode', '通用模板管理', b'1', b'1', '通用模板管理 通过Code查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974668, 'AlipayConfigController#update', '更新', 'POST', '/alipay/config/update', '支付宝配置', b'1', b'1', '支付宝配置 更新', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974669, 'UniPayController#refund', '统一退款', 'POST', '/unipay/refund', '统一支付接口', b'1', b'1', '统一支付接口 统一退款', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974670, 'DynamicFormController#existsByCode', '编码是否被使用', 'GET', '/dynamic/form/existsByCode', '动态表单', b'1', b'1', '动态表单 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974671, 'TestController#wxcs', '微信回调测试', 'GET', '/test/wxcs/', '测试', b'1', b'1', '测试 微信回调测试', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-04-16 20:47:44.531000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974672, 'TestController#wxcs', '微信回调测试', 'GET', '/test/wxcs', '测试', b'1', b'1', '测试 微信回调测试', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-04-16 20:47:44.526000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974673, 'MessageTemplateController#page', '分页', 'GET', '/message/template/page', '消息模板', b'1', b'1', '消息模板 分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974674, 'GeneralTemplateController#findAll', '查询所有', 'GET', '/general/template/findAll', '通用模板管理', b'1', b'1', '通用模板管理 查询所有', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974675, 'QuartzJobLogController#findById', '单条', 'GET', '/quartz/log/findById', '定时任务执行日志', b'1', b'1', '定时任务执行日志 单条', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974676, 'UserAdminController#ban', '封禁用户', 'POST', '/user/admin/ban', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 封禁用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974677, 'ChinaWordController#findAll', '查询所有', 'GET', '/chinaword/findAll', '敏感词管理', b'1', b'1', '敏感词管理 查询所有', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974678, 'DeptController#deleteAndChildren', '强制级联删除', 'DELETE', '/dept/deleteAndChildren', '部门管理', b'1', b'1', '部门管理 强制级联删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974679, 'ChinaWordController#local', '批量导入', 'POST', '/chinaword/importBatch', '敏感词管理', b'1', b'1', '敏感词管理 批量导入', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974680, 'TokenEndpoint#logout', '退出', 'POST', '/token/logout', '认证相关', b'1', b'1', '认证相关 退出', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974681, 'UserThirdController#findById', '获取详情', 'POST', '/user/third/findById', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974682, 'MailConfigController#existsByCode', '编码是否被使用', 'GET', '/mail/config/existsByCode', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974683, 'GeneralTemplateController#add', '添加', 'POST', '/general/template/add', '通用模板管理', b'1', b'1', '通用模板管理 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974684, 'SystemParamController#delete', '删除', 'DELETE', '/system/param/delete', '系统参数', b'1', b'1', '系统参数 删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974685, 'QuartzJobController#add', '添加', 'POST', '/quartz/add', '定时任务', b'1', b'1', '定时任务 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974686, 'PermPathController#deleteBatch', '批量删除', 'DELETE', '/perm/path/deleteBatch', '请求权限管理', b'1', b'1', '请求权限管理 批量删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974687, 'DictionaryItemController#findAllByEnable', '获取启用的字典项列表', 'GET', '/dict/item/findAllByEnable', '字典项', b'1', b'1', '字典项 获取启用的字典项列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974688, 'UserInfoController#updatePhone', '修改手机号', 'POST', '/user/updatePhone', '用户管理', b'1', b'1', '用户管理 修改手机号', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974689, 'DynamicFormController#delete', '删除', 'DELETE', '/dynamic/form/delete', '动态表单', b'1', b'1', '动态表单 删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974690, 'TestController#lock2', '锁测试2', 'GET', '/test/lock2', '测试', b'1', b'1', '测试 锁测试2', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974691, 'PayCloseRecordController#findById', '查询单条', 'GET', '/record/close/findById', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 查询单条', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974692, 'WeChatPayConfigController#update', '更新', 'POST', '/wechat/pay/config/update', '微信支付配置', b'1', b'1', '微信支付配置 更新', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974693, 'UserRoleController#findRolesByUser', '根据用户ID获取到角色集合', 'GET', '/user/role/findRolesByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色集合', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974694, 'WechatNoticeConfigController#update', '更新微信消息通知配置', 'POST', '/wx/notice/update', '微信消息通知配置', b'1', b'1', '微信消息通知配置 更新微信消息通知配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974695, 'WecomRobotConfigController#add', '新增机器人配置', 'POST', '/wecom/robot/config/add', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 新增机器人配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974696, 'PermMenuController#menuTree', '获取菜单树', 'GET', '/perm/menu/menuTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单树', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974697, 'DataResultController#add', '新建', 'POST', '/data/result/add', 'SQL查询', b'1', b'1', 'SQL查询 新建', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974698, 'UserAdminController#unlock', '解锁用户', 'POST', '/user/admin/unlock', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 解锁用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974699, 'DynamicFormController#page', '分页查询', 'GET', '/dynamic/form/page', '动态表单', b'1', b'1', '动态表单 分页查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974700, 'UniPayController#simpleRefund', '简单退款', 'POST', '/unipay/simpleRefund', '统一支付接口', b'1', b'1', '统一支付接口 简单退款', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974701, 'DynamicDataSourceController#testConnection', '测试连接(根据参数)', 'POST', '/dynamic/source/testConnection', '动态数据源管理', b'1', b'1', '动态数据源管理 测试连接(根据参数)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974702, 'SystemParamController#update', '更新', 'POST', '/system/param/update', '系统参数', b'1', b'1', '系统参数 更新', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974703, 'ForwardH5Controller#toH5', 'toH5', 'GET', '/h5/', 'ForwardH5Controller', b'1', b'1', 'ForwardH5Controller toH5', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974704, 'OpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974705, 'SmsChannelConfigController#add', '添加', 'POST', '/sms/config/add', '短信渠道配置', b'1', b'1', '短信渠道配置 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974706, 'DataVersionLogController#findById', '获取', 'GET', '/log/dataVersion/findById', '数据版本日志', b'1', b'1', '数据版本日志 获取', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974707, 'MailConfigController#add', '增加新邮箱配置', 'POST', '/mail/config/add', '邮箱配置', b'1', b'1', '邮箱配置 增加新邮箱配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974708, 'UserInfoController#updateBaseInfo', '修改用户基础信息', 'POST', '/user/updateBaseInfo', '用户管理', b'1', b'1', '用户管理 修改用户基础信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974709, 'UserInfoController#bindPhone', '绑定手机', 'POST', '/user/bindPhone', '用户管理', b'1', b'1', '用户管理 绑定手机', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974710, 'NcDemoController#sendImageNotice', '企微图片消息测试', 'POST', '/nc/test/sendImageNotice', 'nc测试', b'1', b'1', 'nc测试 企微图片消息测试', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974711, 'PermPathController#batchUpdateEnable', '批量更新状态', 'POST', '/perm/path/batchUpdateEnable', '请求权限管理', b'1', b'1', '请求权限管理 批量更新状态', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974713, 'WeChatPortalController#post', 'post', 'POST', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 post', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974714, 'UniPayController#simplePay', '简单下单', 'POST', '/unipay/simplePay', '统一支付接口', b'1', b'1', '统一支付接口 简单下单', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974715, 'SmsTemplateController#findAll', '查询所有', 'GET', '/sms/template/findAll', '短信模板配置', b'1', b'1', '短信模板配置 查询所有', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974716, 'MessageTemplateController#existsByCode', '编码是否被使用', 'GET', '/message/template/existsByCode', '消息模板', b'1', b'1', '消息模板 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974717, 'MailConfigController#updateMailConfig', '更新邮箱配置', 'POST', '/mail/config/update', '邮箱配置', b'1', b'1', '邮箱配置 更新邮箱配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974718, 'UserInfoController#updatePassword', '修改密码', 'POST', '/user/updatePassword', '用户管理', b'1', b'1', '用户管理 修改密码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974719, 'DictionaryItemController#existsByCode', '编码是否被使用', 'GET', '/dict/item/existsByCode', '字典项', b'1', b'1', '字典项 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974720, 'SmsChannelConfigController#update', '修改', 'POST', '/sms/config/update', '短信渠道配置', b'1', b'1', '短信渠道配置 修改', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974721, 'DataRoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/data/role/existsByNameNotId', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974722, 'DeptController#add', '添加', 'POST', '/dept/add', '部门管理', b'1', b'1', '部门管理 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974723, 'FIleUpLoadController#local', '上传', 'POST', '/file/upload', '文件上传', b'1', b'1', '文件上传 上传', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974724, 'PermPathController#findById', '获取详情', 'GET', '/perm/path/findById', '请求权限管理', b'1', b'1', '请求权限管理 获取详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974725, 'DeptController#delete', '普通删除', 'DELETE', '/dept/delete', '部门管理', b'1', b'1', '部门管理 普通删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974726, 'CashierController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/cashier/wxAuthCallback', '结算台演示', b'1', b'1', '结算台演示 微信授权回调页面', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974727, 'DataResultController#update', '修改', 'POST', '/data/result/update', 'SQL查询', b'1', b'1', 'SQL查询 修改', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974728, 'UserAdminController#getByEmail', '根据邮箱查询用户', 'GET', '/user/admin/getByEmail', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据邮箱查询用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974729, 'LoginTypeController#findAll', '查询所有的登录方式', 'GET', '/loginType/findAll', '登录方式管理', b'1', b'1', '登录方式管理 查询所有的登录方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974730, 'PayRepairRecordController#findById', '查询单条', 'GET', '/record/repair/findById', '支付修复记录', b'1', b'1', '支付修复记录 查询单条', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974731, 'UserAdminController#restartPasswordBatch', '批量重置密码', 'POST', '/user/admin/restartPasswordBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量重置密码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974732, 'UserInfoController#findUsernameByPhoneCaptcha', '根据手机验证码查询账号', 'GET', '/user/findUsernameByPhoneCaptcha', '用户管理', b'1', b'1', '用户管理 根据手机验证码查询账号', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974733, 'DynamicFormController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dynamic/form/existsByCodeNotId', '动态表单', b'1', b'1', '动态表单 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974734, 'ChinaWordController#add', '添加', 'POST', '/chinaword/add', '敏感词管理', b'1', b'1', '敏感词管理 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974735, 'LoginTypeController#delete', '删除登录方式', 'DELETE', '/loginType/delete', '登录方式管理', b'1', b'1', '登录方式管理 删除登录方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974736, 'DataVersionLogController#page', '分页', 'GET', '/log/dataVersion/page', '数据版本日志', b'1', b'1', '数据版本日志 分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974737, 'AggregateController#createUrl', '创建聚合支付码', 'POST', '/demo/aggregate/createUrl', '聚合支付', b'1', b'1', '聚合支付 创建聚合支付码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974738, 'MailConfigController#findById', '通过 id 获取指定邮箱配置', 'GET', '/mail/config/findById', '邮箱配置', b'1', b'1', '邮箱配置 通过 id 获取指定邮箱配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974739, 'UserAssistController#validateCurrentChangeEmailCaptcha', '验证当前用户发送更改邮箱验证码', 'GET', '/user/validateCurrentChangeEmailCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974740, 'ClientController#existsByCode', '编码是否被使用', 'GET', '/client/existsByCode', '认证终端', b'1', b'1', '认证终端 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974741, 'UserAdminController#findById', '根据用户id查询用户', 'GET', '/user/admin/findById', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据用户id查询用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974742, 'PayRefundOrderController#page', '分页查询', 'GET', '/order/refund/page', '支付退款控制器', b'1', b'1', '支付退款控制器 分页查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974743, 'RoleMenuController#findTreeByRole', '获取当前角色下可见的菜单和权限码树(分配时用)', 'GET', '/role/menu/findTreeByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下可见的菜单和权限码树(分配时用)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974744, 'WeChatPayConfigController#findPayWays', '微信支持支付方式', 'GET', '/wechat/pay/config/findPayWays', '微信支付配置', b'1', b'1', '微信支付配置 微信支持支付方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974745, 'AuthAssistController#sendSmsCaptcha', '发送短信验证码', 'POST', '/auth/sendSmsCaptcha', '认证支撑接口', b'1', b'1', '认证支撑接口 发送短信验证码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974746, 'WeChatPayConfigController#toBase64', '将文件转换成base64', 'POST', '/wechat/pay/config/toBase64', '微信支付配置', b'1', b'1', '微信支付配置 将文件转换成base64', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974747, 'MailConfigController#setUpActivity', '设置启用的邮箱配置', 'POST', '/mail/config/setUpActivity', '邮箱配置', b'1', b'1', '邮箱配置 设置启用的邮箱配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974748, 'UserDeptController#findIdsByUser', '根据用户ID获取到部门id集合', 'GET', '/user/dept/findIdsByUser', '用户部门关联关系', b'1', b'1', '用户部门关联关系 根据用户ID获取到部门id集合', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974749, 'OperateLogController#findById', '获取', 'GET', '/log/operate/findById', '操作日志', b'1', b'1', '操作日志 获取', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974750, 'UserAdminController#getByPhone', '根据手机号查询用户', 'GET', '/user/admin/getByPhone', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据手机号查询用户', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974751, 'UserThirdController#getThirdBindInfo', '获取绑定详情', 'GET', '/user/third/getThirdBindInfo', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取绑定详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974752, 'DynamicDataSourceController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dynamic/source/existsByCodeNotId', '动态数据源管理', b'1', b'1', '动态数据源管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974753, 'SmsTemplateController#update', '修改', 'POST', '/sms/template/update', '短信模板配置', b'1', b'1', '短信模板配置 修改', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974754, 'RoleController#add', '添加角色(返回角色对象)', 'POST', '/role/add', '角色管理', b'1', b'1', '角色管理 添加角色(返回角色对象)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974755, 'WechatNoticeConfigController#getConfig', '获取微信消息通知配置', 'GET', '/wx/notice/getConfig', '微信消息通知配置', b'1', b'1', '微信消息通知配置 获取微信消息通知配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974756, 'LoginLogController#findById', '获取', 'GET', '/log/login/findById', '登录日志', b'1', b'1', '登录日志 获取', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974757, 'UserRoleController#saveAssign', '给用户分配角色', 'POST', '/user/role/saveAssign', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974758, 'DictionaryController#findById', '根据id获取', 'GET', '/dict/findById', '字典', b'1', b'1', '字典 根据id获取', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974759, 'PermPathController#findAll', '权限列表', 'GET', '/perm/path/findAll', '请求权限管理', b'1', b'1', '请求权限管理 权限列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974760, 'DingRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/ding/robot/config/existsByCodeNotId', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974761, 'GeneralTemplateController#deleteBatch', '批量删除', 'DELETE', '/general/template/deleteBatch', '通用模板管理', b'1', b'1', '通用模板管理 批量删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974762, 'UserInfoController#forgetPasswordByEmail', '通过邮箱重置密码', 'POST', '/user/forgetPasswordByEmail', '用户管理', b'1', b'1', '用户管理 通过邮箱重置密码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974763, 'GeneralTemplateController#update', '修改', 'POST', '/general/template/update', '通用模板管理', b'1', b'1', '通用模板管理 修改', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974764, 'DictionaryItemController#update', '修改字典项(返回字典项对象)', 'POST', '/dict/item/update', '字典项', b'1', b'1', '字典项 修改字典项(返回字典项对象)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974765, 'SystemParamController#add', '添加', 'POST', '/system/param/add', '系统参数', b'1', b'1', '系统参数 添加', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974766, 'BaseApiController#authEcho', '回声测试(必须要进行登录)', 'GET', '/auth/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试(必须要进行登录)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974767, 'DatabaseTableController#findColumnByTableName', '获取数据表行信息', 'GET', '/gen/table/findColumnByTableName', '数据库表信息', b'1', b'1', '数据库表信息 获取数据表行信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974768, 'DictionaryItemController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/item/existsByCodeNotId', '字典项', b'1', b'1', '字典项 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974769, 'PayApiConfigController#findAll', '获取全部', 'GET', '/pay/api/config/findAll', '支付接口配置', b'1', b'1', '支付接口配置 获取全部', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974770, 'ChinaWordController#verify', '测试敏感词效果', 'POST', '/chinaword/verify', '敏感词管理', b'1', b'1', '敏感词管理 测试敏感词效果', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974771, 'DataRoleController#page', '分页', 'GET', '/data/role/page', '数据角色配置', b'1', b'1', '数据角色配置 分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974772, 'UserInfoController#getUserSecurityInfo', '查询用户安全信息', 'GET', '/user/getUserSecurityInfo', '用户管理', b'1', b'1', '用户管理 查询用户安全信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974773, 'ChinaRegionController#findAllProvinceAndCityAndArea', ' 获取省市区县三级联动列表', 'GET', '/china/region/findAllProvinceAndCityAndArea', '中国行政区划', b'1', b'1', '中国行政区划 获取省市区县三级联动列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974774, 'DictionaryItemController#pageByDictionaryId', '分页查询指定字典下的字典项', 'GET', '/dict/item/pageByDictionaryId', '字典项', b'1', b'1', '字典项 分页查询指定字典下的字典项', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974775, 'WeChatMediaController#pageNews', '图文素材分页', 'GET', '/wechat/media/pageNews', '微信素材管理', b'1', b'1', '微信素材管理 图文素材分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974776, 'PermMenuController#resourceList', '资源(权限码)列表', 'GET', '/perm/menu/resourceList', '菜单和权限码', b'1', b'1', '菜单和权限码 资源(权限码)列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974777, 'WeChatPayConfigController#getConfig', '获取配置', 'GET', '/wechat/pay/config/getConfig', '微信支付配置', b'1', b'1', '微信支付配置 获取配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974778, 'AlipayConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/alipay/config/findPayWays', '支付宝配置', b'1', b'1', '支付宝配置 支付宝支持支付方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974779, 'PayRefundOrderController#findChannelById', '查询通道退款订单详情', 'GET', '/order/refund/findChannelById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询通道退款订单详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974780, 'UserInfoController#forgetPasswordByPhone', '通过手机号重置密码', 'POST', '/user/forgetPasswordByPhone', '用户管理', b'1', b'1', '用户管理 通过手机号重置密码', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974781, 'DataRoleController#saveDeptAssign', '保存关联部门', 'POST', '/data/role/saveDeptAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存关联部门', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974782, 'PayOrderController#getExtraById', '查询支付订单扩展信息', 'GET', '/order/pay/getExtraById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单扩展信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974783, 'UserInfoController#existsPhone', '手机号是否被使用(不包含自己)', 'GET', '/user/existsPhoneNotId', '用户管理', b'1', b'1', '用户管理 手机号是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974784, 'LoginTypeController#add', '添加登录方式', 'POST', '/loginType/add', '登录方式管理', b'1', b'1', '登录方式管理 添加登录方式', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974785, 'PermMenuController#delete', '删除', 'DELETE', '/perm/menu/delete', '菜单和权限码', b'1', b'1', '菜单和权限码 删除', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974786, 'RoleController#findAll', '查询所有的角色', 'GET', '/role/findAll', '角色管理', b'1', b'1', '角色管理 查询所有的角色', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974787, 'MessageTemplateController#findById', '获取详情', 'GET', '/message/template/findById', '消息模板', b'1', b'1', '消息模板 获取详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974788, 'DataResultController#page', '分页查询', 'GET', '/data/result/page', 'SQL查询', b'1', b'1', 'SQL查询 分页查询', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974789, 'NcDemoController#sendWeComMsg', '企微消息测试', 'POST', '/nc/test/sendWeComMsg', 'nc测试', b'1', b'1', 'nc测试 企微消息测试', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974790, 'DictionaryController#existsByCode', '编码是否被使用', 'GET', '/dict/existsByCode', '字典', b'1', b'1', '字典 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974791, 'UserInfoController#getLoginAfterUserInfo', '登录后获取用户信息', 'GET', '/user/getLoginAfterUserInfo', '用户管理', b'1', b'1', '用户管理 登录后获取用户信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974792, 'UserInfoController#bindEmail', '绑定邮箱', 'POST', '/user/bindEmail', '用户管理', b'1', b'1', '用户管理 绑定邮箱', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974793, 'OnlineUserController#pageByLogin', '登录用户分页', 'GET', '/online/user/pageByLogin', '在线用户', b'1', b'1', '在线用户 登录用户分页', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974794, 'PasswordSecurityConfigController#addOrUpdate', '新增或添加密码安全配置', 'POST', '/security/password/addOrUpdate', '密码安全策略', b'1', b'1', '密码安全策略 新增或添加密码安全配置', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974795, 'UserInfoController#getUserBaseInfo', '查询用户基础信息', 'GET', '/user/getUserBaseInfo', '用户管理', b'1', b'1', '用户管理 查询用户基础信息', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974796, 'DataRoleController#findUsersByDataRoleId', '获取关联的用户列表', 'GET', '/data/role/findUsersByDataRoleId', '数据角色配置', b'1', b'1', '数据角色配置 获取关联的用户列表', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.138000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527147974797, 'SiteMessageController#findById', '消息详情', 'GET', '/site/message/findById', '站内信', b'1', b'1', '站内信 消息详情', 1399985191002447872, '2024-02-13 14:55:54.138000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168960, 'RolePathController#findPathsByRole', '获取当前用户角色下可见的请求权限列表(分配时用)', 'GET', '/role/path/findPathsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 获取当前用户角色下可见的请求权限列表(分配时用)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168961, 'UserAssistController#sendPhoneChangeCaptcha', '发送更改/绑定手机号验证码', 'POST', '/user/sendPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定手机号验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168962, 'WeChatMenuController#findAll', '查询所有', 'GET', '/wechat/menu/findAll', '微信菜单管理', b'1', b'1', '微信菜单管理 查询所有', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168963, 'DictionaryItemController#findByDictionaryId', '查询指定字典ID下的所有字典项', 'GET', '/dict/item/findByDictionaryId', '字典项', b'1', b'1', '字典项 查询指定字典ID下的所有字典项', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168964, 'SystemParamController#existsByKeyNotId', '判断编码是否存在(不包含自己)', 'GET', '/system/param/existsByKeyNotId', '系统参数', b'1', b'1', '系统参数 判断编码是否存在(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168965, 'MessageTemplateController#delete', '删除', 'DELETE', '/message/template/delete', '消息模板', b'1', b'1', '消息模板 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168966, 'WeChatMenuController#update', '修改', 'POST', '/wechat/menu/update', '微信菜单管理', b'1', b'1', '微信菜单管理 修改', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168967, 'ChinaWordController#getTemplate', '获取模板', 'GET', '/chinaword/getTemplate', '敏感词管理', b'1', b'1', '敏感词管理 获取模板', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168968, 'DynamicFormController#findById', '通过ID查询', 'GET', '/dynamic/form/findById', '动态表单', b'1', b'1', '动态表单 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168969, 'SmsChannelConfigController#findByCode', '通过Code查询', 'GET', '/sms/config/findByCode', '短信渠道配置', b'1', b'1', '短信渠道配置 通过Code查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168970, 'UserInfoController#existsPhone', '手机号是否被使用', 'GET', '/user/existsPhone', '用户管理', b'1', b'1', '用户管理 手机号是否被使用', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168971, 'DataRoleController#getDeptIds', '获取关联部门id', 'GET', '/data/role/getDeptIds', '数据角色配置', b'1', b'1', '数据角色配置 获取关联部门id', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168972, 'PasswordSecurityConfigController#getDefault', '获取配置', 'GET', '/security/password/getDefault', '密码安全策略', b'1', b'1', '密码安全策略 获取配置', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168973, 'ClientController#update', '修改', 'POST', '/client/update', '认证终端', b'1', b'1', '认证终端 修改', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168974, 'AggregateController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/aggregate/wxAuthCallback', '聚合支付', b'1', b'1', '聚合支付 微信授权回调页面', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168975, 'LoginTypeController#findById', '通过ID查询登录方式', 'GET', '/loginType/findById', '登录方式管理', b'1', b'1', '登录方式管理 通过ID查询登录方式', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168976, 'DingRobotConfigController#findById', '获取详情', 'GET', '/ding/robot/config/findById', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 获取详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168977, 'SiteMessageController#pageBySender', '发送消息分页', 'GET', '/site/message/pageBySender', '站内信', b'1', b'1', '站内信 发送消息分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168978, 'ThirdLoginController#toLoginUrl', '跳转到登陆页', 'GET', '/auth/third/toLoginUrl/{loginType}', '三方登录', b'1', b'1', '三方登录 跳转到登陆页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168979, 'RoleMenuController#save', '保存请求权限关系', 'POST', '/role/menu/save', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 保存请求权限关系', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168980, 'PayWayInfoController#findById', '根据ID获取', 'GET', '/pay/way/info/findById', '支付方式管理', b'1', b'1', '支付方式管理 根据ID获取', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168981, 'UserInfoController#register', '注册账号', 'POST', '/user/register', '用户管理', b'1', b'1', '用户管理 注册账号', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168982, 'LoginTypeController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/loginType/existsByCodeNotId', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168983, 'ChinaWordController#page', '分页查询', 'GET', '/chinaword/page', '敏感词管理', b'1', b'1', '敏感词管理 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168984, 'DatabaseTableController#findAll', '表列表', 'GET', '/gen/table/findAll', '数据库表信息', b'1', b'1', '数据库表信息 表列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168985, 'UniPayAssistController#getWxAccessToken', '获取微信AccessToken数据', 'POST', '/unipay/assist/getWxAccessToken', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信AccessToken数据', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168986, 'WeChatTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wechat/template/existsByCodeNotId', '微信模板消息', b'1', b'1', '微信模板消息 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168987, 'DynamicDataSourceController#addDynamicDataSourceById', '根据id进行添加到连接池中', 'POST', '/dynamic/source/addDynamicDataSourceById', '动态数据源管理', b'1', b'1', '动态数据源管理 根据id进行添加到连接池中', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168988, 'LoginLogController#deleteByDay', '清除指定天数之前的日志', 'DELETE', '/log/login/deleteByDay', '登录日志', b'1', b'1', '登录日志 清除指定天数之前的日志', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168989, 'ClientController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/client/existsByCodeNotId', '认证终端', b'1', b'1', '认证终端 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168990, 'UniQueryController#queryRefundOrder', '查询退款订单', 'POST', '/uni/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 查询退款订单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168991, 'SiteMessageController#listByReceiveNotRead', '小程序获取未读的接收消息标题列表', 'GET', '/site/message/listByReceiveNotRead', '站内信', b'1', b'1', '站内信 小程序获取未读的接收消息标题列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168992, 'WeChatMenuController#add', '添加', 'POST', '/wechat/menu/add', '微信菜单管理', b'1', b'1', '微信菜单管理 添加', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168993, 'PasswordSecurityConfigController#check', '登录后检查密码相关的情况', 'GET', '/security/password/check', '密码安全策略', b'1', b'1', '密码安全策略 登录后检查密码相关的情况', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168994, 'PayOrderController#syncById', '同步支付状态', 'POST', '/order/pay/syncById', '支付订单控制器', b'1', b'1', '支付订单控制器 同步支付状态', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168995, 'GeneralTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/general/template/existsByCodeNotId', '通用模板管理', b'1', b'1', '通用模板管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168996, 'LoginTypeController#page', '分页查询登录方式', 'GET', '/loginType/page', '登录方式管理', b'1', b'1', '登录方式管理 分页查询登录方式', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168997, 'AggregateController#aliH5Pay', '支付宝通过聚合支付码发起支付', 'POST', '/demo/aggregate/aliH5Pay', '聚合支付', b'1', b'1', '聚合支付 支付宝通过聚合支付码发起支付', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168998, 'QuartzJobLogController#page', '分页', 'GET', '/quartz/log/page', '定时任务执行日志', b'1', b'1', '定时任务执行日志 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152168999, 'PayOrderController#close', '关闭支付记录', 'POST', '/order/pay/close', '支付订单控制器', b'1', b'1', '支付订单控制器 关闭支付记录', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169000, 'DataRoleController#saveUserAssign', '保存数据角色关联用户权限', 'POST', '/data/role/saveUserAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存数据角色关联用户权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169001, 'DictionaryItemController#add', '添加字典项(返回字典项对象)', 'POST', '/dict/item/add', '字典项', b'1', b'1', '字典项 添加字典项(返回字典项对象)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169002, 'QuartzJobController#update', '更新', 'POST', '/quartz/update', '定时任务', b'1', b'1', '定时任务 更新', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169003, 'MailConfigController#delete', '删除', 'DELETE', '/mail/config/delete', '邮箱配置', b'1', b'1', '邮箱配置 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169004, 'UserAdminController#banBatch', '批量封禁用户', 'POST', '/user/admin/banBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量封禁用户', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169005, 'FIleUpLoadController#getFilePreviewUrl', '获取文件预览地址(流量会经过后端)', 'GET', '/file/getFilePreviewUrl', '文件上传', b'1', b'1', '文件上传 获取文件预览地址(流量会经过后端)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169006, 'DictionaryController#delete', '根据id删除', 'DELETE', '/dict/delete', '字典', b'1', b'1', '字典 根据id删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169007, 'WeChatQrLoginController#getStatus', '获取扫码状态', 'GET', '/token/wechat/qr/getStatus', '微信扫码登录', b'1', b'1', '微信扫码登录 获取扫码状态', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169008, 'PermPathController#add', '添加权限', 'POST', '/perm/path/add', '请求权限管理', b'1', b'1', '请求权限管理 添加权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169009, 'ChinaWordController#refresh', '刷新缓存', 'POST', '/chinaword/refresh', '敏感词管理', b'1', b'1', '敏感词管理 刷新缓存', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169010, 'AlipayConfigController#getConfig', '获取配置', 'GET', '/alipay/config/getConfig', '支付宝配置', b'1', b'1', '支付宝配置 获取配置', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169011, 'PayCallbackController#wechatPayNotify', '微信支付信息回调', 'POST', '/callback/pay/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169012, 'DataResultController#test', '测试SQL解析和执行', 'POST', '/data/result/test', 'SQL查询', b'1', b'1', 'SQL查询 测试SQL解析和执行', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169013, 'SiteMessageController#delete', '删除消息', 'DELETE', '/site/message/delete', '站内信', b'1', b'1', '站内信 删除消息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169014, 'LoginTypeController#findByCode', '通过code查询登录方式', 'GET', '/loginType/findByCode', '登录方式管理', b'1', b'1', '登录方式管理 通过code查询登录方式', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169015, 'GeneralTemplateController#delete', '删除', 'DELETE', '/general/template/delete', '通用模板管理', b'1', b'1', '通用模板管理 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169016, 'PayReconcileOrderController#findById', '订单详情', 'GET', '/order/reconcile/findById', '对账控制器', b'1', b'1', '对账控制器 订单详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169017, 'DynamicDataSourceController#testConnectionById', '测试连接(根据主键ID)', 'GET', '/dynamic/source/testConnectionById', '动态数据源管理', b'1', b'1', '动态数据源管理 测试连接(根据主键ID)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169018, 'SiteMessageController#send', '发送站内信', 'POST', '/site/message/send', '站内信', b'1', b'1', '站内信 发送站内信', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169019, 'SiteMessageController#pageByReceive', '接收消息分页', 'GET', '/site/message/pageByReceive', '站内信', b'1', b'1', '站内信 接收消息分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169020, 'NcDemoController#sendDingFileMsg', '钉钉文件消息测试', 'POST', '/nc/test/sendDingFileMsg', 'nc测试', b'1', b'1', 'nc测试 钉钉文件消息测试', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169021, 'MultipleOpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169022, 'RolePathController#save', '保存角色请求权限关联关系', 'POST', '/role/path/save', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 保存角色请求权限关联关系', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169023, 'WeChatMenuController#importMenu', '导入微信自定义菜单到系统中', 'POST', '/wechat/menu/importMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 导入微信自定义菜单到系统中', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169024, 'ChinaWordController#findById', '通过ID查询', 'GET', '/chinaword/findById', '敏感词管理', b'1', b'1', '敏感词管理 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169025, 'RoleMenuController#findPermissionIdsByRole', '获取当前角色下关联权限id集合(包含权限码和菜单)', 'GET', '/role/menu/findPermissionIdsByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下关联权限id集合(包含权限码和菜单)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169026, 'DictionaryItemController#findById', '根据字典项ID查询', 'GET', '/dict/item/findById', '字典项', b'1', b'1', '字典项 根据字典项ID查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169027, 'UserRoleController#saveAssignBatch', '给用户分配角色(批量)', 'POST', '/user/role/saveAssignBatch', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色(批量)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169028, 'SmsTemplateController#page', '分页查询', 'GET', '/sms/template/page', '短信模板配置', b'1', b'1', '短信模板配置 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169029, 'DataResultController#querySql', '执行SQL查询语句', 'POST', '/data/result/querySql', 'SQL查询', b'1', b'1', 'SQL查询 执行SQL查询语句', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169030, 'PayRefundOrderController#findById', '查询单条', 'GET', '/order/refund/findById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询单条', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169031, 'UserAssistController#sendCurrentEmailChangeCaptcha', '给当前用户发送更改邮箱验证码', 'POST', '/user/sendCurrentEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169032, 'PayCallbackRecordController#page', '分页查询', 'GET', '/record/callback/page', '支付回调信息记录', b'1', b'1', '支付回调信息记录 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169033, 'FIleUpLoadController#getFilePreviewUrlPrefix', '获取文件预览地址前缀', 'GET', '/file/getFilePreviewUrlPrefix', '文件上传', b'1', b'1', '文件上传 获取文件预览地址前缀', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169034, 'AlipayConfigController#readPem', '读取证书文件内容', 'POST', '/alipay/config/readPem', '支付宝配置', b'1', b'1', '支付宝配置 读取证书文件内容', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169035, 'DynamicFormController#findAll', '查询所有', 'GET', '/dynamic/form/findAll', '动态表单', b'1', b'1', '动态表单 查询所有', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169036, 'PermMenuController#existsByPermCode', '编码是否被使用(不包含自己)', 'GET', '/perm/menu/existsByPermCodeNotId', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169037, 'DataRoleController#update', '更新', 'POST', '/data/role/update', '数据角色配置', b'1', b'1', '数据角色配置 更新', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169038, 'CashierController#getPayEnv', '获取支付环境', 'GET', '/demo/cashier/getPayEnv', '结算台演示', b'1', b'1', '结算台演示 获取支付环境', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169039, 'PermPathController#delete', '删除权限', 'DELETE', '/perm/path/delete', '请求权限管理', b'1', b'1', '请求权限管理 删除权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169040, 'AggregateController#getWxJsapiPay', '获取微信支付调起Jsapi支付的信息', 'POST', '/demo/aggregate/getWxJsapiPay', '聚合支付', b'1', b'1', '聚合支付 获取微信支付调起Jsapi支付的信息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169041, 'PayReconcileOrderController#downAndSave', '手动触发对账文件下载', 'POST', '/order/reconcile/downAndSave', '对账控制器', b'1', b'1', '对账控制器 手动触发对账文件下载', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169042, 'QuartzJobController#start', '启动', 'POST', '/quartz/start', '定时任务', b'1', b'1', '定时任务 启动', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169043, 'UserAssistController#validateEmailCaptcha', '验证更改/绑定邮箱验证码', 'GET', '/user/validateEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证更改/绑定邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169044, 'DynamicDataSourceController#delete', '删除', 'DELETE', '/dynamic/source/delete', '动态数据源管理', b'1', b'1', '动态数据源管理 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169045, 'SystemParamController#findById', '获取单条', 'GET', '/system/param/findById', '系统参数', b'1', b'1', '系统参数 获取单条', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169046, 'WeChatMenuController#publish', '发布菜单', 'POST', '/wechat/menu/publish', '微信菜单管理', b'1', b'1', '微信菜单管理 发布菜单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169047, 'PayCallbackController#aliPayNotify', '支付宝信息回调', 'POST', '/callback/pay/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169048, 'DynamicDataSourceController#removeDataSourceByKey', '从数据源列表中删除指定数据源', 'DELETE', '/dynamic/source/removeDataSourceByKey', '动态数据源管理', b'1', b'1', '动态数据源管理 从数据源列表中删除指定数据源', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169049, 'QuartzJobController#execute', '立即执行', 'POST', '/quartz/execute', '定时任务', b'1', b'1', '定时任务 立即执行', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169050, 'DynamicDataSourceController#page', '分页查询', 'GET', '/dynamic/source/page', '动态数据源管理', b'1', b'1', '动态数据源管理 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169051, 'DictionaryController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/existsByCodeNotId', '字典', b'1', b'1', '字典 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169052, 'PayRepairRecordController#page', '分页查询', 'GET', '/record/repair/page', '支付修复记录', b'1', b'1', '支付修复记录 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169053, 'UserDeptController#saveAssignBatch', '给用户分配部门(批量)', 'POST', '/user/dept/saveAssignBatch', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门(批量)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169054, 'PayReconcileOrderController#create', '手动创建对账订单', 'POST', '/order/reconcile/create', '对账控制器', b'1', b'1', '对账控制器 手动创建支付订单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169055, 'UserAdminController#restartPassword', '重置密码', 'POST', '/user/admin/restartPassword', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 重置密码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169056, 'CodeGeneratorController#codeGenPreview', '预览生成代码', 'POST', '/gen/code/codeGenPreview', '代码生成', b'1', b'1', '代码生成 预览生成代码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169057, 'NcDemoController#sendDingImageMsg', '钉钉图片消息测试', 'POST', '/nc/test/sendDingImageMsg', 'nc测试', b'1', b'1', 'nc测试 钉钉图片消息测试', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169058, 'TestController#lock1', '锁测试1', 'GET', '/test/lock1', '测试', b'1', b'1', '测试 锁测试1', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169059, 'ForwardFrontController#toH5', 'toH5', 'GET', '/front/', 'ForwardFrontController', b'1', b'1', 'ForwardFrontController toH5', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169060, 'FIleUpLoadController#delete', '删除', 'DELETE', '/file/delete', '文件上传', b'1', b'1', '文件上传 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169061, 'OperateLogController#deleteByDay', '清除指定天数的日志', 'DELETE', '/log/operate/deleteByDay', '操作日志', b'1', b'1', '操作日志 清除指定天数的日志', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169062, 'AggregateController#barCodePay', '通过付款码发起支付', 'POST', '/demo/aggregate/barCodePay', '聚合支付', b'1', b'1', '聚合支付 通过付款码发起支付', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169063, 'SmsChannelConfigController#findAll', '查询所有', 'GET', '/sms/config/findAll', '短信渠道配置', b'1', b'1', '短信渠道配置 查询所有', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169064, 'MessageTemplateController#update', '更新', 'POST', '/message/template/update', '消息模板', b'1', b'1', '消息模板 更新', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169065, 'DingRobotConfigController#page', '分页', 'GET', '/ding/robot/config/page', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169066, 'RoleController#findById', '通过ID查询角色', 'GET', '/role/findById', '角色管理', b'1', b'1', '角色管理 通过ID查询角色', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169067, 'FIleUpLoadController#download', '下载文件(流量会经过后端)', 'GET', '/file/download/{id}', '文件上传', b'1', b'1', '文件上传 下载文件(流量会经过后端)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169068, 'RoleController#tree', '角色树', 'GET', '/role/tree', '角色管理', b'1', b'1', '角色管理 角色树', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169069, 'RoleController#dropdown', '角色下拉框', 'GET', '/role/dropdown', '角色管理', b'1', b'1', '角色管理 角色下拉框', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169070, 'WeChatPortalController#auth', 'auth', 'GET', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 auth', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169071, 'UserAssistController#sendEmailForgetCaptcha', '发送找回密码邮箱验证码', 'POST', '/user/sendEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169072, 'DeptController#tree', '树状展示', 'GET', '/dept/tree', '部门管理', b'1', b'1', '部门管理 树状展示', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169073, 'QuartzJobController#judgeJobClass', '判断是否是定时任务类', 'GET', '/quartz/judgeJobClass', '定时任务', b'1', b'1', '定时任务 判断是否是定时任务类', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169075, 'WeChatArticleController#page', '分页', 'GET', '/wechat/article/page', '微信文章管理', b'1', b'1', '微信文章管理 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169076, 'AggregateController#qrPayPage', '聚合支付扫码跳转中间页', 'GET', '/demo/aggregate/qrPayPage/{code}', '聚合支付', b'1', b'1', '聚合支付 聚合支付扫码跳转中间页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169077, 'UniQueryController#queryPayOrder', '查询支付订单', 'POST', '/uni/query/payOrder', '统一查询接口', b'1', b'1', '统一查询接口 查询支付订单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169078, 'ChinaRegionController#findAllProvinceAndCity', '获取省市二级联动列表', 'GET', '/china/region/findAllProvinceAndCity', '中国行政区划', b'1', b'1', '中国行政区划 获取省市二级联动列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169079, 'WeChatMediaController#deleteFile', '删除素材', 'DELETE', '/wechat/media/deleteFile', '微信素材管理', b'1', b'1', '微信素材管理 删除素材', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169080, 'DataRoleController#delete', '删除', 'DELETE', '/data/role/delete', '数据角色配置', b'1', b'1', '数据角色配置 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169081, 'UserDeptController#findAllByUser', '根据用户ID获取到部门集合', 'GET', '/user/dept/findAllByUser', '用户部门关联关系', b'1', b'1', '用户部门关联关系 根据用户ID获取到部门集合', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169082, 'SystemParamController#page', '分页', 'GET', '/system/param/page', '系统参数', b'1', b'1', '系统参数 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169083, 'DynamicDataSourceController#findAllDataSource', '查询当前数据源列表', 'GET', '/dynamic/source/findAllDataSource', '动态数据源管理', b'1', b'1', '动态数据源管理 查询当前数据源列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169084, 'PayChannelConfigController#findById', '根据ID获取', 'GET', '/pay/channel/config/findById', '支付通道信息', b'1', b'1', '支付通道信息 根据ID获取', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169085, 'RoleController#delete', '删除角色', 'DELETE', '/role/delete', '角色管理', b'1', b'1', '角色管理 删除角色', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169086, 'PayOrderController#listByChannel', '查询支付订单关联支付通道订单', 'GET', '/order/pay/listByChannel', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单关联支付通道订单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169087, 'UserDataRoleController#saveAssignBatch', '给用户分配权限(批量)', 'POST', '/user/data/role/saveAssignBatch', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配权限(批量)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169088, 'DeptController#findById', '获取', 'GET', '/dept/findById', '部门管理', b'1', b'1', '部门管理 获取', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169089, 'CashierController#getUniCashierUrl', '获取手机收银台链接', 'GET', '/demo/cashier/getUniCashierUrl', '结算台演示', b'1', b'1', '结算台演示 获取手机收银台链接', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169090, 'QuartzJobController#delete', '删除', 'DELETE', '/quartz/delete', '定时任务', b'1', b'1', '定时任务 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169091, 'PermMenuController#update', '修改菜单权限', 'POST', '/perm/menu/update', '菜单和权限码', b'1', b'1', '菜单和权限码 修改菜单权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169092, 'PaySyncRecordController#findById', '查询单条', 'GET', '/record/sync/findById', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 查询单条', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169093, 'ChinaWordController#delete', '删除', 'DELETE', '/chinaword/delete', '敏感词管理', b'1', b'1', '敏感词管理 删除', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169094, 'WeChatMenuController#clearMenu', '清空微信自定义菜单', 'POST', '/wechat/menu/clearMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 清空微信自定义菜单', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169095, 'UserDataRoleController#findDataRoleIdByUser', '根据用户ID获取到数据角色Id', 'GET', '/user/data/role/findDataRoleIdByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色Id', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169096, 'UserAssistController#sendEmailChangeCaptcha', '发送更改/绑定邮箱验证码', 'POST', '/user/sendEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169097, 'DataRoleController#deleteUserAssigns', '批量删除数据角色关联用户', 'DELETE', '/data/role/deleteUserAssigns', '数据角色配置', b'1', b'1', '数据角色配置 批量删除数据角色关联用户', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169098, 'PayReconcileOrderController#page', '订单分页', 'GET', '/order/reconcile/page', '对账控制器', b'1', b'1', '对账控制器 订单分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169099, 'UniPayController#syncRefund', '退款状态同步', 'POST', '/unipay/syncRefund', '统一支付接口', b'1', b'1', '统一支付接口 退款状态同步', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169100, 'WeChatMediaController#pageFile', '非图文素材分页', 'GET', '/wechat/media/pageFile', '微信素材管理', b'1', b'1', '微信素材管理 非图文素材分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169101, 'SystemParamController#findByParamKey', '根据键名获取键值', 'GET', '/system/param/findByParamKey', '系统参数', b'1', b'1', '系统参数 根据键名获取键值', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169102, 'DynamicDataSourceController#existsByDataSourceKey', '是否已经添加到连接池中', 'GET', '/dynamic/source/existsByDataSourceKey', '动态数据源管理', b'1', b'1', '动态数据源管理 是否已经添加到连接池中', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169103, 'MessageTemplateController#add', '添加', 'POST', '/message/template/add', '消息模板', b'1', b'1', '消息模板 添加', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169104, 'DataRoleController#existsByCode', '编码是否被使用', 'GET', '/data/role/existsByCode', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169105, 'DynamicDataSourceController#update', '修改', 'POST', '/dynamic/source/update', '动态数据源管理', b'1', b'1', '动态数据源管理 修改', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169106, 'OperateLogController#page', '分页', 'GET', '/log/operate/page', '操作日志', b'1', b'1', '操作日志 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169107, 'NcDemoController#p1', '企微机器人图片发送', 'POST', '/nc/test/p1', 'nc测试', b'1', b'1', 'nc测试 企微机器人图片发送', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169108, 'PayOrderController#findById', '查询订单详情', 'GET', '/order/pay/findById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169109, 'OnlineUserController#page', '分页', 'GET', '/online/user/page', '在线用户', b'1', b'1', '在线用户 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169110, 'RoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/role/existsByNameNotId', '角色管理', b'1', b'1', '角色管理 名称是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169111, 'WecomRobotConfigController#page', '分页', 'GET', '/wecom/robot/config/page', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169112, 'DataRoleController#findById', '获取', 'GET', '/data/role/findById', '数据角色配置', b'1', b'1', '数据角色配置 获取', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169113, 'DataRoleController#findAll', '查询全部', 'GET', '/data/role/findAll', '数据角色配置', b'1', b'1', '数据角色配置 查询全部', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169114, 'OpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169115, 'CaptchaController#imgCaptcha', '获取图片验证码', 'POST', '/captcha/imgCaptcha', '验证码服务', b'1', b'1', '验证码服务 获取图片验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169116, 'WecomRobotConfigController#update', '修改机器人配置', 'POST', '/wecom/robot/config/update', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 修改机器人配置', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169117, 'PlatformConfigController#update', '更新平台配置项', 'POST', '/platform/config/update', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 更新平台配置项', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169118, 'ClientController#add', '添加', 'POST', '/client/add', '认证终端', b'1', b'1', '认证终端 添加', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169119, 'DatabaseTableController#findByTableName', '获取表信息', 'GET', '/gen/table/findByTableName', '数据库表信息', b'1', b'1', '数据库表信息 获取表信息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169120, 'OnlineUserController#kickOut', '踢出用户', 'GET', '/online/user/kickOut', '在线用户', b'1', b'1', '在线用户 踢出用户', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169121, 'UserAdminController#getUserInfoWhole', '查询用户详情', 'GET', '/user/admin/getUserInfoWhole', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 查询用户详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169122, 'WeChatTemplateController#update', '修改', 'POST', '/wechat/template/update', '微信模板消息', b'1', b'1', '微信模板消息 修改', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169123, 'ChinaRegionController#findAllProvince', '获取一级行政区', 'GET', '/china/region/findAllProvince', '中国行政区划', b'1', b'1', '中国行政区划 获取一级行政区', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169124, 'WeChatMenuController#page', '分页查询', 'GET', '/wechat/menu/page', '微信菜单管理', b'1', b'1', '微信菜单管理 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169125, 'DictionaryController#update', '更新', 'POST', '/dict/update', '字典', b'1', b'1', '字典 更新', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169126, 'PayChannelConfigController#findAll', '查询全部', 'GET', '/pay/channel/config/findAll', '支付通道信息', b'1', b'1', '支付通道信息 查询全部', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169127, 'UserAssistController#validateEmailForgetCaptcha', '验证找回密码邮箱验证码', 'GET', '/user/validateEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码邮箱验证码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169128, 'ClientController#findById', '通过ID查询', 'GET', '/client/findById', '认证终端', b'1', b'1', '认证终端 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169129, 'PermMenuController#menuAndPermCodeTree', '获取菜单和权限码树', 'GET', '/perm/menu/menuAndPermCodeTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单和权限码树', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169130, 'QuartzJobController#syncJobStatus', '同步定时任务状态', 'POST', '/quartz/syncJobStatus', '定时任务', b'1', b'1', '定时任务 同步定时任务状态', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169131, 'PermMenuController#add', '添加菜单权限', 'POST', '/perm/menu/add', '菜单和权限码', b'1', b'1', '菜单和权限码 添加菜单权限', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169132, 'ClientController#page', '分页查询', 'GET', '/client/page', '认证终端', b'1', b'1', '认证终端 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169133, 'FIleUpLoadController#findById', '获取单条详情', 'GET', '/file/findById', '文件上传', b'1', b'1', '文件上传 获取单条详情', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169134, 'WeChatQrLoginController#applyQrCode', '申请登录用QR码', 'POST', '/token/wechat/qr/applyQrCode', '微信扫码登录', b'1', b'1', '微信扫码登录 申请登录用QR码', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169135, 'SiteMessageController#cancel', '撤回消息', 'POST', '/site/message/cancel', '站内信', b'1', b'1', '站内信 撤回消息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169136, 'DataRoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/data/role/existsByCodeNotId', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169138, 'DynamicFormController#add', '添加', 'POST', '/dynamic/form/add', '动态表单', b'1', b'1', '动态表单 添加', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169139, 'ChinaRegionController#findAllRegionByParentCode', '根据编码获取下一级行政区划的列表', 'GET', '/china/region/findAllRegionByParentCode', '中国行政区划', b'1', b'1', '中国行政区划 根据编码获取下一级行政区划的列表', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169140, 'DatabaseTableController#getTableGenParam', '获取表相关的代码生成参数信息', 'GET', '/gen/table/getTableGenParam', '数据库表信息', b'1', b'1', '数据库表信息 获取表相关的代码生成参数信息', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169141, 'UniPayController#close', '订单关闭', 'POST', '/unipay/close', '统一支付接口', b'1', b'1', '统一支付接口 订单关闭', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169142, 'LoginTypeController#superPage', '超级查询', 'POST', '/loginType/superPage', '登录方式管理', b'1', b'1', '登录方式管理 超级查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169143, 'DictionaryController#page', '分页', 'GET', '/dict/page', '字典', b'1', b'1', '字典 分页', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169144, 'DingRobotConfigController#update', '修改机器人配置', 'POST', '/ding/robot/config/update', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 修改机器人配置', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169145, 'PayCloseRecordController#page', '分页查询', 'GET', '/record/close/page', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 分页查询', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169146, 'PayCallbackRecordController#findById', '查询单条', 'GET', '/record/callback/findById', '支付回调信息记录', b'1', b'1', '支付回调信息记录 查询单条', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.139000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527152169147, 'MessageTemplateController#rendering', '渲染模板', 'POST', '/message/template/rendering', '消息模板', b'1', b'1', '消息模板 渲染模板', 1399985191002447872, '2024-02-13 14:55:54.139000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363264, 'NcDemoController#p2', '企微机器人文件发送', 'POST', '/nc/test/p2', 'nc测试', b'1', b'1', 'nc测试 企微机器人文件发送', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363265, 'UserDataRoleController#saveAssign', '给用户分配数据角色', 'POST', '/user/data/role/saveAssign', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配数据角色', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363266, 'MultipleOpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363267, 'DynamicDataSourceController#add', '添加', 'POST', '/dynamic/source/add', '动态数据源管理', b'1', b'1', '动态数据源管理 添加', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363268, 'RoleController#update', '修改角色(返回角色对象)', 'POST', '/role/update', '角色管理', b'1', b'1', '角色管理 修改角色(返回角色对象)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363269, 'DataResultController#exportQueryResult', '导出SQL查询的结果', 'POST', '/data/result/exportQueryResult', 'SQL查询', b'1', b'1', 'SQL查询 导出SQL查询的结果', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363270, 'DataRoleController#existsByName', '名称是否被使用', 'GET', '/data/role/existsByName', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363271, 'ClientController#delete', '删除', 'DELETE', '/client/delete', '认证终端', b'1', b'1', '认证终端 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363272, 'UserDeptController#saveAssign', '给用户分配部门', 'POST', '/user/dept/saveAssign', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363273, 'UserAdminController#update', '修改用户', 'POST', '/user/admin/update', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 修改用户', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363274, 'WecomRobotConfigController#findAll', '查询全部', 'GET', '/wecom/robot/config/findAll', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 查询全部', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363275, 'SiteMessageController#countByReceiveNotRead', '获取未读的接收消息条数', 'GET', '/site/message/countByReceiveNotRead', '站内信', b'1', b'1', '站内信 获取未读的接收消息条数', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363276, 'QuartzJobController#findById', '单条', 'GET', '/quartz/findById', '定时任务', b'1', b'1', '定时任务 单条', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363277, 'SmsTemplateController#findById', '通过ID查询', 'GET', '/sms/template/findById', '短信模板配置', b'1', b'1', '短信模板配置 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363278, 'GeneralTemplateController#existsByCode', '编码是否被使用', 'GET', '/general/template/existsByCode', '通用模板管理', b'1', b'1', '通用模板管理 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363279, 'ChinaWordController#update', '修改', 'POST', '/chinaword/update', '敏感词管理', b'1', b'1', '敏感词管理 修改', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363280, 'ThirdLoginController#callback', '扫码后回调', 'GET', '/auth/third/callback/{loginType}', '三方登录', b'1', b'1', '三方登录 扫码后回调', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363281, 'UserThirdController#unbind', '解绑第三方账号', 'POST', '/user/third/unbind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 解绑第三方账号', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363282, 'SmsChannelConfigController#findById', '通过ID查询', 'GET', '/sms/config/findById', '短信渠道配置', b'1', b'1', '短信渠道配置 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363283, 'WeChatMenuController#delete', '删除', 'DELETE', '/wechat/menu/delete', '微信菜单管理', b'1', b'1', '微信菜单管理 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363284, 'UserInfoController#existsEmail', '邮箱是否被使用', 'GET', '/user/existsEmail', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363285, 'AggregateController#getInfo', '获取聚合支付信息', 'GET', '/demo/aggregate/getInfo', '聚合支付', b'1', b'1', '聚合支付 获取聚合支付信息', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363286, 'DingRobotConfigController#add', '新增机器人配置', 'POST', '/ding/robot/config/add', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 新增机器人配置', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363287, 'FIleUpLoadController#page', '分页', 'GET', '/file/page', '文件上传', b'1', b'1', '文件上传 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363288, 'MailConfigController#page', '分页', 'GET', '/mail/config/page', '邮箱配置', b'1', b'1', '邮箱配置 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363289, 'PayOrderController#getChannel', '查询支付通道订单详情', 'GET', '/order/pay/getChannel', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付通道订单详情', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363290, 'DynamicFormController#update', '修改', 'POST', '/dynamic/form/update', '动态表单', b'1', b'1', '动态表单 修改', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363291, 'UserInfoController#updateEmail', '修改邮箱', 'POST', '/user/updateEmail', '用户管理', b'1', b'1', '用户管理 修改邮箱', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363292, 'WecomRobotConfigController#findById', '获取详情', 'GET', '/wecom/robot/config/findById', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 获取详情', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363293, 'RoleMenuController#findMenuIds', '获取权限菜单id列表,不包含资源权限', 'GET', '/role/menu/findMenuIds', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取权限菜单id列表,不包含资源权限', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363294, 'SiteMessageController#saveOrUpdate', '保存站内信草稿', 'POST', '/site/message/saveOrUpdate', '站内信', b'1', b'1', '站内信 保存站内信草稿', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363295, 'PermPathController#page', '权限分页', 'GET', '/perm/path/page', '请求权限管理', b'1', b'1', '请求权限管理 权限分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363296, 'PermPathController#syncSystem', '同步系统请求资源', 'POST', '/perm/path/syncSystem', '请求权限管理', b'1', b'1', '请求权限管理 同步系统请求资源', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363297, 'PayRefundOrderController#syncById', '退款同步', 'POST', '/order/refund/syncById', '支付退款控制器', b'1', b'1', '支付退款控制器 退款同步', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363298, 'OnlineUserController#getSessionByUserId', '获取用户链接信息', 'GET', '/online/user/getSessionByUserId', '在线用户', b'1', b'1', '在线用户 获取用户链接信息', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363299, 'NcDemoController#sendDingMsg', '钉钉消息测试', 'POST', '/nc/test/sendDingMsg', 'nc测试', b'1', b'1', 'nc测试 钉钉消息测试', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363300, 'UserInfoController#existsUsername', '账号是否被使用(不包含自己)', 'GET', '/user/existsUsernameNotId', '用户管理', b'1', b'1', '用户管理 账号是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363301, 'LoginTypeController#existsByCode', '编码是否被使用', 'GET', '/loginType/existsByCode', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363302, 'UniPayAssistController#getWxAuthUrl', '获取微信oauth2授权的url', 'POST', '/unipay/assist/getWxAuthUrl', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信oauth2授权的url', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363303, 'RoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/role/existsByCodeNotId', '角色管理', b'1', b'1', '角色管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363304, 'CashierController#queryPayOrder', '查询支付订单', 'GET', '/demo/cashier/queryPayOrderSuccess', '结算台演示', b'1', b'1', '结算台演示 查询支付订单', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363305, 'ClientController#findAll', '查询所有', 'GET', '/client/findAll', '认证终端', b'1', b'1', '认证终端 查询所有', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363306, 'PayWayInfoController#update', '更新', 'POST', '/pay/way/info/update', '支付方式管理', b'1', b'1', '支付方式管理 更新', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363307, 'LoginLogController#page', '分页', 'GET', '/log/login/page', '登录日志', b'1', b'1', '登录日志 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363308, 'PasswordSecurityConfigController#isRecentlyUsed', '查看要修改的密码是否重复', 'GET', '/security/password/isRecentlyUsed', '密码安全策略', b'1', b'1', '密码安全策略 查看要修改的密码是否重复', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363309, 'FIleUpLoadController#getFileDownloadUrl', '获取文件下载地址(流量会经过后端)', 'GET', '/file/getFileDownloadUrl', '文件上传', b'1', b'1', '文件上传 获取文件下载地址(流量会经过后端)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363310, 'TokenEndpoint#login', '普通登录', 'POST', '/token/login', '认证相关', b'1', b'1', '认证相关 普通登录', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363311, 'UserRoleController#findRoleIdsByUser', '根据用户ID获取到角色id集合', 'GET', '/user/role/findRoleIdsByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色id集合', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363312, 'PayApiConfigController#findById', '根据ID获取', 'GET', '/pay/api/config/findById', '支付接口配置', b'1', b'1', '支付接口配置 根据ID获取', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363313, 'RoleController#existsByName', '名称是否被使用', 'GET', '/role/existsByName', '角色管理', b'1', b'1', '角色管理 名称是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363314, 'GeneralTemplateController#page', '分页查询', 'GET', '/general/template/page', '通用模板管理', b'1', b'1', '通用模板管理 分页查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363315, 'RolePathController#findIdsByRole', '根据角色id获取关联权限id', 'GET', '/role/path/findIdsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 根据角色id获取关联权限id', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363316, 'DingRobotConfigController#delete', '删除', 'DELETE', '/ding/robot/config/delete', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363317, 'PermMenuController#findById', '根据id查询', 'GET', '/perm/menu/findById', '菜单和权限码', b'1', b'1', '菜单和权限码 根据id查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363318, 'DingRobotConfigController#findAll', '查询全部', 'GET', '/ding/robot/config/findAll', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 查询全部', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363319, 'RoleMenuController#getPermissions', '获取菜单和权限码(根据用户进行筛选)', 'GET', '/role/menu/getPermissions', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取菜单和权限码(根据用户进行筛选)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363320, 'SmsTemplateController#delete', '删除', 'DELETE', '/sms/template/delete', '短信模板配置', b'1', b'1', '短信模板配置 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363321, 'UserThirdController#bind', '绑定第三方账号', 'POST', '/user/third/bind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 绑定第三方账号', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363322, 'RoleController#existsByCode', '编码是否被使用', 'GET', '/role/existsByCode', '角色管理', b'1', b'1', '角色管理 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363323, 'QuartzJobController#page', '分页', 'GET', '/quartz/page', '定时任务', b'1', b'1', '定时任务 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363324, 'DataRoleController#add', '添加', 'POST', '/data/role/add', '数据角色配置', b'1', b'1', '数据角色配置 添加', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363325, 'SiteMessageController#read', '标为已读', 'POST', '/site/message/read', '站内信', b'1', b'1', '站内信 标为已读', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363326, 'MessageTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/message/template/existsByCodeNotId', '消息模板', b'1', b'1', '消息模板 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363327, 'UserAssistController#validateCurrentPhoneChangeCaptcha', '验证当前用户发送更改手机号验证码', 'GET', '/user/validateCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改手机号验证码', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363328, 'NcDemoController#recallNotice', '企微消息撤回', 'POST', '/nc/test/recallNotice', 'nc测试', b'1', b'1', 'nc测试 企微消息撤回', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363329, 'WeChatMenuController#findById', '通过ID查询', 'GET', '/wechat/menu/findById', '微信菜单管理', b'1', b'1', '微信菜单管理 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363330, 'UserAdminController#add', '添加用户', 'POST', '/user/admin/add', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 添加用户', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363331, 'UniPayController#syncPay', '支付状态同步', 'POST', '/unipay/syncPay', '统一支付接口', b'1', b'1', '统一支付接口 支付状态同步', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363332, 'MailConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/mail/config/existsByCodeNotId', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363333, 'PayWayInfoController#findAll', '获取全部', 'GET', '/pay/way/info/findAll', '支付方式管理', b'1', b'1', '支付方式管理 获取全部', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363334, 'SwaggerWelcomeWebMvc#redirectToUi', 'redirectToUi', 'GET', '/swagger-ui.html', 'SwaggerWelcomeWebMvc', b'1', b'1', 'SwaggerWelcomeWebMvc redirectToUi', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363335, 'WecomRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/wecom/robot/config/existsByCode', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363336, 'UserInfoController#existsEmail', '邮箱是否被使用(不包含自己)', 'GET', '/user/existsEmailNotId', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363337, 'WeChatTemplateController#findById', '通过ID查询', 'GET', '/wechat/template/findById', '微信模板消息', b'1', b'1', '微信模板消息 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363338, 'DatabaseTableController#page', '表列表分页', 'GET', '/gen/table/page', '数据库表信息', b'1', b'1', '数据库表信息 表列表分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363339, 'PermMenuController#existsByPermCode', '编码是否被使用', 'GET', '/perm/menu/existsByPermCode', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363340, 'PlatformConfigController#getConfig', '获取平台配置', 'GET', '/platform/config/getConfig', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 获取平台配置', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363341, 'SmsTemplateController#add', '添加', 'POST', '/sms/template/add', '短信模板配置', b'1', b'1', '短信模板配置 添加', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363342, 'DingRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/ding/robot/config/existsByCode', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363343, 'DeptController#update', '更新', 'POST', '/dept/update', '部门管理', b'1', b'1', '部门管理 更新', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363344, 'UserThirdController#page', '分页', 'GET', '/user/third/page', '用户三方登录管理', b'1', b'1', '用户三方登录管理 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363345, 'WecomRobotConfigController#delete', '删除', 'DELETE', '/wecom/robot/config/delete', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 删除', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363346, 'WecomRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wecom/robot/config/existsByCodeNotId', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363347, 'WeChatTemplateController#sync', '同步消息模板数据', 'POST', '/wechat/template/sync', '微信模板消息', b'1', b'1', '微信模板消息 同步消息模板数据', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363348, 'CashierController#simplePayCashier', '创建支付订单并发起', 'POST', '/demo/cashier/simplePayCashier', '结算台演示', b'1', b'1', '结算台演示 创建支付订单并发起', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363349, 'LoginTypeController#update', '修改登录方式(返回登录方式对象)', 'POST', '/loginType/update', '登录方式管理', b'1', b'1', '登录方式管理 修改登录方式(返回登录方式对象)', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363350, 'PayApiConfigController#update', '更新', 'POST', '/pay/api/config/update', '支付接口配置', b'1', b'1', '支付接口配置 更新', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363351, 'UniPayController#pay', '统一下单', 'POST', '/unipay/pay', '统一支付接口', b'1', b'1', '统一支付接口 统一下单', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363352, 'UserInfoController#existsUsername', '账号是否被使用', 'GET', '/user/existsUsername', '用户管理', b'1', b'1', '用户管理 账号是否被使用', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363353, 'UserAssistController#validatePhoneForgetCaptcha', '验证找回密码手机验证码', 'GET', '/user/validatePhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码手机验证码', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363354, 'CodeGeneratorController#genCodeZip', '下载生成代码', 'POST', '/gen/code/genCodeZip', '代码生成', b'1', b'1', '代码生成 下载生成代码', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363355, 'PermPathController#update', '更新权限', 'POST', '/perm/path/update', '请求权限管理', b'1', b'1', '请求权限管理 更新权限', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363356, 'UserAdminController#unlockBatch', '批量解锁用户', 'POST', '/user/admin/unlockBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量解锁用户', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363357, 'BaseApiController#echo', '回声测试', 'GET', '/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363358, 'WeChatMediaController#uploadFile', '上传素材', 'POST', '/wechat/media/uploadFile', '微信素材管理', b'1', b'1', '微信素材管理 上传素材', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363359, 'UserAssistController#sendCurrentPhoneChangeCaptcha', '给当前用户发送更改手机号验证码', 'POST', '/user/sendCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改手机号验证码', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363360, 'SystemParamController#existsByKey', '判断编码是否存在', 'GET', '/system/param/existsByKey', '系统参数', b'1', b'1', '系统参数 判断编码是否存在', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363361, 'PayOrderController#page', '分页查询', 'GET', '/order/pay/page', '支付订单控制器', b'1', b'1', '支付订单控制器 分页查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363362, 'GeneralTemplateController#findById', '通过ID查询', 'GET', '/general/template/findById', '通用模板管理', b'1', b'1', '通用模板管理 通过ID查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363363, 'CashierController#getWxAuthUrl', '获取微信授权链接', 'GET', '/demo/cashier/getWxAuthUrl', '结算台演示', b'1', b'1', '结算台演示 获取微信授权链接', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363364, 'DictionaryController#findAll', '查询全部', 'GET', '/dict/findAll', '字典', b'1', b'1', '字典 查询全部', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363365, 'NcDemoController#sendMsg', '邮件消息测试', 'POST', '/nc/test/sendMsg', 'nc测试', b'1', b'1', 'nc测试 邮件消息测试', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363366, 'DictionaryItemController#findAll', '获取全部字典项', 'GET', '/dict/item/findAll', '字典项', b'1', b'1', '字典项 获取全部字典项', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363367, 'PayChannelConfigController#update', '更新', 'POST', '/pay/channel/config/update', '支付通道信息', b'1', b'1', '支付通道信息 更新', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363368, 'PayRefundOrderController#listByChannel', '通道退款订单列表查询', 'GET', '/order/refund/listByChannel', '支付退款控制器', b'1', b'1', '支付退款控制器 通道退款订单列表查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363369, 'DynamicDataSourceController#findAll', '查询所有', 'GET', '/dynamic/source/findAll', '动态数据源管理', b'1', b'1', '动态数据源管理 查询所有', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363370, 'WeChatTemplateController#page', '分页查询', 'GET', '/wechat/template/page', '微信模板消息', b'1', b'1', '微信模板消息 分页查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363371, 'DictionaryController#add', '添加', 'POST', '/dict/add', '字典', b'1', b'1', '字典 添加', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363372, 'UserAdminController#page', '分页', 'GET', '/user/admin/page', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 分页', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363373, 'SwaggerConfigResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/swagger-config', 'SwaggerConfigResource', b'1', b'1', 'SwaggerConfigResource openapiJson', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1757297527156363374, 'PaySyncRecordController#page', '分页查询', 'GET', '/record/sync/page', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 分页查询', 1399985191002447872, '2024-02-13 14:55:54.140000', 1399985191002447872, '2024-02-13 14:55:54.140000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206464, 'VoucherController#findById', '查询储值卡详情', 'GET', '/voucher/findById', '储值卡管理', b'1', b'1', '储值卡管理 查询储值卡详情', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206465, 'WalletConfigController#update', '更新', 'POST', '/wallet/config/update', '钱包配置', b'1', b'1', '钱包配置 更新', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206466, 'ClientNoticeTaskController#recordPage', '分页查询', 'GET', '/task/notice/record/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206467, 'WalletConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/wallet/config/findPayWays', '钱包配置', b'1', b'1', '钱包配置 支付宝支持支付方式', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206468, 'VoucherController#voucherImport', '导入储值卡', 'POST', '/voucher/import', '储值卡管理', b'1', b'1', '储值卡管理 导入储值卡', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206469, 'VoucherController#recordFindById', '查询记录详情', 'GET', '/voucher/record/findById', '储值卡管理', b'1', b'1', '储值卡管理 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206470, 'CashController#recordPage', '记录分页', 'GET', '/cash/record/page', '现金控制器', b'1', b'1', '现金控制器 记录分页', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206471, 'AlipayController#recordPage', '记录分页', 'GET', '/alipay/record/page', '支付宝控制器', b'1', b'1', '支付宝控制器 记录分页', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206472, 'CashConfigController#getConfig', '获取配置', 'GET', '/cash/config/getConfig', '现金支付配置', b'1', b'1', '现金支付配置 获取配置', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206473, 'ClientNoticeReceiveController#pay', '支付消息(对象接收)', 'POST', '/demo/callback/payObject', '回调测试', b'1', b'1', '回调测试 支付消息(对象接收)', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206474, 'VoucherConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/voucher/config/findPayWays', '储值卡支付配置', b'1', b'1', '储值卡支付配置 支付宝支持支付方式', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206475, 'ClientNoticeReceiveController#refund', '退款消息(对象)', 'POST', '/demo/callback/refundObject', '回调测试', b'1', b'1', '回调测试 退款消息(对象)', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351862206476, 'WalletController#recharge', '充值', 'POST', '/wallet/recharge', '钱包管理', b'1', b'1', '钱包管理 充值', 1399985191002447872, '2024-02-26 21:48:17.805000', 1399985191002447872, '2024-02-26 21:48:17.805000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400768, 'VoucherController#page', '储值卡分页', 'GET', '/voucher/page', '储值卡管理', b'1', b'1', '储值卡管理 储值卡分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400769, 'PayReturnController#wechat', '微信同步通知', 'GET', '/return/pay/wechat', '支付同步通知', b'1', b'1', '支付同步通知 微信同步通知', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400770, 'WalletController#findRecordById', '查询记录详情', 'GET', '/wallet/record/findById', '钱包管理', b'1', b'1', '钱包管理 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400771, 'WalletConfigController#getConfig', '获取配置', 'GET', '/wallet/config/getConfig', '钱包配置', b'1', b'1', '钱包配置 获取配置', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400772, 'WalletController#recordPage', '记录分页', 'GET', '/wallet/record/page', '钱包管理', b'1', b'1', '钱包管理 记录分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400773, 'VoucherController#existsByCardNo', '判断卡号是否存在', 'GET', '/voucher/existsByCardNo', '储值卡管理', b'1', b'1', '储值卡管理 判断卡号是否存在', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400774, 'WalletController#page', '钱包分页', 'GET', '/wallet/page', '钱包管理', b'1', b'1', '钱包管理 钱包分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400775, 'ClientNoticeTaskController#findById', '查询单条', 'GET', '/task/notice/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400776, 'CashController#findById', '查询记录详情', 'GET', '/cash/record/findById', '现金控制器', b'1', b'1', '现金控制器 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400777, 'WeChatPayController#findById', '查询记录详情', 'GET', '/wechat/pay/record/findById', '微信支付控制器', b'1', b'1', '微信支付控制器 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400778, 'ClientNoticeReceiveController#pay', '支付消息(map接收)', 'POST', '/demo/callback/pay', '回调测试', b'1', b'1', '回调测试 支付消息(map接收)', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400779, 'VoucherConfigController#getConfig', '获取配置', 'GET', '/voucher/config/getConfig', '储值卡支付配置', b'1', b'1', '储值卡支付配置 获取配置', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400780, 'WalletController#create', '创建钱包', 'POST', '/wallet/create', '钱包管理', b'1', b'1', '钱包管理 创建钱包', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400781, 'ClientNoticeTaskController#findRecordById', '查询单条', 'GET', '/task/notice/record/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400782, 'CashConfigController#update', '更新', 'POST', '/cash/config/update', '现金支付配置', b'1', b'1', '现金支付配置 更新', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400783, 'ClientNoticeReceiveController#refund', '退款消息', 'POST', '/demo/callback/refund', '回调测试', b'1', b'1', '回调测试 退款消息', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400784, 'WeChatPayController#recordPage', '记录分页', 'GET', '/wechat/pay/record/page', '微信支付控制器', b'1', b'1', '微信支付控制器 记录分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400785, 'PayReturnController#alipay', '支付宝同步跳转连接', 'GET', '/return/pay/alipay', '支付同步通知', b'1', b'1', '支付同步通知 支付宝同步跳转连接', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400786, 'WalletController#findById', '查询钱包详情', 'GET', '/wallet/findById', '钱包管理', b'1', b'1', '钱包管理 查询钱包详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400787, 'CashConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/cash/config/findPayWays', '现金支付配置', b'1', b'1', '现金支付配置 支付宝支持支付方式', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400788, 'AlipayController#findById', '查询记录详情', 'GET', '/alipay/record/findById', '支付宝控制器', b'1', b'1', '支付宝控制器 查询记录详情', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400789, 'VoucherConfigController#update', '更新', 'POST', '/voucher/config/update', '储值卡支付配置', b'1', b'1', '储值卡支付配置 更新', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400790, 'ClientNoticeTaskController#page', '分页查询', 'GET', '/task/notice/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400791, 'VoucherController#recordPage', '记录分页', 'GET', '/voucher/record/page', '储值卡管理', b'1', b'1', '储值卡管理 记录分页', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400792, 'ClientNoticeTaskController#resetSend', '重新发送消息通知', 'POST', '/task/notice/resetSend', '客户系统通知任务', b'1', b'1', '客户系统通知任务 重新发送消息通知', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400793, 'WalletController#deduct', '扣减', 'POST', '/wallet/deduct', '钱包管理', b'1', b'1', '钱包管理 扣减', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1762112351866400794, 'WalletController#existsByUserId', '判断用户是否开通了钱包', 'GET', '/wallet/existsByUserId', '钱包管理', b'1', b'1', '钱包管理 判断用户是否开通了钱包', 1399985191002447872, '2024-02-26 21:48:17.806000', 1399985191002447872, '2024-02-26 21:48:17.806000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303616, 'ReconcileOrderController#pageDiff', '对账差异分页', 'GET', '/order/reconcile/diff/page', '对账控制器', b'1', b'1', '对账控制器 对账差异分页', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303617, 'ReconcileOrderController#findDiffById', '对账差异详情', 'GET', '/order/reconcile/diff/findById', '对账控制器', b'1', b'1', '对账控制器 对账差异详情', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303618, 'ReconcileOrderController#findDetailById', '对账明细详情', 'GET', '/order/reconcile/detail/findById', '对账控制器', b'1', b'1', '对账控制器 对账明细详情', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303619, 'ReconcileOrderController#compare', '手动触发对账单比对', 'POST', '/order/reconcile/compare', '对账控制器', b'1', b'1', '对账控制器 手动触发对账单比对', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1764663810424303620, 'ReconcileOrderController#pageDetail', '对账明细分页', 'GET', '/order/reconcile/detail/page', '对账控制器', b'1', b'1', '对账控制器 对账明细分页', 1399985191002447872, '2024-03-04 22:46:52.930000', 1399985191002447872, '2024-03-04 22:46:52.930000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994971140096, 'RefundOrderController#resetRefund', '重新发起退款', 'POST', '/order/refund/resetRefund', '支付退款控制器', b'1', b'1', '支付退款控制器 重新发起退款', 1399985191002447872, '2024-03-14 18:17:53.396000', 1399985191002447872, '2024-03-14 18:17:53.397000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528704, 'UnionPayConfigController#getConfig', '获取配置', 'GET', '/union/pay/config/getConfig', '云闪付配置', b'1', b'1', '云闪付配置 获取配置', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528705, 'UnionPayController#findById', '查询记录详情', 'GET', '/union/pay/record/findById', '云闪付控制器', b'1', b'1', '云闪付控制器 查询记录详情', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528706, 'UnionPayController#recordPage', '记录分页', 'GET', '/union/pay/record/page', '云闪付控制器', b'1', b'1', '云闪付控制器 记录分页', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528707, 'UnionPayConfigController#update', '更新', 'POST', '/union/pay/config/update', '云闪付配置', b'1', b'1', '云闪付配置 更新', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528708, 'PayReturnController#union', '云闪付同步通知', 'POST', '/return/pay/union', '支付同步通知', b'1', b'1', '支付同步通知 云闪付同步通知', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528709, 'PayCallbackController#unionPayNotify', '云闪付支付信息回调', 'POST', '/callback/pay/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528710, 'UnionPayConfigController#toBase64', '读取证书文件内容', 'POST', '/union/pay/config/toBase64', '云闪付配置', b'1', b'1', '云闪付配置 读取证书文件内容', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1768219994979528711, 'UnionPayConfigController#findPayWays', '支持的支付方式', 'GET', '/union/pay/config/findPayWays', '云闪付配置', b'1', b'1', '云闪付配置 支持的支付方式', 1399985191002447872, '2024-03-14 18:17:53.398000', 1399985191002447872, '2024-03-14 18:17:53.398000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460544, 'CockpitReportController#getRefundChannelInfo', '显示通道退款订单金额和订单数', 'GET', '/report/cockpit/getRefundChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道退款订单金额和订单数', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460545, 'CockpitReportController#getRefundAmount', '退款金额(分)', 'GET', '/report/cockpit/getRefundAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款金额(分)', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460546, 'CockpitReportController#getRefundOrderCount', '退款订单数量', 'GET', '/report/cockpit/getRefundOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款订单数量', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460547, 'CockpitReportController#getPayChannelInfo', '显示通道支付订单金额和订单数', 'GET', '/report/cockpit/getPayChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道支付订单金额和订单数', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460548, 'ReconcileOrderController#upload', '手动上传对账单文件', 'POST', '/order/reconcile/upload', '对账控制器', b'1', b'1', '对账控制器 手动上传对账单文件', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460549, 'CockpitReportController#getPayAmount', '支付金额(分)', 'GET', '/report/cockpit/getPayAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付金额(分)', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1772446740356460550, 'CockpitReportController#getPayOrderCount', '支付订单数量', 'GET', '/report/cockpit/getPayOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付订单数量', 1399985191002447872, '2024-03-26 10:13:28.025000', 1399985191002447872, '2024-03-26 10:13:28.025000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138432, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '对账订单控制器', b'1', b'1', '对账订单控制器 同步分账结果', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.850000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138433, 'AllocationGroupController#findReceiversByGroups', '查询分账接收方信息', 'GET', '/allocation/group/findReceiversByGroups', '分账组', b'1', b'1', '分账组 查询分账接收方信息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138434, 'AllocationGroupController#unbindReceiver', '取消绑定接收者', 'POST', '/allocation/group/unbindReceiver', '分账组', b'1', b'1', '分账组 取消绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138435, 'PayOrderController#allocation', '发起分账', 'POST', '/order/pay/allocation', '支付订单控制器', b'1', b'1', '支付订单控制器 发起分账', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138436, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '对账接收方控制器', b'1', b'1', '对账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.850000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138437, 'AllocationGroupController#unbindReceivers', '批量取消绑定接收者', 'POST', '/allocation/group/unbindReceivers', '分账组', b'1', b'1', '分账组 批量取消绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138438, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '对账订单控制器', b'1', b'1', '对账订单控制器 查询明细详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138439, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '对账订单控制器', b'1', b'1', '对账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138440, 'SystemMonitorController#getSystemInfo', '获取系统消息', 'GET', '/monitor/system/getSystemInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取系统消息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138441, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '对账接收方控制器', b'1', b'1', '对账接收方控制器 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138442, 'AllocationGroupController#clearDefault', '清除默认分账组', 'POST', '/allocation/group/clearDefault', '分账组', b'1', b'1', '分账组 清除默认分账组', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138443, 'AllocationGroupController#create', '创建', 'POST', '/allocation/group/create', '分账组', b'1', b'1', '分账组 创建', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138444, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '对账订单控制器', b'1', b'1', '对账订单控制器 分账完结', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138445, 'UniPayController#allocationFinish', '分账完结接口', 'POST', '/unipay/allocationFinish', '统一支付接口', b'1', b'1', '统一支付接口 分账完结接口', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138446, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '对账订单控制器', b'1', b'1', '对账订单控制器 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138447, 'SystemMonitorController#getRedisInfo', '获取Redis信息', 'GET', '/monitor/system/getRedisInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取Redis信息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138448, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '对账接收方控制器', b'1', b'1', '对账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138449, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '对账接收方控制器', b'1', b'1', '对账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138450, 'AllocationGroupController#delete', '删除', 'POST', '/allocation/group/delete', '分账组', b'1', b'1', '分账组 删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138451, 'AllocationGroupController#update', '修改', 'POST', '/allocation/group/update', '分账组', b'1', b'1', '分账组 修改', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138452, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '对账接收方控制器', b'1', b'1', '对账接收方控制器 新增', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138453, 'AllocationGroupController#setDefault', '设置默认分账组', 'POST', '/allocation/group/setDefault', '分账组', b'1', b'1', '分账组 设置默认分账组', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138454, 'AllocationGroupController#findById', '查询详情', 'GET', '/allocation/group/findById', '分账组', b'1', b'1', '分账组 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138455, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '对账接收方控制器', b'1', b'1', '对账接收方控制器 修改', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138456, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '对账接收方控制器', b'1', b'1', '对账接收方控制器 删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138457, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '对账接收方控制器', b'1', b'1', '对账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138458, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '对账接收方控制器', b'1', b'1', '对账接收方控制器 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138459, 'AllocationGroupController#page', '分页', 'GET', '/allocation/group/page', '分账组', b'1', b'1', '分账组 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138460, 'AllocationGroupController#bindReceivers', '批量绑定接收者', 'POST', '/allocation/group/bindReceivers', '分账组', b'1', b'1', '分账组 批量绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138461, 'AllocationGroupController#updateRate', '修改分账比例', 'POST', '/allocation/group/updateRate', '分账组', b'1', b'1', '分账组 修改分账比例', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138462, 'UniPayController#allocation', '开启分账接口', 'POST', '/unipay/allocation', '统一支付接口', b'1', b'1', '统一支付接口 开启分账接口', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138463, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '对账订单控制器', b'1', b'1', '对账订单控制器 分账明细列表', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138464, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '对账订单控制器', b'1', b'1', '对账订单控制器 分账重试', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.845000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780216505637138465, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '对账订单控制器', b'1', b'1', '对账订单控制器 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.839000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1780417658844966912, 'PayGatewayNoticeController#wechatPayNotice', '微信消息通知', 'POST', '/gateway/notice/wechat', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 微信消息通知', 1399985191002447872, '2024-04-17 10:07:03.086000', 1399985191002447872, '2024-04-17 10:07:03.086000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780417658844966913, 'PayGatewayNoticeController#aliPayNotice', '支付宝消息通知', 'POST', '/gateway/notice/alipay', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 支付宝消息通知', 1399985191002447872, '2024-04-17 10:07:03.086000', 1399985191002447872, '2024-04-17 10:07:03.086000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063232, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '分账接收方控制器', b'1', b'1', '分账接收方控制器 分页', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063233, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '分账订单控制器', b'1', b'1', '分账订单控制器 分账完结', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063234, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '分账接收方控制器', b'1', b'1', '分账接收方控制器 删除', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063235, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '分账接收方控制器', b'1', b'1', '分账接收方控制器 新增', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063236, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '分账接收方控制器', b'1', b'1', '分账接收方控制器 查询详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063237, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '分账订单控制器', b'1', b'1', '分账订单控制器 同步分账结果', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063238, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '分账接收方控制器', b'1', b'1', '分账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063239, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063240, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '分账订单控制器', b'1', b'1', '分账订单控制器 分页', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063241, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '分账订单控制器', b'1', b'1', '分账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063242, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '分账订单控制器', b'1', b'1', '分账订单控制器 分账明细列表', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063243, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063244, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '分账接收方控制器', b'1', b'1', '分账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063245, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063246, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询明细详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063247, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '分账接收方控制器', b'1', b'1', '分账接收方控制器 修改', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1780418342852063248, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '分账订单控制器', b'1', b'1', '分账订单控制器 分账重试', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - --- ---------------------------- --- Table structure for iam_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_role`; -CREATE TABLE `iam_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `pid` bigint(20) NULL DEFAULT NULL COMMENT '父ID', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role --- ---------------------------- -INSERT INTO `iam_role` VALUES (1757297023118462976, 'daxpayAdmin', NULL, '支付网关管理员', b'0', '', 1399985191002447872, '2024-02-13 14:53:54', 1399985191002447872, '2024-02-13 14:53:54', 0, 0); -INSERT INTO `iam_role` VALUES (1757298887092326400, 'daxpayDemo', 1757297023118462976, '支付演示角色', b'0', '用于进行演示的角色, 没有修改和删除的权限', 1399985191002447872, '2024-02-13 15:01:18', 1399985191002447872, '2024-02-13 15:01:18', 0, 0); - --- ---------------------------- --- Table structure for iam_role_menu --- ---------------------------- -DROP TABLE IF EXISTS `iam_role_menu`; -CREATE TABLE `iam_role_menu` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `client_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '终端code', - `permission_id` bigint(20) NOT NULL COMMENT '菜单权限id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色菜单权限表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role_menu --- ---------------------------- -INSERT INTO `iam_role_menu` VALUES (1757298674730520576, 1757297023118462976, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298674730520577, 1757297023118462976, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298674730520578, 1757297023118462976, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298674730520579, 1757297023118462976, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298674730520580, 1757297023118462976, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298674730520581, 1757297023118462976, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298674730520582, 1757297023118462976, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298674730520583, 1757297023118462976, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298674730520584, 1757297023118462976, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298674730520585, 1757297023118462976, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298674730520586, 1757297023118462976, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298674730520587, 1757297023118462976, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298674730520588, 1757297023118462976, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298674730520589, 1757297023118462976, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298674730520590, 1757297023118462976, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059200, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059201, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059202, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059203, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059204, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059205, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059206, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059207, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059208, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059209, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059210, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059211, 1757298887092326400, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298924107059212, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059213, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059214, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059215, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059216, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059217, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059218, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059219, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059220, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059221, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059222, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059223, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059224, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059225, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059226, 1757298887092326400, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298924107059227, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059228, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059229, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059230, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059231, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059232, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059233, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059234, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059235, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059236, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059237, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059238, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059239, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059240, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059241, 1757298887092326400, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298924107059242, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059243, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059244, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059245, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059246, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059247, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059248, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059249, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059250, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059251, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059252, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059253, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059254, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059255, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059256, 1757298887092326400, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1757298924107059257, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059258, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059259, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1762112282006073344, 1757297023118462976, 'dax-pay', 1758860876272861184); -INSERT INTO `iam_role_menu` VALUES (1762112282006073345, 1757297023118462976, 'dax-pay', 1759861648606097408); -INSERT INTO `iam_role_menu` VALUES (1762112282006073346, 1757297023118462976, 'dax-pay', 1759865163772485632); -INSERT INTO `iam_role_menu` VALUES (1762112282006073347, 1757297023118462976, 'dax-pay', 1758861129311027200); -INSERT INTO `iam_role_menu` VALUES (1762112282006073348, 1757297023118462976, 'dax-pay', 1759192238594949120); -INSERT INTO `iam_role_menu` VALUES (1762112282006073349, 1757297023118462976, 'dax-pay', 1759192520611561472); -INSERT INTO `iam_role_menu` VALUES (1762112282006073350, 1757297023118462976, 'dax-pay', 1761429304959528960); -INSERT INTO `iam_role_menu` VALUES (1762112282006073351, 1757297023118462976, 'dax-pay', 1761429682618855424); -INSERT INTO `iam_role_menu` VALUES (1762112282006073352, 1757297023118462976, 'dax-pay', 1759768820429352960); -INSERT INTO `iam_role_menu` VALUES (1762112282006073353, 1757297023118462976, 'dax-pay', 1759769092698402816); -INSERT INTO `iam_role_menu` VALUES (1762112282232565760, 1757298887092326400, 'dax-pay', 1758860876272861184); -INSERT INTO `iam_role_menu` VALUES (1762112282232565761, 1757298887092326400, 'dax-pay', 1759861648606097408); -INSERT INTO `iam_role_menu` VALUES (1762112282232565762, 1757298887092326400, 'dax-pay', 1759865163772485632); -INSERT INTO `iam_role_menu` VALUES (1762112282232565763, 1757298887092326400, 'dax-pay', 1758861129311027200); -INSERT INTO `iam_role_menu` VALUES (1762112282232565764, 1757298887092326400, 'dax-pay', 1759192238594949120); -INSERT INTO `iam_role_menu` VALUES (1762112282232565765, 1757298887092326400, 'dax-pay', 1759192520611561472); -INSERT INTO `iam_role_menu` VALUES (1762112282232565766, 1757298887092326400, 'dax-pay', 1761429304959528960); -INSERT INTO `iam_role_menu` VALUES (1762112282232565767, 1757298887092326400, 'dax-pay', 1761429682618855424); -INSERT INTO `iam_role_menu` VALUES (1762112282232565768, 1757298887092326400, 'dax-pay', 1759768820429352960); -INSERT INTO `iam_role_menu` VALUES (1762112282232565769, 1757298887092326400, 'dax-pay', 1759769092698402816); -INSERT INTO `iam_role_menu` VALUES (1768220067952029696, 1757297023118462976, 'dax-pay', 1768203432981655552); -INSERT INTO `iam_role_menu` VALUES (1768220068631506944, 1757298887092326400, 'dax-pay', 1768203432981655552); -INSERT INTO `iam_role_menu` VALUES (1780416732268605440, 1757297023118462976, 'dax-pay', 1775089099078553600); -INSERT INTO `iam_role_menu` VALUES (1780416732268605441, 1757297023118462976, 'dax-pay', 1775089820368818176); -INSERT INTO `iam_role_menu` VALUES (1780416732268605442, 1757297023118462976, 'dax-pay', 1775091561835450368); -INSERT INTO `iam_role_menu` VALUES (1780416732268605443, 1757297023118462976, 'dax-pay', 1777688382748700672); -INSERT INTO `iam_role_menu` VALUES (1780416732574789632, 1757298887092326400, 'dax-pay', 1775089099078553600); -INSERT INTO `iam_role_menu` VALUES (1780416732574789633, 1757298887092326400, 'dax-pay', 1775089820368818176); -INSERT INTO `iam_role_menu` VALUES (1780416732574789634, 1757298887092326400, 'dax-pay', 1775091561835450368); -INSERT INTO `iam_role_menu` VALUES (1780416732574789635, 1757298887092326400, 'dax-pay', 1777688382748700672); - --- ---------------------------- --- Table structure for iam_role_path --- ---------------------------- -DROP TABLE IF EXISTS `iam_role_path`; -CREATE TABLE `iam_role_path` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role_path --- ---------------------------- -INSERT INTO `iam_role_path` VALUES (1757299898544541696, 1757297023118462976, 1757297527147974745); -INSERT INTO `iam_role_path` VALUES (1757299898544541697, 1757297023118462976, 1757297527147974777); -INSERT INTO `iam_role_path` VALUES (1757299898544541698, 1757297023118462976, 1757297527147974746); -INSERT INTO `iam_role_path` VALUES (1757299898544541699, 1757297023118462976, 1757297527147974744); -INSERT INTO `iam_role_path` VALUES (1757299898544541700, 1757297023118462976, 1757297527147974692); -INSERT INTO `iam_role_path` VALUES (1757299898544541701, 1757297023118462976, 1757297527152169034); -INSERT INTO `iam_role_path` VALUES (1757299898544541702, 1757297023118462976, 1757297527152169010); -INSERT INTO `iam_role_path` VALUES (1757299898544541703, 1757297023118462976, 1757297527147974778); -INSERT INTO `iam_role_path` VALUES (1757299898544541704, 1757297023118462976, 1757297527147974668); -INSERT INTO `iam_role_path` VALUES (1757299898544541705, 1757297023118462976, 1757297527152169052); -INSERT INTO `iam_role_path` VALUES (1757299898544541706, 1757297023118462976, 1757297527147974730); -INSERT INTO `iam_role_path` VALUES (1757299898544541709, 1757297023118462976, 1757297527152169077); -INSERT INTO `iam_role_path` VALUES (1757299898544541710, 1757297023118462976, 1757297527152168990); -INSERT INTO `iam_role_path` VALUES (1757299898544541711, 1757297023118462976, 1757297527152169098); -INSERT INTO `iam_role_path` VALUES (1757299898544541712, 1757297023118462976, 1757297527152169054); -INSERT INTO `iam_role_path` VALUES (1757299898544541713, 1757297023118462976, 1757297527152169041); -INSERT INTO `iam_role_path` VALUES (1757299898544541714, 1757297023118462976, 1757297527152169016); -INSERT INTO `iam_role_path` VALUES (1757299898544541717, 1757297023118462976, 1757297527156363367); -INSERT INTO `iam_role_path` VALUES (1757299898544541718, 1757297023118462976, 1757297527152169126); -INSERT INTO `iam_role_path` VALUES (1757299898544541719, 1757297023118462976, 1757297527152169084); -INSERT INTO `iam_role_path` VALUES (1757299898544541720, 1757297023118462976, 1757297527156363350); -INSERT INTO `iam_role_path` VALUES (1757299898544541721, 1757297023118462976, 1757297527156363312); -INSERT INTO `iam_role_path` VALUES (1757299898544541722, 1757297023118462976, 1757297527147974769); -INSERT INTO `iam_role_path` VALUES (1757299898544541723, 1757297023118462976, 1757297527152169146); -INSERT INTO `iam_role_path` VALUES (1757299898544541724, 1757297023118462976, 1757297527152169032); -INSERT INTO `iam_role_path` VALUES (1757299898544541725, 1757297023118462976, 1757297527152169145); -INSERT INTO `iam_role_path` VALUES (1757299898544541726, 1757297023118462976, 1757297527147974691); -INSERT INTO `iam_role_path` VALUES (1757299898825560064, 1757298887092326400, 1757297527147974745); -INSERT INTO `iam_role_path` VALUES (1757299898825560065, 1757298887092326400, 1757297527147974777); -INSERT INTO `iam_role_path` VALUES (1757299898825560067, 1757298887092326400, 1757297527147974744); -INSERT INTO `iam_role_path` VALUES (1757299898825560069, 1757298887092326400, 1757297527152169034); -INSERT INTO `iam_role_path` VALUES (1757299898825560070, 1757298887092326400, 1757297527152169010); -INSERT INTO `iam_role_path` VALUES (1757299898825560071, 1757298887092326400, 1757297527147974778); -INSERT INTO `iam_role_path` VALUES (1757299898825560073, 1757298887092326400, 1757297527152169052); -INSERT INTO `iam_role_path` VALUES (1757299898825560074, 1757298887092326400, 1757297527147974730); -INSERT INTO `iam_role_path` VALUES (1757299898825560077, 1757298887092326400, 1757297527152169077); -INSERT INTO `iam_role_path` VALUES (1757299898825560078, 1757298887092326400, 1757297527152168990); -INSERT INTO `iam_role_path` VALUES (1757299898825560079, 1757298887092326400, 1757297527152169098); -INSERT INTO `iam_role_path` VALUES (1757299898825560080, 1757298887092326400, 1757297527152169054); -INSERT INTO `iam_role_path` VALUES (1757299898825560081, 1757298887092326400, 1757297527152169041); -INSERT INTO `iam_role_path` VALUES (1757299898825560082, 1757298887092326400, 1757297527152169016); -INSERT INTO `iam_role_path` VALUES (1757299898825560086, 1757298887092326400, 1757297527152169126); -INSERT INTO `iam_role_path` VALUES (1757299898825560087, 1757298887092326400, 1757297527152169084); -INSERT INTO `iam_role_path` VALUES (1757299898825560089, 1757298887092326400, 1757297527156363312); -INSERT INTO `iam_role_path` VALUES (1757299898825560090, 1757298887092326400, 1757297527147974769); -INSERT INTO `iam_role_path` VALUES (1757299898825560091, 1757298887092326400, 1757297527152169146); -INSERT INTO `iam_role_path` VALUES (1757299898825560092, 1757298887092326400, 1757297527152169032); -INSERT INTO `iam_role_path` VALUES (1757299898825560093, 1757298887092326400, 1757297527152169145); -INSERT INTO `iam_role_path` VALUES (1757299898825560094, 1757298887092326400, 1757297527147974691); -INSERT INTO `iam_role_path` VALUES (1757300046846742528, 1757297023118462976, 1757297527156363340); -INSERT INTO `iam_role_path` VALUES (1757300046846742529, 1757297023118462976, 1757297527152169117); -INSERT INTO `iam_role_path` VALUES (1757300047022903296, 1757298887092326400, 1757297527156363340); -INSERT INTO `iam_role_path` VALUES (1757301364139216896, 1757297023118462976, 1757297527156363333); -INSERT INTO `iam_role_path` VALUES (1757301364139216897, 1757297023118462976, 1757297527156363306); -INSERT INTO `iam_role_path` VALUES (1757301364139216898, 1757297023118462976, 1757297527152168980); -INSERT INTO `iam_role_path` VALUES (1757301364311183360, 1757298887092326400, 1757297527156363333); -INSERT INTO `iam_role_path` VALUES (1757301364311183362, 1757298887092326400, 1757297527152168980); -INSERT INTO `iam_role_path` VALUES (1757301683791319040, 1757297023118462976, 1757297527156363361); -INSERT INTO `iam_role_path` VALUES (1757301683791319041, 1757297023118462976, 1757297527156363289); -INSERT INTO `iam_role_path` VALUES (1757301683791319042, 1757297023118462976, 1757297527152169108); -INSERT INTO `iam_role_path` VALUES (1757301683791319043, 1757297023118462976, 1757297527152169086); -INSERT INTO `iam_role_path` VALUES (1757301683791319044, 1757297023118462976, 1757297527152168999); -INSERT INTO `iam_role_path` VALUES (1757301683791319045, 1757297023118462976, 1757297527152168994); -INSERT INTO `iam_role_path` VALUES (1757301683791319046, 1757297023118462976, 1757297527147974782); -INSERT INTO `iam_role_path` VALUES (1757301683791319047, 1757297023118462976, 1757297527156363368); -INSERT INTO `iam_role_path` VALUES (1757301683791319048, 1757297023118462976, 1757297527156363297); -INSERT INTO `iam_role_path` VALUES (1757301683791319049, 1757297023118462976, 1757297527152169030); -INSERT INTO `iam_role_path` VALUES (1757301683791319050, 1757297023118462976, 1757297527147974779); -INSERT INTO `iam_role_path` VALUES (1757301683791319051, 1757297023118462976, 1757297527147974742); -INSERT INTO `iam_role_path` VALUES (1757301683791319052, 1757297023118462976, 1757297527147974662); -INSERT INTO `iam_role_path` VALUES (1757301684013617152, 1757298887092326400, 1757297527156363361); -INSERT INTO `iam_role_path` VALUES (1757301684013617153, 1757298887092326400, 1757297527156363289); -INSERT INTO `iam_role_path` VALUES (1757301684013617154, 1757298887092326400, 1757297527152169108); -INSERT INTO `iam_role_path` VALUES (1757301684013617155, 1757298887092326400, 1757297527152169086); -INSERT INTO `iam_role_path` VALUES (1757301684013617156, 1757298887092326400, 1757297527152168999); -INSERT INTO `iam_role_path` VALUES (1757301684013617157, 1757298887092326400, 1757297527152168994); -INSERT INTO `iam_role_path` VALUES (1757301684013617158, 1757298887092326400, 1757297527147974782); -INSERT INTO `iam_role_path` VALUES (1757301684013617159, 1757298887092326400, 1757297527156363368); -INSERT INTO `iam_role_path` VALUES (1757301684013617160, 1757298887092326400, 1757297527156363297); -INSERT INTO `iam_role_path` VALUES (1757301684013617161, 1757298887092326400, 1757297527152169030); -INSERT INTO `iam_role_path` VALUES (1757301684013617162, 1757298887092326400, 1757297527147974779); -INSERT INTO `iam_role_path` VALUES (1757301684013617163, 1757298887092326400, 1757297527147974742); -INSERT INTO `iam_role_path` VALUES (1757301684013617164, 1757298887092326400, 1757297527147974662); -INSERT INTO `iam_role_path` VALUES (1757305163645964288, 1757297023118462976, 1757297527156363374); -INSERT INTO `iam_role_path` VALUES (1757305163645964289, 1757297023118462976, 1757297527152169092); -INSERT INTO `iam_role_path` VALUES (1757305194193080320, 1757298887092326400, 1757297527156363374); -INSERT INTO `iam_role_path` VALUES (1757305194193080321, 1757298887092326400, 1757297527152169092); -INSERT INTO `iam_role_path` VALUES (1762112867598020608, 1757297023118462976, 1762112351866400794); -INSERT INTO `iam_role_path` VALUES (1762112867598020609, 1757297023118462976, 1762112351866400793); -INSERT INTO `iam_role_path` VALUES (1762112867598020610, 1757297023118462976, 1762112351866400786); -INSERT INTO `iam_role_path` VALUES (1762112867598020611, 1757297023118462976, 1762112351866400780); -INSERT INTO `iam_role_path` VALUES (1762112867598020612, 1757297023118462976, 1762112351866400774); -INSERT INTO `iam_role_path` VALUES (1762112867598020613, 1757297023118462976, 1762112351866400772); -INSERT INTO `iam_role_path` VALUES (1762112867598020614, 1757297023118462976, 1762112351866400770); -INSERT INTO `iam_role_path` VALUES (1762112867598020615, 1757297023118462976, 1762112351862206476); -INSERT INTO `iam_role_path` VALUES (1762112867598020616, 1757297023118462976, 1762112351866400787); -INSERT INTO `iam_role_path` VALUES (1762112867598020617, 1757297023118462976, 1762112351866400782); -INSERT INTO `iam_role_path` VALUES (1762112867598020618, 1757297023118462976, 1762112351862206472); -INSERT INTO `iam_role_path` VALUES (1762112867598020619, 1757297023118462976, 1762112351866400788); -INSERT INTO `iam_role_path` VALUES (1762112867598020620, 1757297023118462976, 1762112351862206471); -INSERT INTO `iam_role_path` VALUES (1762112867598020621, 1757297023118462976, 1762112351866400789); -INSERT INTO `iam_role_path` VALUES (1762112867598020622, 1757297023118462976, 1762112351866400779); -INSERT INTO `iam_role_path` VALUES (1762112867598020623, 1757297023118462976, 1762112351862206474); -INSERT INTO `iam_role_path` VALUES (1762112867598020624, 1757297023118462976, 1762112351866400791); -INSERT INTO `iam_role_path` VALUES (1762112867598020625, 1757297023118462976, 1762112351866400773); -INSERT INTO `iam_role_path` VALUES (1762112867598020626, 1757297023118462976, 1762112351866400768); -INSERT INTO `iam_role_path` VALUES (1762112867598020627, 1757297023118462976, 1762112351862206469); -INSERT INTO `iam_role_path` VALUES (1762112867598020628, 1757297023118462976, 1762112351862206468); -INSERT INTO `iam_role_path` VALUES (1762112867598020629, 1757297023118462976, 1762112351862206464); -INSERT INTO `iam_role_path` VALUES (1762112867598020630, 1757297023118462976, 1762112351866400792); -INSERT INTO `iam_role_path` VALUES (1762112867598020631, 1757297023118462976, 1762112351866400790); -INSERT INTO `iam_role_path` VALUES (1762112867598020632, 1757297023118462976, 1762112351866400781); -INSERT INTO `iam_role_path` VALUES (1762112867598020633, 1757297023118462976, 1762112351866400775); -INSERT INTO `iam_role_path` VALUES (1762112867598020634, 1757297023118462976, 1762112351862206466); -INSERT INTO `iam_role_path` VALUES (1762112867598020635, 1757297023118462976, 1762112351866400776); -INSERT INTO `iam_role_path` VALUES (1762112867598020636, 1757297023118462976, 1762112351862206470); -INSERT INTO `iam_role_path` VALUES (1762112867598020637, 1757297023118462976, 1762112351866400784); -INSERT INTO `iam_role_path` VALUES (1762112867598020638, 1757297023118462976, 1762112351866400777); -INSERT INTO `iam_role_path` VALUES (1762112867598020639, 1757297023118462976, 1762112351866400771); -INSERT INTO `iam_role_path` VALUES (1762112867598020640, 1757297023118462976, 1762112351862206467); -INSERT INTO `iam_role_path` VALUES (1762112867598020641, 1757297023118462976, 1762112351862206465); -INSERT INTO `iam_role_path` VALUES (1762112867837095936, 1757298887092326400, 1762112351866400794); -INSERT INTO `iam_role_path` VALUES (1762112867837095937, 1757298887092326400, 1762112351866400793); -INSERT INTO `iam_role_path` VALUES (1762112867837095938, 1757298887092326400, 1762112351866400786); -INSERT INTO `iam_role_path` VALUES (1762112867837095939, 1757298887092326400, 1762112351866400780); -INSERT INTO `iam_role_path` VALUES (1762112867837095940, 1757298887092326400, 1762112351866400774); -INSERT INTO `iam_role_path` VALUES (1762112867837095941, 1757298887092326400, 1762112351866400772); -INSERT INTO `iam_role_path` VALUES (1762112867837095942, 1757298887092326400, 1762112351866400770); -INSERT INTO `iam_role_path` VALUES (1762112867837095943, 1757298887092326400, 1762112351862206476); -INSERT INTO `iam_role_path` VALUES (1762112867837095944, 1757298887092326400, 1762112351866400787); -INSERT INTO `iam_role_path` VALUES (1762112867837095945, 1757298887092326400, 1762112351866400782); -INSERT INTO `iam_role_path` VALUES (1762112867837095946, 1757298887092326400, 1762112351862206472); -INSERT INTO `iam_role_path` VALUES (1762112867837095947, 1757298887092326400, 1762112351866400788); -INSERT INTO `iam_role_path` VALUES (1762112867837095948, 1757298887092326400, 1762112351862206471); -INSERT INTO `iam_role_path` VALUES (1762112867837095949, 1757298887092326400, 1762112351866400789); -INSERT INTO `iam_role_path` VALUES (1762112867837095950, 1757298887092326400, 1762112351866400779); -INSERT INTO `iam_role_path` VALUES (1762112867837095951, 1757298887092326400, 1762112351862206474); -INSERT INTO `iam_role_path` VALUES (1762112867837095952, 1757298887092326400, 1762112351866400791); -INSERT INTO `iam_role_path` VALUES (1762112867837095953, 1757298887092326400, 1762112351866400773); -INSERT INTO `iam_role_path` VALUES (1762112867837095954, 1757298887092326400, 1762112351866400768); -INSERT INTO `iam_role_path` VALUES (1762112867837095955, 1757298887092326400, 1762112351862206469); -INSERT INTO `iam_role_path` VALUES (1762112867837095956, 1757298887092326400, 1762112351862206468); -INSERT INTO `iam_role_path` VALUES (1762112867837095957, 1757298887092326400, 1762112351862206464); -INSERT INTO `iam_role_path` VALUES (1762112867837095958, 1757298887092326400, 1762112351866400792); -INSERT INTO `iam_role_path` VALUES (1762112867837095959, 1757298887092326400, 1762112351866400790); -INSERT INTO `iam_role_path` VALUES (1762112867837095960, 1757298887092326400, 1762112351866400781); -INSERT INTO `iam_role_path` VALUES (1762112867837095961, 1757298887092326400, 1762112351866400775); -INSERT INTO `iam_role_path` VALUES (1762112867837095962, 1757298887092326400, 1762112351862206466); -INSERT INTO `iam_role_path` VALUES (1762112867837095963, 1757298887092326400, 1762112351866400776); -INSERT INTO `iam_role_path` VALUES (1762112867837095964, 1757298887092326400, 1762112351862206470); -INSERT INTO `iam_role_path` VALUES (1762112867837095965, 1757298887092326400, 1762112351866400784); -INSERT INTO `iam_role_path` VALUES (1762112867837095966, 1757298887092326400, 1762112351866400777); -INSERT INTO `iam_role_path` VALUES (1762112867837095967, 1757298887092326400, 1762112351866400771); -INSERT INTO `iam_role_path` VALUES (1762112867837095968, 1757298887092326400, 1762112351862206467); -INSERT INTO `iam_role_path` VALUES (1762112867837095969, 1757298887092326400, 1762112351862206465); -INSERT INTO `iam_role_path` VALUES (1764931648924622848, 1757297023118462976, 1764663810424303620); -INSERT INTO `iam_role_path` VALUES (1764931648924622849, 1757297023118462976, 1764663810424303619); -INSERT INTO `iam_role_path` VALUES (1764931648924622850, 1757297023118462976, 1764663810424303618); -INSERT INTO `iam_role_path` VALUES (1764931648924622851, 1757297023118462976, 1764663810424303617); -INSERT INTO `iam_role_path` VALUES (1764931648924622852, 1757297023118462976, 1764663810424303616); -INSERT INTO `iam_role_path` VALUES (1768220144112201728, 1757297023118462976, 1768219994971140096); -INSERT INTO `iam_role_path` VALUES (1768220144112201729, 1757297023118462976, 1768219994979528705); -INSERT INTO `iam_role_path` VALUES (1768220144112201730, 1757297023118462976, 1768219994979528706); -INSERT INTO `iam_role_path` VALUES (1768220144611323904, 1757298887092326400, 1768219994971140096); -INSERT INTO `iam_role_path` VALUES (1768220144611323905, 1757298887092326400, 1768219994979528705); -INSERT INTO `iam_role_path` VALUES (1768220144611323906, 1757298887092326400, 1768219994979528706); -INSERT INTO `iam_role_path` VALUES (1772446949400571904, 1757297023118462976, 1772446740356460550); -INSERT INTO `iam_role_path` VALUES (1772446949400571905, 1757297023118462976, 1772446740356460549); -INSERT INTO `iam_role_path` VALUES (1772446949400571906, 1757297023118462976, 1772446740356460547); -INSERT INTO `iam_role_path` VALUES (1772446949400571907, 1757297023118462976, 1772446740356460546); -INSERT INTO `iam_role_path` VALUES (1772446949400571908, 1757297023118462976, 1772446740356460545); -INSERT INTO `iam_role_path` VALUES (1772446949400571909, 1757297023118462976, 1772446740356460544); -INSERT INTO `iam_role_path` VALUES (1772446949400571910, 1757297023118462976, 1772446740356460548); -INSERT INTO `iam_role_path` VALUES (1772446949400571911, 1757297023118462976, 1768219994979528711); -INSERT INTO `iam_role_path` VALUES (1772446949400571912, 1757297023118462976, 1768219994979528710); -INSERT INTO `iam_role_path` VALUES (1772446949400571913, 1757297023118462976, 1768219994979528704); -INSERT INTO `iam_role_path` VALUES (1772446949400571914, 1757297023118462976, 1768219994979528707); -INSERT INTO `iam_role_path` VALUES (1772446952005234688, 1757298887092326400, 1772446740356460550); -INSERT INTO `iam_role_path` VALUES (1772446952005234689, 1757298887092326400, 1772446740356460549); -INSERT INTO `iam_role_path` VALUES (1772446952005234690, 1757298887092326400, 1772446740356460547); -INSERT INTO `iam_role_path` VALUES (1772446952005234691, 1757298887092326400, 1772446740356460546); -INSERT INTO `iam_role_path` VALUES (1772446952005234692, 1757298887092326400, 1772446740356460545); -INSERT INTO `iam_role_path` VALUES (1772446952005234693, 1757298887092326400, 1772446740356460544); -INSERT INTO `iam_role_path` VALUES (1772446952005234694, 1757298887092326400, 1772446740356460548); -INSERT INTO `iam_role_path` VALUES (1772446952005234695, 1757298887092326400, 1768219994979528711); -INSERT INTO `iam_role_path` VALUES (1772446952005234696, 1757298887092326400, 1768219994979528710); -INSERT INTO `iam_role_path` VALUES (1772446952005234697, 1757298887092326400, 1768219994979528704); -INSERT INTO `iam_role_path` VALUES (1772447125519396864, 1757298887092326400, 1764663810424303620); -INSERT INTO `iam_role_path` VALUES (1772447125519396865, 1757298887092326400, 1764663810424303619); -INSERT INTO `iam_role_path` VALUES (1772447125519396866, 1757298887092326400, 1764663810424303618); -INSERT INTO `iam_role_path` VALUES (1772447125519396867, 1757298887092326400, 1764663810424303617); -INSERT INTO `iam_role_path` VALUES (1772447125519396868, 1757298887092326400, 1764663810424303616); -INSERT INTO `iam_role_path` VALUES (1780464836388855808, 1757297023118462976, 1780216505637138435); -INSERT INTO `iam_role_path` VALUES (1780464836388855809, 1757297023118462976, 1780418342852063247); -INSERT INTO `iam_role_path` VALUES (1780464836388855810, 1757297023118462976, 1780418342852063244); -INSERT INTO `iam_role_path` VALUES (1780464836388855811, 1757297023118462976, 1780418342852063238); -INSERT INTO `iam_role_path` VALUES (1780464836388855812, 1757297023118462976, 1780418342852063236); -INSERT INTO `iam_role_path` VALUES (1780464836388855813, 1757297023118462976, 1780418342852063235); -INSERT INTO `iam_role_path` VALUES (1780464836388855814, 1757297023118462976, 1780418342852063234); -INSERT INTO `iam_role_path` VALUES (1780464836388855815, 1757297023118462976, 1780418342852063232); -INSERT INTO `iam_role_path` VALUES (1780464836388855816, 1757297023118462976, 1780418342852063239); -INSERT INTO `iam_role_path` VALUES (1780464836388855817, 1757297023118462976, 1780418342852063243); -INSERT INTO `iam_role_path` VALUES (1780464836388855818, 1757297023118462976, 1780418342852063248); -INSERT INTO `iam_role_path` VALUES (1780464836388855819, 1757297023118462976, 1780418342852063246); -INSERT INTO `iam_role_path` VALUES (1780464836388855820, 1757297023118462976, 1780418342852063245); -INSERT INTO `iam_role_path` VALUES (1780464836388855821, 1757297023118462976, 1780418342852063242); -INSERT INTO `iam_role_path` VALUES (1780464836388855822, 1757297023118462976, 1780418342852063241); -INSERT INTO `iam_role_path` VALUES (1780464836388855823, 1757297023118462976, 1780418342852063240); -INSERT INTO `iam_role_path` VALUES (1780464836388855824, 1757297023118462976, 1780418342852063237); -INSERT INTO `iam_role_path` VALUES (1780464836388855825, 1757297023118462976, 1780418342852063233); -INSERT INTO `iam_role_path` VALUES (1780464836741177344, 1757298887092326400, 1780216505637138435); -INSERT INTO `iam_role_path` VALUES (1780464836741177346, 1757298887092326400, 1780418342852063244); -INSERT INTO `iam_role_path` VALUES (1780464836741177347, 1757298887092326400, 1780418342852063238); -INSERT INTO `iam_role_path` VALUES (1780464836741177348, 1757298887092326400, 1780418342852063236); -INSERT INTO `iam_role_path` VALUES (1780464836741177349, 1757298887092326400, 1780418342852063235); -INSERT INTO `iam_role_path` VALUES (1780464836741177351, 1757298887092326400, 1780418342852063232); -INSERT INTO `iam_role_path` VALUES (1780464836741177354, 1757298887092326400, 1780418342852063248); -INSERT INTO `iam_role_path` VALUES (1780464836741177355, 1757298887092326400, 1780418342852063246); -INSERT INTO `iam_role_path` VALUES (1780464836741177356, 1757298887092326400, 1780418342852063245); -INSERT INTO `iam_role_path` VALUES (1780464836741177357, 1757298887092326400, 1780418342852063242); -INSERT INTO `iam_role_path` VALUES (1780464836741177358, 1757298887092326400, 1780418342852063241); -INSERT INTO `iam_role_path` VALUES (1780464836741177359, 1757298887092326400, 1780418342852063240); -INSERT INTO `iam_role_path` VALUES (1780464836741177360, 1757298887092326400, 1780418342852063237); -INSERT INTO `iam_role_path` VALUES (1780464836741177361, 1757298887092326400, 1780418342852063233); -INSERT INTO `iam_role_path` VALUES (1780466020646395904, 1757297023118462976, 1780216505637138461); -INSERT INTO `iam_role_path` VALUES (1780466020646395905, 1757297023118462976, 1780216505637138460); -INSERT INTO `iam_role_path` VALUES (1780466020646395906, 1757297023118462976, 1780216505637138459); -INSERT INTO `iam_role_path` VALUES (1780466020646395907, 1757297023118462976, 1780216505637138454); -INSERT INTO `iam_role_path` VALUES (1780466020646395908, 1757297023118462976, 1780216505637138453); -INSERT INTO `iam_role_path` VALUES (1780466020646395909, 1757297023118462976, 1780216505637138451); -INSERT INTO `iam_role_path` VALUES (1780466020646395910, 1757297023118462976, 1780216505637138450); -INSERT INTO `iam_role_path` VALUES (1780466020646395911, 1757297023118462976, 1780216505637138443); -INSERT INTO `iam_role_path` VALUES (1780466020646395912, 1757297023118462976, 1780216505637138442); -INSERT INTO `iam_role_path` VALUES (1780466020646395913, 1757297023118462976, 1780216505637138437); -INSERT INTO `iam_role_path` VALUES (1780466020646395914, 1757297023118462976, 1780216505637138434); -INSERT INTO `iam_role_path` VALUES (1780466020646395915, 1757297023118462976, 1780216505637138433); -INSERT INTO `iam_role_path` VALUES (1780466020956774402, 1757298887092326400, 1780216505637138459); -INSERT INTO `iam_role_path` VALUES (1780466020956774403, 1757298887092326400, 1780216505637138454); -INSERT INTO `iam_role_path` VALUES (1780466020956774411, 1757298887092326400, 1780216505637138433); - --- ---------------------------- --- Table structure for iam_user_data_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_data_role`; -CREATE TABLE `iam_user_data_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '数据角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户数据范围关系\r\n' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_data_role --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_dept`; -CREATE TABLE `iam_user_dept` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户部门关联表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_expand_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_expand_info`; -CREATE TABLE `iam_user_expand_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `sex` int(4) NULL DEFAULT NULL COMMENT '性别', - `birthday` date NULL DEFAULT NULL COMMENT '生日', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', - `last_login_time` datetime(0) NULL DEFAULT NULL COMMENT '上次登录时间', - `current_login_time` datetime(0) NULL DEFAULT NULL COMMENT '本次登录时间', - `initial_password` bit(1) NOT NULL COMMENT '是否初始密码', - `expire_password` bit(1) NOT NULL COMMENT '密码是否过期', - `last_change_password_time` datetime(0) NULL DEFAULT NULL COMMENT '上次修改密码时间', - `register_time` datetime(0) NOT NULL COMMENT '注册时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_expand_info --- ---------------------------- -INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', NULL, '2024-02-13 14:51:40', '2024-02-13 16:13:07', b'0', b'0', '2023-10-19 14:14:08', '2021-08-01 18:52:37', 1, '2021-06-02 15:04:15', 0, '2024-02-13 16:13:07', 419, b'0'); -INSERT INTO `iam_user_expand_info` VALUES (1757299137932677120, 1, '2024-02-13', NULL, '2024-02-13 15:03:21', '2024-02-13 16:09:27', b'0', b'0', NULL, '2024-02-13 15:02:18', 1399985191002447872, '2024-02-13 15:02:18', 1757299137932677120, '2024-02-13 16:09:44', 3, b'0'); -INSERT INTO `iam_user_expand_info` VALUES (1757317255899869184, NULL, NULL, NULL, NULL, '2024-02-13 16:17:59', b'0', b'0', NULL, '2024-02-13 16:14:18', 1399985191002447872, '2024-02-13 16:14:18', 0, '2024-02-13 16:17:59', 1, b'0'); - --- ---------------------------- --- Table structure for iam_user_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_info`; -CREATE TABLE `iam_user_info` ( - `id` bigint(20) NOT NULL, - `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', - `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号', - `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', - `client_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '关联终端ds', - `administrator` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否超级管理员', - `status` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_info --- ---------------------------- -INSERT INTO `iam_user_info` VALUES (1399985191002447872, 'Bootx', 'bootx', 'f52020dca765fd3943ed40a615dc2c5c', '13333333333', 'bootx@bootx.cn', '1430430071299207168,1430430071299207169,1626840094767714304,1580487061605175296', b'1', 'normal', 1, '2021-06-02 15:04:15', 1399985191002447872, '2024-01-16 09:26:44', 64, 0); -INSERT INTO `iam_user_info` VALUES (1757299137932677120, 'DaxPay演示', 'daxpay', 'f52020dca765fd3943ed40a615dc2c5c', '14443332251', 'daxpay@qq.com', '1580487061605175296', b'0', 'normal', 1399985191002447872, '2024-02-13 15:02:18', 1757299137932677120, '2024-02-13 16:09:44', 2, 0); -INSERT INTO `iam_user_info` VALUES (1757317255899869184, 'DaxPay管理员', 'daxpayadmin', '1e9e3c3deaa4a06d08326e82a49d1b63', '12222333223', 'daxpayadmin@qq.com', '1580487061605175296', b'0', 'normal', 1399985191002447872, '2024-02-13 16:14:18', 1399985191002447872, '2024-02-13 16:14:18', 0, 0); - --- ---------------------------- --- Table structure for iam_user_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_role`; -CREATE TABLE `iam_user_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户角色关系\r\n' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_role --- ---------------------------- -INSERT INTO `iam_user_role` VALUES (1757299293314863104, 1757299137932677120, 1757298887092326400); -INSERT INTO `iam_user_role` VALUES (1757317495407210496, 1757317255899869184, 1757297023118462976); - --- ---------------------------- --- Table structure for iam_user_third --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third`; -CREATE TABLE `iam_user_third` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `we_chat_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openId', - `we_chat_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id', - `qq_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'qqId', - `weibo_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微博Id', - `gitee_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '码云唯一标识', - `ding_talk_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉唯一标识', - `we_com_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业微信唯一标识', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_index`(`user_id`) USING BTREE COMMENT '用户id索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户三方登录绑定' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_third --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_third_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third_info`; -CREATE TABLE `iam_user_third_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '第三方终端类型', - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户昵称', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户头像', - `third_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '关联第三方平台的用户id', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_third_info --- ---------------------------- - --- ---------------------------- --- Table structure for miniapp_feedback_info --- ---------------------------- -DROP TABLE IF EXISTS `miniapp_feedback_info`; -CREATE TABLE `miniapp_feedback_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `classify` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '问题分类', - `time` datetime(0) NULL DEFAULT NULL COMMENT '时间', - `contact` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '联系方式', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '姓名', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '反馈用户ID', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户反馈信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of miniapp_feedback_info --- ---------------------------- - --- ---------------------------- --- Table structure for miniapp_user_protocol --- ---------------------------- -DROP TABLE IF EXISTS `miniapp_user_protocol`; -CREATE TABLE `miniapp_user_protocol` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '编码', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户协议' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of miniapp_user_protocol --- ---------------------------- - --- ---------------------------- --- Table structure for mtm_table --- ---------------------------- -DROP TABLE IF EXISTS `mtm_table`; -CREATE TABLE `mtm_table` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `h1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `date` date NULL DEFAULT NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = 'actable测试' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of mtm_table --- ---------------------------- - --- ---------------------------- --- Table structure for notice_mail_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_mail_config`; -CREATE TABLE `notice_mail_config` ( - `id` bigint(20) NOT NULL, - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编号', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器host', - `port` int(5) NOT NULL COMMENT '邮箱服务器 port', - `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 username', - `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 password', - `sender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 sender', - `from_` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 from', - `activity` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `security_type` int(2) NULL DEFAULT NULL COMMENT '安全传输方式 1:plain 2:tls 3:ssl', - `creator` bigint(18) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(18) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_mail_config --- ---------------------------- - --- ---------------------------- --- Table structure for notice_message_template --- ---------------------------- -DROP TABLE IF EXISTS `notice_message_template`; -CREATE TABLE `notice_message_template` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板数据', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息模板' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_message_template --- ---------------------------- -INSERT INTO `notice_message_template` VALUES (1424936204932169730, 'cs', '测试', 'hello ${msg}6666666666666666666666666666', '1', '测试模板', 0, '2021-08-10 11:30:40', 0, '2021-08-10 11:30:40', 0, 0); - --- ---------------------------- --- Table structure for notice_site_message --- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message`; -CREATE TABLE `notice_site_message` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息标题', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送者id', - `sender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者姓名', - `sender_time` datetime(0) NULL DEFAULT NULL COMMENT '发送时间', - `receive_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `send_state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布状态', - `efficient_time` datetime(0) NULL DEFAULT NULL COMMENT '截至有效期', - `cancel_time` datetime(0) NULL DEFAULT NULL COMMENT '撤回时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_site_message --- ---------------------------- - --- ---------------------------- --- Table structure for notice_site_message_user --- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message_user`; -CREATE TABLE `notice_site_message_user` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `message_id` bigint(20) NOT NULL COMMENT '消息id', - `receive_id` bigint(20) NOT NULL COMMENT '接收者id', - `have_read` bit(1) NOT NULL COMMENT '已读/未读', - `read_time` datetime(0) NULL DEFAULT NULL COMMENT '已读时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uni_receive_message`(`receive_id`, `message_id`) USING BTREE COMMENT '接收人和消息联合索引', - INDEX `inx_message`(`message_id`) USING BTREE COMMENT '消息索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '消息用户关联' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_site_message_user --- ---------------------------- - --- ---------------------------- --- Table structure for notice_sms_channel_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_channel_config`; -CREATE TABLE `notice_sms_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型名称', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessKey', - `config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '配置字符串', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `access_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessSecret', - `image` bigint(20) NULL DEFAULT NULL COMMENT '图片', - `sort_no` double(10, 0) NULL DEFAULT NULL COMMENT '排序', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信渠道配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_channel_config --- ---------------------------- -INSERT INTO `notice_sms_channel_config` VALUES (1688432603289337856, 'alibaba', '阿里云短信', 'normal', '1', '{\"accessKeyId\":\"1231231231232111\",\"accessKeySecret\":\"12312312321111\",\"signature\":\"1231\",\"templateId\":\"2312313\",\"templateName\":\"123\",\"requestUrl\":\"五千二无二\",\"action\":\"SendSms\",\"version\":\"11\",\"regionId\":\"cn-hangzhou\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 14:11:17', 1414143554414059520, '2023-08-07 15:35:34', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688456604610953216, 'huawei', '华为云短信', 'normal', '1', '{\"appKey\":\"1231231231232\",\"appSecret\":\"1111\",\"signature\":\"1\",\"sender\":\"1\",\"templateId\":\"12\",\"statusCallBack\":\"1\",\"url\":\"1\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 15:46:39', 1414143554414059520, '2023-08-07 15:46:49', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688461302302732288, 'yunpian', '云片短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"callbackUrl\":null,\"templateName\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 16:05:19', 1414143554414059520, '2023-08-08 14:12:23', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788784751001600, 'tencent', '腾讯短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"sdkAppId\":null,\"territory\":\"ap-guangzhou\",\"connTimeout\":60,\"requestUrl\":\"sms.tencentcloudapi.com\",\"action\":\"SendSms\",\"version\":\"2021-01-11\",\"service\":\"sms\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:37', 1414143554414059520, '2023-08-08 13:46:37', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788807228276736, 'uni_sms', '合一短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"isSimple\":true,\"templateName\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:42', 1414143554414059520, '2023-08-08 13:46:43', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788823900635136, 'netease', '网易云短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"templateName\":null,\"templateUrl\":\"https://api.netease.im/sms/sendtemplate.action\",\"codeUrl\":\"https://api.netease.im/sms/sendcode.action\",\"verifyUrl\":\"https://api.netease.im/sms/verifycode.action\",\"needUp\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:46', 1414143554414059520, '2023-08-08 13:46:47', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788846944141312, 'ctyun', '天翼云短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"templateName\":null,\"requestUrl\":\"https://sms-global.ctapi.ctyun.cn/sms/api/v1\",\"action\":\"SendSms\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:52', 1414143554414059520, '2023-08-08 13:46:52', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788862987354112, 'emay', '亿美短信', 'normal', '1', '{\"appId\":\"1\",\"secretKey\":\"1\",\"requestUrl\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:56', 1414143554414059520, '2023-08-08 14:03:04', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788885141667840, 'cloopen', '容联短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"appId\":null,\"baseUrl\":\"https://app.cloopen.com:8883/2013-12-26\",\"serverIp\":null,\"serverPort\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:47:01', 1414143554414059520, '2023-08-08 13:47:01', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788904481603584, 'jd_cloud', '京东短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"region\":\"cn-north-1\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:47:06', 1414143554414059520, '2023-08-08 13:47:06', 0, b'0'); - --- ---------------------------- --- Table structure for notice_sms_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_config`; -CREATE TABLE `notice_sms_config` ( - `id` bigint(18) NOT NULL, - `tid` bigint(18) NOT NULL COMMENT '租户id', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `account_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `path_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送号码的唯一标识(基于twillio的命名风格)', - `auth_token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `from_num` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime(0) NULL DEFAULT NULL, - `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime(0) NULL DEFAULT NULL, - `version` int(10) NULL DEFAULT NULL, - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `isp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `reply_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_config --- ---------------------------- - --- ---------------------------- --- Table structure for notice_sms_template --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_template`; -CREATE TABLE `notice_sms_template` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `supplier_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信渠道商类型', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信渠道商类型', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板名称', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '短信模板配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_template --- ---------------------------- - --- ---------------------------- --- Table structure for notice_wechat_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_wechat_config`; -CREATE TABLE `notice_wechat_config` ( - `id` bigint(18) NOT NULL, - `tid` bigint(18) NOT NULL COMMENT '租户id', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `corp_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `corp_secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime(0) NULL DEFAULT NULL, - `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime(0) NULL DEFAULT NULL, - `version` int(10) NULL DEFAULT NULL, - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信消息配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_wechat_config --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_config`; -CREATE TABLE `pay_alipay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知页面路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `auth_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', - `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', - `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', - `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', - `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', - `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_config --- ---------------------------- -INSERT INTO `pay_alipay_config` VALUES (0, '123456', b'1', 'ServerUrl/callback/pay/alipay', 'ServerUrl/return/pay/alipay', 'https://openapi.alipay.com/gateway.do', 'key', 'RSA2', 'ImfODRp7hnJ3DUk9fCes0Q==', 'ImfODRp7hnJ3DUk9fCes0Q==', NULL, NULL, NULL, b'0', 'wap,app,web,qrcode,barcode', NULL, 2000, '支付宝支付', 0, '2024-01-02 21:17:58', 1399985191002447872, '2024-02-13 15:43:51', 23, b'0', b'1'); - --- ---------------------------- --- Table structure for pay_alipay_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_reconcile_bill_detail`; -CREATE TABLE `pay_alipay_reconcile_bill_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间', - `end_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '完成时间', - `store_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店编号', - `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店名称', - `operator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作员', - `terminal_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端号', - `other_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对方账户', - `order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额(元)', - `real_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家实收(元)', - `alipay_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝红包(元)', - `jfb_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '集分宝(元)', - `alipay_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝优惠(元)', - `discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家优惠(元)', - `coupon_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '券核销金额(元)', - `coupon_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '券名称', - `coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家红包消费金额(元)', - `card_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡消费金额(元)', - `batch_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款批次号/请求号', - `service_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务费(元)', - `split_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分润(元)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝业务明细对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_reconcile_bill_total --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_reconcile_bill_total`; -CREATE TABLE `pay_alipay_reconcile_bill_total` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `store_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店编号', - `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店名称', - `total_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单总笔数', - `total_refund_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款订单总笔数', - `total_order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额(元)', - `total_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家实收(元)', - `total_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝优惠(元)', - `total_coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家优惠(元)', - `total_consume_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡消费金额(元)', - `total_service_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务费(元)', - `total_share_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分润(元)', - `total_net_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实收净额(元)', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝业务汇总对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_reconcile_bill_total --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_record`; -CREATE TABLE `pay_alipay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `gateway_time` datetime(0) NULL DEFAULT NULL COMMENT '网关完成时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝流水记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group`; -CREATE TABLE `pay_allocation_group` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `total_rate` int(11) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', - `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group_receiver`; -CREATE TABLE `pay_allocation_group_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `group_id` bigint(20) NULL DEFAULT NULL COMMENT '分账组ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group_receiver --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order`; -CREATE TABLE `pay_allocation_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账订单号', - `allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账单号', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `gateway_pay_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关支付订单号', - `gateway_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关分账单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `amount` int(11) NULL DEFAULT NULL COMMENT '总分账金额', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账处理结果', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `allocation_no`(`allocation_no`) USING BTREE COMMENT '分账单号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_order_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order_detail`; -CREATE TABLE `pay_allocation_order_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_id` bigint(20) NULL DEFAULT NULL COMMENT '分账订单ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `amount` int(11) NULL DEFAULT NULL COMMENT '分账金额', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime(0) NULL DEFAULT NULL COMMENT '分账完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_order_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_receiver`; -CREATE TABLE `pay_allocation_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '账号别名', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `relation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账关系类型', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', - `sync` bit(1) NULL DEFAULT NULL COMMENT '是否已经同步到网关', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收方' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_receiver --- ---------------------------- - --- ---------------------------- --- Table structure for pay_api_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_api_config`; -CREATE TABLE `pay_api_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `api` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口地址', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `notice_support` bit(1) NULL DEFAULT NULL COMMENT '支持回调通知', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notice` bit(1) NULL DEFAULT NULL COMMENT '是否开启回调通知', - `notice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '默认通知地址', - `req_sign` bit(1) NULL DEFAULT NULL COMMENT '请求参数是否签名', - `res_sign` bit(1) NULL DEFAULT NULL COMMENT '响应参数是否签名', - `notice_sign` bit(1) NULL DEFAULT NULL COMMENT '回调信息是否签名', - `record` bit(1) NULL DEFAULT NULL COMMENT '是否记录请求的信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付接口配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_api_config --- ---------------------------- -INSERT INTO `pay_api_config` VALUES (1, 'pay', '/uniPay/pay', '统一支付接口 ', b'1', b'1', b'1', 'http://127.0.0.1:9000/demo/callback/payObject', b'1', b'0', b'1', b'0', 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-02-25 15:20:41', 7, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (2, 'simplePay', '/uniPay/simplePay', '简单支付接口', b'1', b'1', b'1', 'http://127.0.0.1:9000/demo/callback/payObject', b'1', b'0', b'1', b'0', 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-02-25 15:20:44', 11, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (3, 'close', '/uniPay/close', '支付关闭接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (4, 'refund', '/uniPay/refund', '统一退款接口', b'1', b'1', b'1', 'http://127.0.0.1:9000/demo/callback/refundObject', b'1', b'0', b'1', b'0', 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-02-25 15:20:33', 4, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (5, 'simpleRefund', '/uniPay/simpleRefund', '简单退款接口', b'1', b'1', b'1', 'http://127.0.0.1:9000/demo/callback/refundObject', b'1', b'0', b'1', b'0', 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-02-25 15:20:38', 4, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (6, 'syncPay', '/uniPay/syncPay', '支付同步接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (7, 'syncRefund', '/uniPay/syncRefund', '退款同步接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (8, 'transfer', '/uniPay/transfer', '统一转账接口', b'1', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (9, 'allocation', '/uniPay/allocation', '统一分账接口', b'1', b'1', b'1', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (10, 'queryPayOrder', '/uniPay/queryPayOrder', '支付订单查询接口', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (11, 'queryRefundOrder', '/uniPay/queryRefundOrder', '退款订单查询接口', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (12, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); -INSERT INTO `pay_api_config` VALUES (13, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0', NULL); - --- ---------------------------- --- Table structure for pay_callback_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_callback_record`; -CREATE TABLE `pay_callback_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单id', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关订单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `callback_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调类型', - `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '通知消息', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调处理状态', - `repair_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网关回调通知' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_callback_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_cash_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_cash_config`; -CREATE TABLE `pay_cash_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '现金支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_cash_config --- ---------------------------- -INSERT INTO `pay_cash_config` VALUES (0, b'1', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0'); - --- ---------------------------- --- Table structure for pay_channel_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_channel_config`; -CREATE TABLE `pay_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `icon_id` bigint(20) NULL DEFAULT NULL COMMENT 'ICON图片', - `bg_color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡牌背景色', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付通道配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_channel_config --- ---------------------------- -INSERT INTO `pay_channel_config` VALUES (1, 'ali_pay', '支付宝', NULL, NULL, b'1', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:21', 10, b'0'); -INSERT INTO `pay_channel_config` VALUES (2, 'wechat_pay', '微信支付', NULL, NULL, b'1', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:24', 7, b'0'); -INSERT INTO `pay_channel_config` VALUES (3, 'union_pay', '云闪付', NULL, NULL, b'1', NULL, 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-03-10 15:04:36', 2, b'0'); -INSERT INTO `pay_channel_config` VALUES (4, 'cash_pay', '现金支付', NULL, NULL, b'1', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); -INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, NULL, b'1', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); -INSERT INTO `pay_channel_config` VALUES (6, 'voucher_pay', '储值卡支付', NULL, NULL, b'1', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); - --- ---------------------------- --- Table structure for pay_channel_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_channel_order`; -CREATE TABLE `pay_channel_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '支付id', - `async` bit(1) NULL DEFAULT NULL COMMENT '异步支付方式', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `pay_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付方式', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '可退款金额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态', - `pay_time` datetime(0) NULL DEFAULT NULL COMMENT '支付完成时间', - `channel_extra` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加支付参数', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单关联支付时通道信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_channel_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_client_notice_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_client_notice_record`; -CREATE TABLE `pay_client_notice_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `task_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID', - `req_count` int(11) NULL DEFAULT NULL COMMENT '请求次数', - `success` bit(1) NULL DEFAULT NULL COMMENT '发送是否成功', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `send_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送类型', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_client_notice_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_client_notice_task --- ---------------------------- -DROP TABLE IF EXISTS `pay_client_notice_task`; -CREATE TABLE `pay_client_notice_task` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否发送成功', - `send_count` int(11) NULL DEFAULT NULL COMMENT '发送次数', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送地址', - `latest_time` datetime(0) NULL DEFAULT NULL COMMENT '最后发送时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `notice_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `order_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单状态', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_client_notice_task --- ---------------------------- - --- ---------------------------- --- Table structure for pay_close_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_close_record`; -CREATE TABLE `pay_close_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '支付记录id', - `business_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务号', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关闭的异步支付通道', - `closed` bit(1) NULL DEFAULT NULL COMMENT '是否关闭成功', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', - `req_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求链路ID', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付关闭记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_close_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_order`; -CREATE TABLE `pay_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `business_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联的业务号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `combination_pay` bit(1) NULL DEFAULT NULL COMMENT '是否是组合支付', - `async_pay` bit(1) NULL DEFAULT NULL COMMENT '是否是异步支付', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步支付通道', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '可退款余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态', - `pay_time` datetime(0) NULL DEFAULT NULL COMMENT '支付时间', - `close_time` datetime(0) NULL DEFAULT NULL COMMENT '关闭时间', - `expired_time` datetime(0) NULL DEFAULT NULL COMMENT '过期时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否需要分账', - `allocation_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `business_no`(`business_no`) USING BTREE COMMENT '业务业务号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_order_extra`; -CREATE TABLE `pay_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', - `req_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求链路ID', - `notice_sign` bit(1) NULL DEFAULT NULL COMMENT '回调通知时是否需要进行签名', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址,以最后一次为准', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型', - `req_sign` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名', - `req_time` datetime(0) NULL DEFAULT NULL COMMENT '请求时间,传输时间戳,以最后一次为准', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order_extra --- ---------------------------- - --- ---------------------------- --- Table structure for pay_platform_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_platform_config`; -CREATE TABLE `pay_platform_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `website_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网站地址', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通知地址', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', - `order_timeout` int(11) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `limit_amount` int(11) NULL DEFAULT NULL COMMENT '支付限额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付平台配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_platform_config --- ---------------------------- -INSERT INTO `pay_platform_config` VALUES (0, 'http://127.0.0.1', 'HMAC_SHA256', '123456', 'http://127.0.0.1/h5/#/result/success', 'http://127.0.0.1/h5/#/result/success', 30, 0, '2024-01-02 20:23:19', 1757299137932677120, '2024-02-13 15:08:51', 3, b'0', 2000); - --- ---------------------------- --- Table structure for pay_reconcile_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_detail`; -CREATE TABLE `pay_reconcile_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地订单ID', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `order_time` datetime(0) NULL DEFAULT NULL COMMENT '订单时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_diff_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_diff_record`; -CREATE TABLE `pay_reconcile_diff_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `detail_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单明细ID', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单标题', - `order_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单类型', - `diff_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '差异类型', - `diffs` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '差异内容', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `order_time` datetime(0) NULL DEFAULT NULL COMMENT '订单时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账差异单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_diff_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_order`; -CREATE TABLE `pay_reconcile_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `batch_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次号', - `date` date NULL DEFAULT NULL COMMENT '日期', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `down` bit(1) NULL DEFAULT NULL COMMENT '是否下载成功', - `compare` bit(1) NULL DEFAULT NULL COMMENT '是否比对完成', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `批次号索引`(`batch_no`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账单订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_channel_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_channel_order`; -CREATE TABLE `pay_refund_channel_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `refund_id` bigint(20) NULL DEFAULT NULL COMMENT '关联退款id', - `pay_channel_id` bigint(20) NULL DEFAULT NULL COMMENT '通道支付单id', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `async` bit(1) NULL DEFAULT NULL COMMENT '异步支付方式', - `order_amount` int(11) NULL DEFAULT NULL COMMENT '订单金额', - `amount` int(11) NULL DEFAULT NULL COMMENT '退款金额', - `refundable_amount` int(11) NULL DEFAULT NULL COMMENT '剩余可退余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `refund_time` datetime(0) NULL DEFAULT NULL COMMENT '退款完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付退款通道订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_channel_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order`; -CREATE TABLE `pay_refund_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '原支付id', - `business_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原支付业务号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '原支付标题', - `refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款号', - `async_pay` bit(1) NULL DEFAULT NULL COMMENT '是否含有异步通道', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通道', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `order_amount` int(11) NULL DEFAULT NULL COMMENT '订单金额', - `amount` int(11) NULL DEFAULT NULL COMMENT '退款金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '剩余可退', - `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款原因', - `refund_time` datetime(0) NULL DEFAULT NULL COMMENT '退款完成时间', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order_extra`; -CREATE TABLE `pay_refund_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `notice_sign` bit(1) NULL DEFAULT NULL COMMENT '回调通知时是否需要进行签名', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求签名值', - `req_sign` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求签名值', - `req_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求链路ID', - `req_time` datetime(0) NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order_extra --- ---------------------------- - --- ---------------------------- --- Table structure for pay_repair_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_repair_record`; -CREATE TABLE `pay_repair_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复号', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地业务号', - `repair_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复类型', - `repair_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复来源', - `repair_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复方式', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复的异步通道', - `before_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复前状态', - `after_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复后状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付修复记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_repair_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_sync_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_sync_record`; -CREATE TABLE `pay_sync_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地业务号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `sync_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步类型', - `async_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步的异步通道', - `sync_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '同步消息', - `gateway_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关返回状态', - `repair_order` bit(1) NULL DEFAULT NULL COMMENT '是否进行修复', - `repair_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', - `req_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求链路ID', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付同步订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_sync_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_transfer_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_transfer_order`; -CREATE TABLE `pay_transfer_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `amount` int(11) NULL DEFAULT NULL, - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `success_time` datetime(0) NULL DEFAULT NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '转账订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_transfer_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_union_pay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_pay_config`; -CREATE TABLE `pay_union_pay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `mach_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户号', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', - `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `seller` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户收款账号', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型', - `cert_sign` bit(1) NULL DEFAULT NULL COMMENT '是否为证书签名', - `key_private_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用私钥证书', - `key_private_cert_pwd` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '私钥证书对应的密码', - `acp_middle_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '中级证书', - `acp_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_pay_config --- ---------------------------- -INSERT INTO `pay_union_pay_config` VALUES (0, '123456', b'1', 'https://qra.95516.com/pay/gateway', 'ServerUrl/callback/pay/union', 'wap,app,web,qrcode,barcode,jsapi,b2b', NULL, NULL, 'RSA2', b'0', NULL, NULL, NULL, NULL, b'1', 'ServerUrl/return/pay/union', 0, '2024-03-06 22:56:22', 1399985191002447872, '2024-03-12 23:30:18', 11, b'0', 2000); - --- ---------------------------- --- Table structure for pay_union_pay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_pay_record`; -CREATE TABLE `pay_union_pay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `gateway_time` datetime(0) NULL DEFAULT NULL COMMENT '网关完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付流水记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_pay_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_union_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_reconcile_bill_detail`; -CREATE TABLE `pay_union_reconcile_bill_detail` ( - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易代码', - `txn_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易传输时间', - `txn_amt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易金额', - `query_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '查询流水号', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号' -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付业务明细对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_voucher --- ---------------------------- -DROP TABLE IF EXISTS `pay_voucher`; -CREATE TABLE `pay_voucher` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `card_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡号', - `face_value` int(11) NULL DEFAULT NULL COMMENT '面值', - `balance` int(11) NULL DEFAULT NULL COMMENT '余额', - `enduring` bit(1) NULL DEFAULT NULL COMMENT '是否长期有效', - `start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', - `end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束时间', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - INDEX `card_no`(`card_no`) USING BTREE COMMENT '卡号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '储值卡' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_voucher --- ---------------------------- - --- ---------------------------- --- Table structure for pay_voucher_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_voucher_config`; -CREATE TABLE `pay_voucher_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '储值卡配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_voucher_config --- ---------------------------- -INSERT INTO `pay_voucher_config` VALUES (0, b'1', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 17:01:25', 7, b'0'); - --- ---------------------------- --- Table structure for pay_voucher_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_voucher_record`; -CREATE TABLE `pay_voucher_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `voucher_id` bigint(20) NULL DEFAULT NULL COMMENT '储值卡id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `old_amount` int(11) NULL DEFAULT NULL COMMENT '变动之前的金额', - `new_amount` int(11) NULL DEFAULT NULL COMMENT '变动之后的金额', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单号', - `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端ip', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `voucher_id`(`voucher_id`) USING BTREE COMMENT '储值卡ID' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '储值卡记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_voucher_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wallet --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet`; -CREATE TABLE `pay_wallet` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联用户id', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钱包名称', - `balance` int(11) NULL DEFAULT NULL COMMENT '余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - INDEX `用户ID索引`(`user_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wallet_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet_config`; -CREATE TABLE `pay_wallet_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet_config --- ---------------------------- -INSERT INTO `pay_wallet_config` VALUES (0, b'1', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0'); - --- ---------------------------- --- Table structure for pay_wallet_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet_record`; -CREATE TABLE `pay_wallet_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `wallet_id` bigint(20) NULL DEFAULT NULL COMMENT '钱包id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `old_amount` int(11) NULL DEFAULT NULL COMMENT '变动之前的金额', - `new_amount` int(11) NULL DEFAULT NULL COMMENT '变动之后的金额', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单号', - `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端ip', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `wallet_id`(`wallet_id`) USING BTREE COMMENT '钱包ID' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_way_info --- ---------------------------- -DROP TABLE IF EXISTS `pay_way_info`; -CREATE TABLE `pay_way_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付方式' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_way_info --- ---------------------------- -INSERT INTO `pay_way_info` VALUES (1, 'normal', '常规支付', '同步支付使用这个', 0, '2024-01-09 10:01:21', 1399985191002447872, '2024-02-13 15:39:16', 1, b'0'); -INSERT INTO `pay_way_info` VALUES (2, 'wap', 'wap支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_way_info` VALUES (3, 'app', '应用支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_way_info` VALUES (4, 'web', 'web支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_way_info` VALUES (6, 'barcode', '付款码', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_way_info` VALUES (7, 'jsapi', '公众号/小程序支付', '主要是微信使用', 0, '2024-01-09 10:01:21', 1399985191002447872, '2024-02-13 15:38:57', 1, b'0'); - --- ---------------------------- --- Table structure for pay_wechat_notice_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_notice_config`; -CREATE TABLE `pay_wechat_notice_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用id', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用秘钥', - `qr_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众号二维码', - `oauth2_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'OAuth2地址', - `verify_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件名称', - `verify_file_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件内容', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息Id', - `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息内容', - `template_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息通知相关配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_notice_config --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_pay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_config`; -CREATE TABLE `pay_wechat_pay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `wx_mch_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信商户号', - `wx_app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信应用appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知路径', - `api_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口版本', - `api_key_v2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv2 密钥', - `api_key_v3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv3 密钥', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APPID对应的接口密码', - `p12` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'API证书中p12证书Base64', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_config --- ---------------------------- -INSERT INTO `pay_wechat_pay_config` VALUES (0, '123', '123', b'1', 'ServerUrl/callback/pay/wechat', 'ServerUrl/pay/wechat', 'apiV2', 'E0jIzPNngkpkZYL19H3vFQ==', 'E0jIzPNngkpkZYL19H3vFQ==', 'E0jIzPNngkpkZYL19H3vFQ==', 'E0jIzPNngkpkZYL19H3vFQ==', b'0', 'wap,app,jsapi,qrcode,barcode', NULL, 0, '2024-04-18 09:15:47', 1399985191002447872, '2024-04-18 09:16:22', 2025, b'0', 2000, b'1'); - --- ---------------------------- --- Table structure for pay_wechat_pay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_record`; -CREATE TABLE `pay_wechat_pay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `gateway_time` datetime(0) NULL DEFAULT NULL COMMENT '网关完成时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_reconcile_bill_detail`; -CREATE TABLE `pay_wechat_reconcile_bill_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `transaction_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易时间', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众账号ID', - `merchant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户号', - `sub_merchant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '特约商户号', - `wei_xin_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信订单号', - `mch_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户标识', - `device_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备号', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态', - `bank` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '付款银行', - `currency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货币种类', - `amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应结订单金额', - `envelope_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代金券金额', - `wx_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信退款单号', - `mch_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户退款单号', - `refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款金额', - `coupon_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '充值券退款金额', - `refund_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款类型', - `refund_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `mch_data_packet` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户数据包', - `premium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手续费', - `rates` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费率', - `order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额', - `apply_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请退款金额', - `rates_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费率备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信对账单明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_reconcile_bill_total --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_reconcile_bill_total`; -CREATE TABLE `pay_wechat_reconcile_bill_total` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `total_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '总交易单数', - `total_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应结订单总金额', - `total_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款总金额', - `total_refund_coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '充值券退款总金额', - `total_fee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手续费总金额', - `total_order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单总金额', - `apply_total_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请退款总金额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信对账单汇总' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_reconcile_bill_total --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_blob_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_blob_triggers`; -CREATE TABLE `qrtz_blob_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `BLOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_blob_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_calendars --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_calendars`; -CREATE TABLE `qrtz_calendars` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR` blob NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_calendars --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_cron_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_cron_triggers`; -CREATE TABLE `qrtz_cron_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_cron_triggers --- ---------------------------- -INSERT INTO `qrtz_cron_triggers` VALUES ('quartzScheduler', '1546857070483939328', 'DEFAULT', '0/5 * * * * ? *', 'Asia/Shanghai'); - --- ---------------------------- --- Table structure for qrtz_fired_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_fired_triggers`; -CREATE TABLE `qrtz_fired_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `FIRED_TIME` bigint(13) NOT NULL, - `SCHED_TIME` bigint(13) NOT NULL, - `PRIORITY` int(11) NOT NULL, - `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE, - INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE, - INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE, - INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_fired_triggers --- ---------------------------- -INSERT INTO `qrtz_fired_triggers` VALUES ('quartzScheduler', 'NON_CLUSTERED1711420949184', '1546857070483939328', 'DEFAULT', 'NON_CLUSTERED', 1711421986284, 1711421990000, 5, 'ACQUIRED', NULL, NULL, '0', '0'); - --- ---------------------------- --- Table structure for qrtz_job_details --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_job_details`; -CREATE TABLE `qrtz_job_details` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_job_details --- ---------------------------- -INSERT INTO `qrtz_job_details` VALUES ('quartzScheduler', '1546857070483939328', 'DEFAULT', NULL, 'cn.bootx.platform.daxpay.service.task.PayExpiredTimeTask', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C77080000001000000001740009706172616D65746572707800); - --- ---------------------------- --- Table structure for qrtz_locks --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_locks`; -CREATE TABLE `qrtz_locks` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_locks --- ---------------------------- -INSERT INTO `qrtz_locks` VALUES ('quartzScheduler', 'TRIGGER_ACCESS'); - --- ---------------------------- --- Table structure for qrtz_paused_trigger_grps --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; -CREATE TABLE `qrtz_paused_trigger_grps` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_paused_trigger_grps --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_scheduler_state --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_scheduler_state`; -CREATE TABLE `qrtz_scheduler_state` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LAST_CHECKIN_TIME` bigint(13) NOT NULL, - `CHECKIN_INTERVAL` bigint(13) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_scheduler_state --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simple_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simple_triggers`; -CREATE TABLE `qrtz_simple_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REPEAT_COUNT` bigint(7) NOT NULL, - `REPEAT_INTERVAL` bigint(12) NOT NULL, - `TIMES_TRIGGERED` bigint(10) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_simple_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simprop_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simprop_triggers`; -CREATE TABLE `qrtz_simprop_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `INT_PROP_1` int(11) NULL DEFAULT NULL, - `INT_PROP_2` int(11) NULL DEFAULT NULL, - `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, - `LONG_PROP_2` bigint(20) NULL DEFAULT NULL, - `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL, - `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL, - `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_simprop_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_triggers`; -CREATE TABLE `qrtz_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PRIORITY` int(11) NULL DEFAULT NULL, - `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `START_TIME` bigint(13) NOT NULL, - `END_TIME` bigint(13) NULL DEFAULT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_triggers --- ---------------------------- -INSERT INTO `qrtz_triggers` VALUES ('quartzScheduler', '1546857070483939328', 'DEFAULT', '1546857070483939328', 'DEFAULT', NULL, 1711421995000, 1711421990000, 5, 'ACQUIRED', 'CRON', 1708844216000, 0, NULL, 0, ''); - --- ---------------------------- --- Table structure for starter_audit_data_version --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_data_version`; -CREATE TABLE `starter_audit_data_version` ( - `id` bigint(20) NOT NULL, - `table_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据表名称', - `data_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据名称', - `data_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据主键', - `data_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容', - `change_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据更新内容', - `version` int(10) NOT NULL COMMENT '版本', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据版本日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_data_version --- ---------------------------- - --- ---------------------------- --- Table structure for starter_audit_login_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_login_log`; -CREATE TABLE `starter_audit_login_log` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id', - `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称', - `login` bit(1) NULL DEFAULT NULL COMMENT '登录成功状态', - `client` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端', - `login_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录方式', - `ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录IP地址', - `login_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录地点', - `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', - `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器类型', - `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示消息', - `login_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_login_log --- ---------------------------- - --- ---------------------------- --- Table structure for starter_audit_operate_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_operate_log`; -CREATE TABLE `starter_audit_operate_log` ( - `id` bigint(20) NOT NULL, - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作模块', - `operate_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人员id', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员账号', - `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', - `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方式', - `operate_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求url', - `operate_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作ip', - `operate_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作地点', - `operate_param` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数', - `operate_return` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回参数', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否成功', - `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误提示', - `operate_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_operate_log --- ---------------------------- - --- ---------------------------- --- Table structure for starter_ding_media_md5 --- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_media_md5`; -CREATE TABLE `starter_ding_media_md5` ( - `id` bigint(20) NOT NULL, - `media_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '媒体id', - `md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'md5值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉媒体文件MD5值关联关系' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_ding_media_md5 --- ---------------------------- - --- ---------------------------- --- Table structure for starter_ding_robot_config --- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_robot_config`; -CREATE TABLE `starter_ding_robot_config` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `access_token` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人访问token', - `enable_signature_check` bit(1) NOT NULL COMMENT '是否开启验签', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人私钥', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉机器人配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_ding_robot_config --- ---------------------------- - --- ---------------------------- --- Table structure for starter_file_data --- ---------------------------- -DROP TABLE IF EXISTS `starter_file_data`; -CREATE TABLE `starter_file_data` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', - `data` longblob NULL COMMENT '数据方式存储', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_file_data --- ---------------------------- - --- ---------------------------- --- Table structure for starter_file_upload_info --- ---------------------------- -DROP TABLE IF EXISTS `starter_file_upload_info`; -CREATE TABLE `starter_file_upload_info` ( - `id` bigint(20) NOT NULL COMMENT '文件id', - `url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件访问地址', - `size` bigint(20) NULL DEFAULT NULL COMMENT '文件大小,单位字节', - `filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名称', - `original_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原始文件名', - `base_path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '基础存储路径', - `path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储路径', - `ext` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件扩展名', - `content_type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'MIME类型', - `platform` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储平台', - `th_url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图访问路径', - `th_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图名称', - `th_size` bigint(20) NULL DEFAULT NULL COMMENT '缩略图大小,单位字节', - `th_content_type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图MIME类型', - `object_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属对象id', - `object_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属对象类型,例如用户头像,评价图片', - `metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文件元数据', - `user_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文件用户元数据', - `th_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图元数据', - `th_user_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图用户元数据', - `attr` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '附加属性', - `file_acl` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件ACL', - `th_file_acl` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图文件ACL', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '文件记录表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_file_upload_info --- ---------------------------- - --- ---------------------------- --- Table structure for starter_quartz_job --- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job`; -CREATE TABLE `starter_quartz_job` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', - `job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类名', - `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', - `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', - `state` int(4) NULL DEFAULT NULL COMMENT '状态', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_quartz_job --- ---------------------------- -INSERT INTO `starter_quartz_job` VALUES (1456579473573867520, '测试任务', 'cn.bootx.platform.starter.quartz.task.TestTask', '0/3 0 * * * ? *', '{\"aaa\":\"5255\"}', 0, '测试任务', 1399985191002447872, '2021-11-05 19:09:43', 1399985191002447872, '2024-02-24 23:57:57', 29, 0); -INSERT INTO `starter_quartz_job` VALUES (1546857070483939328, '支付单超时检测', 'cn.bootx.platform.daxpay.service.task.PayExpiredTimeTask', '0/5 * * * * ? *', NULL, 1, '检测超时的支付单, 超时后调用同步事件状态修复', 1399985191002447872, '2022-07-12 22:00:39', 1399985191002447872, '2024-02-25 14:56:56', 4, 0); -INSERT INTO `starter_quartz_job` VALUES (1761419490908958720, '客户系统通知重发任务', 'cn.bootx.platform.daxpay.service.task.ClientNoticeSendTask', '0/1 * * * * ? *', '', 1, '每秒调用一下当前需要进行通知的任务', 1399985191002447872, '2024-02-24 23:55:07', 1399985191002447872, '2024-03-05 23:05:09', 2, 0); -INSERT INTO `starter_quartz_job` VALUES (1764664552203743232, '支付宝定时对账', 'cn.bootx.platform.daxpay.service.task.ReconcileTask', '0 0 11 * * ? *', '{\"channel\":\"ali_pay\",\"n\":1}', 1, '', 1399985191002447872, '2024-03-04 22:49:50', 1399985191002447872, '2024-03-10 11:19:17', 3, 0); -INSERT INTO `starter_quartz_job` VALUES (1764667388106887168, '微信支付定时对账', 'cn.bootx.platform.daxpay.service.task.ReconcileTask', '0 0 11 * * ? *', '{\"channel\":\"wechat_pay\",\"n\":1}', 1, '', 1399985191002447872, '2024-03-04 23:01:06', 1399985191002447872, '2024-03-10 11:19:14', 3, 0); -INSERT INTO `starter_quartz_job` VALUES (1767553847839141888, '退款订单定时同步', 'cn.bootx.platform.daxpay.service.task.RefundSyncTask', '0 * * * * ? *', '', 1, '', 1399985191002447872, '2024-03-12 22:10:52', 1399985191002447872, '2024-03-12 22:10:59', 1, 0); - --- ---------------------------- --- Table structure for starter_quartz_job_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job_log`; -CREATE TABLE `starter_quartz_job_log` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `handler_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器名称', - `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器全限定名', - `success` bit(1) NOT NULL COMMENT '是否执行成功', - `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间', - `end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束时间', - `duration` bigint(255) NULL DEFAULT NULL COMMENT '执行时长', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务执行日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_quartz_job_log --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wecom_robot_config --- ---------------------------- -DROP TABLE IF EXISTS `starter_wecom_robot_config`; -CREATE TABLE `starter_wecom_robot_config` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `webhook_key` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'webhook地址的key值', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企业微信机器人配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wecom_robot_config --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_fans --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_fans`; -CREATE TABLE `starter_wx_fans` ( - `id` bigint(20) NOT NULL, - `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联OpenId', - `subscribe_status` bit(1) NULL DEFAULT NULL COMMENT '订阅状态', - `subscribe_time` datetime(0) NULL DEFAULT NULL COMMENT '订阅时间', - `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', - `sex` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', - `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语言', - `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家', - `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', - `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', - `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号粉丝' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_fans --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_menu --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_menu`; -CREATE TABLE `starter_wx_menu` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `menu_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '菜单信息', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `publish` bit(1) NOT NULL COMMENT '是否发布', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '微信自定义菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_menu --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_template --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_template`; -CREATE TABLE `starter_wx_template` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `enable` bit(1) NOT NULL COMMENT '是否启用', - `template_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板ID', - `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板标题', - `primary_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的一级行业', - `deputy_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的二级行业', - `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板内容', - `example` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '示例', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `inx_`(`template_id`) USING BTREE COMMENT '模板id' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_template --- ---------------------------- - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/_config/mysql/2.0.5/2.0.5.update.data.sql b/_config/mysql/2.0.5/2.0.5.update.data.sql deleted file mode 100644 index 11b6ffd984efcbdf357841bd598825416864d25d..0000000000000000000000000000000000000000 --- a/_config/mysql/2.0.5/2.0.5.update.data.sql +++ /dev/null @@ -1,331 +0,0 @@ -SET FOREIGN_KEY_CHECKS = 0; - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775112798259302400, 'AllocationReceiverType', '分账接收方类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 18:47:26', 1399985191002447872, '2024-04-02 18:47:26', 0, 0); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122632706805760, 'AllocationRelationType', '分账关系类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 19:26:30', 1399985191002447872, '2024-04-02 19:26:30', 0, 0); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777697358802530304, 'AllocationOrderStatus', '分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-09 21:57:33', 1399985191002447872, '2024-04-16 19:09:18', 0, 1); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780163691808391168, 'AllocationDetailResult', '支付分账明细处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:17:53', 1399985191002447872, '2024-04-16 17:23:37', 0, 2); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165499633106944, 'AllocationOrderResult', '支付分账订单处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:25:04', 1399985191002447872, '2024-04-16 17:25:04', 0, 0); - -INSERT INTO `base_dict`(`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165929528295424, 'PayOrderAllocationStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-04-16 17:26:46', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122126567559168, 1775112798259302400, 'AllocationReceiverType', 'wx_personal', '个人', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-04-02 19:24:30', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122171861848064, 1775112798259302400, 'AllocationReceiverType', 'wx_merchant', '商户', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-04-02 19:24:41', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122227956469760, 1775112798259302400, 'AllocationReceiverType', 'ali_user_id', '用户ID', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:24:54', 1399985191002447872, '2024-04-02 19:25:53', 0, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122278170677248, 1775112798259302400, 'AllocationReceiverType', 'ali_open_id', '登录号', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-04-02 19:25:06', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122427802472448, 1775112798259302400, 'AllocationReceiverType', 'ali_login_name', '账号', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:25:42', 1399985191002447872, '2024-04-02 19:25:42', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122672623996928, 1775122632706805760, 'AllocationRelationType', 'SERVICE_PROVIDER', '服务商', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:26:40', 1399985191002447872, '2024-04-02 19:26:40', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122710884438016, 1775122632706805760, 'AllocationRelationType', 'STORE', '门店', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:26:49', 1399985191002447872, '2024-04-02 19:26:49', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122750612885504, 1775122632706805760, 'AllocationRelationType', 'STAFF', '员工', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:26:59', 1399985191002447872, '2024-04-02 19:26:59', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122847035740160, 1775122632706805760, 'AllocationRelationType', 'STORE_OWNER', '店主', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:27:22', 1399985191002447872, '2024-04-02 19:27:22', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122892464246784, 1775122632706805760, 'AllocationRelationType', 'PARTNER', '合作伙伴', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:27:32', 1399985191002447872, '2024-04-02 19:27:32', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775122934138851328, 1775122632706805760, 'AllocationRelationType', 'HEADQUARTER', '总部', b'1', 6.00, '', 1399985191002447872, '2024-04-02 19:27:42', 1399985191002447872, '2024-04-02 19:27:42', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775123560512016384, 1775122632706805760, 'AllocationRelationType', 'DISTRIBUTOR', '分销商', b'1', 7.00, '', 1399985191002447872, '2024-04-02 19:30:12', 1399985191002447872, '2024-04-02 19:30:12', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775123607781822464, 1775122632706805760, 'AllocationRelationType', 'USER', '用户', b'1', 8.00, '', 1399985191002447872, '2024-04-02 19:30:23', 1399985191002447872, '2024-04-02 19:30:23', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775123654527340544, 1775122632706805760, 'AllocationRelationType', 'SUPPLIER', '供应商', b'1', 9.00, '', 1399985191002447872, '2024-04-02 19:30:34', 1399985191002447872, '2024-04-02 19:30:34', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1775123705886593024, 1775122632706805760, 'AllocationRelationType', 'CUSTOM', '自定义', b'1', 10.00, '', 1399985191002447872, '2024-04-02 19:30:46', 1399985191002447872, '2024-04-02 19:30:46', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700713809522688, 1777697358802530304, 'AllocationOrderStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-09 22:10:53', 1399985191002447872, '2024-04-09 22:10:53', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700750744563712, 1777697358802530304, 'AllocationOrderStatus', 'allocation_processing', '分账处理中', b'1', 2.00, '', 1399985191002447872, '2024-04-09 22:11:02', 1399985191002447872, '2024-04-16 17:14:53', 0, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700787453112320, 1777697358802530304, 'AllocationOrderStatus', 'allocation_end', '分账完成', b'1', 3.00, '', 1399985191002447872, '2024-04-09 22:11:10', 1399985191002447872, '2024-04-16 17:36:25', 0, 2); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700835826020352, 1777697358802530304, 'AllocationOrderStatus', 'allocation_failed', '分账失败', b'1', 4.00, '', 1399985191002447872, '2024-04-09 22:11:22', 1399985191002447872, '2024-04-16 17:16:34', 0, 2); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700870613577728, 1777697358802530304, 'AllocationOrderStatus', 'finish', '分账完结', b'1', 5.00, '', 1399985191002447872, '2024-04-09 22:11:30', 1399985191002447872, '2024-04-16 17:17:06', 0, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700915450687488, 1777697358802530304, 'AllocationStatus', 'partial_failed', '部分分账失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:41', 1399985191002447872, '2024-04-16 17:16:49', 1, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777700964087836672, 1777697358802530304, 'AllocationOrderStatus', 'finish_failed', '分账完结失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:53', 1399985191002447872, '2024-04-16 17:17:25', 0, 1); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777701030081015808, 1777697358802530304, 'AllocationStatus', 'closed', '分账关闭', b'1', 8.00, '', 1399985191002447872, '2024-04-09 22:12:08', 1399985191002447872, '2024-04-16 17:16:19', 1, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1777701090676125696, 1777697358802530304, 'AllocationStatus', 'unknown', '分账状态未知', b'1', 9.00, '', 1399985191002447872, '2024-04-09 22:12:23', 1399985191002447872, '2024-04-16 17:16:16', 1, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780164864510623744, 1780163691808391168, 'AllocationDetailResult', 'pending', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:22:32', 1399985191002447872, '2024-04-16 17:22:32', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780164903886749696, 1780163691808391168, 'AllocationDetailResult', 'success', '分账成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:22:42', 1399985191002447872, '2024-04-16 17:22:42', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780164940712738816, 1780163691808391168, 'AllocationDetailResult', 'fail', '分账失败', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:22:50', 1399985191002447872, '2024-04-16 17:22:50', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165545665593344, 1780165499633106944, 'AllocationOrderResult', 'all_pending', '全部成功', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:25:15', 1399985191002447872, '2024-04-16 17:25:15', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165581623361536, 1780165499633106944, 'AllocationOrderResult', 'all_success', '全部成功', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:25:23', 1399985191002447872, '2024-04-16 17:25:23', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165617413357568, 1780165499633106944, 'AllocationOrderResult', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:25:32', 1399985191002447872, '2024-04-16 17:25:32', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165653350154240, 1780165499633106944, 'AllocationOrderResult', 'all_failed', '全部失败', b'1', 3.00, '', 1399985191002447872, '2024-04-16 17:25:40', 1399985191002447872, '2024-04-16 17:25:40', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocationStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); - -INSERT INTO `base_dict_item`(`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocationStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); - -INSERT INTO `iam_perm_menu`(`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `admin`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1775089099078553600, 'dax-pay', NULL, '分账管理', 'Allocation', NULL, b'0', 'ant-design:sliders-twotone', b'0', b'0', 'Layout', NULL, '/pay/allocation', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:13:15', 1399985191002447872, '2024-04-02 17:13:15', 0, 0); - -INSERT INTO `iam_perm_menu`(`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `admin`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1775089820368818176, 'dax-pay', 1775089099078553600, '分账接收者', 'AllocationReceiverList', NULL, b'0', '', b'0', b'0', 'payment/allocation/receiver/AllocationReceiverList', NULL, '/pay/allocation/receiver', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:16:07', 1399985191002447872, '2024-04-02 17:23:13', 2, 0); - -INSERT INTO `iam_perm_menu`(`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `admin`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1775091561835450368, 'dax-pay', 1775089099078553600, '分账组', 'AllocationGroupList', NULL, b'0', '', b'0', b'0', 'payment/allocation/group/AllocationGroupList', NULL, '/pay/allocation/group', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:23:03', 1399985191002447872, '2024-04-02 17:23:27', 1, 0); - -INSERT INTO `iam_perm_menu`(`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `admin`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1777688382748700672, 'dax-pay', 1744642856348520448, '分账订单', 'AllocationOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/allocation/AllocationOrderList', NULL, '/pay/order/allocation', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-09 21:21:53', 1399985191002447872, '2024-04-09 21:21:53', 0, 0); - -UPDATE `iam_perm_menu` SET `client_code` = 'dax-pay', `parent_id` = 1744642856348520448, `title` = '对账订单', `name` = 'ReconcileOrderList', `perm_code` = NULL, `effect` = b'0', `icon` = '', `hidden` = b'0', `hide_children_in_menu` = b'0', `component` = 'payment/order/reconcile/order/ReconcileOrderList.vue', `component_name` = NULL, `path` = '/pay/order/reconcile/list', `redirect` = '', `sort_no` = 0, `menu_type` = 1, `leaf` = NULL, `keep_alive` = b'1', `target_outside` = b'0', `hidden_header_content` = b'0', `admin` = b'0', `remark` = NULL, `creator` = 1399985191002447872, `create_time` = '2024-01-22 10:47:39', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 19:11:56', `version` = 5, `deleted` = 0 WHERE `id` = 1749262518385082368; - -UPDATE `iam_perm_menu` SET `client_code` = 'dax-pay', `parent_id` = 1749262518385082368, `title` = '对账单', `name` = 'ReconcileOrderList', `perm_code` = NULL, `effect` = b'0', `icon` = '', `hidden` = b'0', `hide_children_in_menu` = b'0', `component` = 'payment/order/reconcile/order/ReconcileOrderList.vue', `component_name` = NULL, `path` = '/pay/order/reconcile/list', `redirect` = '', `sort_no` = 0, `menu_type` = 1, `leaf` = NULL, `keep_alive` = b'1', `target_outside` = b'0', `hidden_header_content` = b'0', `admin` = b'0', `remark` = NULL, `creator` = 1399985191002447872, `create_time` = '2024-03-04 21:05:43', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 19:12:02', `version` = 1, `deleted` = 1 WHERE `id` = 1764638353289027584; - -UPDATE `iam_perm_menu` SET `client_code` = 'dax-pay', `parent_id` = 1749262518385082368, `title` = '差异单', `name` = 'ReconcileDiffList', `perm_code` = NULL, `effect` = b'0', `icon` = '', `hidden` = b'1', `hide_children_in_menu` = b'0', `component` = 'payment/order/reconcile/diff/ReconcileDiffList.vue', `component_name` = NULL, `path` = '/pay/order/reconcile/diff', `redirect` = '', `sort_no` = 0, `menu_type` = 1, `leaf` = NULL, `keep_alive` = b'1', `target_outside` = b'0', `hidden_header_content` = b'0', `admin` = b'0', `remark` = NULL, `creator` = 1399985191002447872, `create_time` = '2024-03-04 21:07:01', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 19:12:06', `version` = 2, `deleted` = 1 WHERE `id` = 1764638678821543936; - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138432, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '对账订单控制器', b'1', b'1', '对账订单控制器 同步分账结果', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.850000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138433, 'AllocationGroupController#findReceiversByGroups', '查询分账接收方信息', 'GET', '/allocation/group/findReceiversByGroups', '分账组', b'1', b'1', '分账组 查询分账接收方信息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138434, 'AllocationGroupController#unbindReceiver', '取消绑定接收者', 'POST', '/allocation/group/unbindReceiver', '分账组', b'1', b'1', '分账组 取消绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138435, 'PayOrderController#allocation', '发起分账', 'POST', '/order/pay/allocation', '支付订单控制器', b'1', b'1', '支付订单控制器 发起分账', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138436, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '对账接收方控制器', b'1', b'1', '对账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.850000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138437, 'AllocationGroupController#unbindReceivers', '批量取消绑定接收者', 'POST', '/allocation/group/unbindReceivers', '分账组', b'1', b'1', '分账组 批量取消绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138438, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '对账订单控制器', b'1', b'1', '对账订单控制器 查询明细详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138439, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '对账订单控制器', b'1', b'1', '对账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138440, 'SystemMonitorController#getSystemInfo', '获取系统消息', 'GET', '/monitor/system/getSystemInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取系统消息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138441, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '对账接收方控制器', b'1', b'1', '对账接收方控制器 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.849000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138442, 'AllocationGroupController#clearDefault', '清除默认分账组', 'POST', '/allocation/group/clearDefault', '分账组', b'1', b'1', '分账组 清除默认分账组', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138443, 'AllocationGroupController#create', '创建', 'POST', '/allocation/group/create', '分账组', b'1', b'1', '分账组 创建', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138444, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '对账订单控制器', b'1', b'1', '对账订单控制器 分账完结', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138445, 'UniPayController#allocationFinish', '分账完结接口', 'POST', '/unipay/allocationFinish', '统一支付接口', b'1', b'1', '统一支付接口 分账完结接口', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138446, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '对账订单控制器', b'1', b'1', '对账订单控制器 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138447, 'SystemMonitorController#getRedisInfo', '获取Redis信息', 'GET', '/monitor/system/getRedisInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取Redis信息', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138448, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '对账接收方控制器', b'1', b'1', '对账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.848000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138449, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '对账接收方控制器', b'1', b'1', '对账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138450, 'AllocationGroupController#delete', '删除', 'POST', '/allocation/group/delete', '分账组', b'1', b'1', '分账组 删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138451, 'AllocationGroupController#update', '修改', 'POST', '/allocation/group/update', '分账组', b'1', b'1', '分账组 修改', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138452, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '对账接收方控制器', b'1', b'1', '对账接收方控制器 新增', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138453, 'AllocationGroupController#setDefault', '设置默认分账组', 'POST', '/allocation/group/setDefault', '分账组', b'1', b'1', '分账组 设置默认分账组', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138454, 'AllocationGroupController#findById', '查询详情', 'GET', '/allocation/group/findById', '分账组', b'1', b'1', '分账组 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138455, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '对账接收方控制器', b'1', b'1', '对账接收方控制器 修改', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.847000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138456, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '对账接收方控制器', b'1', b'1', '对账接收方控制器 删除', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138457, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '对账接收方控制器', b'1', b'1', '对账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138458, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '对账接收方控制器', b'1', b'1', '对账接收方控制器 查询详情', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138459, 'AllocationGroupController#page', '分页', 'GET', '/allocation/group/page', '分账组', b'1', b'1', '分账组 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138460, 'AllocationGroupController#bindReceivers', '批量绑定接收者', 'POST', '/allocation/group/bindReceivers', '分账组', b'1', b'1', '分账组 批量绑定接收者', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138461, 'AllocationGroupController#updateRate', '修改分账比例', 'POST', '/allocation/group/updateRate', '分账组', b'1', b'1', '分账组 修改分账比例', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138462, 'UniPayController#allocation', '开启分账接口', 'POST', '/unipay/allocation', '统一支付接口', b'1', b'1', '统一支付接口 开启分账接口', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-16 20:47:44.424000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138463, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '对账订单控制器', b'1', b'1', '对账订单控制器 分账明细列表', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.846000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138464, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '对账订单控制器', b'1', b'1', '对账订单控制器 分账重试', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.845000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780216505637138465, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '对账订单控制器', b'1', b'1', '对账订单控制器 分页', 1399985191002447872, '2024-04-16 20:47:44.424000', 1399985191002447872, '2024-04-17 10:09:40.839000', b'1', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780417658844966912, 'PayGatewayNoticeController#wechatPayNotice', '微信消息通知', 'POST', '/gateway/notice/wechat', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 微信消息通知', 1399985191002447872, '2024-04-17 10:07:03.086000', 1399985191002447872, '2024-04-17 10:07:03.086000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780417658844966913, 'PayGatewayNoticeController#aliPayNotice', '支付宝消息通知', 'POST', '/gateway/notice/alipay', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 支付宝消息通知', 1399985191002447872, '2024-04-17 10:07:03.086000', 1399985191002447872, '2024-04-17 10:07:03.086000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063232, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '分账接收方控制器', b'1', b'1', '分账接收方控制器 分页', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063233, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '分账订单控制器', b'1', b'1', '分账订单控制器 分账完结', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063234, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '分账接收方控制器', b'1', b'1', '分账接收方控制器 删除', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063235, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '分账接收方控制器', b'1', b'1', '分账接收方控制器 新增', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063236, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '分账接收方控制器', b'1', b'1', '分账接收方控制器 查询详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063237, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '分账订单控制器', b'1', b'1', '分账订单控制器 同步分账结果', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063238, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '分账接收方控制器', b'1', b'1', '分账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063239, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063240, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '分账订单控制器', b'1', b'1', '分账订单控制器 分页', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063241, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '分账订单控制器', b'1', b'1', '分账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063242, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '分账订单控制器', b'1', b'1', '分账订单控制器 分账明细列表', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063243, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063244, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '分账接收方控制器', b'1', b'1', '分账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063245, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063246, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询明细详情', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063247, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '分账接收方控制器', b'1', b'1', '分账接收方控制器 修改', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -INSERT INTO `iam_perm_path`(`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1780418342852063248, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '分账订单控制器', b'1', b'1', '分账订单控制器 分账重试', 1399985191002447872, '2024-04-17 10:09:46.166000', 1399985191002447872, '2024-04-17 10:09:46.166000', b'0', 0); - -UPDATE `iam_perm_path` SET `code` = 'TestController#wxcs', `name` = '微信回调测试', `request_type` = 'GET', `path` = '/test/wxcs/', `group_name` = '测试', `enable` = b'1', `generate` = b'1', `remark` = '测试 微信回调测试', `creator` = 1399985191002447872, `create_time` = '2024-02-13 14:55:54.138000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 20:47:44.531000', `deleted` = b'1', `version` = 0 WHERE `id` = 1757297527147974671; - -UPDATE `iam_perm_path` SET `code` = 'TestController#wxcs', `name` = '微信回调测试', `request_type` = 'GET', `path` = '/test/wxcs', `group_name` = '测试', `enable` = b'1', `generate` = b'1', `remark` = '测试 微信回调测试', `creator` = 1399985191002447872, `create_time` = '2024-02-13 14:55:54.138000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-16 20:47:44.526000', `deleted` = b'1', `version` = 0 WHERE `id` = 1757297527147974672; - -DELETE FROM `iam_role_menu` WHERE `id` = 1764945575888781312; - -DELETE FROM `iam_role_menu` WHERE `id` = 1764945575888781313; - -DELETE FROM `iam_role_menu` WHERE `id` = 1764945576350154752; - -DELETE FROM `iam_role_menu` WHERE `id` = 1764945576350154753; - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732268605440, 1757297023118462976, 'dax-pay', 1775089099078553600); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732268605441, 1757297023118462976, 'dax-pay', 1775089820368818176); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732268605442, 1757297023118462976, 'dax-pay', 1775091561835450368); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732268605443, 1757297023118462976, 'dax-pay', 1777688382748700672); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732574789632, 1757298887092326400, 'dax-pay', 1775089099078553600); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732574789633, 1757298887092326400, 'dax-pay', 1775089820368818176); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732574789634, 1757298887092326400, 'dax-pay', 1775091561835450368); - -INSERT INTO `iam_role_menu`(`id`, `role_id`, `client_code`, `permission_id`) VALUES (1780416732574789635, 1757298887092326400, 'dax-pay', 1777688382748700672); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855808, 1757297023118462976, 1780216505637138435); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855809, 1757297023118462976, 1780418342852063247); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855810, 1757297023118462976, 1780418342852063244); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855811, 1757297023118462976, 1780418342852063238); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855812, 1757297023118462976, 1780418342852063236); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855813, 1757297023118462976, 1780418342852063235); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855814, 1757297023118462976, 1780418342852063234); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855815, 1757297023118462976, 1780418342852063232); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855816, 1757297023118462976, 1780418342852063239); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855817, 1757297023118462976, 1780418342852063243); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855818, 1757297023118462976, 1780418342852063248); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855819, 1757297023118462976, 1780418342852063246); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855820, 1757297023118462976, 1780418342852063245); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855821, 1757297023118462976, 1780418342852063242); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855822, 1757297023118462976, 1780418342852063241); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855823, 1757297023118462976, 1780418342852063240); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855824, 1757297023118462976, 1780418342852063237); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836388855825, 1757297023118462976, 1780418342852063233); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177344, 1757298887092326400, 1780216505637138435); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177346, 1757298887092326400, 1780418342852063244); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177347, 1757298887092326400, 1780418342852063238); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177348, 1757298887092326400, 1780418342852063236); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177349, 1757298887092326400, 1780418342852063235); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177351, 1757298887092326400, 1780418342852063232); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177354, 1757298887092326400, 1780418342852063248); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177355, 1757298887092326400, 1780418342852063246); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177356, 1757298887092326400, 1780418342852063245); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177357, 1757298887092326400, 1780418342852063242); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177358, 1757298887092326400, 1780418342852063241); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177359, 1757298887092326400, 1780418342852063240); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177360, 1757298887092326400, 1780418342852063237); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780464836741177361, 1757298887092326400, 1780418342852063233); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395904, 1757297023118462976, 1780216505637138461); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395905, 1757297023118462976, 1780216505637138460); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395906, 1757297023118462976, 1780216505637138459); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395907, 1757297023118462976, 1780216505637138454); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395908, 1757297023118462976, 1780216505637138453); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395909, 1757297023118462976, 1780216505637138451); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395910, 1757297023118462976, 1780216505637138450); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395911, 1757297023118462976, 1780216505637138443); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395912, 1757297023118462976, 1780216505637138442); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395913, 1757297023118462976, 1780216505637138437); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395914, 1757297023118462976, 1780216505637138434); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020646395915, 1757297023118462976, 1780216505637138433); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020956774402, 1757298887092326400, 1780216505637138459); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020956774403, 1757298887092326400, 1780216505637138454); - -INSERT INTO `iam_role_path`(`id`, `role_id`, `permission_id`) VALUES (1780466020956774411, 1757298887092326400, 1780216505637138433); - -UPDATE `pay_alipay_config` SET `app_id` = '123456', `enable` = b'1', `notify_url` = 'ServerUrl/callback/pay/alipay', `return_url` = 'ServerUrl/return/pay/alipay', `server_url` = 'https://openapi.alipay.com/gateway.do', `auth_type` = 'key', `sign_type` = 'RSA2', `alipay_public_key` = 'ImfODRp7hnJ3DUk9fCes0Q==', `private_key` = 'ImfODRp7hnJ3DUk9fCes0Q==', `app_cert` = NULL, `alipay_cert` = NULL, `alipay_root_cert` = NULL, `sandbox` = b'0', `pay_ways` = 'wap,app,web,qrcode,barcode', `alipay_user_id` = NULL, `single_limit` = 2000, `allocation` = b'1', `remark` = '支付宝支付', `creator` = 0, `create_time` = '2024-01-02 21:17:58', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-02-13 15:43:51', `version` = 23, `deleted` = b'0' WHERE `id` = 0; - -UPDATE `pay_platform_config` SET `website_url` = 'http://127.0.0.1', `sign_type` = 'HMAC_SHA256', `sign_secret` = '123456', `notify_url` = 'http://127.0.0.1/h5/#/result/success', `return_url` = 'http://127.0.0.1/h5/#/result/success', `order_timeout` = 30, `creator` = 0, `create_time` = '2024-01-02 20:23:19', `last_modifier` = 1757299137932677120, `last_modified_time` = '2024-02-13 15:08:51', `version` = 3, `deleted` = b'0', `limit_amount` = NULL WHERE `id` = 0; - -UPDATE `pay_union_pay_config` SET `mach_id` = '123456', `enable` = b'1', `server_url` = 'https://qra.95516.com/pay/gateway', `notify_url` = 'ServerUrl/callback/pay/union', `pay_ways` = 'wap,app,web,qrcode,barcode,jsapi,b2b', `remark` = NULL, `seller` = NULL, `sign_type` = 'RSA2', `cert_sign` = b'0', `key_private_cert` = NULL, `key_private_cert_pwd` = NULL, `acp_middle_cert` = NULL, `acp_root_cert` = NULL, `sandbox` = b'1', `return_url` = 'ServerUrl/return/pay/union', `creator` = 0, `create_time` = '2024-03-06 22:56:22', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-03-12 23:30:18', `version` = 11, `deleted` = b'0', `single_limit` = 2000 WHERE `id` = 0; - -UPDATE `pay_wechat_pay_config` SET `wx_mch_id` = '123', `wx_app_id` = '123', `enable` = b'1', `notify_url` = 'ServerUrl/callback/pay/wechat', `return_url` = 'ServerUrl/pay/wechat', `api_version` = 'apiV2', `api_key_v2` = 'E0jIzPNngkpkZYL19H3vFQ==', `api_key_v3` = 'E0jIzPNngkpkZYL19H3vFQ==', `app_secret` = 'E0jIzPNngkpkZYL19H3vFQ==', `p12` = 'E0jIzPNngkpkZYL19H3vFQ==', `sandbox` = b'0', `pay_ways` = 'wap,app,jsapi,qrcode,barcode', `remark` = NULL, `creator` = 0, `create_time` = '2024-04-18 09:15:47', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-04-18 09:16:22', `version` = 2025, `deleted` = b'0', `single_limit` = 2000, `allocation` = b'1' WHERE `id` = 0; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/_config/mysql/2.0.5/2.0.5.update.table.sql b/_config/mysql/2.0.5/2.0.5.update.table.sql deleted file mode 100644 index 263f122844b03edfa90f2ca359e4d86aa71e6c1b..0000000000000000000000000000000000000000 --- a/_config/mysql/2.0.5/2.0.5.update.table.sql +++ /dev/null @@ -1,107 +0,0 @@ -SET FOREIGN_KEY_CHECKS=0; - -ALTER TABLE `pay_alipay_config` ADD COLUMN `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账' AFTER `single_limit`; - -ALTER TABLE `pay_alipay_config` MODIFY COLUMN `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID' AFTER `pay_ways`; - -ALTER TABLE `pay_alipay_config` MODIFY COLUMN `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额' AFTER `alipay_user_id`; - -CREATE TABLE `pay_allocation_group` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `total_rate` int(11) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', - `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; - -CREATE TABLE `pay_allocation_group_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `group_id` bigint(20) NULL DEFAULT NULL COMMENT '分账组ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; - -CREATE TABLE `pay_allocation_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账订单号', - `allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账单号', - `payment_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `gateway_pay_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关支付订单号', - `gateway_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关分账单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `amount` int(11) NULL DEFAULT NULL COMMENT '总分账金额', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账处理结果', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `allocation_no`(`allocation_no`) USING BTREE COMMENT '分账单号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; - -CREATE TABLE `pay_allocation_order_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_id` bigint(20) NULL DEFAULT NULL COMMENT '分账订单ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `amount` int(11) NULL DEFAULT NULL COMMENT '分账金额', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime(0) NULL DEFAULT NULL COMMENT '分账完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; - -CREATE TABLE `pay_allocation_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '账号别名', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `relation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账关系类型', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', - `sync` bit(1) NULL DEFAULT NULL COMMENT '是否已经同步到网关', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收方' ROW_FORMAT = DYNAMIC; - -ALTER TABLE `pay_order` ADD COLUMN `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否需要分账' AFTER `deleted`; - -ALTER TABLE `pay_order` ADD COLUMN `allocation_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态' AFTER `allocation`; - -ALTER TABLE `pay_wechat_pay_config` ADD COLUMN `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账' AFTER `single_limit`; - -SET FOREIGN_KEY_CHECKS=1; diff --git a/_config/mysql/2.0.6/2.0.6.dax-pay.backup.sql b/_config/mysql/2.0.6/2.0.6.dax-pay.backup.sql deleted file mode 100644 index 0a480bb96609121d14a9e1e0c27adf371fd91863..0000000000000000000000000000000000000000 --- a/_config/mysql/2.0.6/2.0.6.dax-pay.backup.sql +++ /dev/null @@ -1,3775 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server Type : MySQL - Source Server Version : 50743 (5.7.43-log) - - Target Server Type : MySQL - Target Server Version : 50743 (5.7.43-log) - File Encoding : 65001 - - Date: 13/05/2024 19:50:06 -*/ - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for base_area --- ---------------------------- -DROP TABLE IF EXISTS `base_area`; -CREATE TABLE `base_area` ( - `code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '区域名称', - `city_code` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '城市编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_city_code`(`city_code`) USING BTREE COMMENT '城市' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '县区表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_area --- ---------------------------- - --- ---------------------------- --- Table structure for base_china_word --- ---------------------------- -DROP TABLE IF EXISTS `base_china_word`; -CREATE TABLE `base_china_word` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `word` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '敏感词', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '分类', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '描述', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `white` bit(1) NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '敏感词' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_china_word --- ---------------------------- - --- ---------------------------- --- Table structure for base_city --- ---------------------------- -DROP TABLE IF EXISTS `base_city`; -CREATE TABLE `base_city` ( - `code` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '城市编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '城市名称', - `province_code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '省份编码', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '城市表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_city --- ---------------------------- - --- ---------------------------- --- Table structure for base_data_result_sql --- ---------------------------- -DROP TABLE IF EXISTS `base_data_result_sql`; -CREATE TABLE `base_data_result_sql` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `database_id` bigint(20) NULL DEFAULT NULL, - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `is_list` bit(1) NULL DEFAULT NULL, - `sql` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, - `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, - `fields` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '数据集SQL语句' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_data_result_sql --- ---------------------------- - --- ---------------------------- --- Table structure for base_dict --- ---------------------------- -DROP TABLE IF EXISTS `base_dict`; -CREATE TABLE `base_dict` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '编码', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `group_tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '分类标签', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dict --- ---------------------------- -INSERT INTO `base_dict` VALUES (1422929378374828033, 'Sex', '性别', b'1', '基础属性', '性别', 0, '2021-08-04 22:36:15', 1399985191002447872, '2022-05-11 19:48:40', 0, 6); -INSERT INTO `base_dict` VALUES (1425744045414772737, 'MenuType', '菜单类型', b'1', '系统属性', '菜单类型', 0, '2021-08-12 17:00:44', 1399985191002447872, '2022-05-11 19:48:44', 0, 4); -INSERT INTO `base_dict` VALUES (1430063572491411456, 'loginType', '字典类型', b'1', '基础属性', '字典类型', 1399985191002447872, '2021-08-24 15:05:00', 1399985191002447872, '2021-08-24 15:05:00', 1, 2); -INSERT INTO `base_dict` VALUES (1435829999592759296, 'UserStatusCode', '用户状态码', b'1', '系统属性', '用户状态码', 1399985191002447872, '2021-09-09 12:58:43', 1399985191002447872, '2022-05-11 19:48:56', 0, 2); -INSERT INTO `base_dict` VALUES (1435838066191458304, 'LogBusinessType', '业务操作类型', b'1', '系统属性', '操作日志记录的业务操作类型', 1399985191002447872, '2021-09-09 13:30:46', 1399985191002447872, '2022-05-11 19:49:00', 0, 2); -INSERT INTO `base_dict` VALUES (1438078864509317120, 'MailSecurityCode', '邮箱安全方式编码', b'1', '消息服务', '邮箱安全方式编码', 1399985191002447872, '2021-09-15 17:54:54', 1399985191002447872, '2022-05-11 19:49:06', 0, 2); -INSERT INTO `base_dict` VALUES (1439961232651034624, 'MessageTemplateCode', '消息模板类型', b'1', '消息服务', '消息模板类型', 1399985191002447872, '2021-09-20 22:34:46', 1399985191002447872, '2022-05-11 19:48:34', 0, 1); -INSERT INTO `base_dict` VALUES (1452836604783845376, 'SocialType', '三方系统类型', b'1', '系统属性', '三方系统类型', 1399985191002447872, '2021-10-26 11:16:54', 1399985191002447872, '2022-05-11 19:48:28', 0, 3); -INSERT INTO `base_dict` VALUES (1452843488735621120, 'ParamType', '参数类型', b'1', '系统属性', '参数类型', 1399985191002447872, '2021-10-26 11:44:15', 1399985191002447872, '2022-05-11 19:48:21', 0, 2); -INSERT INTO `base_dict` VALUES (1496024933900169216, 'Political', '政治面貌', b'1', '基础数据', '政治面貌', 1399985191002447872, '2022-02-22 15:31:54', 1399985191002447872, '2022-05-11 19:48:04', 0, 1); -INSERT INTO `base_dict` VALUES (1556996322223968256, 'WeChatMediaType', '微信媒体类型', b'1', '微信', '微信媒体类型', 1399985191002447872, '2022-08-09 21:30:25', 1399985191002447872, '2022-08-09 21:30:26', 0, 0); -INSERT INTO `base_dict` VALUES (1561003021674987520, 'SiteMessageReceive', '消息接收类型', b'1', '站内信', '站内信接收类型', 1399985191002447872, '2022-08-20 22:51:37', 1399985191002447872, '2022-08-20 22:51:37', 0, 0); -INSERT INTO `base_dict` VALUES (1561003189111603200, 'SiteMessageState', '消息发布状态', b'1', '站内信', '站内信消息发布状态', 1399985191002447872, '2022-08-20 22:52:17', 1399985191002447872, '2022-08-20 22:52:17', 0, 0); -INSERT INTO `base_dict` VALUES (1589527951317389312, 'DataScopePerm', '数据权限类型', b'1', '系统属性', '数据权限类型', 1414143554414059520, '2022-11-07 15:59:30', 1399985191002447872, '2023-11-28 23:14:24', 0, 4); -INSERT INTO `base_dict` VALUES (1633393287952257024, 'DatabaseType', '数据库类型', b'1', '开发', '数据库类型', 1414143554414059520, '2023-03-08 17:04:41', 1414143554414059520, '2023-03-08 17:04:41', 0, 0); -INSERT INTO `base_dict` VALUES (1688742690398617600, 'SmsChannel', '短信渠道商', b'1', '消息服务', '短信渠道商', 1414143554414059520, '2023-08-08 10:43:27', 1414143554414059520, '2023-08-12 20:24:03', 0, 1); -INSERT INTO `base_dict` VALUES (1690338321769918464, 'GeneralTemplateUseType', '通用模板类型', b'1', '系统属性', '通用模板类型', 1414143554414059520, '2023-08-12 20:23:56', 1414143554414059520, '2023-08-12 20:24:22', 0, 1); -INSERT INTO `base_dict` VALUES (1690338545284378624, 'GeneralTemplateState', '通用模板状态', b'1', '系统属性', '通用模板状态', 1414143554414059520, '2023-08-12 20:24:49', 1414143554414059520, '2023-08-12 20:24:49', 0, 0); -INSERT INTO `base_dict` VALUES (1744996611615039488, 'AsyncPayChannel', '异步支付通道', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:16:27', 1399985191002447872, '2024-01-10 16:16:27', 0, 0); -INSERT INTO `base_dict` VALUES (1744996845355212800, 'PayChannel', '支付通道', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:17:23', 1399985191002447872, '2024-01-10 16:17:23', 0, 0); -INSERT INTO `base_dict` VALUES (1744996913667842048, 'PayStatus', '支付状态', b'1', '支付', '', 1399985191002447872, '2024-01-10 16:17:39', 1399985191002447872, '2024-01-10 16:17:39', 0, 0); -INSERT INTO `base_dict` VALUES (1745086859116224512, 'PayMethod', '支付方式', b'1', '支付', '', 1399985191002447872, '2024-01-10 22:15:04', 1399985191002447872, '2024-05-02 12:38:01', 0, 1); -INSERT INTO `base_dict` VALUES (1745109350333173760, 'PayCallbackStatus', '支付回调处理状态', b'1', '支付', '', 1399985191002447872, '2024-01-10 23:44:26', 1399985191002447872, '2024-01-10 23:44:26', 0, 0); -INSERT INTO `base_dict` VALUES (1745128986382667776, 'PayRepairSource', '支付修复来源', b'1', '支付', '', 1399985191002447872, '2024-01-11 01:02:28', 1399985191002447872, '2024-01-11 01:02:28', 0, 0); -INSERT INTO `base_dict` VALUES (1745134438772346880, 'PayRepairWay', '支付修复方式', b'1', '支付', '', 1399985191002447872, '2024-01-11 01:24:08', 1399985191002447872, '2024-01-11 01:24:08', 0, 0); -INSERT INTO `base_dict` VALUES (1745748188122554368, 'RefundStatus', '退款状态', b'1', '支付', '', 1399985191002447872, '2024-01-12 18:02:57', 1399985191002447872, '2024-02-09 21:22:52', 0, 1); -INSERT INTO `base_dict` VALUES (1746208645341917184, 'PaySyncStatus', '支付同步结果', b'1', '支付', '', 1399985191002447872, '2024-01-14 00:32:39', 1399985191002447872, '2024-01-14 00:32:39', 0, 0); -INSERT INTO `base_dict` VALUES (1749612665392541696, 'ReconcileTrade', '支付对账交易类型', b'1', '支付', '', 1399985191002447872, '2024-01-23 09:59:00', 1399985191002447872, '2024-03-01 23:31:32', 0, 1); -INSERT INTO `base_dict` VALUES (1751603996496453632, 'PaymentType', '支付系统行为类型', b'1', '支付', '支付系统中常见的操作类型, 如支付/退款/转账等', 1399985191002447872, '2024-01-28 21:51:51', 1399985191002447872, '2024-01-28 21:51:51', 0, 0); -INSERT INTO `base_dict` VALUES (1751613032260370432, 'PayCallbackType', '回调类型', b'1', '支付', '', 1399985191002447872, '2024-01-28 22:27:45', 1399985191002447872, '2024-01-28 22:27:45', 0, 0); -INSERT INTO `base_dict` VALUES (1752560153120428032, 'RefundSyncStatus', '退款同步状态', b'1', '支付', '', 1399985191002447872, '2024-01-31 13:11:16', 1399985191002447872, '2024-01-31 13:11:16', 0, 0); -INSERT INTO `base_dict` VALUES (1753047382185091072, 'RefundRepairWay', '退款修复方式', b'1', '支付', '', 1399985191002447872, '2024-02-01 21:27:21', 1399985191002447872, '2024-02-01 21:27:21', 0, 0); -INSERT INTO `base_dict` VALUES (1758881354618220544, 'WalletStatus', '钱包状态', b'1', '支付', '', 1399985191002447872, '2024-02-17 23:49:28', 1399985191002447872, '2024-02-17 23:49:28', 0, 0); -INSERT INTO `base_dict` VALUES (1759189874194481152, 'VoucherStatus', '储值卡状态', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:15:25', 1399985191002447872, '2024-02-18 20:15:25', 0, 0); -INSERT INTO `base_dict` VALUES (1759190066511708160, 'WalletRecordType', '钱包记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:16:11', 1399985191002447872, '2024-02-18 20:16:11', 0, 0); -INSERT INTO `base_dict` VALUES (1759190427897135104, 'VoucherRecordType', '储值卡记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:17:37', 1399985191002447872, '2024-02-18 20:17:37', 0, 0); -INSERT INTO `base_dict` VALUES (1759190780252225536, 'CashRecordType', '现金记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-18 20:19:01', 1399985191002447872, '2024-02-19 22:07:09', 0, 1); -INSERT INTO `base_dict` VALUES (1761434095349624832, 'ClientNoticeType', '客户消息通知类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 00:53:09', 1399985191002447872, '2024-02-25 00:53:09', 0, 0); -INSERT INTO `base_dict` VALUES (1761434264858226688, 'ClientNoticeSendType', '客户消息通知发送类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 00:53:49', 1399985191002447872, '2024-02-25 00:53:49', 0, 0); -INSERT INTO `base_dict` VALUES (1761581634023583744, 'AlipayRecordType', '支付宝流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 10:39:25', 1399985191002447872, '2024-02-25 10:39:25', 0, 0); -INSERT INTO `base_dict` VALUES (1761588314480300032, 'WechatPayRecordType', '微信支付流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-02-25 11:05:58', 1399985191002447872, '2024-02-25 11:05:58', 0, 0); -INSERT INTO `base_dict` VALUES (1763588034467713024, 'ReconcileDiffType', '对账差异类型', b'1', '支付', '', 1399985191002447872, '2024-03-01 23:32:08', 1399985191002447872, '2024-03-01 23:32:08', 0, 0); -INSERT INTO `base_dict` VALUES (1766713545981153280, 'UnionPaySignType', '云闪付签名类型', b'1', '支付', '', 1399985191002447872, '2024-03-10 14:31:48', 1399985191002447872, '2024-03-10 14:31:48', 0, 0); -INSERT INTO `base_dict` VALUES (1768206399071809536, 'UnionPayRecordType', '云闪付流水类型', b'1', '支付', '', 1399985191002447872, '2024-03-14 17:23:52', 1399985191002447872, '2024-03-14 17:23:52', 0, 0); -INSERT INTO `base_dict` VALUES (1775112798259302400, 'AllocReceiverType', '分账接收方类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 18:47:26', 1399985191002447872, '2024-05-14 16:40:14', 0, 1); -INSERT INTO `base_dict` VALUES (1775122632706805760, 'AllocRelationType', '分账关系类型', b'1', '支付', '', 1399985191002447872, '2024-04-02 19:26:30', 1399985191002447872, '2024-05-14 16:40:09', 0, 1); -INSERT INTO `base_dict` VALUES (1777697358802530304, 'AllocOrderStatus', '分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-09 21:57:33', 1399985191002447872, '2024-05-14 16:40:04', 0, 2); -INSERT INTO `base_dict` VALUES (1780163691808391168, 'AllocDetailResult', '支付分账明细处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:17:53', 1399985191002447872, '2024-05-14 16:39:57', 0, 3); -INSERT INTO `base_dict` VALUES (1780165499633106944, 'AllocOrderResult', '支付分账订单处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:25:04', 1399985191002447872, '2024-05-14 16:39:36', 0, 1); -INSERT INTO `base_dict` VALUES (1780165929528295424, 'PayOrderAllocationStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-04-16 17:26:46', 0, 0); -INSERT INTO `base_dict` VALUES (1786399552686465024, 'ReconcileResult', '对账结果', b'1', '支付', '', 1399985191002447872, '2024-05-03 22:16:58', 1399985191002447872, '2024-05-03 22:16:58', 0, 0); - --- ---------------------------- --- Table structure for base_dict_item --- ---------------------------- -DROP TABLE IF EXISTS `base_dict_item`; -CREATE TABLE `base_dict_item` ( - `id` bigint(20) NOT NULL, - `dict_id` bigint(20) NOT NULL COMMENT '字典id', - `dict_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典code', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典项code', - `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字典项名称', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `sort_no` double(8, 2) NOT NULL COMMENT '排序', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_dictionary_id`(`dict_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典项' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dict_item --- ---------------------------- - -INSERT INTO `base_dict_item` VALUES (1422931375807242241, 1422929378374828033, 'Sex', '1', '男', b'1', 0.00, '男性', 0, '2021-08-04 22:44:11', 0, '2021-08-04 22:44:11', 0, 2); -INSERT INTO `base_dict_item` VALUES (1425729455402401794, 1422929378374828033, 'Sex', '2', '女', b'1', 0.00, '女性', 0, '2021-08-12 16:02:46', 0, '2021-08-12 16:02:46', 0, 1); -INSERT INTO `base_dict_item` VALUES (1425744258544136194, 1425744045414772737, 'MenuType', '0', '顶级菜单', b'1', 0.00, '顶级菜单', 0, '2021-08-12 17:01:35', 0, '2021-08-12 17:01:35', 0, 0); -INSERT INTO `base_dict_item` VALUES (1425744436592340993, 1425744045414772737, 'MenuType', '1', '子菜单', b'1', 0.00, '子菜单', 0, '2021-08-12 17:02:17', 0, '2021-08-12 17:02:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1425744470582980610, 1425744045414772737, 'MenuType', '2', '按钮权限', b'1', 0.00, '按钮权限', 0, '2021-08-12 17:02:26', 0, '2021-08-12 17:02:26', 0, 0); -INSERT INTO `base_dict_item` VALUES (1430094707250413568, 1422929378374828033, 'Sex', '0', '未知', b'1', 0.00, '不确定性别', 1399985191002447872, '2021-08-24 17:08:43', 1399985191002447872, '2021-08-24 17:08:43', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435830086406463488, 1435829999592759296, 'UserStatusCode', 'normal', '正常', b'1', 0.00, 'NORMAL', 1399985191002447872, '2021-09-09 12:59:04', 1399985191002447872, '2023-11-25 15:32:04', 0, 1); -INSERT INTO `base_dict_item` VALUES (1435830141855162368, 1435829999592759296, 'UserStatusCode', 'lock', '锁定', b'1', 0.00, 'LOCK, 多次登录失败被锁定', 1399985191002447872, '2021-09-09 12:59:17', 1399985191002447872, '2023-11-25 15:32:14', 0, 2); -INSERT INTO `base_dict_item` VALUES (1435830260503633920, 1435829999592759296, 'UserStatusCode', 'ban', '封禁', b'1', 0.00, 'BAN', 1399985191002447872, '2021-09-09 12:59:45', 1399985191002447872, '2023-11-25 15:32:20', 0, 1); -INSERT INTO `base_dict_item` VALUES (1435838374749626368, 1435838066191458304, 'LogBusinessType', 'other', '其它', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:00', 1399985191002447872, '2021-09-09 13:32:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838414436130816, 1435838066191458304, 'LogBusinessType', 'insert', '新增', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:09', 1399985191002447872, '2021-09-09 13:32:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838467624099840, 1435838066191458304, 'LogBusinessType', 'update', '修改', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:22', 1399985191002447872, '2021-09-09 13:32:22', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838502755590144, 1435838066191458304, 'LogBusinessType', 'delete', '删除', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:30', 1399985191002447872, '2021-09-09 13:32:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838546934194176, 1435838066191458304, 'LogBusinessType', 'grant', '授权', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:41', 1399985191002447872, '2021-09-09 13:32:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838605537009664, 1435838066191458304, 'LogBusinessType', 'export', '导出', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:32:55', 1399985191002447872, '2021-09-09 13:32:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838705457913856, 1435838066191458304, 'LogBusinessType', 'import', '导入', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:19', 1399985191002447872, '2021-09-09 13:33:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838745861644288, 1435838066191458304, 'LogBusinessType', 'force', '强退', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:28', 1399985191002447872, '2021-09-09 13:33:28', 0, 0); -INSERT INTO `base_dict_item` VALUES (1435838786273763328, 1435838066191458304, 'LogBusinessType', 'clean', '清空数据', b'1', 0.00, '', 1399985191002447872, '2021-09-09 13:33:38', 1399985191002447872, '2021-09-09 13:33:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438079113630003200, 1438078864509317120, 'MailSecurityCode', '1', '普通方式', b'1', 0.00, 'SECURITY_TYPE_PLAIN', 1399985191002447872, '2021-09-15 17:55:54', 1399985191002447872, '2021-09-15 17:55:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438080323061755904, 1438078864509317120, 'MailSecurityCode', '2', 'TLS方式', b'1', 0.00, 'SECURITY_TYPE_TLS', 1399985191002447872, '2021-09-15 18:00:42', 1399985191002447872, '2021-09-15 18:00:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1438080372231581696, 1438078864509317120, 'MailSecurityCode', '3', 'SSL方式', b'1', 0.00, 'SECURITY_TYPE_SSL', 1399985191002447872, '2021-09-15 18:00:54', 1399985191002447872, '2021-09-15 18:00:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439961603914047488, 1439961232651034624, 'MessageTemplateCode', '5', '微信', b'1', -10.00, 'WECHAT', 1399985191002447872, '2021-09-20 22:36:14', 1399985191002447872, '2021-09-20 22:36:14', 0, 1); -INSERT INTO `base_dict_item` VALUES (1439961704321490944, 1439961232651034624, 'MessageTemplateCode', '4', 'Email', b'1', 0.00, 'EMAIL', 1399985191002447872, '2021-09-20 22:36:38', 1399985191002447872, '2021-09-20 22:36:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962132744478720, 1439961232651034624, 'MessageTemplateCode', '3', '短信', b'1', 0.00, 'SMS', 1399985191002447872, '2021-09-20 22:38:20', 1399985191002447872, '2021-09-20 22:38:20', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962205578567680, 1439961232651034624, 'MessageTemplateCode', '2', '钉钉机器人', b'1', 0.00, 'DING_TALK_ROBOT', 1399985191002447872, '2021-09-20 22:38:38', 1399985191002447872, '2021-09-20 22:38:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1439962267511660544, 1439961232651034624, 'MessageTemplateCode', '1', '钉钉', b'1', 0.00, 'DING_TALK', 1399985191002447872, '2021-09-20 22:38:52', 1399985191002447872, '2021-09-20 22:38:52', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452836696873984000, 1452836604783845376, 'SocialType', 'WeChat', '微信', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:17:16', 1399985191002447872, '2021-10-26 11:17:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452837435482529792, 1452836604783845376, 'SocialType', 'QQ', 'QQ', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:20:12', 1399985191002447872, '2021-10-26 11:20:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452837523030237184, 1452836604783845376, 'SocialType', 'DingTalk', '钉钉', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:20:33', 1399985191002447872, '2021-10-26 11:20:33', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452844537911406592, 1452843488735621120, 'ParamType', '1', '系统参数', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:48:25', 1399985191002447872, '2021-10-26 11:48:25', 0, 0); -INSERT INTO `base_dict_item` VALUES (1452844565031776256, 1452843488735621120, 'ParamType', '2', '用户参数', b'1', 0.00, '', 1399985191002447872, '2021-10-26 11:48:32', 1399985191002447872, '2021-10-26 11:48:32', 0, 2); -INSERT INTO `base_dict_item` VALUES (1496026946344005632, 1496024933900169216, 'Political', '1', '中共党员', b'1', 1.00, '', 1399985191002447872, '2022-02-22 15:39:54', 1399985191002447872, '2022-02-22 15:39:54', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027004560945152, 1496024933900169216, 'Political', '2', '中共预备党员', b'1', 2.00, '', 1399985191002447872, '2022-02-22 15:40:07', 1399985191002447872, '2022-02-22 15:40:07', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027039264616448, 1496024933900169216, 'Political', '3', '共青团员', b'1', 3.00, '', 1399985191002447872, '2022-02-22 15:40:16', 1399985191002447872, '2022-02-22 15:40:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027077550223360, 1496024933900169216, 'Political', '4', '民革党员', b'1', 4.00, '', 1399985191002447872, '2022-02-22 15:40:25', 1399985191002447872, '2022-02-22 15:40:25', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027123461074944, 1496024933900169216, 'Political', '5', '民盟盟员', b'1', 5.00, '', 1399985191002447872, '2022-02-22 15:40:36', 1399985191002447872, '2022-02-22 15:40:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027197566038016, 1496024933900169216, 'Political', '6', '民建会员', b'1', 6.00, '', 1399985191002447872, '2022-02-22 15:40:53', 1399985191002447872, '2022-02-22 15:40:53', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027234803068928, 1496024933900169216, 'Political', '7', '民进会员', b'1', 7.00, '', 1399985191002447872, '2022-02-22 15:41:02', 1399985191002447872, '2022-02-22 15:41:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027272941875200, 1496024933900169216, 'Political', '8', '农工党党员', b'1', 8.00, '', 1399985191002447872, '2022-02-22 15:41:11', 1399985191002447872, '2022-02-22 15:41:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027306634719232, 1496024933900169216, 'Political', '9', '致公党党员', b'1', 9.00, '', 1399985191002447872, '2022-02-22 15:41:19', 1399985191002447872, '2022-02-22 15:41:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027369796743168, 1496024933900169216, 'Political', '10', '九三学社社员', b'1', 10.00, '', 1399985191002447872, '2022-02-22 15:41:34', 1399985191002447872, '2022-02-22 15:41:35', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027408141070336, 1496024933900169216, 'Political', '11', '台盟盟员', b'1', 11.00, '', 1399985191002447872, '2022-02-22 15:41:44', 1399985191002447872, '2022-02-22 15:41:44', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027456849522688, 1496024933900169216, 'Political', '12', '无党派人士', b'1', 12.00, '', 1399985191002447872, '2022-02-22 15:41:55', 1399985191002447872, '2022-02-22 15:41:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1496027516639326208, 1496024933900169216, 'Political', '13', '群众', b'1', 13.00, '', 1399985191002447872, '2022-02-22 15:42:09', 1399985191002447872, '2022-02-22 15:42:10', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003368762032128, 1561003021674987520, 'SiteMessageReceive', 'user', '指定用户', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:00', 1399985191002447872, '2022-08-20 22:53:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003399778910208, 1561003021674987520, 'SiteMessageReceive', 'all', '全部用户', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:07', 1399985191002447872, '2022-08-20 22:53:24', 0, 1); -INSERT INTO `base_dict_item` VALUES (1561003539772194816, 1561003189111603200, 'SiteMessageState', 'sent', '已发送', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:41', 1399985191002447872, '2022-08-20 22:53:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561003575608328192, 1561003189111603200, 'SiteMessageState', 'cancel', '撤销', b'1', 0.00, '', 1399985191002447872, '2022-08-20 22:53:49', 1399985191002447872, '2022-08-20 22:53:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1561245469535080448, 1561003189111603200, 'SiteMessageState', 'draft', '草稿', b'1', 0.00, '', 1399985191002447872, '2022-08-21 14:55:01', 1399985191002447872, '2022-08-21 14:55:01', 0, 0); -INSERT INTO `base_dict_item` VALUES (1573665422392098816, 1439961232651034624, 'MessageTemplateCode', '0', '站内信', b'1', -11.00, 'SITE', 1399985191002447872, '2022-09-24 21:27:29', 1399985191002447872, '2022-09-24 21:27:39', 0, 1); -INSERT INTO `base_dict_item` VALUES (1589528254477488128, 1589527951317389312, 'DataScopePerm', 'self_dept_sub', '所在及下级部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:43', 1399985191002447872, '2023-11-28 23:16:02', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528283539820544, 1589527951317389312, 'DataScopePerm', 'self_dept', '所在部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:49', 1399985191002447872, '2023-11-28 23:15:52', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528315672383488, 1589527951317389312, 'DataScopePerm', 'all', '全部数据', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:00:57', 1399985191002447872, '2023-11-25 22:51:28', 0, 1); -INSERT INTO `base_dict_item` VALUES (1589528340267782144, 1589527951317389312, 'DataScopePerm', 'dept_and_user', '自定义部门和用户', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:03', 1399985191002447872, '2023-11-29 15:25:01', 0, 3); -INSERT INTO `base_dict_item` VALUES (1589528367228768256, 1589527951317389312, 'DataScopePerm', 'dept', '自定义部门', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:09', 1399985191002447872, '2023-11-29 15:24:47', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528393292173312, 1589527951317389312, 'DataScopePerm', 'user', '指定用户', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:16', 1399985191002447872, '2023-11-29 15:25:16', 0, 2); -INSERT INTO `base_dict_item` VALUES (1589528423956729856, 1589527951317389312, 'DataScopePerm', 'self', '自身数据', b'1', 0.00, '', 1414143554414059520, '2022-11-07 16:01:23', 1399985191002447872, '2023-11-25 22:50:41', 0, 1); -INSERT INTO `base_dict_item` VALUES (1633403429028536320, 1633393287952257024, 'DatabaseType', 'mysql', 'MySQL', b'1', 1.00, '', 1414143554414059520, '2023-03-08 17:44:59', 1414143554414059520, '2023-03-08 17:44:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1633403459470794752, 1633393287952257024, 'DatabaseType', 'oracle', 'Oracle', b'1', 2.00, '', 1414143554414059520, '2023-03-08 17:45:07', 1414143554414059520, '2023-03-08 17:45:07', 0, 0); -INSERT INTO `base_dict_item` VALUES (1633403498695925760, 1633393287952257024, 'DatabaseType', 'mssql', 'SQLServer', b'1', 3.00, '', 1414143554414059520, '2023-03-08 17:45:16', 1414143554414059520, '2023-03-08 17:45:16', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742732891111424, 1688742690398617600, 'SmsChannel', 'alibaba', '阿里云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:38', 1414143554414059520, '2023-08-08 10:43:38', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742768479780864, 1688742690398617600, 'SmsChannel', 'huawei', '华为云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:46', 1414143554414059520, '2023-08-08 10:43:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742808027873280, 1688742690398617600, 'SmsChannel', 'yunpian', '云片', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:43:55', 1414143554414059520, '2023-08-08 10:43:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742840626003968, 1688742690398617600, 'SmsChannel', 'tencent', '腾讯云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:03', 1414143554414059520, '2023-08-08 10:44:03', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742872506908672, 1688742690398617600, 'SmsChannel', 'uni_sms', '合一短信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:11', 1414143554414059520, '2023-08-08 10:44:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742905553829888, 1688742690398617600, 'SmsChannel', 'jd_cloud', '京东云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:19', 1414143554414059520, '2023-08-08 10:44:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742954715267072, 1688742690398617600, 'SmsChannel', 'cloopen', '容联云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:30', 1414143554414059520, '2023-08-08 10:44:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688742990446542848, 1688742690398617600, 'SmsChannel', 'emay', '亿美软通', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:39', 1414143554414059520, '2023-08-08 10:44:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743032297308160, 1688742690398617600, 'SmsChannel', 'ctyun', '天翼云', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:49', 1414143554414059520, '2023-08-08 10:44:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1688743065205817344, 1688742690398617600, 'SmsChannel', 'netease', '网易云信', b'1', 0.00, '', 1414143554414059520, '2023-08-08 10:44:57', 1414143554414059520, '2023-08-08 10:44:57', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338619024437248, 1690338321769918464, 'GeneralTemplateUseType', 'import', '导入', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:06', 1414143554414059520, '2023-08-12 20:25:06', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338653442895872, 1690338321769918464, 'GeneralTemplateUseType', 'export', '导出', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:15', 1414143554414059520, '2023-08-12 20:25:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338707129987072, 1690338545284378624, 'GeneralTemplateState', 'enable', '启用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:27', 1414143554414059520, '2023-08-12 20:25:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1690338748032839680, 1690338545284378624, 'GeneralTemplateState', 'disable', '停用', b'1', 0.00, '', 1414143554414059520, '2023-08-12 20:25:37', 1414143554414059520, '2023-08-12 20:25:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1729519341702086656, 1589527951317389312, 'DataScopePerm', 'dept_sub', '指定部门及下级部门', b'1', 0.00, '', 1399985191002447872, '2023-11-28 23:15:19', 1399985191002447872, '2023-11-28 23:15:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997130102317056, 1744996845355212800, 'PayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 16:18:31', 1399985191002447872, '2024-01-10 16:18:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997169239367680, 1744996845355212800, 'PayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:18:40', 1399985191002447872, '2024-01-10 16:18:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997213623492608, 1744996845355212800, 'PayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:18:51', 1399985191002447872, '2024-01-10 16:18:51', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997258951335936, 1744996845355212800, 'PayChannel', 'cash_pay', '现金支付', b'1', 4.00, '', 1399985191002447872, '2024-01-10 16:19:02', 1399985191002447872, '2024-05-02 12:39:33', 1, 0); -INSERT INTO `base_dict_item` VALUES (1744997315557662720, 1744996845355212800, 'PayChannel', 'wallet_pay', '钱包支付', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:19:15', 1399985191002447872, '2024-01-10 16:19:15', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997364404527104, 1744996845355212800, 'PayChannel', 'voucher_pay', '储值卡支付', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:19:27', 1399985191002447872, '2024-05-02 12:39:29', 1, 0); -INSERT INTO `base_dict_item` VALUES (1744997501033979904, 1744996913667842048, 'PayStatus', 'progress', '支付中', b'1', 1.00, '', 1399985191002447872, '2024-01-10 16:19:59', 1399985191002447872, '2024-01-10 16:19:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997541811003392, 1744996913667842048, 'PayStatus', 'success', '成功', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:20:09', 1399985191002447872, '2024-01-10 16:20:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997578863484928, 1744996913667842048, 'PayStatus', 'close', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:20:18', 1399985191002447872, '2024-01-10 16:20:18', 0, 0); -INSERT INTO `base_dict_item` VALUES (1744997619665674240, 1744996913667842048, 'PayStatus', 'fail', '失败', b'1', 7.00, '', 1399985191002447872, '2024-01-10 16:20:28', 1399985191002447872, '2024-01-27 00:52:05', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997658735616000, 1744996913667842048, 'PayStatus', 'partial_refund', '部分退款', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:20:37', 1399985191002447872, '2024-01-10 16:20:44', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997746321072128, 1744996913667842048, 'PayStatus', 'refunded', '全部退款', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:20:58', 1399985191002447872, '2024-01-10 16:20:58', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745085949967278080, 1744996611615039488, 'AsyncPayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:11:27', 1399985191002447872, '2024-01-10 22:11:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745085991767711744, 1744996611615039488, 'AsyncPayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:11:37', 1399985191002447872, '2024-01-10 22:11:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745086048852189184, 1744996611615039488, 'AsyncPayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:11:51', 1399985191002447872, '2024-01-11 00:13:03', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745086902929924096, 1745086859116224512, 'PayMethod', 'normal', '常规支付', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:15:14', 1399985191002447872, '2024-01-10 22:15:26', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745086940036931584, 1745086859116224512, 'PayMethod', 'wap', 'wap支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:15:23', 1399985191002447872, '2024-01-10 22:15:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087004062982144, 1745086859116224512, 'PayMethod', 'app', '应用支付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:15:39', 1399985191002447872, '2024-01-10 22:15:39', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087058194669568, 1745086859116224512, 'PayMethod', 'web', 'web支付', b'1', 4.00, '', 1399985191002447872, '2024-01-10 22:15:51', 1399985191002447872, '2024-01-10 22:15:51', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087104050995200, 1745086859116224512, 'PayMethod', 'qrcode', '扫码支付', b'1', 5.00, '', 1399985191002447872, '2024-01-10 22:16:02', 1399985191002447872, '2024-01-10 22:16:02', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087163324899328, 1745086859116224512, 'PayMethod', 'barcode', '付款码', b'1', 6.00, '', 1399985191002447872, '2024-01-10 22:16:17', 1399985191002447872, '2024-01-10 22:16:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745087221629919232, 1745086859116224512, 'PayMethod', 'jsapi', '公众号/小程序支付', b'1', 7.00, '', 1399985191002447872, '2024-01-10 22:16:30', 1399985191002447872, '2024-01-10 22:16:37', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745109413893656576, 1745109350333173760, 'PayCallbackStatus', 'success', '成功', b'1', 1.00, '', 1399985191002447872, '2024-01-10 23:44:41', 1399985191002447872, '2024-01-10 23:44:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109449050312704, 1745109350333173760, 'PayCallbackStatus', 'fail', '失败', b'1', 2.00, '', 1399985191002447872, '2024-01-10 23:44:50', 1399985191002447872, '2024-01-10 23:44:50', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109487289782272, 1745109350333173760, 'PayCallbackStatus', 'ignore', '忽略', b'1', 3.00, '', 1399985191002447872, '2024-01-10 23:44:59', 1399985191002447872, '2024-01-10 23:44:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745109526477164544, 1745109350333173760, 'PayCallbackStatus', 'exception', '异常', b'1', 4.00, '', 1399985191002447872, '2024-01-10 23:45:08', 1399985191002447872, '2024-02-01 22:14:52', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745109571771453440, 1745109350333173760, 'PayCallbackStatus', 'not_found', '未找到', b'1', 5.00, '', 1399985191002447872, '2024-01-10 23:45:19', 1399985191002447872, '2024-01-10 23:45:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745129035573465088, 1745128986382667776, 'PayRepairSource', 'sync', '同步', b'1', 1.00, '', 1399985191002447872, '2024-01-11 01:02:40', 1399985191002447872, '2024-01-11 01:02:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745133530906857472, 1745128986382667776, 'PayRepairSource', 'callback', '回调', b'1', 2.00, '', 1399985191002447872, '2024-01-11 01:20:31', 1399985191002447872, '2024-01-11 01:20:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745133583939637248, 1745128986382667776, 'PayRepairSource', 'reconcile', '对账', b'1', 3.00, '', 1399985191002447872, '2024-01-11 01:20:44', 1399985191002447872, '2024-01-11 01:20:44', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745134495319953408, 1745134438772346880, 'PayRepairWay', 'pay_success', '支付成功', b'1', 1.00, '', 1399985191002447872, '2024-01-11 01:24:21', 1399985191002447872, '2024-02-01 21:29:32', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134589926674432, 1745134438772346880, 'PayRepairWay', 'pay_close_local', '关闭本地支付', b'1', 2.00, '', 1399985191002447872, '2024-01-11 01:24:44', 1399985191002447872, '2024-02-01 21:29:36', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134628447162368, 1745134438772346880, 'PayRepairWay', 'pay_progress', '更改为支付中', b'1', 3.00, '', 1399985191002447872, '2024-01-11 01:24:53', 1399985191002447872, '2024-02-01 22:02:53', 0, 2); -INSERT INTO `base_dict_item` VALUES (1745134664807583744, 1745134438772346880, 'PayRepairWay', 'pay_close_gateway', '关闭网关支付', b'1', 4.00, '', 1399985191002447872, '2024-01-11 01:25:02', 1399985191002447872, '2024-02-01 21:29:43', 0, 1); -INSERT INTO `base_dict_item` VALUES (1745134703416152064, 1745134438772346880, 'PayRepairWay', 'refund', '退款', b'1', 5.00, '', 1399985191002447872, '2024-01-11 01:25:11', 1399985191002447872, '2024-01-28 21:55:55', 1, 1); -INSERT INTO `base_dict_item` VALUES (1745748239158845440, 1745748188122554368, 'RefundStatus', 'success', '成功', b'1', 1.00, '', 1399985191002447872, '2024-01-12 18:03:09', 1399985191002447872, '2024-01-12 18:03:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1745748274525216768, 1745748188122554368, 'RefundStatus', 'fail', '失败', b'1', 3.00, '', 1399985191002447872, '2024-01-12 18:03:18', 1399985191002447872, '2024-01-27 00:51:02', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208700446683136, 1746208645341917184, 'PaySyncStatus', 'pay_fail', '支付查询失败', b'1', 1.00, '', 1399985191002447872, '2024-01-14 00:32:52', 1399985191002447872, '2024-02-01 21:59:17', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208760488144896, 1746208645341917184, 'PaySyncStatus', 'pay_success', '支付成功', b'1', 2.00, '', 1399985191002447872, '2024-01-14 00:33:06', 1399985191002447872, '2024-02-01 21:59:23', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208802531848192, 1746208645341917184, 'PaySyncStatus', 'pay_progress', '支付中', b'1', 3.00, '', 1399985191002447872, '2024-01-14 00:33:16', 1399985191002447872, '2024-02-01 21:59:33', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208853882712064, 1746208645341917184, 'PaySyncStatus', 'pay_closed', '支付已关闭', b'1', 4.00, '', 1399985191002447872, '2024-01-14 00:33:28', 1399985191002447872, '2024-02-01 21:59:43', 0, 1); -INSERT INTO `base_dict_item` VALUES (1746208898396860416, 1746208645341917184, 'PaySyncStatus', 'pay_refund', '支付退款', b'1', 5.00, '', 1399985191002447872, '2024-01-14 00:33:39', 1399985191002447872, '2024-02-01 21:59:53', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746208959721779200, 1746208645341917184, 'PaySyncStatus', 'pay_not_found', '交易不存在', b'1', 6.00, '', 1399985191002447872, '2024-01-14 00:33:54', 1399985191002447872, '2024-02-01 22:00:05', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746224281904455680, 1746208645341917184, 'PaySyncStatus', 'pay_not_found_unknown', '交易不存在(特殊)', b'1', 7.00, '未查询到订单(具体类型未知), 区别于上面的未查询到订单,有些支付方式如支付宝,发起支付后并不能查询到订单,需要用户进行操作后才能查询到订单,所以查询为了区分,增加一个未知的状态, 用于处理这种特殊情况, 然后根据业务需要,关闭订单或者进行其他操作', 1399985191002447872, '2024-01-14 01:34:47', 1399985191002447872, '2024-02-01 22:00:13', 0, 2); -INSERT INTO `base_dict_item` VALUES (1746224432131842048, 1746208645341917184, 'PaySyncStatus', 'pay_timeout', '支付超时', b'1', 8.00, '', 1399985191002447872, '2024-01-14 01:35:23', 1399985191002447872, '2024-02-01 22:00:30', 0, 2); -INSERT INTO `base_dict_item` VALUES (1749612708363186176, 1749612665392541696, 'ReconcileTrade', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-23 09:59:11', 1399985191002447872, '2024-01-23 09:59:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1749612758531256320, 1749612665392541696, 'ReconcileTrade', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-23 09:59:23', 1399985191002447872, '2024-01-23 09:59:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1749612797680889856, 1749612665392541696, 'ReconcileTrade', 'revoked', '撤销', b'1', 3.00, '', 1399985191002447872, '2024-01-23 09:59:32', 1399985191002447872, '2024-01-23 09:59:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924188674404352, 1745748188122554368, 'RefundStatus', 'progress', '退款中', b'1', 0.00, '接口调用成功不代表成功', 1399985191002447872, '2024-01-27 00:50:32', 1399985191002447872, '2024-01-27 00:50:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924286401687552, 1745748188122554368, 'RefundStatus', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-01-27 00:50:55', 1399985191002447872, '2024-01-27 00:50:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924518497693696, 1744996913667842048, 'PayStatus', 'refunding', '退款中', b'1', 4.00, '', 1399985191002447872, '2024-01-27 00:51:50', 1399985191002447872, '2024-01-27 00:52:10', 0, 1); -INSERT INTO `base_dict_item` VALUES (1751528739035111424, 1751603996496453632, 'PaymentType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-28 16:52:48', 1399985191002447872, '2024-01-28 16:52:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751528773260632064, 1751603996496453632, 'PaymentType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-28 16:52:56', 1399985191002447872, '2024-01-28 16:52:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751613076980039680, 1751613032260370432, 'PayCallbackType', 'pay', '支付回调', b'1', 1.00, '', 1399985191002447872, '2024-01-28 22:27:56', 1399985191002447872, '2024-01-28 22:27:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1751613114254819328, 1751613032260370432, 'PayCallbackType', 'refund', '退款回调', b'1', 2.00, '', 1399985191002447872, '2024-01-28 22:28:04', 1399985191002447872, '2024-01-28 22:28:04', 0, 0); -INSERT INTO `base_dict_item` VALUES (1752216855927226368, 1745748188122554368, 'RefundStatus', 'close', '关闭', b'1', 4.00, '', 1399985191002447872, '2024-01-30 14:27:08', 1399985191002447872, '2024-01-30 14:27:08', 0, 0); -INSERT INTO `base_dict_item` VALUES (1752560213673594880, 1752560153120428032, 'RefundSyncStatus', 'refund_success', '退款成功', b'1', 1.00, '', 1399985191002447872, '2024-01-31 13:11:31', 1399985191002447872, '2024-02-01 21:56:59', 0, 1); -INSERT INTO `base_dict_item` VALUES (1752560254228320256, 1752560153120428032, 'RefundSyncStatus', 'refund_fail', '退款失败', b'1', 2.00, '', 1399985191002447872, '2024-01-31 13:11:40', 1399985191002447872, '2024-02-01 21:57:07', 0, 1); -INSERT INTO `base_dict_item` VALUES (1752560288546115584, 1752560153120428032, 'RefundSyncStatus', 'refund_progress', '退款中', b'1', 3.00, '', 1399985191002447872, '2024-01-31 13:11:48', 1399985191002447872, '2024-02-01 21:57:45', 0, 1); -INSERT INTO `base_dict_item` VALUES (1753044707091554304, 1745128986382667776, 'PayRepairSource', 'task', '定时任务', b'1', 4.00, '', 1399985191002447872, '2024-02-01 21:16:43', 1399985191002447872, '2024-02-01 21:16:43', 0, 0); -INSERT INTO `base_dict_item` VALUES (1753047429014495232, 1753047382185091072, 'RefundRepairWay', 'refund_success', '退款成功', b'1', 1.00, '', 1399985191002447872, '2024-02-01 21:27:32', 1399985191002447872, '2024-02-01 21:29:13', 0, 1); -INSERT INTO `base_dict_item` VALUES (1753047491140526080, 1753047382185091072, 'RefundRepairWay', 'refund_fail', '退款失败', b'1', 2.00, '', 1399985191002447872, '2024-02-01 21:27:47', 1399985191002447872, '2024-02-01 21:29:19', 0, 1); -INSERT INTO `base_dict_item` VALUES (1755939895162052608, 1745134438772346880, 'PayRepairWay', 'refund_success', '退款成功', b'1', 5.00, '会更新为部分退款和全部退款', 1399985191002447872, '2024-02-09 21:01:09', 1399985191002447872, '2024-02-09 21:10:22', 0, 2); -INSERT INTO `base_dict_item` VALUES (1755942271772139520, 1745134438772346880, 'PayRepairWay', 'refund_fail', '退款失败', b'1', 6.00, '', 1399985191002447872, '2024-02-09 21:10:36', 1399985191002447872, '2024-02-09 21:10:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1758881424411439104, 1758881354618220544, 'WalletStatus', 'normal', '正常', b'1', 1.00, '', 1399985191002447872, '2024-02-17 23:49:45', 1399985191002447872, '2024-02-17 23:49:45', 0, 0); -INSERT INTO `base_dict_item` VALUES (1758881470334873600, 1758881354618220544, 'WalletStatus', 'forbidden', '禁用', b'1', 2.00, '', 1399985191002447872, '2024-02-17 23:49:56', 1399985191002447872, '2024-02-17 23:49:56', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759189919170002944, 1759189874194481152, 'VoucherStatus', 'normal', '正常', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:15:36', 1399985191002447872, '2024-02-18 20:15:36', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759189962564272128, 1759189874194481152, 'VoucherStatus', 'forbidden', '禁用', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:15:46', 1399985191002447872, '2024-02-18 20:15:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190150464897024, 1759190066511708160, 'WalletRecordType', 'create', '创建', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:16:31', 1399985191002447872, '2024-02-18 20:16:31', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190193783668736, 1759190066511708160, 'WalletRecordType', 'pay', '支付', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:16:41', 1399985191002447872, '2024-02-18 20:16:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190227510067200, 1759190066511708160, 'WalletRecordType', 'refund', '退款', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:16:49', 1399985191002447872, '2024-02-18 20:16:56', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190291980713984, 1759190066511708160, 'WalletRecordType', 'close_pay', '支付关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:17:04', 1399985191002447872, '2024-02-18 20:17:04', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190340517199872, 1759190066511708160, 'WalletRecordType', 'close_refund', '退款关闭', b'1', 5.00, '', 1399985191002447872, '2024-02-18 20:17:16', 1399985191002447872, '2024-02-19 17:31:26', 1, 0); -INSERT INTO `base_dict_item` VALUES (1759190472654553088, 1759190427897135104, 'VoucherRecordType', 'import', '导入', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:17:48', 1399985191002447872, '2024-02-18 20:17:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190506087350272, 1759190427897135104, 'VoucherRecordType', 'pay', '支付', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:17:55', 1399985191002447872, '2024-02-18 20:18:16', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190574865547264, 1759190427897135104, 'VoucherRecordType', 'refund', '退款', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:18:12', 1399985191002447872, '2024-02-18 20:18:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190633921347584, 1759190427897135104, 'VoucherRecordType', 'close_pay', '支付关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:18:26', 1399985191002447872, '2024-02-18 20:18:26', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759190717757095936, 1759190427897135104, 'VoucherRecordType', 'close_refund', '退款关闭', b'1', 5.00, '', 1399985191002447872, '2024-02-18 20:18:46', 1399985191002447872, '2024-02-19 17:31:20', 1, 0); -INSERT INTO `base_dict_item` VALUES (1759190820500766720, 1759190780252225536, 'CashRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-02-18 20:19:10', 1399985191002447872, '2024-02-18 20:19:39', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190850754281472, 1759190780252225536, 'CashRecordType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-02-18 20:19:18', 1399985191002447872, '2024-02-18 20:19:42', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190884061249536, 1759190780252225536, 'CashRecordType', 'close_pay', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-02-18 20:19:26', 1399985191002447872, '2024-02-18 20:19:46', 0, 1); -INSERT INTO `base_dict_item` VALUES (1759190913261993984, 1759190780252225536, 'CashrRecordType', 'close_refund', '退款关闭', b'1', 4.00, '', 1399985191002447872, '2024-02-18 20:19:33', 1399985191002447872, '2024-02-19 17:31:15', 1, 1); -INSERT INTO `base_dict_item` VALUES (1759514962507554816, 1759190066511708160, 'WalletRecordType', 'recharge', '充值', b'1', 11.00, '', 1399985191002447872, '2024-02-19 17:47:12', 1399985191002447872, '2024-02-19 17:47:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1759515000520531968, 1759190066511708160, 'WalletRecordType', 'deduct', '扣减', b'1', 12.00, '', 1399985191002447872, '2024-02-19 17:47:21', 1399985191002447872, '2024-02-19 17:47:21', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434142275497984, 1761434095349624832, 'ClientNoticeType', 'pay', '支付通知', b'1', 1.00, '', 1399985191002447872, '2024-02-25 00:53:20', 1399985191002447872, '2024-02-25 00:53:20', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434179445420032, 1761434095349624832, 'ClientNoticeType', 'refund', '退款通知', b'1', 2.00, '', 1399985191002447872, '2024-02-25 00:53:29', 1399985191002447872, '2024-02-25 00:53:29', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434308537708544, 1761434264858226688, 'ClientNoticeSendType', 'auto', '自动发送', b'1', 0.00, '', 1399985191002447872, '2024-02-25 00:54:00', 1399985191002447872, '2024-02-25 00:54:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761434346206752768, 1761434264858226688, 'ClientNoticeSendType', 'manual', '手动发送', b'1', 1.00, '', 1399985191002447872, '2024-02-25 00:54:09', 1399985191002447872, '2024-02-25 00:54:09', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761581686381080576, 1761581634023583744, 'AlipayRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-02-25 10:39:37', 1399985191002447872, '2024-02-25 10:39:37', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761581731029446656, 1761581634023583744, 'AlipayRecordType', 'refund', '退款', b'1', 1.00, '', 1399985191002447872, '2024-02-25 10:39:48', 1399985191002447872, '2024-02-25 10:39:48', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761588368863645696, 1761588314480300032, 'WechatPayRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-02-25 11:06:11', 1399985191002447872, '2024-02-25 11:06:11', 0, 0); -INSERT INTO `base_dict_item` VALUES (1761588397825314816, 1761588314480300032, 'WechatPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-02-25 11:06:17', 1399985191002447872, '2024-02-25 11:06:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588081838182400, 1763588034467713024, 'ReconcileDiffType', 'local_not_exists', '本地订单不存在', b'1', 0.00, '', 1399985191002447872, '2024-03-01 23:32:19', 1399985191002447872, '2024-03-01 23:32:19', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588123143688192, 1763588034467713024, 'ReconcileDiffType', 'remote_not_exists', '远程订单不存在', b'1', 1.00, '', 1399985191002447872, '2024-03-01 23:32:29', 1399985191002447872, '2024-03-01 23:32:29', 0, 0); -INSERT INTO `base_dict_item` VALUES (1763588174695878656, 1763588034467713024, 'ReconcileDiffType', 'not_match', '订单信息不一致', b'1', 2.00, '', 1399985191002447872, '2024-03-01 23:32:41', 1399985191002447872, '2024-03-01 23:32:48', 0, 1); -INSERT INTO `base_dict_item` VALUES (1766713657021157376, 1766713545981153280, 'UnionPaySignType', 'RSA2', 'RSA2', b'1', 0.00, '', 1399985191002447872, '2024-03-10 14:32:14', 1399985191002447872, '2024-03-10 14:32:14', 0, 0); -INSERT INTO `base_dict_item` VALUES (1768206502721449984, 1768206399071809536, 'UnionPayRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-03-14 17:24:17', 1399985191002447872, '2024-03-14 17:24:17', 0, 0); -INSERT INTO `base_dict_item` VALUES (1768206547285929984, 1768206399071809536, 'UnionPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-03-14 17:24:27', 1399985191002447872, '2024-03-14 17:24:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122126567559168, 1775112798259302400, 'AllocReceiverType', 'wx_personal', '个人', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-04-02 19:24:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122171861848064, 1775112798259302400, 'AllocReceiverType', 'wx_merchant', '商户', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-04-02 19:24:41', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122227956469760, 1775112798259302400, 'AllocReceiverType', 'ali_user_id', '用户ID', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:24:54', 1399985191002447872, '2024-04-02 19:25:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1775122278170677248, 1775112798259302400, 'AllocReceiverType', 'ali_open_id', '登录号', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-04-02 19:25:06', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122427802472448, 1775112798259302400, 'AllocReceiverType', 'ali_login_name', '账号', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:25:42', 1399985191002447872, '2024-04-02 19:25:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122672623996928, 1775122632706805760, 'AllocRelationType', 'SERVICE_PROVIDER', '服务商', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:26:40', 1399985191002447872, '2024-04-02 19:26:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122710884438016, 1775122632706805760, 'AllocRelationType', 'STORE', '门店', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:26:49', 1399985191002447872, '2024-04-02 19:26:49', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122750612885504, 1775122632706805760, 'AllocRelationType', 'STAFF', '员工', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:26:59', 1399985191002447872, '2024-04-02 19:26:59', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122847035740160, 1775122632706805760, 'AllocRelationType', 'STORE_OWNER', '店主', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:27:22', 1399985191002447872, '2024-04-02 19:27:22', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122892464246784, 1775122632706805760, 'AllocRelationType', 'PARTNER', '合作伙伴', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:27:32', 1399985191002447872, '2024-04-02 19:27:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122934138851328, 1775122632706805760, 'AllocRelationType', 'HEADQUARTER', '总部', b'1', 6.00, '', 1399985191002447872, '2024-04-02 19:27:42', 1399985191002447872, '2024-04-02 19:27:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123560512016384, 1775122632706805760, 'AllocRelationType', 'DISTRIBUTOR', '分销商', b'1', 7.00, '', 1399985191002447872, '2024-04-02 19:30:12', 1399985191002447872, '2024-04-02 19:30:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123607781822464, 1775122632706805760, 'AllocRelationType', 'USER', '用户', b'1', 8.00, '', 1399985191002447872, '2024-04-02 19:30:23', 1399985191002447872, '2024-04-02 19:30:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123654527340544, 1775122632706805760, 'AllocRelationType', 'SUPPLIER', '供应商', b'1', 9.00, '', 1399985191002447872, '2024-04-02 19:30:34', 1399985191002447872, '2024-04-02 19:30:34', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775123705886593024, 1775122632706805760, 'AllocRelationType', 'CUSTOM', '自定义', b'1', 10.00, '', 1399985191002447872, '2024-04-02 19:30:46', 1399985191002447872, '2024-04-02 19:30:46', 0, 0); -INSERT INTO `base_dict_item` VALUES (1777700713809522688, 1777697358802530304, 'AllocOrderStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-09 22:10:53', 1399985191002447872, '2024-04-09 22:10:53', 0, 0); -INSERT INTO `base_dict_item` VALUES (1777700750744563712, 1777697358802530304, 'AllocOrderStatus', 'allocation_processing', '分账处理中', b'1', 2.00, '', 1399985191002447872, '2024-04-09 22:11:02', 1399985191002447872, '2024-04-16 17:14:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777700787453112320, 1777697358802530304, 'AllocOrderStatus', 'allocation_end', '分账完成', b'1', 3.00, '', 1399985191002447872, '2024-04-09 22:11:10', 1399985191002447872, '2024-04-16 17:36:25', 0, 2); -INSERT INTO `base_dict_item` VALUES (1777700835826020352, 1777697358802530304, 'AllocOrderStatus', 'allocation_failed', '分账失败', b'1', 4.00, '', 1399985191002447872, '2024-04-09 22:11:22', 1399985191002447872, '2024-04-16 17:16:34', 0, 2); -INSERT INTO `base_dict_item` VALUES (1777700870613577728, 1777697358802530304, 'AllocOrderStatus', 'finish', '分账完结', b'1', 5.00, '', 1399985191002447872, '2024-04-09 22:11:30', 1399985191002447872, '2024-04-16 17:17:06', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777700915450687488, 1777697358802530304, 'AllocationStatus', 'partial_failed', '部分分账失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:41', 1399985191002447872, '2024-04-16 17:16:49', 1, 1); -INSERT INTO `base_dict_item` VALUES (1777700964087836672, 1777697358802530304, 'AllocOrderStatus', 'finish_failed', '分账完结失败', b'1', 6.00, '', 1399985191002447872, '2024-04-09 22:11:53', 1399985191002447872, '2024-04-16 17:17:25', 0, 1); -INSERT INTO `base_dict_item` VALUES (1777701030081015808, 1777697358802530304, 'AllocationStatus', 'closed', '分账关闭', b'1', 8.00, '', 1399985191002447872, '2024-04-09 22:12:08', 1399985191002447872, '2024-04-16 17:16:19', 1, 0); -INSERT INTO `base_dict_item` VALUES (1777701090676125696, 1777697358802530304, 'AllocationStatus', 'unknown', '分账状态未知', b'1', 9.00, '', 1399985191002447872, '2024-04-09 22:12:23', 1399985191002447872, '2024-04-16 17:16:16', 1, 0); -INSERT INTO `base_dict_item` VALUES (1780164864510623744, 1780163691808391168, 'AllocDetailResult', 'pending', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:22:32', 1399985191002447872, '2024-04-16 17:22:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780164903886749696, 1780163691808391168, 'AllocDetailResult', 'success', '分账成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:22:42', 1399985191002447872, '2024-04-16 17:22:42', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780164940712738816, 1780163691808391168, 'AllocDetailResult', 'fail', '分账失败', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:22:50', 1399985191002447872, '2024-04-16 17:22:50', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165545665593344, 1780165499633106944, 'AllocOrderResult', 'all_pending', '全部处理中', b'1', 0.00, '', 1399985191002447872, '2024-04-16 17:25:15', 1399985191002447872, '2024-05-14 16:40:30', 0, 1); -INSERT INTO `base_dict_item` VALUES (1780165581623361536, 1780165499633106944, 'AllocOrderResult', 'all_success', '全部成功', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:25:23', 1399985191002447872, '2024-04-16 17:25:23', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165617413357568, 1780165499633106944, 'AllocOrderResult', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:25:32', 1399985191002447872, '2024-04-16 17:25:32', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165653350154240, 1780165499633106944, 'AllocOrderResult', 'all_failed', '全部失败', b'1', 3.00, '', 1399985191002447872, '2024-04-16 17:25:40', 1399985191002447872, '2024-04-16 17:25:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocationStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocationStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); -INSERT INTO `base_dict_item` VALUES (1786399594956660736, 1786399552686465024, 'ReconcileResult', 'consistent', '一致', b'1', 0.00, '', 1399985191002447872, '2024-05-03 22:17:08', 1399985191002447872, '2024-05-03 22:17:08', 0, 0); -INSERT INTO `base_dict_item` VALUES (1786399681275437056, 1786399552686465024, 'ReconcileResult', 'inconsistent', '不一致', b'1', 1.00, '', 1399985191002447872, '2024-05-03 22:17:28', 1399985191002447872, '2024-05-03 22:17:28', 0, 0); - --- ---------------------------- --- Table structure for base_dynamic_data_source --- ---------------------------- -DROP TABLE IF EXISTS `base_dynamic_data_source`; -CREATE TABLE `base_dynamic_data_source` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据源名称', - `database_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库类型', - `auto_load` bit(1) NULL DEFAULT NULL COMMENT '是否启动自动加载', - `db_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '驱动类', - `db_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库地址', - `db_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '数据库名称', - `db_username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `db_password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '动态数据源管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_dynamic_data_source --- ---------------------------- - --- ---------------------------- --- Table structure for base_key_value --- ---------------------------- -DROP TABLE IF EXISTS `base_key_value`; -CREATE TABLE `base_key_value` ( - `id` bigint(20) NOT NULL, - `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'kv存储' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_key_value --- ---------------------------- - --- ---------------------------- --- Table structure for base_param --- ---------------------------- -DROP TABLE IF EXISTS `base_param`; -CREATE TABLE `base_param` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称', - `param_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数键名', - `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '参数值', - `type` int(4) NULL DEFAULT NULL COMMENT '参数类型', - `enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '启用状态', - `internal` bit(1) NOT NULL COMMENT '内置参数', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '更新人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '更新时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_param --- ---------------------------- -INSERT INTO `base_param` VALUES (1452842684284891136, '测试', 'test.v1', '123', 1, b'1', b'0', NULL, 1399985191002447872, '2021-10-26 11:41:03', 1399985191002447872, '2024-01-07 23:31:08', 1, 0); -INSERT INTO `base_param` VALUES (1529281530059161600, 'websocket服务器地址', 'WebsocketServerUrl', 'ws://127.0.0.1:9000', 1, b'1', b'1', '', 1399985191002447872, '2022-05-25 10:01:44', 1399985191002447872, '2024-02-27 13:10:12', 0, 4); -INSERT INTO `base_param` VALUES (1545765299880448000, '服务器地址', 'ServerUrl', 'https://localhost', 1, b'1', b'1', '优先级高于配置文件内进行的配置', 1399985191002447872, '2022-07-09 21:42:21', 1399985191002447872, '2024-01-07 23:31:20', 0, 2); - --- ---------------------------- --- Table structure for base_province --- ---------------------------- -DROP TABLE IF EXISTS `base_province`; -CREATE TABLE `base_province` ( - `code` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '省份编码', - `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '省份名称', - PRIMARY KEY (`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '省份表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_province --- ---------------------------- - --- ---------------------------- --- Table structure for base_street --- ---------------------------- -DROP TABLE IF EXISTS `base_street`; -CREATE TABLE `base_street` ( - `code` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '编码', - `name` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '街道名称', - `area_code` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '县区编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_area_code`(`area_code`) USING BTREE COMMENT '县区' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '街道表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_street --- ---------------------------- - --- ---------------------------- --- Table structure for base_village --- ---------------------------- -DROP TABLE IF EXISTS `base_village`; -CREATE TABLE `base_village` ( - `code` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '编码', - `name` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名称', - `street_code` char(9) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '社区/乡镇编码', - PRIMARY KEY (`code`) USING BTREE, - INDEX `inx_street_code`(`street_code`) USING BTREE COMMENT '所属街道索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '村庄/社区' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of base_village --- ---------------------------- - --- ---------------------------- --- Table structure for common_sequence_range --- ---------------------------- -DROP TABLE IF EXISTS `common_sequence_range`; -CREATE TABLE `common_sequence_range` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `range_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '区间key', - `range_value` bigint(20) NOT NULL COMMENT '区间开始值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '序列生成器队列区间管理' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of common_sequence_range --- ---------------------------- - --- ---------------------------- --- Table structure for ddl_history --- ---------------------------- -DROP TABLE IF EXISTS `ddl_history`; -CREATE TABLE `ddl_history` ( - `script` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '脚本', - `type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', - `version` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '版本', - PRIMARY KEY (`script`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'DDL 版本' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of ddl_history --- ---------------------------- - --- ---------------------------- --- Table structure for iam_client --- ---------------------------- -DROP TABLE IF EXISTS `iam_client`; -CREATE TABLE `iam_client` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `default_endow` bit(1) NULL DEFAULT NULL COMMENT '新注册的用户是否默认赋予该终端', - `login_type_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '关联登录方式\r\n', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '认证终端' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_client --- ---------------------------- -INSERT INTO `iam_client` VALUES (1580487061605175296, 'dax-pay', '支付网关', b'0', b'1', b'1', '1430430071299207168,1430478946919653376,1435138582839009280,1542091599907115008,1542804450312122368,1543126042909016064', '支付网关管理端', 1399985191002447872, '2022-10-13 17:14:14', 1399985191002447872, '2023-10-19 19:58:21', 3, b'0'); - --- ---------------------------- --- Table structure for iam_data_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role`; -CREATE TABLE `iam_data_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据范围权限' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role --- ---------------------------- - --- ---------------------------- --- Table structure for iam_data_role_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role_dept`; -CREATE TABLE `iam_data_role_dept` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '数据角色id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围部门关联配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_data_role_user --- ---------------------------- -DROP TABLE IF EXISTS `iam_data_role_user`; -CREATE TABLE `iam_data_role_user` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '数据角色id', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '数据范围用户关联配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_data_role_user --- ---------------------------- - --- ---------------------------- --- Table structure for iam_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_dept`; -CREATE TABLE `iam_dept` ( - `id` bigint(20) NOT NULL COMMENT 'ID', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父机构ID', - `dept_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构/部门名称', - `sort_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序', - `org_category` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '机构类别 1公司 2部门 3岗位', - `org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构编码', - `mobile` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号', - `fax` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '传真', - `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址', - `remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门组织机构表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_login_security_config --- ---------------------------- -DROP TABLE IF EXISTS `iam_login_security_config`; -CREATE TABLE `iam_login_security_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `client_id` bigint(20) NULL DEFAULT NULL COMMENT '关联终端ID', - `require_login_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '修改密码是否需要重新登录', - `captcha_enable` bit(1) NULL DEFAULT NULL COMMENT '默认启用验证码', - `max_captcha_error_count` int(11) NULL DEFAULT NULL COMMENT '出现验证码的错误次数', - `allow_multi_login` bit(1) NULL DEFAULT NULL COMMENT '同端是否允许同时登录', - `allow_multi_terminal_login` bit(1) NULL DEFAULT NULL COMMENT '多终端是否允许同时登录', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '登录安全策略' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_login_security_config --- ---------------------------- - --- ---------------------------- --- Table structure for iam_login_type --- ---------------------------- -DROP TABLE IF EXISTS `iam_login_type`; -CREATE TABLE `iam_login_type` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(21) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `timeout` bigint(11) NULL DEFAULT NULL COMMENT '在线时长(秒)', - `captcha_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证码类型', - `captcha` bit(1) NOT NULL COMMENT '启用验证码', - `enable` bit(1) NOT NULL COMMENT '是否可用', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登录方式' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_login_type --- ---------------------------- -INSERT INTO `iam_login_type` VALUES (1430430071299207168, 'password', '账号密码登陆', 'password', b'1', 3600, '-1', b'0', b'1', NULL, 1399985191002447872, '2021-08-25 15:21:20', 1399985191002447872, '2022-11-03 22:24:53', 20, b'0'); -INSERT INTO `iam_login_type` VALUES (1435138582839009280, 'phone', '手机短信登录', 'openId', b'0', 3600, '0', b'0', b'1', NULL, 1399985191002447872, '2021-09-07 15:11:16', 1399985191002447872, '2022-07-16 12:32:19', 5, b'0'); -INSERT INTO `iam_login_type` VALUES (1542091599907115008, 'dingTalk', '钉钉', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-06-29 18:24:23', 1399985191002447872, '2022-07-02 14:55:01', 5, b'0'); -INSERT INTO `iam_login_type` VALUES (1542804450312122368, 'weCom', '企业微信', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-01 17:37:00', 1399985191002447872, '2022-07-01 17:37:00', 0, b'0'); -INSERT INTO `iam_login_type` VALUES (1543126042909016064, 'weChat', '微信登录', 'openId', b'0', 5, '-1', b'0', b'1', '', 1399985191002447872, '2022-07-02 14:54:53', 0, '2022-10-12 22:15:05', 2, b'0'); - --- ---------------------------- --- Table structure for iam_password_change_history --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_change_history`; -CREATE TABLE `iam_password_change_history` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '密码', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码更改历史' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_change_history --- ---------------------------- - --- ---------------------------- --- Table structure for iam_password_login_fail_record --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_login_fail_record`; -CREATE TABLE `iam_password_login_fail_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `fail_count` int(11) NULL DEFAULT NULL COMMENT '登录失败次数', - `fail_time` datetime NULL DEFAULT NULL COMMENT '登录失败时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码登录失败记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_login_fail_record --- ---------------------------- - --- ---------------------------- --- Table structure for iam_password_security_config --- ---------------------------- -DROP TABLE IF EXISTS `iam_password_security_config`; -CREATE TABLE `iam_password_security_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `max_pwd_error_count` int(11) NULL DEFAULT NULL COMMENT '最大密码错误数', - `error_lock_time` int(11) NULL DEFAULT NULL COMMENT '密码错误锁定时间(分钟)', - `require_change_pwd` bit(1) NULL DEFAULT NULL COMMENT '强制修改初始密码', - `update_frequency` int(11) NULL DEFAULT NULL COMMENT '更新频率', - `expire_remind` int(11) NULL DEFAULT NULL COMMENT '到期提醒(天数)', - `same_as_login_name` bit(1) NULL DEFAULT NULL COMMENT '与登录名相同', - `recent_password` int(11) NULL DEFAULT NULL COMMENT '不能与近期多少次密码相同', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '密码安全策略' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_password_security_config --- ---------------------------- -INSERT INTO `iam_password_security_config` VALUES (1714844168393515008, 9999999, 10, b'1', 9999999, 14, b'0', 5, 1399985191002447872, '2023-10-19 11:21:25', 1399985191002447872, '2023-11-29 12:10:21', 2, b'0'); - --- ---------------------------- --- Table structure for iam_perm_menu --- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_menu`; -CREATE TABLE `iam_perm_menu` ( - `id` bigint(20) NOT NULL, - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '终端code', - `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称', - `perm_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单权限编码', - `effect` bit(1) NULL DEFAULT NULL COMMENT '是否有效', - `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标', - `hidden` bit(1) NOT NULL COMMENT '是否隐藏', - `hide_children_in_menu` bit(1) NOT NULL COMMENT '是否隐藏子菜单', - `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件', - `component_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名字', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路径', - `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单跳转地址(重定向)', - `sort_no` double NOT NULL COMMENT '菜单排序', - `menu_type` int(5) NOT NULL COMMENT '类型(0:一级菜单;1:子菜单 ;2:按钮权限)', - `leaf` bit(1) NULL DEFAULT NULL COMMENT '是否叶子节点', - `keep_alive` bit(1) NULL DEFAULT NULL COMMENT '是否缓存页面', - `target_outside` bit(1) NULL DEFAULT NULL COMMENT '是否外部打开方式', - `hidden_header_content` bit(1) NULL DEFAULT NULL COMMENT '隐藏的标题内容', - `admin` bit(1) NOT NULL COMMENT '系统菜单', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_perm_menu --- ---------------------------- -INSERT INTO `iam_perm_menu` VALUES (1580740450633101312, 'dax-pay', NULL, '系统管理', 'System', NULL, b'0', 'ant-design:setting-outlined', b'0', b'0', 'Layout', NULL, '/system', '/system1/client', -99999, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:07', 1414143554414059520, '2022-10-18 15:32:09', 4, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740637841666048, 'dax-pay', 1582253306356649984, '终端管理', 'ClientList', NULL, b'0', '', b'0', b'0', '/modules/system/client/ClientList.vue', NULL, '/system/client', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:01:51', 1414143554414059520, '2022-10-18 14:13:27', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580740758629232640, 'dax-pay', 1582253306356649984, '登录方式', 'LoginTypeList', NULL, b'0', '', b'0', b'0', '/modules/system/loginType/LoginTypeList.vue', NULL, '/system/loginType', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 10:02:20', 1414143554414059520, '2022-10-18 14:13:40', 5, 0); -INSERT INTO `iam_perm_menu` VALUES (1580928436300337152, 'dax-pay', 1580740450633101312, '菜单管理', 'MenuList', NULL, b'0', '', b'0', b'0', '/modules/system/menu/MenuList.vue', NULL, '/system/menu', '', -99, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2022-10-14 22:28:06', 1399985191002447872, '2022-10-14 22:28:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582249924602580992, 'dax-pay', 1580740450633101312, '权限管理', 'Permission', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/permission', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 13:59:13', 1414143554414059520, '2022-10-18 13:59:13', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'dax-pay', 1580740450633101312, '用户信息', 'UserAuth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/user', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:11:30', 1414143554414059520, '2022-10-18 14:11:30', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'dax-pay', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'dax-pay', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'dax-pay', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'dax-pay', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'dax-pay', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'dax-pay', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'dax-pay', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'dax-pay', 1582249924602580992, '请求权限', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1399985191002447872, '2023-11-29 13:57:56', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302180999917568, 'dax-pay', 1582249924602580992, '数据角色', 'DataRoleList', NULL, b'0', '', b'0', b'0', '/modules/system/scope/DataRoleList.vue', NULL, '/system/permission/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:26:52', 1399985191002447872, '2023-11-28 21:02:57', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302542955769856, 'dax-pay', 1582253011803262976, '用户管理', 'UserList', NULL, b'0', '', b'0', b'0', '/modules/system/user/UserList.vue', NULL, '/system/user/info', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:28:19', 1414143554414059520, '2022-10-18 17:28:19', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582302764129808384, 'dax-pay', 1582253011803262976, '部门管理', 'DeptList', NULL, b'0', '', b'0', b'0', '/modules/system/dept/DeptList.vue', NULL, '/system/user/dept', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:29:11', 1414143554414059520, '2022-10-18 17:32:26', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'dax-pay', 1582253152903843840, '数据字典', 'DictList', NULL, b'0', '', b'0', b'0', '/modules/system/dict/DictList.vue', NULL, '/system/config/dict', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:30:42', 1414143554414059520, '2022-10-18 17:30:42', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'dax-pay', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'dax-pay', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'dax-pay', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'dax-pay', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'dax-pay', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'dax-pay', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'dax-pay', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'dax-pay', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'dax-pay', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'dax-pay', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'dax-pay', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'dax-pay', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'dax-pay', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'dax-pay', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'dax-pay', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'dax-pay', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'dax-pay', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'dax-pay', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'dax-pay', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'dax-pay', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'dax-pay', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'dax-pay', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'dax-pay', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'dax-pay', NULL, '关于', '', NULL, b'0', 'ant-design:info-circle-outlined', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1399985191002447872, '2024-01-14 23:09:56', 6, 0); -INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'dax-pay', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'dax-pay', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'dax-pay', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'dax-pay', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'dax-pay', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1713931084759293952, 'dax-pay', 1582253306356649984, '密码安全', 'PassowrdSecurity', NULL, b'0', '', b'0', b'0', '/modules/system/security/password/PasswordSecurityConfig.vue', NULL, '/system/config/passowrd', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-10-16 22:53:09', 1399985191002447872, '2023-10-16 22:58:59', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1733829906427682816, 'dax-pay', 1582275875424129024, '在线用户', 'OnlineUserList', NULL, b'0', '', b'0', b'0', '/modules/monitor/user/online/OnlineUserList', NULL, '/monitor/user/online', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-12-10 20:43:57', 1399985191002447872, '2023-12-10 20:43:57', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1744271715476684800, 'dax-pay', NULL, '支付配置', 'PayConfig', NULL, b'0', 'ant-design:setting-filled', b'0', b'0', 'Layout', NULL, '/pay/config', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:15:59', 1399985191002447872, '2024-01-09 15:38:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744276101384880128, 'dax-pay', 1744271715476684800, '支付通道', 'PayChannelConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/channel/PayChannelConfigList', NULL, '/pay/config/channel', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:33:24', 1399985191002447872, '2024-01-18 14:49:15', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744372631231995904, 'dax-pay', 1744271715476684800, '支付方式', 'PayMethodInfoList', NULL, b'0', '', b'0', b'0', 'payment/system/method/PayMethodInfoList', NULL, '/pay/config/method', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 22:56:59', 1399985191002447872, '2024-05-01 22:53:13', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744624886658318336, 'dax-pay', 1744271715476684800, '支付接口', 'PayApiConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/api/PayApiConfigList', NULL, '/pay/config/api', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 15:39:21', 1399985191002447872, '2024-01-10 11:52:20', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1744642856348520448, 'dax-pay', NULL, '订单管理', 'PayOrder', NULL, b'0', 'ant-design:wallet-outlined', b'0', b'0', 'Layout', NULL, '/pay/order', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:50:46', 1399985191002447872, '2024-01-09 16:53:35', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744643265142165504, 'dax-pay', NULL, '数据记录', 'PayRecord', NULL, b'0', 'ant-design:profile-outlined', b'0', b'0', 'Layout', NULL, '/pay/record', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:52:23', 1399985191002447872, '2024-01-09 16:53:50', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744930046228017152, 'dax-pay', 1744643265142165504, '回调记录', 'PayCallbackRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/callback/PayCallbackRecordList', NULL, '/pay/record/callback', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-10 11:51:57', 1399985191002447872, '2024-05-01 23:15:23', 10, 0); -INSERT INTO `iam_perm_menu` VALUES (1745126072389963776, 'dax-pay', 1744643265142165504, '关闭记录', 'PayCloseRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/close/PayCloseRecordList', NULL, '/pay/record/close', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 00:50:53', 1399985191002447872, '2024-01-11 00:50:53', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745136155962347520, 'dax-pay', 1744643265142165504, '修复记录', 'PayRepairRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/repair/PayRepairRecordList', NULL, '/pay/record/repair', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 01:30:57', 1399985191002447872, '2024-01-11 01:30:57', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745143528663781376, 'dax-pay', 1744643265142165504, '同步记录', 'PaySyncRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/sync/PaySyncRecordList', NULL, '/pay/record/sync', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 02:00:15', 1399985191002447872, '2024-01-11 02:00:33', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1745457623493496832, 'dax-pay', 1744642856348520448, '支付订单', 'PayOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/pay/PayOrderList', NULL, '/pay/order/pay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:21', 1399985191002447872, '2024-01-11 22:48:21', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1745457746529210368, 'dax-pay', 1744642856348520448, '退款订单', 'RefundOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/refund/RefundOrderList.vue', NULL, '/pay/order/refund', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:50', 1399985191002447872, '2024-01-21 22:50:29', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1745822093382230016, 'dax-pay', 1744271715476684800, '通道配置', 'ChannelPayConfigList', NULL, b'0', '', b'0', b'0', 'payment/channel/config/ChannelPayConfigList', NULL, '/pay/config/channelpay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-12 22:56:38', 1399985191002447872, '2024-02-06 14:32:08', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1746194891925561344, 'dax-pay', 1744271715476684800, '平台配置', 'PayPlatformConfig', NULL, b'0', '', b'0', b'0', 'payment/system/platform/PayPlatformConfig', NULL, '/pay/config/platform', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-13 23:38:00', 1399985191002447872, '2024-01-13 23:38:00', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1749262518385082368, 'dax-pay', 1786808188825194496, '对账单', 'ReconcileOrderList', NULL, b'0', '', b'0', b'0', 'payment/reconcile/order/ReconcileOrderList.vue', NULL, '/pay/reconcile/order', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-22 10:47:39', 1399985191002447872, '2024-05-05 17:09:14', 9, 0); -INSERT INTO `iam_perm_menu` VALUES (1759768820429352960, 'dax-pay', NULL, '演示模块', '', NULL, b'0', 'ant-design:crown-outlined', b'0', b'0', 'Layout', NULL, '/pay/demo', '', 9, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:35:56', 1399985191002447872, '2024-02-20 10:35:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1759769092698402816, 'dax-pay', 1759768820429352960, '收银台演示', '', NULL, b'0', '', b'0', b'0', '', NULL, 'outside:///cashier', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:37:01', 1399985191002447872, '2024-02-20 10:37:01', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1761429304959528960, 'dax-pay', NULL, '支付通知', 'PayNotic', NULL, b'0', 'ant-design:clock-circle-outlined', b'0', b'0', 'Layout', NULL, '/pay/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-25 00:34:07', 1399985191002447872, '2024-05-08 15:31:04', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1761429682618855424, 'dax-pay', 1761429304959528960, '通知记录', 'ClientNoticeTaskList', NULL, b'0', '', b'0', b'0', 'payment/task/notice/ClientNoticeTaskList', NULL, '/pay/notice/record', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-25 00:35:37', 1399985191002447872, '2024-05-08 15:30:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1775089099078553600, 'dax-pay', NULL, '分账管理', 'Allocation', NULL, b'0', 'ant-design:sliders-twotone', b'0', b'0', 'Layout', NULL, '/pay/allocation', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:13:15', 1399985191002447872, '2024-04-02 17:13:15', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1775089820368818176, 'dax-pay', 1775089099078553600, '分账接收者', 'AllocationReceiverList', NULL, b'0', '', b'0', b'0', 'payment/allocation/receiver/AllocationReceiverList', NULL, '/pay/allocation/receiver', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:16:07', 1399985191002447872, '2024-04-02 17:23:13', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1775091561835450368, 'dax-pay', 1775089099078553600, '分账组', 'AllocationGroupList', NULL, b'0', '', b'0', b'0', 'payment/allocation/group/AllocationGroupList', NULL, '/pay/allocation/group', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-02 17:23:03', 1399985191002447872, '2024-04-02 17:23:27', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1777688382748700672, 'dax-pay', 1775089099078553600, '分账订单', 'AllocationOrderList', NULL, b'0', '', b'0', b'0', 'payment/allocation/order/AllocationOrderList', NULL, '/pay/allocation/order', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-04-09 21:21:53', 1399985191002447872, '2024-05-05 17:06:17', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1786808188825194496, 'dax-pay', NULL, '对账管理', 'Reconcile', NULL, b'0', 'ant-design:arrows-alt-outlined', b'0', b'0', 'Layout', NULL, '/pay/reconcile', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:20:44', 1399985191002447872, '2024-05-05 01:20:54', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1786810890951020544, 'dax-pay', 1786808188825194496, '对账差异', 'ReconcileDiffList', NULL, b'0', '', b'0', b'0', 'payment/reconcile/diff/ReconcileDiffList.vue', NULL, '/pay/reconcile/diff', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:31:28', 1399985191002447872, '2024-05-05 17:08:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1786811341285052416, 'dax-pay', 1786808188825194496, '外部交易明细', 'ReconcileDetailList', NULL, b'0', '', b'1', b'0', 'payment/reconcile/detail/ReconcileDetailList.vue', NULL, '/pay/reconcile/detail', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:33:16', 1399985191002447872, '2024-05-05 20:24:24', 2, 0); - --- ---------------------------- --- Table structure for iam_perm_path --- ---------------------------- -DROP TABLE IF EXISTS `iam_perm_path`; -CREATE TABLE `iam_perm_path` ( - `id` bigint(20) NOT NULL, - `code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限标识', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称', - `request_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求类型', - `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '请求路径', - `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称', - `enable` bit(1) NOT NULL COMMENT '启用状态', - `generate` bit(1) NOT NULL COMMENT '是否通过系统生成的权限', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `creator` bigint(20) NULL DEFAULT NULL, - `create_time` datetime(6) NULL DEFAULT NULL, - `last_modifier` bigint(20) NULL DEFAULT NULL, - `last_modified_time` datetime(6) NULL DEFAULT NULL, - `deleted` bit(1) NOT NULL, - `version` int(11) NOT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限_请求' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_perm_path --- ---------------------------- -INSERT INTO `iam_perm_path` VALUES (1789978117562556416, 'UserInfoController#existsUsername', '账号是否被使用', 'GET', '/user/existsUsername', '用户管理', b'1', b'1', '用户管理 账号是否被使用', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556417, 'FIleUpLoadController#page', '分页', 'GET', '/file/page', '文件上传', b'1', b'1', '文件上传 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556418, 'AllocationOrderController#retryAllocation', '分账重试', 'POST', '/order/allocation/retry', '分账订单控制器', b'1', b'1', '分账订单控制器 分账重试', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556419, 'WeChatPayConfigController#toBase64', '将文件转换成base64', 'POST', '/wechat/pay/config/toBase64', '微信支付配置', b'1', b'1', '微信支付配置 将文件转换成base64', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556420, 'AllocationReceiverController#removeByGateway', '从三方支付系统中删除', 'POST', '/allocation/receiver/removeByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 从三方支付系统中删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556421, 'UserThirdController#unbind', '解绑第三方账号', 'POST', '/user/third/unbind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 解绑第三方账号', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556422, 'ChinaRegionController#findAllProvince', '获取一级行政区', 'GET', '/china/region/findAllProvince', '中国行政区划', b'1', b'1', '中国行政区划 获取一级行政区', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556423, 'AllocationGroupController#unbindReceivers', '批量取消绑定接收者', 'POST', '/allocation/group/unbindReceivers', '分账组', b'1', b'1', '分账组 批量取消绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556424, 'DataRoleController#findUsersByDataRoleId', '获取关联的用户列表', 'GET', '/data/role/findUsersByDataRoleId', '数据角色配置', b'1', b'1', '数据角色配置 获取关联的用户列表', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556425, 'AggregateController#getInfo', '获取聚合支付信息', 'GET', '/demo/aggregate/getInfo', '聚合支付', b'1', b'1', '聚合支付 获取聚合支付信息', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556426, 'UniQueryController#queryRefundOrder', '退款订单查询接口', 'POST', '/uni/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 退款订单查询接口', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556427, 'SmsTemplateController#update', '修改', 'POST', '/sms/template/update', '短信模板配置', b'1', b'1', '短信模板配置 修改', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556428, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '分账接收方控制器', b'1', b'1', '分账接收方控制器 查询详情', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556429, 'PayMethodInfoController#update', '更新', 'POST', '/pay/method/info/update', '支付方式管理', b'1', b'1', '支付方式管理 更新', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556430, 'CashierController#getUniCashierUrl', '获取手机收银台链接', 'GET', '/demo/cashier/getUniCashierUrl', '结算台演示', b'1', b'1', '结算台演示 获取手机收银台链接', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556431, 'ReconcileOrderController#pageDiff', '对账差异分页', 'GET', '/order/reconcile/diff/page', '对账控制器', b'1', b'1', '对账控制器 对账差异分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556432, 'OnlineUserController#page', '分页', 'GET', '/online/user/page', '在线用户', b'1', b'1', '在线用户 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556433, 'UserInfoController#existsPhone', '手机号是否被使用(不包含自己)', 'GET', '/user/existsPhoneNotId', '用户管理', b'1', b'1', '用户管理 手机号是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556434, 'DataRoleController#add', '添加', 'POST', '/data/role/add', '数据角色配置', b'1', b'1', '数据角色配置 添加', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556435, 'PlatformConfigController#getConfig', '获取平台配置', 'GET', '/platform/config/getConfig', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 获取平台配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556436, 'SmsTemplateController#delete', '删除', 'DELETE', '/sms/template/delete', '短信模板配置', b'1', b'1', '短信模板配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556437, 'DataRoleController#findById', '获取', 'GET', '/data/role/findById', '数据角色配置', b'1', b'1', '数据角色配置 获取', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556438, 'DingRobotConfigController#delete', '删除', 'DELETE', '/ding/robot/config/delete', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556439, 'UserDataRoleController#saveAssign', '给用户分配数据角色', 'POST', '/user/data/role/saveAssign', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配数据角色', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556440, 'SiteMessageController#read', '标为已读', 'POST', '/site/message/read', '站内信', b'1', b'1', '站内信 标为已读', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556441, 'SystemParamController#findByParamKey', '根据键名获取键值', 'GET', '/system/param/findByParamKey', '系统参数', b'1', b'1', '系统参数 根据键名获取键值', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556442, 'UserInfoController#bindEmail', '绑定邮箱', 'POST', '/user/bindEmail', '用户管理', b'1', b'1', '用户管理 绑定邮箱', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556443, 'RoleMenuController#save', '保存请求权限关系', 'POST', '/role/menu/save', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 保存请求权限关系', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556444, 'RoleController#findAll', '查询所有的角色', 'GET', '/role/findAll', '角色管理', b'1', b'1', '角色管理 查询所有的角色', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556445, 'SmsChannelConfigController#findById', '通过ID查询', 'GET', '/sms/config/findById', '短信渠道配置', b'1', b'1', '短信渠道配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556446, 'PermPathController#add', '添加权限', 'POST', '/perm/path/add', '请求权限管理', b'1', b'1', '请求权限管理 添加权限', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556447, 'AuthAssistController#sendSmsCaptcha', '发送短信验证码', 'POST', '/auth/sendSmsCaptcha', '认证支撑接口', b'1', b'1', '认证支撑接口 发送短信验证码', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556448, 'CockpitReportController#getRefundAmount', '退款金额(分)', 'GET', '/report/cockpit/getRefundAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款金额(分)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556449, 'PermMenuController#existsByPermCode', '编码是否被使用', 'GET', '/perm/menu/existsByPermCode', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556450, 'WeChatTemplateController#findById', '通过ID查询', 'GET', '/wechat/template/findById', '微信模板消息', b'1', b'1', '微信模板消息 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556451, 'UserInfoController#updateEmail', '修改邮箱', 'POST', '/user/updateEmail', '用户管理', b'1', b'1', '用户管理 修改邮箱', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556452, 'AggregateController#createUrl', '创建聚合支付码', 'POST', '/demo/aggregate/createUrl', '聚合支付', b'1', b'1', '聚合支付 创建聚合支付码', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556453, 'MessageTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/message/template/existsByCodeNotId', '消息模板', b'1', b'1', '消息模板 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556454, 'DingRobotConfigController#update', '修改机器人配置', 'POST', '/ding/robot/config/update', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556455, 'WeChatPortalController#auth', 'auth', 'GET', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 auth', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556456, 'SystemParamController#add', '添加', 'POST', '/system/param/add', '系统参数', b'1', b'1', '系统参数 添加', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556457, 'DingRobotConfigController#page', '分页', 'GET', '/ding/robot/config/page', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556458, 'QuartzJobController#findById', '单条', 'GET', '/quartz/findById', '定时任务', b'1', b'1', '定时任务 单条', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556459, 'RoleController#existsByName', '名称是否被使用', 'GET', '/role/existsByName', '角色管理', b'1', b'1', '角色管理 名称是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750720, 'WeChatMenuController#findById', '通过ID查询', 'GET', '/wechat/menu/findById', '微信菜单管理', b'1', b'1', '微信菜单管理 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750721, 'UserInfoController#existsEmail', '邮箱是否被使用(不包含自己)', 'GET', '/user/existsEmailNotId', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750722, 'UniPayController#syncPay', '支付同步接口', 'POST', '/unipay/syncPay', '统一支付接口', b'1', b'1', '统一支付接口 支付同步接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750723, 'PermPathController#page', '权限分页', 'GET', '/perm/path/page', '请求权限管理', b'1', b'1', '请求权限管理 权限分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750724, 'WeChatPortalController#post', 'post', 'POST', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 post', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750725, 'DeptController#findById', '获取', 'GET', '/dept/findById', '部门管理', b'1', b'1', '部门管理 获取', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750726, 'PayOrderController#allocation', '发起分账', 'POST', '/order/pay/allocation', '支付订单控制器', b'1', b'1', '支付订单控制器 发起分账', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750727, 'DictionaryController#add', '添加', 'POST', '/dict/add', '字典', b'1', b'1', '字典 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750728, 'RefundOrderController#getTotalAmount', '查询金额汇总', 'GET', '/order/refund/getTotalAmount', '支付退款控制器', b'1', b'1', '支付退款控制器 查询金额汇总', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750729, 'UserInfoController#getUserBaseInfo', '查询用户基础信息', 'GET', '/user/getUserBaseInfo', '用户管理', b'1', b'1', '用户管理 查询用户基础信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750730, 'CockpitReportController#getRefundOrderCount', '退款订单数量', 'GET', '/report/cockpit/getRefundOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款订单数量', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750731, 'UserAdminController#update', '修改用户', 'POST', '/user/admin/update', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 修改用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750732, 'WeChatMenuController#importMenu', '导入微信自定义菜单到系统中', 'POST', '/wechat/menu/importMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 导入微信自定义菜单到系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750733, 'WalletConfigController#update', '更新', 'POST', '/wallet/config/update', '钱包配置', b'1', b'1', '钱包配置 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750734, 'DeptController#deleteAndChildren', '强制级联删除', 'DELETE', '/dept/deleteAndChildren', '部门管理', b'1', b'1', '部门管理 强制级联删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750735, 'PermPathController#deleteBatch', '批量删除', 'DELETE', '/perm/path/deleteBatch', '请求权限管理', b'1', b'1', '请求权限管理 批量删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750736, 'PayGatewayNoticeController#wechatPayNotice', '微信消息通知', 'POST', '/gateway/notice/wechat', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 微信消息通知', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750737, 'DataRoleController#saveDeptAssign', '保存关联部门', 'POST', '/data/role/saveDeptAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存关联部门', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750738, 'PayCallbackController#wechatPayNotify', '微信支付信息回调', 'POST', '/callback/pay/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750739, 'WeChatMediaController#uploadFile', '上传素材', 'POST', '/wechat/media/uploadFile', '微信素材管理', b'1', b'1', '微信素材管理 上传素材', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750740, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750741, 'WalletController#recharge', '充值', 'POST', '/wallet/recharge', '钱包管理', b'1', b'1', '钱包管理 充值', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750742, 'UniPayAssistController#getWxAccessToken', '获取微信AccessToken', 'POST', '/unipay/assist/getWxAccessToken', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信AccessToken', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750743, 'FIleUpLoadController#getFileDownloadUrl', '获取文件下载地址(流量会经过后端)', 'GET', '/file/getFileDownloadUrl', '文件上传', b'1', b'1', '文件上传 获取文件下载地址(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750744, 'AllocationGroupController#clearDefault', '清除默认分账组', 'POST', '/allocation/group/clearDefault', '分账组', b'1', b'1', '分账组 清除默认分账组', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750745, 'DictionaryController#findById', '根据id获取', 'GET', '/dict/findById', '字典', b'1', b'1', '字典 根据id获取', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750746, 'ReconcileOrderController#compare', '手动触发交易对账单比对', 'POST', '/order/reconcile/compare', '对账控制器', b'1', b'1', '对账控制器 手动触发交易对账单比对', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750747, 'TestController#lock1', '锁测试1', 'GET', '/test/lock1', '测试', b'1', b'1', '测试 锁测试1', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750748, 'UserInfoController#updatePhone', '修改手机号', 'POST', '/user/updatePhone', '用户管理', b'1', b'1', '用户管理 修改手机号', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750749, 'UserInfoController#getLoginAfterUserInfo', '登录后获取用户信息', 'GET', '/user/getLoginAfterUserInfo', '用户管理', b'1', b'1', '用户管理 登录后获取用户信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750750, 'ClientController#delete', '删除', 'DELETE', '/client/delete', '认证终端', b'1', b'1', '认证终端 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750751, 'PayChannelConfigController#findAll', '查询全部', 'GET', '/pay/channel/config/findAll', '支付通道信息', b'1', b'1', '支付通道信息 查询全部', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750752, 'SmsChannelConfigController#add', '添加', 'POST', '/sms/config/add', '短信渠道配置', b'1', b'1', '短信渠道配置 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750753, 'PayCloseRecordController#page', '分页查询', 'GET', '/record/close/page', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750754, 'UserInfoController#bindPhone', '绑定手机', 'POST', '/user/bindPhone', '用户管理', b'1', b'1', '用户管理 绑定手机', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750755, 'DictionaryItemController#update', '修改字典项(返回字典项对象)', 'POST', '/dict/item/update', '字典项', b'1', b'1', '字典项 修改字典项(返回字典项对象)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750756, 'WeChatMediaController#pageFile', '非图文素材分页', 'GET', '/wechat/media/pageFile', '微信素材管理', b'1', b'1', '微信素材管理 非图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750757, 'ChinaRegionController#findAllProvinceAndCityAndArea', ' 获取省市区县三级联动列表', 'GET', '/china/region/findAllProvinceAndCityAndArea', '中国行政区划', b'1', b'1', '中国行政区划 获取省市区县三级联动列表', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750758, 'WalletConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/wallet/config/findPayWays', '钱包配置', b'1', b'1', '钱包配置 支付宝支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750759, 'AllocationGroupController#bindReceivers', '批量绑定接收者', 'POST', '/allocation/group/bindReceivers', '分账组', b'1', b'1', '分账组 批量绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750760, 'ReconcileOrderController#upload', '手动上传交易对账单文件', 'POST', '/order/reconcile/upload', '对账控制器', b'1', b'1', '对账控制器 手动上传交易对账单文件', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750761, 'SystemParamController#update', '更新', 'POST', '/system/param/update', '系统参数', b'1', b'1', '系统参数 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750762, 'PayCallbackRecordController#page', '分页查询', 'GET', '/record/callback/page', '支付回调信息记录', b'1', b'1', '支付回调信息记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750763, 'RefundOrderController#findByRefundNo', '查询退款订单详情', 'GET', '/order/refund/findByOrderNo', '支付退款控制器', b'1', b'1', '支付退款控制器 查询退款订单详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750764, 'ClientController#page', '分页查询', 'GET', '/client/page', '认证终端', b'1', b'1', '认证终端 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750765, 'UserAssistController#sendPhoneForgetCaptcha', '发送找回密码手机验证码', 'POST', '/user/sendPhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码手机验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750766, 'CashierController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/cashier/wxAuthCallback', '结算台演示', b'1', b'1', '结算台演示 微信授权回调页面', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750767, 'UserInfoController#getUserSecurityInfo', '查询用户安全信息', 'GET', '/user/getUserSecurityInfo', '用户管理', b'1', b'1', '用户管理 查询用户安全信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750768, 'PaySyncRecordController#findById', '查询单条', 'GET', '/record/sync/findById', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 查询单条', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750769, 'DataRoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/data/role/existsByCodeNotId', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750770, 'DataRoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/data/role/existsByNameNotId', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750771, 'UniQueryController#queryPayOrder', '支付订单查询接口', 'POST', '/uni/query/payOrder', '统一查询接口', b'1', b'1', '统一查询接口 支付订单查询接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750772, 'QuartzJobController#delete', '删除', 'DELETE', '/quartz/delete', '定时任务', b'1', b'1', '定时任务 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750773, 'PermMenuController#add', '添加菜单权限', 'POST', '/perm/menu/add', '菜单和权限码', b'1', b'1', '菜单和权限码 添加菜单权限', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750774, 'ChinaRegionController#findAllProvinceAndCity', '获取省市二级联动列表', 'GET', '/china/region/findAllProvinceAndCity', '中国行政区划', b'1', b'1', '中国行政区划 获取省市二级联动列表', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750775, 'WeChatMenuController#page', '分页查询', 'GET', '/wechat/menu/page', '微信菜单管理', b'1', b'1', '微信菜单管理 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750776, 'PermPathController#findById', '获取详情', 'GET', '/perm/path/findById', '请求权限管理', b'1', b'1', '请求权限管理 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750777, 'QuartzJobController#stop', '停止', 'POST', '/quartz/stop', '定时任务', b'1', b'1', '定时任务 停止', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750778, 'UserAssistController#sendEmailChangeCaptcha', '发送更改/绑定邮箱验证码', 'POST', '/user/sendEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750779, 'DictionaryController#page', '分页', 'GET', '/dict/page', '字典', b'1', b'1', '字典 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750780, 'OnlineUserController#kickOut', '踢出用户', 'GET', '/online/user/kickOut', '在线用户', b'1', b'1', '在线用户 踢出用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750781, 'UniPayController#refund', '统一退款接口', 'POST', '/unipay/refund', '统一支付接口', b'1', b'1', '统一支付接口 统一退款接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750782, 'PayCallbackController#unionPayNotify', '云闪付支付信息回调', 'POST', '/callback/pay/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750783, 'ReconcileOrderController#downLocalCsv', '下载系统对账单(CSV格式)', 'GET', '/order/reconcile/downLocalCsv', '对账控制器', b'1', b'1', '对账控制器 下载系统对账单(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750784, 'DataRoleController#delete', '删除', 'DELETE', '/data/role/delete', '数据角色配置', b'1', b'1', '数据角色配置 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750785, 'DataRoleController#deleteUserAssigns', '批量删除数据角色关联用户', 'DELETE', '/data/role/deleteUserAssigns', '数据角色配置', b'1', b'1', '数据角色配置 批量删除数据角色关联用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750786, 'ClientController#findById', '通过ID查询', 'GET', '/client/findById', '认证终端', b'1', b'1', '认证终端 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750787, 'ClientController#existsByCode', '编码是否被使用', 'GET', '/client/existsByCode', '认证终端', b'1', b'1', '认证终端 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750788, 'FIleUpLoadController#local', '上传', 'POST', '/file/upload', '文件上传', b'1', b'1', '文件上传 上传', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750789, 'AllocationGroupController#findById', '查询详情', 'GET', '/allocation/group/findById', '分账组', b'1', b'1', '分账组 查询详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750790, 'PermMenuController#menuAndPermCodeTree', '获取菜单和权限码树', 'GET', '/perm/menu/menuAndPermCodeTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单和权限码树', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750791, 'WeChatArticleController#page', '分页', 'GET', '/wechat/article/page', '微信文章管理', b'1', b'1', '微信文章管理 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750792, 'UserInfoController#updatePassword', '修改密码', 'POST', '/user/updatePassword', '用户管理', b'1', b'1', '用户管理 修改密码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750793, 'MessageTemplateController#existsByCode', '编码是否被使用', 'GET', '/message/template/existsByCode', '消息模板', b'1', b'1', '消息模板 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750794, 'LoginTypeController#superPage', '超级查询', 'POST', '/loginType/superPage', '登录方式管理', b'1', b'1', '登录方式管理 超级查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750795, 'WalletController#page', '钱包分页', 'GET', '/wallet/page', '钱包管理', b'1', b'1', '钱包管理 钱包分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750796, 'UserAdminController#getUserInfoWhole', '查询用户详情', 'GET', '/user/admin/getUserInfoWhole', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 查询用户详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750797, 'AlipayConfigController#update', '更新', 'POST', '/alipay/config/update', '支付宝配置', b'1', b'1', '支付宝配置 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750798, 'UniPayController#syncRefund', '退款同步接口', 'POST', '/unipay/syncRefund', '统一支付接口', b'1', b'1', '统一支付接口 退款同步接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750799, 'QuartzJobController#add', '添加', 'POST', '/quartz/add', '定时任务', b'1', b'1', '定时任务 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750800, 'OperateLogController#page', '分页', 'GET', '/log/operate/page', '操作日志', b'1', b'1', '操作日志 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750801, 'ClientNoticeTaskController#findRecordById', '查询单条', 'GET', '/task/notice/record/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750802, 'OpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750803, 'PayOrderController#findById', '查询订单详情', 'GET', '/order/pay/findById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750804, 'WeChatQrLoginController#getStatus', '获取扫码状态', 'GET', '/token/wechat/qr/getStatus', '微信扫码登录', b'1', b'1', '微信扫码登录 获取扫码状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750805, 'DeptController#tree', '树状展示', 'GET', '/dept/tree', '部门管理', b'1', b'1', '部门管理 树状展示', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750806, 'WeChatMenuController#publish', '发布菜单', 'POST', '/wechat/menu/publish', '微信菜单管理', b'1', b'1', '微信菜单管理 发布菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750807, 'AllocationGroupController#findReceiversByGroups', '查询分账接收方信息', 'GET', '/allocation/group/findReceiversByGroups', '分账组', b'1', b'1', '分账组 查询分账接收方信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750808, 'LoginLogController#deleteByDay', '清除指定天数之前的日志', 'DELETE', '/log/login/deleteByDay', '登录日志', b'1', b'1', '登录日志 清除指定天数之前的日志', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750809, 'PayOrderController#syncById', '同步支付状态', 'POST', '/order/pay/syncByOrderNo', '支付订单控制器', b'1', b'1', '支付订单控制器 同步支付状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750810, 'WeChatTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wechat/template/existsByCodeNotId', '微信模板消息', b'1', b'1', '微信模板消息 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750811, 'WeChatMenuController#add', '添加', 'POST', '/wechat/menu/add', '微信菜单管理', b'1', b'1', '微信菜单管理 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750812, 'WeChatMenuController#clearMenu', '清空微信自定义菜单', 'POST', '/wechat/menu/clearMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 清空微信自定义菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750813, 'QuartzJobLogController#page', '分页', 'GET', '/quartz/log/page', '定时任务执行日志', b'1', b'1', '定时任务执行日志 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750814, 'UserInfoController#updateBaseInfo', '修改用户基础信息', 'POST', '/user/updateBaseInfo', '用户管理', b'1', b'1', '用户管理 修改用户基础信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750815, 'PayCallbackController#aliPayNotify', '支付宝信息回调', 'POST', '/callback/pay/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750816, 'DataRoleController#existsByCode', '编码是否被使用', 'GET', '/data/role/existsByCode', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750817, 'MessageTemplateController#delete', '删除', 'DELETE', '/message/template/delete', '消息模板', b'1', b'1', '消息模板 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750818, 'LoginTypeController#findById', '通过ID查询登录方式', 'GET', '/loginType/findById', '登录方式管理', b'1', b'1', '登录方式管理 通过ID查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750819, 'ReconcileOrderController#page', '对账单分页', 'GET', '/order/reconcile/page', '对账控制器', b'1', b'1', '对账控制器 对账单分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750820, 'UnionPayConfigController#findPayWays', '支持的支付方式', 'GET', '/union/pay/config/findPayWays', '云闪付配置', b'1', b'1', '云闪付配置 支持的支付方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750821, 'DataRoleController#getDeptIds', '获取关联部门id', 'GET', '/data/role/getDeptIds', '数据角色配置', b'1', b'1', '数据角色配置 获取关联部门id', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750822, 'PayOrderController#close', '关闭支付记录', 'POST', '/order/pay/close', '支付订单控制器', b'1', b'1', '支付订单控制器 关闭支付记录', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750823, 'DingRobotConfigController#findById', '获取详情', 'GET', '/ding/robot/config/findById', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750824, 'MessageTemplateController#update', '更新', 'POST', '/message/template/update', '消息模板', b'1', b'1', '消息模板 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750825, 'CaptchaController#imgCaptcha', '获取图片验证码', 'POST', '/captcha/imgCaptcha', '验证码服务', b'1', b'1', '验证码服务 获取图片验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750826, 'SystemParamController#delete', '删除', 'DELETE', '/system/param/delete', '系统参数', b'1', b'1', '系统参数 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750827, 'UserInfoController#register', '注册账号', 'POST', '/user/register', '用户管理', b'1', b'1', '用户管理 注册账号', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750828, 'DictionaryItemController#add', '添加字典项(返回字典项对象)', 'POST', '/dict/item/add', '字典项', b'1', b'1', '字典项 添加字典项(返回字典项对象)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750829, 'UserAdminController#restartPassword', '重置密码', 'POST', '/user/admin/restartPassword', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 重置密码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750830, 'ClientController#update', '修改', 'POST', '/client/update', '认证终端', b'1', b'1', '认证终端 修改', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750831, 'SmsTemplateController#page', '分页查询', 'GET', '/sms/template/page', '短信模板配置', b'1', b'1', '短信模板配置 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750832, 'MailConfigController#updateMailConfig', '更新邮箱配置', 'POST', '/mail/config/update', '邮箱配置', b'1', b'1', '邮箱配置 更新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750833, 'UniPayController#allocation', '开启分账接口', 'POST', '/unipay/allocation', '统一支付接口', b'1', b'1', '统一支付接口 开启分账接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945024, 'ReconcileOrderController#downAndSave', '手动触发对账文件下载', 'POST', '/order/reconcile/downAndSave', '对账控制器', b'1', b'1', '对账控制器 手动触发对账文件下载', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945025, 'ForwardFrontController#toH5', 'toH5', 'GET', '/front/', 'ForwardFrontController', b'1', b'1', 'ForwardFrontController toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945026, 'RoleController#page', '分页查询角色', 'GET', '/role/page', '角色管理', b'1', b'1', '角色管理 分页查询角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945027, 'TokenEndpoint#logout', '退出', 'POST', '/token/logout', '认证相关', b'1', b'1', '认证相关 退出', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945028, 'PayChannelConfigController#findById', '根据ID获取', 'GET', '/pay/channel/config/findById', '支付通道信息', b'1', b'1', '支付通道信息 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945029, 'ReconcileOrderController#pageDetail', '对账明细分页', 'GET', '/order/reconcile/detail/page', '对账控制器', b'1', b'1', '对账控制器 对账明细分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945030, 'PasswordSecurityConfigController#getDefault', '获取配置', 'GET', '/security/password/getDefault', '密码安全策略', b'1', b'1', '密码安全策略 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945031, 'DictionaryItemController#findById', '根据字典项ID查询', 'GET', '/dict/item/findById', '字典项', b'1', b'1', '字典项 根据字典项ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945032, 'DictionaryItemController#findByDictionaryId', '查询指定字典ID下的所有字典项', 'GET', '/dict/item/findByDictionaryId', '字典项', b'1', b'1', '字典项 查询指定字典ID下的所有字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945033, 'ForwardH5Controller#toH5', 'toH5', 'GET', '/h5/', 'ForwardH5Controller', b'1', b'1', 'ForwardH5Controller toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945034, 'SiteMessageController#findById', '消息详情', 'GET', '/site/message/findById', '站内信', b'1', b'1', '站内信 消息详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945035, 'DictionaryController#update', '更新', 'POST', '/dict/update', '字典', b'1', b'1', '字典 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945036, 'FIleUpLoadController#download', '下载文件(流量会经过后端)', 'GET', '/file/download/{id}', '文件上传', b'1', b'1', '文件上传 下载文件(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945037, 'SiteMessageController#pageBySender', '发送消息分页', 'GET', '/site/message/pageBySender', '站内信', b'1', b'1', '站内信 发送消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945038, 'AllocationGroupController#unbindReceiver', '取消绑定接收者', 'POST', '/allocation/group/unbindReceiver', '分账组', b'1', b'1', '分账组 取消绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945039, 'AlipayConfigController#readPem', '读取证书文件内容', 'POST', '/alipay/config/readPem', '支付宝配置', b'1', b'1', '支付宝配置 读取证书文件内容', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945040, 'ClientNoticeReceiveController#refund', '退款消息(对象)', 'POST', '/demo/callback/refundObject', '回调测试', b'1', b'1', '回调测试 退款消息(对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945041, 'PermMenuController#update', '修改菜单权限', 'POST', '/perm/menu/update', '菜单和权限码', b'1', b'1', '菜单和权限码 修改菜单权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945042, 'QuartzJobController#update', '更新', 'POST', '/quartz/update', '定时任务', b'1', b'1', '定时任务 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945043, 'RoleController#dropdown', '角色下拉框', 'GET', '/role/dropdown', '角色管理', b'1', b'1', '角色管理 角色下拉框', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945044, 'AggregateController#aliH5Pay', '支付宝通过聚合支付码发起支付', 'POST', '/demo/aggregate/aliH5Pay', '聚合支付', b'1', b'1', '聚合支付 支付宝通过聚合支付码发起支付', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945045, 'UserRoleController#findRolesByUser', '根据用户ID获取到角色集合', 'GET', '/user/role/findRolesByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945046, 'UserInfoController#existsPhone', '手机号是否被使用', 'GET', '/user/existsPhone', '用户管理', b'1', b'1', '用户管理 手机号是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945047, 'ClientNoticeReceiveController#pay', '支付消息(对象接收)', 'POST', '/demo/callback/payObject', '回调测试', b'1', b'1', '回调测试 支付消息(对象接收)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945048, 'PayMethodInfoController#findAll', '获取全部', 'GET', '/pay/method/info/findAll', '支付方式管理', b'1', b'1', '支付方式管理 获取全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945049, 'LoginTypeController#page', '分页查询登录方式', 'GET', '/loginType/page', '登录方式管理', b'1', b'1', '登录方式管理 分页查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945050, 'DictionaryItemController#findAllByEnable', '获取启用的字典项列表', 'GET', '/dict/item/findAllByEnable', '字典项', b'1', b'1', '字典项 获取启用的字典项列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945051, 'RolePathController#save', '保存角色请求权限关联关系', 'POST', '/role/path/save', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 保存角色请求权限关联关系', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945052, 'WalletController#findById', '查询钱包详情', 'GET', '/wallet/findById', '钱包管理', b'1', b'1', '钱包管理 查询钱包详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945053, 'OnlineUserController#pageByLogin', '登录用户分页', 'GET', '/online/user/pageByLogin', '在线用户', b'1', b'1', '在线用户 登录用户分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945054, 'MailConfigController#delete', '删除', 'DELETE', '/mail/config/delete', '邮箱配置', b'1', b'1', '邮箱配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945055, 'DictionaryController#delete', '根据id删除', 'DELETE', '/dict/delete', '字典', b'1', b'1', '字典 根据id删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945056, 'PayOrderController#getExtraById', '查询支付订单扩展信息', 'GET', '/order/pay/getExtraById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945057, 'SiteMessageController#send', '发送站内信', 'POST', '/site/message/send', '站内信', b'1', b'1', '站内信 发送站内信', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945058, 'SiteMessageController#delete', '删除消息', 'DELETE', '/site/message/delete', '站内信', b'1', b'1', '站内信 删除消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945059, 'AlipayConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/alipay/config/findPayWays', '支付宝配置', b'1', b'1', '支付宝配置 支付宝支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945060, 'SiteMessageController#listByReceiveNotRead', '小程序获取未读的接收消息标题列表', 'GET', '/site/message/listByReceiveNotRead', '站内信', b'1', b'1', '站内信 小程序获取未读的接收消息标题列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945061, 'ClientNoticeReceiveController#refund', '退款消息', 'POST', '/demo/callback/refund', '回调测试', b'1', b'1', '回调测试 退款消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945062, 'CashierController#getPayEnv', '获取支付环境', 'GET', '/demo/cashier/getPayEnv', '结算台演示', b'1', b'1', '结算台演示 获取支付环境', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945063, 'UserAdminController#banBatch', '批量封禁用户', 'POST', '/user/admin/banBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量封禁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945064, 'PayReturnController#wechat', '微信同步通知', 'GET', '/return/pay/wechat', '支付同步通知', b'1', b'1', '支付同步通知 微信同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945065, 'DictionaryItemController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/item/existsByCodeNotId', '字典项', b'1', b'1', '字典项 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945066, 'DictionaryItemController#pageByDictionaryId', '分页查询指定字典下的字典项', 'GET', '/dict/item/pageByDictionaryId', '字典项', b'1', b'1', '字典项 分页查询指定字典下的字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945067, 'AggregateController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/aggregate/wxAuthCallback', '聚合支付', b'1', b'1', '聚合支付 微信授权回调页面', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945068, 'LoginTypeController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/loginType/existsByCodeNotId', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945069, 'MessageTemplateController#page', '分页', 'GET', '/message/template/page', '消息模板', b'1', b'1', '消息模板 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945070, 'FIleUpLoadController#getFilePreviewUrl', '获取文件预览地址(流量会经过后端)', 'GET', '/file/getFilePreviewUrl', '文件上传', b'1', b'1', '文件上传 获取文件预览地址(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945071, 'LoginTypeController#findByCode', '通过code查询登录方式', 'GET', '/loginType/findByCode', '登录方式管理', b'1', b'1', '登录方式管理 通过code查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945072, 'PayReturnController#alipay', '支付宝同步跳转连接', 'GET', '/return/pay/alipay', '支付同步通知', b'1', b'1', '支付同步通知 支付宝同步跳转连接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945073, 'PayOrderController#findByOrderNo', '查询订单详情', 'GET', '/order/pay/findByOrderNo', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945074, 'ReconcileOrderController#findById', '对账单详情', 'GET', '/order/reconcile/findById', '对账控制器', b'1', b'1', '对账控制器 对账单详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945075, 'UserAssistController#sendPhoneChangeCaptcha', '发送更改/绑定手机号验证码', 'POST', '/user/sendPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945076, 'MultipleOpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945077, 'PermMenuController#delete', '删除', 'DELETE', '/perm/menu/delete', '菜单和权限码', b'1', b'1', '菜单和权限码 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945078, 'AggregateController#barCodePay', '通过付款码发起支付', 'POST', '/demo/aggregate/barCodePay', '聚合支付', b'1', b'1', '聚合支付 通过付款码发起支付', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945079, 'SiteMessageController#pageByReceive', '接收消息分页', 'GET', '/site/message/pageByReceive', '站内信', b'1', b'1', '站内信 接收消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945080, 'ReconcileOrderController#downDiffCsv', '下载对账差异单(CSV格式)', 'GET', '/order/reconcile/downDiffCsv', '对账控制器', b'1', b'1', '对账控制器 下载对账差异单(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945081, 'WechatNoticeConfigController#update', '更新微信消息通知配置', 'POST', '/wx/notice/update', '微信消息通知配置', b'1', b'1', '微信消息通知配置 更新微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945082, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '分账接收方控制器', b'1', b'1', '分账接收方控制器 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945083, 'ThirdLoginController#toLoginUrl', '跳转到登陆页', 'GET', '/auth/third/toLoginUrl/{loginType}', '三方登录', b'1', b'1', '三方登录 跳转到登陆页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945084, 'AlipayConfigController#getConfig', '获取配置', 'GET', '/alipay/config/getConfig', '支付宝配置', b'1', b'1', '支付宝配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945085, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '分账订单控制器', b'1', b'1', '分账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945086, 'MailConfigController#page', '分页', 'GET', '/mail/config/page', '邮箱配置', b'1', b'1', '邮箱配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945087, 'CashierController#simplePayCashier', '创建支付订单并发起', 'POST', '/demo/cashier/simplePayCashier', '结算台演示', b'1', b'1', '结算台演示 创建支付订单并发起', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945088, 'ClientController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/client/existsByCodeNotId', '认证终端', b'1', b'1', '认证终端 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945089, 'UserInfoController#existsEmail', '邮箱是否被使用', 'GET', '/user/existsEmail', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945090, 'WecomRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/wecom/robot/config/existsByCode', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945091, 'ClientNoticeReceiveController#pay', '支付消息(map接收)', 'POST', '/demo/callback/pay', '回调测试', b'1', b'1', '回调测试 支付消息(map接收)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945092, 'RoleMenuController#findTreeByRole', '获取当前角色下可见的菜单和权限码树(分配时用)', 'GET', '/role/menu/findTreeByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下可见的菜单和权限码树(分配时用)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945093, 'MessageTemplateController#add', '添加', 'POST', '/message/template/add', '消息模板', b'1', b'1', '消息模板 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945094, 'WalletConfigController#getConfig', '获取配置', 'GET', '/wallet/config/getConfig', '钱包配置', b'1', b'1', '钱包配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945095, 'WechatNoticeConfigController#getConfig', '获取微信消息通知配置', 'GET', '/wx/notice/getConfig', '微信消息通知配置', b'1', b'1', '微信消息通知配置 获取微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945096, 'DictionaryController#existsByCode', '编码是否被使用', 'GET', '/dict/existsByCode', '字典', b'1', b'1', '字典 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945097, 'RoleMenuController#findMenuIds', '获取权限菜单id列表,不包含资源权限', 'GET', '/role/menu/findMenuIds', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取权限菜单id列表,不包含资源权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945098, 'PayRepairRecordController#findById', '查询单条', 'GET', '/record/repair/findById', '支付修复记录', b'1', b'1', '支付修复记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945099, 'RoleController#delete', '删除角色', 'DELETE', '/role/delete', '角色管理', b'1', b'1', '角色管理 删除角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945100, 'AllocationGroupController#page', '分页', 'GET', '/allocation/group/page', '分账组', b'1', b'1', '分账组 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945101, 'UserDeptController#findIdsByUser', '根据用户ID获取到部门id集合', 'GET', '/user/dept/findIdsByUser', '用户部门关联关系', b'1', b'1', '用户部门关联关系 根据用户ID获取到部门id集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945102, 'SwaggerWelcomeWebMvc#redirectToUi', 'redirectToUi', 'GET', '/swagger-ui.html', 'SwaggerWelcomeWebMvc', b'1', b'1', 'SwaggerWelcomeWebMvc redirectToUi', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945103, 'RoleController#update', '修改角色(返回角色对象)', 'POST', '/role/update', '角色管理', b'1', b'1', '角色管理 修改角色(返回角色对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945104, 'UniPayAssistController#getWxAuthUrl', '获取微信OAuth2授权链接', 'POST', '/unipay/assist/getWxAuthUrl', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信OAuth2授权链接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945105, 'PermMenuController#resourceList', '资源(权限码)列表', 'GET', '/perm/menu/resourceList', '菜单和权限码', b'1', b'1', '菜单和权限码 资源(权限码)列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945106, 'PasswordSecurityConfigController#addOrUpdate', '新增或添加密码安全配置', 'POST', '/security/password/addOrUpdate', '密码安全策略', b'1', b'1', '密码安全策略 新增或添加密码安全配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945107, 'PayGatewayNoticeController#aliPayNotice', '支付宝消息通知', 'POST', '/gateway/notice/alipay', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 支付宝消息通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945108, 'SmsTemplateController#findAll', '查询所有', 'GET', '/sms/template/findAll', '短信模板配置', b'1', b'1', '短信模板配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945109, 'PasswordSecurityConfigController#check', '登录后检查密码相关的情况', 'GET', '/security/password/check', '密码安全策略', b'1', b'1', '密码安全策略 登录后检查密码相关的情况', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945110, 'SystemMonitorController#getRedisInfo', '获取Redis信息', 'GET', '/monitor/system/getRedisInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取Redis信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945111, 'AllocationGroupController#delete', '删除', 'POST', '/allocation/group/delete', '分账组', b'1', b'1', '分账组 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945112, 'SystemMonitorController#getSystemInfo', '获取系统消息', 'GET', '/monitor/system/getSystemInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取系统消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945113, 'MailConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/mail/config/existsByCodeNotId', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945114, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '分账接收方控制器', b'1', b'1', '分账接收方控制器 新增', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945115, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945116, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询明细详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945117, 'SystemParamController#existsByKeyNotId', '判断编码是否存在(不包含自己)', 'GET', '/system/param/existsByKeyNotId', '系统参数', b'1', b'1', '系统参数 判断编码是否存在(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945118, 'WeChatMediaController#pageNews', '图文素材分页', 'GET', '/wechat/media/pageNews', '微信素材管理', b'1', b'1', '微信素材管理 图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945119, 'RoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/role/existsByCodeNotId', '角色管理', b'1', b'1', '角色管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945120, 'DataRoleController#page', '分页', 'GET', '/data/role/page', '数据角色配置', b'1', b'1', '数据角色配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945121, 'OperateLogController#deleteByDay', '清除指定天数的日志', 'DELETE', '/log/operate/deleteByDay', '操作日志', b'1', b'1', '操作日志 清除指定天数的日志', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945122, 'OnlineUserController#getSessionByUserId', '获取用户链接信息', 'GET', '/online/user/getSessionByUserId', '在线用户', b'1', b'1', '在线用户 获取用户链接信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945123, 'LoginTypeController#add', '添加登录方式', 'POST', '/loginType/add', '登录方式管理', b'1', b'1', '登录方式管理 添加登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945124, 'UnionPayConfigController#getConfig', '获取配置', 'GET', '/union/pay/config/getConfig', '云闪付配置', b'1', b'1', '云闪付配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945125, 'WeChatMenuController#delete', '删除', 'DELETE', '/wechat/menu/delete', '微信菜单管理', b'1', b'1', '微信菜单管理 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945126, 'BaseApiController#authEcho', '回声测试(必须要进行登录)', 'GET', '/auth/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试(必须要进行登录)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945127, 'WeChatQrLoginController#applyQrCode', '申请登录用QR码', 'POST', '/token/wechat/qr/applyQrCode', '微信扫码登录', b'1', b'1', '微信扫码登录 申请登录用QR码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945128, 'FIleUpLoadController#delete', '删除', 'DELETE', '/file/delete', '文件上传', b'1', b'1', '文件上传 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945129, 'CockpitReportController#getRefundChannelInfo', '显示通道退款订单金额和订单数', 'GET', '/report/cockpit/getRefundChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道退款订单金额和订单数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945130, 'RoleController#add', '添加角色(返回角色对象)', 'POST', '/role/add', '角色管理', b'1', b'1', '角色管理 添加角色(返回角色对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945131, 'ClientController#add', '添加', 'POST', '/client/add', '认证终端', b'1', b'1', '认证终端 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945132, 'UserInfoController#forgetPasswordByPhone', '通过手机号重置密码', 'POST', '/user/forgetPasswordByPhone', '用户管理', b'1', b'1', '用户管理 通过手机号重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945133, 'RolePathController#findPathsByRole', '获取当前用户角色下可见的请求权限列表(分配时用)', 'GET', '/role/path/findPathsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 获取当前用户角色下可见的请求权限列表(分配时用)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945134, 'WeChatMenuController#findAll', '查询所有', 'GET', '/wechat/menu/findAll', '微信菜单管理', b'1', b'1', '微信菜单管理 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945135, 'ClientController#findAll', '查询所有', 'GET', '/client/findAll', '认证终端', b'1', b'1', '认证终端 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945136, 'RefundOrderController#findExtraById', '查询扩展信息', 'GET', '/order/refund/findExtraById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945137, 'UserDataRoleController#saveAssignBatch', '给用户分配权限(批量)', 'POST', '/user/data/role/saveAssignBatch', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配权限(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945138, 'LoginLogController#page', '分页', 'GET', '/log/login/page', '登录日志', b'1', b'1', '登录日志 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945139, 'FIleUpLoadController#findById', '获取单条详情', 'GET', '/file/findById', '文件上传', b'1', b'1', '文件上传 获取单条详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945140, 'MessageTemplateController#findById', '获取详情', 'GET', '/message/template/findById', '消息模板', b'1', b'1', '消息模板 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945141, 'DataRoleController#saveUserAssign', '保存数据角色关联用户权限', 'POST', '/data/role/saveUserAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存数据角色关联用户权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945142, 'ThirdLoginController#callback', '扫码后回调', 'GET', '/auth/third/callback/{loginType}', '三方登录', b'1', b'1', '三方登录 扫码后回调', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945143, 'SmsChannelConfigController#findByCode', '通过Code查询', 'GET', '/sms/config/findByCode', '短信渠道配置', b'1', b'1', '短信渠道配置 通过Code查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945144, 'PayApiConfigController#findById', '根据ID获取', 'GET', '/pay/api/config/findById', '支付接口配置', b'1', b'1', '支付接口配置 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945145, 'DataVersionLogController#findById', '获取', 'GET', '/log/dataVersion/findById', '数据版本日志', b'1', b'1', '数据版本日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945146, 'PermPathController#update', '更新权限', 'POST', '/perm/path/update', '请求权限管理', b'1', b'1', '请求权限管理 更新权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945147, 'MailConfigController#setUpActivity', '设置启用的邮箱配置', 'POST', '/mail/config/setUpActivity', '邮箱配置', b'1', b'1', '邮箱配置 设置启用的邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945148, 'SmsTemplateController#findById', '通过ID查询', 'GET', '/sms/template/findById', '短信模板配置', b'1', b'1', '短信模板配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945149, 'DingRobotConfigController#add', '新增机器人配置', 'POST', '/ding/robot/config/add', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945150, 'PayCloseRecordController#findById', '查询单条', 'GET', '/record/close/findById', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945151, 'DataVersionLogController#page', '分页', 'GET', '/log/dataVersion/page', '数据版本日志', b'1', b'1', '数据版本日志 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945152, 'OpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945153, 'PermPathController#findAll', '权限列表', 'GET', '/perm/path/findAll', '请求权限管理', b'1', b'1', '请求权限管理 权限列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945154, 'UserAdminController#add', '添加用户', 'POST', '/user/admin/add', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 添加用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945155, 'PayCallbackRecordController#findById', '查询单条', 'GET', '/record/callback/findById', '支付回调信息记录', b'1', b'1', '支付回调信息记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945156, 'WecomRobotConfigController#page', '分页', 'GET', '/wecom/robot/config/page', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945157, 'WeChatMenuController#update', '修改', 'POST', '/wechat/menu/update', '微信菜单管理', b'1', b'1', '微信菜单管理 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945158, 'TestController#lock2', '锁测试2', 'GET', '/test/lock2', '测试', b'1', b'1', '测试 锁测试2', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945159, 'DataRoleController#findAll', '查询全部', 'GET', '/data/role/findAll', '数据角色配置', b'1', b'1', '数据角色配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945160, 'UserInfoController#forgetPasswordByEmail', '通过邮箱重置密码', 'POST', '/user/forgetPasswordByEmail', '用户管理', b'1', b'1', '用户管理 通过邮箱重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945161, 'RefundOrderController#page', '分页查询', 'GET', '/order/refund/page', '支付退款控制器', b'1', b'1', '支付退款控制器 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945162, 'AllocationOrderController#finish', '分账完结', 'POST', '/order/allocation/finish', '分账订单控制器', b'1', b'1', '分账订单控制器 分账完结', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945163, 'PayApiConfigController#findAll', '获取全部', 'GET', '/pay/api/config/findAll', '支付接口配置', b'1', b'1', '支付接口配置 获取全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945164, 'ClientNoticeTaskController#resetSend', '重新发送消息通知', 'POST', '/task/notice/resetSend', '客户系统通知任务', b'1', b'1', '客户系统通知任务 重新发送消息通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945165, 'PlatformConfigController#update', '更新平台配置项', 'POST', '/platform/config/update', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 更新平台配置项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945166, 'UserRoleController#saveAssign', '给用户分配角色', 'POST', '/user/role/saveAssign', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945167, 'UniPayController#close', '支付关闭接口', 'POST', '/unipay/close', '统一支付接口', b'1', b'1', '统一支付接口 支付关闭接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945168, 'UserDataRoleController#findDataRoleIdByUser', '根据用户ID获取到数据角色Id', 'GET', '/user/data/role/findDataRoleIdByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色Id', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945169, 'MailConfigController#existsByCode', '编码是否被使用', 'GET', '/mail/config/existsByCode', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945170, 'AllocationGroupController#updateRate', '修改分账比例', 'POST', '/allocation/group/updateRate', '分账组', b'1', b'1', '分账组 修改分账比例', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945171, 'WeChatPayConfigController#getConfig', '获取配置', 'GET', '/wechat/pay/config/getConfig', '微信支付配置', b'1', b'1', '微信支付配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945172, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '分账接收方控制器', b'1', b'1', '分账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945173, 'UserAssistController#validateCurrentChangeEmailCaptcha', '验证当前用户发送更改邮箱验证码', 'GET', '/user/validateCurrentChangeEmailCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945174, 'UserRoleController#saveAssignBatch', '给用户分配角色(批量)', 'POST', '/user/role/saveAssignBatch', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945175, 'ClientNoticeTaskController#page', '分页查询', 'GET', '/task/notice/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945176, 'UserAdminController#getByEmail', '根据邮箱查询用户', 'GET', '/user/admin/getByEmail', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据邮箱查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945177, 'RefundOrderController#syncByRefundNo', '退款同步', 'POST', '/order/refund/syncByRefundNo', '支付退款控制器', b'1', b'1', '支付退款控制器 退款同步', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945178, 'DeptController#delete', '普通删除', 'DELETE', '/dept/delete', '部门管理', b'1', b'1', '部门管理 普通删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945179, 'SystemParamController#page', '分页', 'GET', '/system/param/page', '系统参数', b'1', b'1', '系统参数 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945180, 'DingRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/ding/robot/config/existsByCodeNotId', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945181, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '分账接收方控制器', b'1', b'1', '分账接收方控制器 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945182, 'AggregateController#qrPayPage', '聚合支付扫码跳转中间页', 'GET', '/demo/aggregate/qrPayPage/{code}', '聚合支付', b'1', b'1', '聚合支付 聚合支付扫码跳转中间页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945183, 'UserAdminController#getByPhone', '根据手机号查询用户', 'GET', '/user/admin/getByPhone', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据手机号查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945184, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '分账订单控制器', b'1', b'1', '分账订单控制器 分账明细列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945185, 'LoginLogController#findById', '获取', 'GET', '/log/login/findById', '登录日志', b'1', b'1', '登录日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945186, 'WalletController#existsByUserId', '判断用户是否开通了钱包', 'GET', '/wallet/existsByUserId', '钱包管理', b'1', b'1', '钱包管理 判断用户是否开通了钱包', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945187, 'MailConfigController#add', '增加新邮箱配置', 'POST', '/mail/config/add', '邮箱配置', b'1', b'1', '邮箱配置 增加新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945188, 'RoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/role/existsByNameNotId', '角色管理', b'1', b'1', '角色管理 名称是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945189, 'PayMethodInfoController#findById', '根据ID获取', 'GET', '/pay/method/info/findById', '支付方式管理', b'1', b'1', '支付方式管理 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945190, 'UserAdminController#restartPasswordBatch', '批量重置密码', 'POST', '/user/admin/restartPasswordBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945191, 'DictionaryItemController#existsByCode', '编码是否被使用', 'GET', '/dict/item/existsByCode', '字典项', b'1', b'1', '字典项 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945192, 'AllocationReceiverController#delete', '删除', 'POST', '/allocation/receiver/delete', '分账接收方控制器', b'1', b'1', '分账接收方控制器 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945193, 'UserDeptController#findAllByUser', '根据用户ID获取到部门集合', 'GET', '/user/dept/findAllByUser', '用户部门关联关系', b'1', b'1', '用户部门关联关系 根据用户ID获取到部门集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945194, 'ClientNoticeTaskController#findById', '查询单条', 'GET', '/task/notice/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945195, 'UserThirdController#getThirdBindInfo', '获取绑定详情', 'GET', '/user/third/getThirdBindInfo', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取绑定详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945196, 'OperateLogController#findById', '获取', 'GET', '/log/operate/findById', '操作日志', b'1', b'1', '操作日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945197, 'MailConfigController#findById', '通过 id 获取指定邮箱配置', 'GET', '/mail/config/findById', '邮箱配置', b'1', b'1', '邮箱配置 通过 id 获取指定邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945198, 'AggregateController#getWxJsapiPay', '获取微信支付调起Jsapi支付的信息', 'POST', '/demo/aggregate/getWxJsapiPay', '聚合支付', b'1', b'1', '聚合支付 获取微信支付调起Jsapi支付的信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945199, 'PermPathController#delete', '删除权限', 'DELETE', '/perm/path/delete', '请求权限管理', b'1', b'1', '请求权限管理 删除权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945200, 'WeChatPayConfigController#findPayWays', '微信支持支付方式', 'GET', '/wechat/pay/config/findPayWays', '微信支付配置', b'1', b'1', '微信支付配置 微信支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945201, 'UserAssistController#validatePhoneChangeCaptcha', '验证改/绑定手机验证码', 'GET', '/user/validatePhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证改/绑定手机验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945202, 'UserAssistController#validateEmailForgetCaptcha', '验证找回密码邮箱验证码', 'GET', '/user/validateEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945203, 'ReconcileOrderController#downOriginal', '下载原始交易对账单文件', 'GET', '/order/reconcile/downOriginal', '对账控制器', b'1', b'1', '对账控制器 下载原始交易对账单文件', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945204, 'SmsChannelConfigController#update', '修改', 'POST', '/sms/config/update', '短信渠道配置', b'1', b'1', '短信渠道配置 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945205, 'LoginTypeController#delete', '删除登录方式', 'DELETE', '/loginType/delete', '登录方式管理', b'1', b'1', '登录方式管理 删除登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945206, 'DeptController#update', '更新', 'POST', '/dept/update', '部门管理', b'1', b'1', '部门管理 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945207, 'WeChatTemplateController#sync', '同步消息模板数据', 'POST', '/wechat/template/sync', '微信模板消息', b'1', b'1', '微信模板消息 同步消息模板数据', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945208, 'UserDeptController#saveAssignBatch', '给用户分配部门(批量)', 'POST', '/user/dept/saveAssignBatch', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945209, 'UserAdminController#unlockBatch', '批量解锁用户', 'POST', '/user/admin/unlockBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量解锁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945210, 'WecomRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wecom/robot/config/existsByCodeNotId', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945211, 'WeChatPayConfigController#update', '更新', 'POST', '/wechat/pay/config/update', '微信支付配置', b'1', b'1', '微信支付配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945212, 'UserThirdController#findById', '获取详情', 'POST', '/user/third/findById', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945213, 'RefundOrderController#resetRefund', '重新发起退款', 'POST', '/order/refund/resetRefund', '支付退款控制器', b'1', b'1', '支付退款控制器 重新发起退款', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945214, 'LoginTypeController#update', '修改登录方式(返回登录方式对象)', 'POST', '/loginType/update', '登录方式管理', b'1', b'1', '登录方式管理 修改登录方式(返回登录方式对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945215, 'ReconcileOrderController#findDetailById', '对账明细详情', 'GET', '/order/reconcile/detail/findById', '对账控制器', b'1', b'1', '对账控制器 对账明细详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945216, 'QuartzJobController#execute', '立即执行', 'POST', '/quartz/execute', '定时任务', b'1', b'1', '定时任务 立即执行', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945217, 'QuartzJobController#start', '启动', 'POST', '/quartz/start', '定时任务', b'1', b'1', '定时任务 启动', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945218, 'DictionaryController#findAll', '查询全部', 'GET', '/dict/findAll', '字典', b'1', b'1', '字典 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945219, 'WeChatMediaController#deleteFile', '删除素材', 'DELETE', '/wechat/media/deleteFile', '微信素材管理', b'1', b'1', '微信素材管理 删除素材', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945220, 'UniPayController#allocationFinish', '分账完结接口', 'POST', '/unipay/allocationFinish', '统一支付接口', b'1', b'1', '统一支付接口 分账完结接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945221, 'DataRoleController#update', '更新', 'POST', '/data/role/update', '数据角色配置', b'1', b'1', '数据角色配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945222, 'UnionPayConfigController#toBase64', '读取证书文件内容', 'POST', '/union/pay/config/toBase64', '云闪付配置', b'1', b'1', '云闪付配置 读取证书文件内容', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945223, 'LoginTypeController#findAll', '查询所有的登录方式', 'GET', '/loginType/findAll', '登录方式管理', b'1', b'1', '登录方式管理 查询所有的登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945224, 'UserInfoController#findUsernameByPhoneCaptcha', '根据手机验证码查询账号', 'GET', '/user/findUsernameByPhoneCaptcha', '用户管理', b'1', b'1', '用户管理 根据手机验证码查询账号', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945225, 'UserAssistController#sendCurrentPhoneChangeCaptcha', '给当前用户发送更改手机号验证码', 'POST', '/user/sendCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945226, 'DeptController#add', '添加', 'POST', '/dept/add', '部门管理', b'1', b'1', '部门管理 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945227, 'SystemParamController#findById', '获取单条', 'GET', '/system/param/findById', '系统参数', b'1', b'1', '系统参数 获取单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945228, 'QuartzJobLogController#findById', '单条', 'GET', '/quartz/log/findById', '定时任务执行日志', b'1', b'1', '定时任务执行日志 单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945229, 'RoleController#existsByCode', '编码是否被使用', 'GET', '/role/existsByCode', '角色管理', b'1', b'1', '角色管理 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945230, 'CockpitReportController#getPayChannelInfo', '显示通道支付订单金额和订单数', 'GET', '/report/cockpit/getPayChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道支付订单金额和订单数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945231, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '分账接收方控制器', b'1', b'1', '分账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945232, 'UserAdminController#unlock', '解锁用户', 'POST', '/user/admin/unlock', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 解锁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945233, 'WecomRobotConfigController#add', '新增机器人配置', 'POST', '/wecom/robot/config/add', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945234, 'AllocationGroupController#setDefault', '设置默认分账组', 'POST', '/allocation/group/setDefault', '分账组', b'1', b'1', '分账组 设置默认分账组', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945235, 'UserAdminController#findById', '根据用户id查询用户', 'GET', '/user/admin/findById', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据用户id查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945236, 'PayRepairRecordController#page', '分页查询', 'GET', '/record/repair/page', '支付修复记录', b'1', b'1', '支付修复记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945237, 'AllocationOrderController#page', '分页', 'GET', '/order/allocation/page', '分账订单控制器', b'1', b'1', '分账订单控制器 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945238, 'PasswordSecurityConfigController#isRecentlyUsed', '查看要修改的密码是否重复', 'GET', '/security/password/isRecentlyUsed', '密码安全策略', b'1', b'1', '密码安全策略 查看要修改的密码是否重复', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945239, 'WalletController#deduct', '扣减', 'POST', '/wallet/deduct', '钱包管理', b'1', b'1', '钱包管理 扣减', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945240, 'FIleUpLoadController#getFilePreviewUrlPrefix', '获取文件预览地址前缀', 'GET', '/file/getFilePreviewUrlPrefix', '文件上传', b'1', b'1', '文件上传 获取文件预览地址前缀', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945241, 'PermMenuController#existsByPermCode', '编码是否被使用(不包含自己)', 'GET', '/perm/menu/existsByPermCodeNotId', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945242, 'WeChatTemplateController#update', '修改', 'POST', '/wechat/template/update', '微信模板消息', b'1', b'1', '微信模板消息 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945243, 'CashierController#queryPayOrder', '查询支付订单', 'GET', '/demo/cashier/queryPayOrderSuccess', '结算台演示', b'1', b'1', '结算台演示 查询支付订单', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945244, 'ReconcileOrderController#downOriginal2Csv', '下载原始交易对账单记录(CSV格式)', 'GET', '/order/reconcile/downOriginal2Csv', '对账控制器', b'1', b'1', '对账控制器 下载原始交易对账单记录(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945245, 'SmsChannelConfigController#findAll', '查询所有', 'GET', '/sms/config/findAll', '短信渠道配置', b'1', b'1', '短信渠道配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945246, 'RoleMenuController#getPermissions', '获取菜单和权限码(根据用户进行筛选)', 'GET', '/role/menu/getPermissions', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取菜单和权限码(根据用户进行筛选)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945247, 'UserRoleController#findRoleIdsByUser', '根据用户ID获取到角色id集合', 'GET', '/user/role/findRoleIdsByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色id集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945248, 'AllocationGroupController#update', '修改', 'POST', '/allocation/group/update', '分账组', b'1', b'1', '分账组 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945249, 'FIleUpLoadController#preview', '预览文件(流量会经过后端)', 'GET', '/file/preview/{id}', '文件上传', b'1', b'1', '文件上传 预览文件(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945250, 'QuartzJobController#judgeJobClass', '判断是否是定时任务类', 'GET', '/quartz/judgeJobClass', '定时任务', b'1', b'1', '定时任务 判断是否是定时任务类', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945251, 'PayOrderController#getTotalAmount', '查询金额汇总', 'GET', '/order/pay/getTotalAmount', '支付订单控制器', b'1', b'1', '支付订单控制器 查询金额汇总', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945252, 'UserAssistController#sendCurrentEmailChangeCaptcha', '给当前用户发送更改邮箱验证码', 'POST', '/user/sendCurrentEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945253, 'WecomRobotConfigController#update', '修改机器人配置', 'POST', '/wecom/robot/config/update', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945254, 'UserThirdController#bind', '绑定第三方账号', 'POST', '/user/third/bind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 绑定第三方账号', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945255, 'RoleController#tree', '角色树', 'GET', '/role/tree', '角色管理', b'1', b'1', '角色管理 角色树', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945256, 'UniPayController#pay', '统一支付接口', 'POST', '/unipay/pay', '统一支付接口', b'1', b'1', '统一支付接口 统一支付接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945257, 'LoginTypeController#existsByCode', '编码是否被使用', 'GET', '/loginType/existsByCode', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945258, 'AllocationOrderController#sync', '同步分账结果', 'POST', '/order/allocation/sync', '分账订单控制器', b'1', b'1', '分账订单控制器 同步分账结果', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945259, 'UserAdminController#page', '分页', 'GET', '/user/admin/page', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945260, 'RolePathController#findIdsByRole', '根据角色id获取关联权限id', 'GET', '/role/path/findIdsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 根据角色id获取关联权限id', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945261, 'MultipleOpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945262, 'UserThirdController#page', '分页', 'GET', '/user/third/page', '用户三方登录管理', b'1', b'1', '用户三方登录管理 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945263, 'RoleController#findById', '通过ID查询角色', 'GET', '/role/findById', '角色管理', b'1', b'1', '角色管理 通过ID查询角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945264, 'ReconcileOrderController#create', '手动创建对账订单', 'POST', '/order/reconcile/create', '对账控制器', b'1', b'1', '对账控制器 手动创建对账订单', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945265, 'PayApiConfigController#update', '更新', 'POST', '/pay/api/config/update', '支付接口配置', b'1', b'1', '支付接口配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945266, 'PayOrderController#page', '分页查询', 'GET', '/order/pay/page', '支付订单控制器', b'1', b'1', '支付订单控制器 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945267, 'UserInfoController#existsUsername', '账号是否被使用(不包含自己)', 'GET', '/user/existsUsernameNotId', '用户管理', b'1', b'1', '用户管理 账号是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945268, 'UserDeptController#saveAssign', '给用户分配部门', 'POST', '/user/dept/saveAssign', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945269, 'CockpitReportController#getPayOrderCount', '支付订单数量', 'GET', '/report/cockpit/getPayOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付订单数量', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945270, 'UserAssistController#sendEmailForgetCaptcha', '发送找回密码邮箱验证码', 'POST', '/user/sendEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945271, 'WecomRobotConfigController#findById', '获取详情', 'GET', '/wecom/robot/config/findById', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945272, 'ClientNoticeTaskController#recordPage', '分页查询', 'GET', '/task/notice/record/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945273, 'RefundOrderController#findById', '查询单条', 'GET', '/order/refund/findById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945274, 'UserDataRoleController#findDataRoleByUser', '根据用户ID获取到数据角色列表', 'GET', '/user/data/role/findDataRoleByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945275, 'ChinaRegionController#findAllRegionByParentCode', '根据编码获取下一级行政区划的列表', 'GET', '/china/region/findAllRegionByParentCode', '中国行政区划', b'1', b'1', '中国行政区划 根据编码获取下一级行政区划的列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945276, 'DataRoleController#existsByName', '名称是否被使用', 'GET', '/data/role/existsByName', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945277, 'AllocationGroupController#create', '创建', 'POST', '/allocation/group/create', '分账组', b'1', b'1', '分账组 创建', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945278, 'UserAssistController#validatePhoneForgetCaptcha', '验证找回密码手机验证码', 'GET', '/user/validatePhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码手机验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945279, 'PayChannelConfigController#update', '更新', 'POST', '/pay/channel/config/update', '支付通道信息', b'1', b'1', '支付通道信息 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945280, 'DictionaryController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/existsByCodeNotId', '字典', b'1', b'1', '字典 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945281, 'PermMenuController#menuTree', '获取菜单树', 'GET', '/perm/menu/menuTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单树', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945282, 'DictionaryItemController#delete', '删除字典项', 'DELETE', '/dict/item/delete', '字典项', b'1', b'1', '字典项 删除字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945283, 'DingRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/ding/robot/config/existsByCode', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945284, 'SiteMessageController#countByReceiveNotRead', '获取未读的接收消息条数', 'GET', '/site/message/countByReceiveNotRead', '站内信', b'1', b'1', '站内信 获取未读的接收消息条数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945285, 'WecomRobotConfigController#findAll', '查询全部', 'GET', '/wecom/robot/config/findAll', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945286, 'PayReturnController#union', '云闪付同步通知', 'POST', '/return/pay/union', '支付同步通知', b'1', b'1', '支付同步通知 云闪付同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945287, 'UserAssistController#validateCurrentPhoneChangeCaptcha', '验证当前用户发送更改手机号验证码', 'GET', '/user/validateCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945288, 'WeChatTemplateController#page', '分页查询', 'GET', '/wechat/template/page', '微信模板消息', b'1', b'1', '微信模板消息 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945289, 'SmsTemplateController#add', '添加', 'POST', '/sms/template/add', '短信模板配置', b'1', b'1', '短信模板配置 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945290, 'PermPathController#batchUpdateEnable', '批量更新状态', 'POST', '/perm/path/batchUpdateEnable', '请求权限管理', b'1', b'1', '请求权限管理 批量更新状态', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945291, 'DingRobotConfigController#findAll', '查询全部', 'GET', '/ding/robot/config/findAll', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945292, 'QuartzJobController#syncJobStatus', '同步定时任务状态', 'POST', '/quartz/syncJobStatus', '定时任务', b'1', b'1', '定时任务 同步定时任务状态', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945293, 'SiteMessageController#cancel', '撤回消息', 'POST', '/site/message/cancel', '站内信', b'1', b'1', '站内信 撤回消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945294, 'DictionaryItemController#findAll', '获取全部字典项', 'GET', '/dict/item/findAll', '字典项', b'1', b'1', '字典项 获取全部字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945295, 'UserAssistController#validateEmailCaptcha', '验证更改/绑定邮箱验证码', 'GET', '/user/validateEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证更改/绑定邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945296, 'PermMenuController#findById', '根据id查询', 'GET', '/perm/menu/findById', '菜单和权限码', b'1', b'1', '菜单和权限码 根据id查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945297, 'RoleMenuController#findPermissionIdsByRole', '获取当前角色下关联权限id集合(包含权限码和菜单)', 'GET', '/role/menu/findPermissionIdsByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下关联权限id集合(包含权限码和菜单)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945298, 'SwaggerConfigResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/swagger-config', 'SwaggerConfigResource', b'1', b'1', 'SwaggerConfigResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945299, 'UnionPayConfigController#update', '更新', 'POST', '/union/pay/config/update', '云闪付配置', b'1', b'1', '云闪付配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945300, 'WecomRobotConfigController#delete', '删除', 'DELETE', '/wecom/robot/config/delete', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945301, 'TokenEndpoint#login', '普通登录', 'POST', '/token/login', '认证相关', b'1', b'1', '认证相关 普通登录', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945302, 'RefundOrderController#refund', '手动发起退款', 'POST', '/order/refund/refund', '支付退款控制器', b'1', b'1', '支付退款控制器 手动发起退款', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945303, 'QuartzJobController#page', '分页', 'GET', '/quartz/page', '定时任务', b'1', b'1', '定时任务 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945304, 'CockpitReportController#getPayAmount', '支付金额(分)', 'GET', '/report/cockpit/getPayAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付金额(分)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945305, 'SiteMessageController#saveOrUpdate', '保存站内信草稿', 'POST', '/site/message/saveOrUpdate', '站内信', b'1', b'1', '站内信 保存站内信草稿', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945306, 'UserAdminController#ban', '封禁用户', 'POST', '/user/admin/ban', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 封禁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945307, 'MessageTemplateController#rendering', '渲染模板', 'POST', '/message/template/rendering', '消息模板', b'1', b'1', '消息模板 渲染模板', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945308, 'WalletController#create', '创建钱包', 'POST', '/wallet/create', '钱包管理', b'1', b'1', '钱包管理 创建钱包', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945309, 'PermPathController#syncSystem', '同步系统请求资源', 'POST', '/perm/path/syncSystem', '请求权限管理', b'1', b'1', '请求权限管理 同步系统请求资源', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945310, 'SystemParamController#existsByKey', '判断编码是否存在', 'GET', '/system/param/existsByKey', '系统参数', b'1', b'1', '系统参数 判断编码是否存在', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945311, 'BaseApiController#echo', '回声测试', 'GET', '/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945312, 'ReconcileOrderController#findDiffById', '对账差异详情', 'GET', '/order/reconcile/diff/findById', '对账控制器', b'1', b'1', '对账控制器 对账差异详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945313, 'PaySyncRecordController#page', '分页查询', 'GET', '/record/sync/page', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945314, 'CashierController#getWxAuthUrl', '获取微信授权链接', 'GET', '/demo/cashier/getWxAuthUrl', '结算台演示', b'1', b'1', '结算台演示 获取微信授权链接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); - --- ---------------------------- --- Table structure for iam_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_role`; -CREATE TABLE `iam_role` ( - `id` bigint(20) NOT NULL COMMENT '角色ID', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编码', - `pid` bigint(20) NULL DEFAULT NULL COMMENT '父ID', - `name` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `internal` bit(1) NOT NULL COMMENT '是否系统内置', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '说明', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role --- ---------------------------- -INSERT INTO `iam_role` VALUES (1757297023118462976, 'daxpayAdmin', NULL, '支付网关管理员', b'0', '', 1399985191002447872, '2024-02-13 14:53:54', 1399985191002447872, '2024-02-13 14:53:54', 0, 0); -INSERT INTO `iam_role` VALUES (1757298887092326400, 'daxpayDemo', 1757297023118462976, '支付演示角色', b'0', '用于进行演示的角色, 没有修改和删除的权限', 1399985191002447872, '2024-02-13 15:01:18', 1399985191002447872, '2024-02-13 15:01:18', 0, 0); - --- ---------------------------- --- Table structure for iam_role_menu --- ---------------------------- -DROP TABLE IF EXISTS `iam_role_menu`; -CREATE TABLE `iam_role_menu` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `client_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '终端code', - `permission_id` bigint(20) NOT NULL COMMENT '菜单权限id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色菜单权限表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role_menu --- ---------------------------- -INSERT INTO `iam_role_menu` VALUES (1757298674730520576, 1757297023118462976, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298674730520577, 1757297023118462976, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298674730520578, 1757297023118462976, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298674730520579, 1757297023118462976, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298674730520580, 1757297023118462976, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298674730520582, 1757297023118462976, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298674730520583, 1757297023118462976, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298674730520584, 1757297023118462976, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298674730520585, 1757297023118462976, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298674730520586, 1757297023118462976, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298674730520587, 1757297023118462976, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298674730520588, 1757297023118462976, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298674730520589, 1757297023118462976, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298674730520590, 1757297023118462976, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059200, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059201, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059202, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059203, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059204, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059205, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059206, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059207, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059208, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059209, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059210, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059212, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059213, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059214, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059215, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059216, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059217, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059218, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059219, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059220, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059221, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059222, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059223, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059224, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059225, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059227, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059228, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059229, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059230, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059231, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059232, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059233, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059234, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059235, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059236, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059237, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059238, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059239, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059240, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059242, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059243, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059244, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1757298924107059245, 1757298887092326400, 'dax-pay', 1744271715476684800); -INSERT INTO `iam_role_menu` VALUES (1757298924107059246, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059247, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059248, 1757298887092326400, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298924107059249, 1757298887092326400, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298924107059250, 1757298887092326400, 'dax-pay', 1745822093382230016); -INSERT INTO `iam_role_menu` VALUES (1757298924107059251, 1757298887092326400, 'dax-pay', 1744642856348520448); -INSERT INTO `iam_role_menu` VALUES (1757298924107059252, 1757298887092326400, 'dax-pay', 1745457623493496832); -INSERT INTO `iam_role_menu` VALUES (1757298924107059253, 1757298887092326400, 'dax-pay', 1745457746529210368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059254, 1757298887092326400, 'dax-pay', 1749262518385082368); -INSERT INTO `iam_role_menu` VALUES (1757298924107059255, 1757298887092326400, 'dax-pay', 1744643265142165504); -INSERT INTO `iam_role_menu` VALUES (1757298924107059257, 1757298887092326400, 'dax-pay', 1745126072389963776); -INSERT INTO `iam_role_menu` VALUES (1757298924107059258, 1757298887092326400, 'dax-pay', 1745136155962347520); -INSERT INTO `iam_role_menu` VALUES (1757298924107059259, 1757298887092326400, 'dax-pay', 1745143528663781376); -INSERT INTO `iam_role_menu` VALUES (1762112282006073350, 1757297023118462976, 'dax-pay', 1761429304959528960); -INSERT INTO `iam_role_menu` VALUES (1762112282006073351, 1757297023118462976, 'dax-pay', 1761429682618855424); -INSERT INTO `iam_role_menu` VALUES (1762112282006073352, 1757297023118462976, 'dax-pay', 1759768820429352960); -INSERT INTO `iam_role_menu` VALUES (1762112282006073353, 1757297023118462976, 'dax-pay', 1759769092698402816); -INSERT INTO `iam_role_menu` VALUES (1762112282232565766, 1757298887092326400, 'dax-pay', 1761429304959528960); -INSERT INTO `iam_role_menu` VALUES (1762112282232565767, 1757298887092326400, 'dax-pay', 1761429682618855424); -INSERT INTO `iam_role_menu` VALUES (1762112282232565768, 1757298887092326400, 'dax-pay', 1759768820429352960); -INSERT INTO `iam_role_menu` VALUES (1762112282232565769, 1757298887092326400, 'dax-pay', 1759769092698402816); -INSERT INTO `iam_role_menu` VALUES (1780416732268605440, 1757297023118462976, 'dax-pay', 1775089099078553600); -INSERT INTO `iam_role_menu` VALUES (1780416732268605441, 1757297023118462976, 'dax-pay', 1775089820368818176); -INSERT INTO `iam_role_menu` VALUES (1780416732268605442, 1757297023118462976, 'dax-pay', 1775091561835450368); -INSERT INTO `iam_role_menu` VALUES (1780416732268605443, 1757297023118462976, 'dax-pay', 1777688382748700672); -INSERT INTO `iam_role_menu` VALUES (1780416732574789632, 1757298887092326400, 'dax-pay', 1775089099078553600); -INSERT INTO `iam_role_menu` VALUES (1780416732574789633, 1757298887092326400, 'dax-pay', 1775089820368818176); -INSERT INTO `iam_role_menu` VALUES (1780416732574789634, 1757298887092326400, 'dax-pay', 1775091561835450368); -INSERT INTO `iam_role_menu` VALUES (1780416732574789635, 1757298887092326400, 'dax-pay', 1777688382748700672); -INSERT INTO `iam_role_menu` VALUES (1789979742020689920, 1757297023118462976, 'dax-pay', 1786808188825194496); -INSERT INTO `iam_role_menu` VALUES (1789979742020689921, 1757297023118462976, 'dax-pay', 1786810890951020544); -INSERT INTO `iam_role_menu` VALUES (1789979742020689922, 1757297023118462976, 'dax-pay', 1744930046228017152); -INSERT INTO `iam_role_menu` VALUES (1789979742314291200, 1757298887092326400, 'dax-pay', 1786808188825194496); -INSERT INTO `iam_role_menu` VALUES (1789979742314291201, 1757298887092326400, 'dax-pay', 1786810890951020544); -INSERT INTO `iam_role_menu` VALUES (1789979742314291202, 1757298887092326400, 'dax-pay', 1744930046228017152); - --- ---------------------------- --- Table structure for iam_role_path --- ---------------------------- -DROP TABLE IF EXISTS `iam_role_path`; -CREATE TABLE `iam_role_path` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_role_path --- ---------------------------- -INSERT INTO `iam_role_path` VALUES (1789979321814343680, 1757297023118462976, 1789978117570945313); -INSERT INTO `iam_role_path` VALUES (1789979321814343681, 1757297023118462976, 1789978117566750768); -INSERT INTO `iam_role_path` VALUES (1789979321814343682, 1757297023118462976, 1789978117570945312); -INSERT INTO `iam_role_path` VALUES (1789979321814343683, 1757297023118462976, 1789978117570945264); -INSERT INTO `iam_role_path` VALUES (1789979321814343684, 1757297023118462976, 1789978117570945244); -INSERT INTO `iam_role_path` VALUES (1789979321814343685, 1757297023118462976, 1789978117570945215); -INSERT INTO `iam_role_path` VALUES (1789979321814343686, 1757297023118462976, 1789978117570945203); -INSERT INTO `iam_role_path` VALUES (1789979321814343687, 1757297023118462976, 1789978117570945080); -INSERT INTO `iam_role_path` VALUES (1789979321814343688, 1757297023118462976, 1789978117570945074); -INSERT INTO `iam_role_path` VALUES (1789979321814343689, 1757297023118462976, 1789978117570945029); -INSERT INTO `iam_role_path` VALUES (1789979321814343690, 1757297023118462976, 1789978117570945024); -INSERT INTO `iam_role_path` VALUES (1789979321814343691, 1757297023118462976, 1789978117566750819); -INSERT INTO `iam_role_path` VALUES (1789979321814343692, 1757297023118462976, 1789978117566750783); -INSERT INTO `iam_role_path` VALUES (1789979321814343693, 1757297023118462976, 1789978117566750760); -INSERT INTO `iam_role_path` VALUES (1789979321814343694, 1757297023118462976, 1789978117566750746); -INSERT INTO `iam_role_path` VALUES (1789979321814343695, 1757297023118462976, 1789978117562556431); -INSERT INTO `iam_role_path` VALUES (1789979321814343696, 1757297023118462976, 1789978117570945311); -INSERT INTO `iam_role_path` VALUES (1789979321814343697, 1757297023118462976, 1789978117570945126); -INSERT INTO `iam_role_path` VALUES (1789979321814343698, 1757297023118462976, 1789978117570945304); -INSERT INTO `iam_role_path` VALUES (1789979321814343699, 1757297023118462976, 1789978117570945269); -INSERT INTO `iam_role_path` VALUES (1789979321814343700, 1757297023118462976, 1789978117570945230); -INSERT INTO `iam_role_path` VALUES (1789979321814343701, 1757297023118462976, 1789978117570945129); -INSERT INTO `iam_role_path` VALUES (1789979321814343702, 1757297023118462976, 1789978117566750730); -INSERT INTO `iam_role_path` VALUES (1789979321814343703, 1757297023118462976, 1789978117562556448); -INSERT INTO `iam_role_path` VALUES (1789979321814343704, 1757297023118462976, 1789978117570945302); -INSERT INTO `iam_role_path` VALUES (1789979321814343705, 1757297023118462976, 1789978117570945273); -INSERT INTO `iam_role_path` VALUES (1789979321814343706, 1757297023118462976, 1789978117570945213); -INSERT INTO `iam_role_path` VALUES (1789979321814343707, 1757297023118462976, 1789978117570945177); -INSERT INTO `iam_role_path` VALUES (1789979321814343708, 1757297023118462976, 1789978117570945161); -INSERT INTO `iam_role_path` VALUES (1789979321814343709, 1757297023118462976, 1789978117570945136); -INSERT INTO `iam_role_path` VALUES (1789979321814343710, 1757297023118462976, 1789978117566750763); -INSERT INTO `iam_role_path` VALUES (1789979321814343711, 1757297023118462976, 1789978117566750728); -INSERT INTO `iam_role_path` VALUES (1789979321814343712, 1757297023118462976, 1789978117570945299); -INSERT INTO `iam_role_path` VALUES (1789979321814343713, 1757297023118462976, 1789978117570945222); -INSERT INTO `iam_role_path` VALUES (1789979321814343714, 1757297023118462976, 1789978117570945124); -INSERT INTO `iam_role_path` VALUES (1789979321814343715, 1757297023118462976, 1789978117566750820); -INSERT INTO `iam_role_path` VALUES (1789979321814343716, 1757297023118462976, 1789978117570945286); -INSERT INTO `iam_role_path` VALUES (1789979321814343717, 1757297023118462976, 1789978117570945072); -INSERT INTO `iam_role_path` VALUES (1789979321814343718, 1757297023118462976, 1789978117570945064); -INSERT INTO `iam_role_path` VALUES (1789979321814343719, 1757297023118462976, 1789978117570945279); -INSERT INTO `iam_role_path` VALUES (1789979321814343720, 1757297023118462976, 1789978117570945028); -INSERT INTO `iam_role_path` VALUES (1789979321814343721, 1757297023118462976, 1789978117566750751); -INSERT INTO `iam_role_path` VALUES (1789979321814343722, 1757297023118462976, 1789978117570945277); -INSERT INTO `iam_role_path` VALUES (1789979321814343723, 1757297023118462976, 1789978117570945248); -INSERT INTO `iam_role_path` VALUES (1789979321814343724, 1757297023118462976, 1789978117570945234); -INSERT INTO `iam_role_path` VALUES (1789979321814343725, 1757297023118462976, 1789978117570945170); -INSERT INTO `iam_role_path` VALUES (1789979321814343726, 1757297023118462976, 1789978117570945111); -INSERT INTO `iam_role_path` VALUES (1789979321814343727, 1757297023118462976, 1789978117570945100); -INSERT INTO `iam_role_path` VALUES (1789979321814343728, 1757297023118462976, 1789978117570945038); -INSERT INTO `iam_role_path` VALUES (1789979321814343729, 1757297023118462976, 1789978117566750807); -INSERT INTO `iam_role_path` VALUES (1789979321814343730, 1757297023118462976, 1789978117566750789); -INSERT INTO `iam_role_path` VALUES (1789979321814343731, 1757297023118462976, 1789978117566750759); -INSERT INTO `iam_role_path` VALUES (1789979321814343732, 1757297023118462976, 1789978117566750744); -INSERT INTO `iam_role_path` VALUES (1789979321814343733, 1757297023118462976, 1789978117562556423); -INSERT INTO `iam_role_path` VALUES (1789979321814343734, 1757297023118462976, 1789978117570945266); -INSERT INTO `iam_role_path` VALUES (1789979321814343735, 1757297023118462976, 1789978117570945251); -INSERT INTO `iam_role_path` VALUES (1789979321814343736, 1757297023118462976, 1789978117570945073); -INSERT INTO `iam_role_path` VALUES (1789979321814343737, 1757297023118462976, 1789978117570945056); -INSERT INTO `iam_role_path` VALUES (1789979321814343738, 1757297023118462976, 1789978117566750822); -INSERT INTO `iam_role_path` VALUES (1789979321814343739, 1757297023118462976, 1789978117566750809); -INSERT INTO `iam_role_path` VALUES (1789979321814343740, 1757297023118462976, 1789978117566750803); -INSERT INTO `iam_role_path` VALUES (1789979321814343741, 1757297023118462976, 1789978117566750726); -INSERT INTO `iam_role_path` VALUES (1789979321814343742, 1757297023118462976, 1789978117570945265); -INSERT INTO `iam_role_path` VALUES (1789979321814343743, 1757297023118462976, 1789978117570945163); -INSERT INTO `iam_role_path` VALUES (1789979321814343744, 1757297023118462976, 1789978117570945144); -INSERT INTO `iam_role_path` VALUES (1789979321814343745, 1757297023118462976, 1789978117570945258); -INSERT INTO `iam_role_path` VALUES (1789979321814343746, 1757297023118462976, 1789978117570945237); -INSERT INTO `iam_role_path` VALUES (1789979321814343747, 1757297023118462976, 1789978117570945184); -INSERT INTO `iam_role_path` VALUES (1789979321814343748, 1757297023118462976, 1789978117570945162); -INSERT INTO `iam_role_path` VALUES (1789979321814343749, 1757297023118462976, 1789978117570945116); -INSERT INTO `iam_role_path` VALUES (1789979321814343750, 1757297023118462976, 1789978117570945115); -INSERT INTO `iam_role_path` VALUES (1789979321814343751, 1757297023118462976, 1789978117570945085); -INSERT INTO `iam_role_path` VALUES (1789979321814343752, 1757297023118462976, 1789978117562556418); -INSERT INTO `iam_role_path` VALUES (1789979321814343753, 1757297023118462976, 1789978117570945236); -INSERT INTO `iam_role_path` VALUES (1789979321814343754, 1757297023118462976, 1789978117570945098); -INSERT INTO `iam_role_path` VALUES (1789979321814343755, 1757297023118462976, 1789978117570945231); -INSERT INTO `iam_role_path` VALUES (1789979321814343756, 1757297023118462976, 1789978117570945192); -INSERT INTO `iam_role_path` VALUES (1789979321814343757, 1757297023118462976, 1789978117570945181); -INSERT INTO `iam_role_path` VALUES (1789979321814343758, 1757297023118462976, 1789978117570945172); -INSERT INTO `iam_role_path` VALUES (1789979321814343759, 1757297023118462976, 1789978117570945114); -INSERT INTO `iam_role_path` VALUES (1789979321814343760, 1757297023118462976, 1789978117570945082); -INSERT INTO `iam_role_path` VALUES (1789979321814343761, 1757297023118462976, 1789978117566750740); -INSERT INTO `iam_role_path` VALUES (1789979321814343762, 1757297023118462976, 1789978117562556428); -INSERT INTO `iam_role_path` VALUES (1789979321814343763, 1757297023118462976, 1789978117562556420); -INSERT INTO `iam_role_path` VALUES (1789979321814343764, 1757297023118462976, 1789978117570945198); -INSERT INTO `iam_role_path` VALUES (1789979321814343765, 1757297023118462976, 1789978117570945182); -INSERT INTO `iam_role_path` VALUES (1789979321814343766, 1757297023118462976, 1789978117570945078); -INSERT INTO `iam_role_path` VALUES (1789979321814343767, 1757297023118462976, 1789978117570945067); -INSERT INTO `iam_role_path` VALUES (1789979321814343768, 1757297023118462976, 1789978117570945044); -INSERT INTO `iam_role_path` VALUES (1789979321814343769, 1757297023118462976, 1789978117562556452); -INSERT INTO `iam_role_path` VALUES (1789979321814343770, 1757297023118462976, 1789978117562556425); -INSERT INTO `iam_role_path` VALUES (1789979321814343771, 1757297023118462976, 1789978117570945211); -INSERT INTO `iam_role_path` VALUES (1789979321814343772, 1757297023118462976, 1789978117570945200); -INSERT INTO `iam_role_path` VALUES (1789979321814343773, 1757297023118462976, 1789978117570945171); -INSERT INTO `iam_role_path` VALUES (1789979321814343774, 1757297023118462976, 1789978117562556419); -INSERT INTO `iam_role_path` VALUES (1789979321814343775, 1757297023118462976, 1789978117570945189); -INSERT INTO `iam_role_path` VALUES (1789979321814343776, 1757297023118462976, 1789978117570945048); -INSERT INTO `iam_role_path` VALUES (1789979321814343777, 1757297023118462976, 1789978117562556429); -INSERT INTO `iam_role_path` VALUES (1789979321814343778, 1757297023118462976, 1789978117570945165); -INSERT INTO `iam_role_path` VALUES (1789979321814343779, 1757297023118462976, 1789978117562556435); -INSERT INTO `iam_role_path` VALUES (1789979321814343780, 1757297023118462976, 1789978117570945155); -INSERT INTO `iam_role_path` VALUES (1789979321814343781, 1757297023118462976, 1789978117566750762); -INSERT INTO `iam_role_path` VALUES (1789979321814343782, 1757297023118462976, 1789978117570945150); -INSERT INTO `iam_role_path` VALUES (1789979321814343783, 1757297023118462976, 1789978117566750753); -INSERT INTO `iam_role_path` VALUES (1789979321814343784, 1757297023118462976, 1789978117570945107); -INSERT INTO `iam_role_path` VALUES (1789979321814343785, 1757297023118462976, 1789978117566750736); -INSERT INTO `iam_role_path` VALUES (1789979321814343786, 1757297023118462976, 1789978117570945104); -INSERT INTO `iam_role_path` VALUES (1789979321814343787, 1757297023118462976, 1789978117566750742); -INSERT INTO `iam_role_path` VALUES (1789979322187636736, 1757298887092326400, 1789978117570945313); -INSERT INTO `iam_role_path` VALUES (1789979322187636737, 1757298887092326400, 1789978117566750768); -INSERT INTO `iam_role_path` VALUES (1789979322187636738, 1757298887092326400, 1789978117570945312); -INSERT INTO `iam_role_path` VALUES (1789979322187636739, 1757298887092326400, 1789978117570945264); -INSERT INTO `iam_role_path` VALUES (1789979322187636740, 1757298887092326400, 1789978117570945244); -INSERT INTO `iam_role_path` VALUES (1789979322187636741, 1757298887092326400, 1789978117570945215); -INSERT INTO `iam_role_path` VALUES (1789979322187636742, 1757298887092326400, 1789978117570945203); -INSERT INTO `iam_role_path` VALUES (1789979322187636743, 1757298887092326400, 1789978117570945080); -INSERT INTO `iam_role_path` VALUES (1789979322187636744, 1757298887092326400, 1789978117570945074); -INSERT INTO `iam_role_path` VALUES (1789979322187636745, 1757298887092326400, 1789978117570945029); -INSERT INTO `iam_role_path` VALUES (1789979322187636746, 1757298887092326400, 1789978117570945024); -INSERT INTO `iam_role_path` VALUES (1789979322187636747, 1757298887092326400, 1789978117566750819); -INSERT INTO `iam_role_path` VALUES (1789979322187636748, 1757298887092326400, 1789978117566750783); -INSERT INTO `iam_role_path` VALUES (1789979322187636749, 1757298887092326400, 1789978117566750760); -INSERT INTO `iam_role_path` VALUES (1789979322187636750, 1757298887092326400, 1789978117566750746); -INSERT INTO `iam_role_path` VALUES (1789979322187636751, 1757298887092326400, 1789978117562556431); -INSERT INTO `iam_role_path` VALUES (1789979322187636752, 1757298887092326400, 1789978117570945311); -INSERT INTO `iam_role_path` VALUES (1789979322187636753, 1757298887092326400, 1789978117570945126); -INSERT INTO `iam_role_path` VALUES (1789979322187636754, 1757298887092326400, 1789978117570945304); -INSERT INTO `iam_role_path` VALUES (1789979322187636755, 1757298887092326400, 1789978117570945269); -INSERT INTO `iam_role_path` VALUES (1789979322187636756, 1757298887092326400, 1789978117570945230); -INSERT INTO `iam_role_path` VALUES (1789979322187636757, 1757298887092326400, 1789978117570945129); -INSERT INTO `iam_role_path` VALUES (1789979322187636758, 1757298887092326400, 1789978117566750730); -INSERT INTO `iam_role_path` VALUES (1789979322187636759, 1757298887092326400, 1789978117562556448); -INSERT INTO `iam_role_path` VALUES (1789979322187636760, 1757298887092326400, 1789978117570945302); -INSERT INTO `iam_role_path` VALUES (1789979322187636761, 1757298887092326400, 1789978117570945273); -INSERT INTO `iam_role_path` VALUES (1789979322187636762, 1757298887092326400, 1789978117570945213); -INSERT INTO `iam_role_path` VALUES (1789979322187636763, 1757298887092326400, 1789978117570945177); -INSERT INTO `iam_role_path` VALUES (1789979322187636764, 1757298887092326400, 1789978117570945161); -INSERT INTO `iam_role_path` VALUES (1789979322187636765, 1757298887092326400, 1789978117570945136); -INSERT INTO `iam_role_path` VALUES (1789979322187636766, 1757298887092326400, 1789978117566750763); -INSERT INTO `iam_role_path` VALUES (1789979322187636767, 1757298887092326400, 1789978117566750728); -INSERT INTO `iam_role_path` VALUES (1789979322187636769, 1757298887092326400, 1789978117570945222); -INSERT INTO `iam_role_path` VALUES (1789979322187636771, 1757298887092326400, 1789978117566750820); -INSERT INTO `iam_role_path` VALUES (1789979322187636772, 1757298887092326400, 1789978117570945286); -INSERT INTO `iam_role_path` VALUES (1789979322187636773, 1757298887092326400, 1789978117570945072); -INSERT INTO `iam_role_path` VALUES (1789979322187636774, 1757298887092326400, 1789978117570945064); -INSERT INTO `iam_role_path` VALUES (1789979322187636775, 1757298887092326400, 1789978117570945279); -INSERT INTO `iam_role_path` VALUES (1789979322187636776, 1757298887092326400, 1789978117570945028); -INSERT INTO `iam_role_path` VALUES (1789979322187636777, 1757298887092326400, 1789978117566750751); -INSERT INTO `iam_role_path` VALUES (1789979322187636778, 1757298887092326400, 1789978117570945277); -INSERT INTO `iam_role_path` VALUES (1789979322187636783, 1757298887092326400, 1789978117570945100); -INSERT INTO `iam_role_path` VALUES (1789979322187636786, 1757298887092326400, 1789978117566750789); -INSERT INTO `iam_role_path` VALUES (1789979322187636790, 1757298887092326400, 1789978117570945266); -INSERT INTO `iam_role_path` VALUES (1789979322187636791, 1757298887092326400, 1789978117570945251); -INSERT INTO `iam_role_path` VALUES (1789979322187636792, 1757298887092326400, 1789978117570945073); -INSERT INTO `iam_role_path` VALUES (1789979322187636793, 1757298887092326400, 1789978117570945056); -INSERT INTO `iam_role_path` VALUES (1789979322187636794, 1757298887092326400, 1789978117566750822); -INSERT INTO `iam_role_path` VALUES (1789979322187636795, 1757298887092326400, 1789978117566750809); -INSERT INTO `iam_role_path` VALUES (1789979322187636796, 1757298887092326400, 1789978117566750803); -INSERT INTO `iam_role_path` VALUES (1789979322187636797, 1757298887092326400, 1789978117566750726); -INSERT INTO `iam_role_path` VALUES (1789979322187636799, 1757298887092326400, 1789978117570945163); -INSERT INTO `iam_role_path` VALUES (1789979322187636800, 1757298887092326400, 1789978117570945144); -INSERT INTO `iam_role_path` VALUES (1789979322187636801, 1757298887092326400, 1789978117570945258); -INSERT INTO `iam_role_path` VALUES (1789979322187636802, 1757298887092326400, 1789978117570945237); -INSERT INTO `iam_role_path` VALUES (1789979322187636803, 1757298887092326400, 1789978117570945184); -INSERT INTO `iam_role_path` VALUES (1789979322187636804, 1757298887092326400, 1789978117570945162); -INSERT INTO `iam_role_path` VALUES (1789979322187636805, 1757298887092326400, 1789978117570945116); -INSERT INTO `iam_role_path` VALUES (1789979322187636806, 1757298887092326400, 1789978117570945115); -INSERT INTO `iam_role_path` VALUES (1789979322187636807, 1757298887092326400, 1789978117570945085); -INSERT INTO `iam_role_path` VALUES (1789979322187636808, 1757298887092326400, 1789978117562556418); -INSERT INTO `iam_role_path` VALUES (1789979322187636809, 1757298887092326400, 1789978117570945236); -INSERT INTO `iam_role_path` VALUES (1789979322187636810, 1757298887092326400, 1789978117570945098); -INSERT INTO `iam_role_path` VALUES (1789979322187636811, 1757298887092326400, 1789978117570945231); -INSERT INTO `iam_role_path` VALUES (1789979322187636812, 1757298887092326400, 1789978117570945192); -INSERT INTO `iam_role_path` VALUES (1789979322187636813, 1757298887092326400, 1789978117570945181); -INSERT INTO `iam_role_path` VALUES (1789979322187636814, 1757298887092326400, 1789978117570945172); -INSERT INTO `iam_role_path` VALUES (1789979322187636815, 1757298887092326400, 1789978117570945114); -INSERT INTO `iam_role_path` VALUES (1789979322187636816, 1757298887092326400, 1789978117570945082); -INSERT INTO `iam_role_path` VALUES (1789979322187636817, 1757298887092326400, 1789978117566750740); -INSERT INTO `iam_role_path` VALUES (1789979322187636818, 1757298887092326400, 1789978117562556428); -INSERT INTO `iam_role_path` VALUES (1789979322187636819, 1757298887092326400, 1789978117562556420); -INSERT INTO `iam_role_path` VALUES (1789979322187636820, 1757298887092326400, 1789978117570945198); -INSERT INTO `iam_role_path` VALUES (1789979322187636821, 1757298887092326400, 1789978117570945182); -INSERT INTO `iam_role_path` VALUES (1789979322187636822, 1757298887092326400, 1789978117570945078); -INSERT INTO `iam_role_path` VALUES (1789979322187636823, 1757298887092326400, 1789978117570945067); -INSERT INTO `iam_role_path` VALUES (1789979322187636824, 1757298887092326400, 1789978117570945044); -INSERT INTO `iam_role_path` VALUES (1789979322187636825, 1757298887092326400, 1789978117562556452); -INSERT INTO `iam_role_path` VALUES (1789979322187636826, 1757298887092326400, 1789978117562556425); -INSERT INTO `iam_role_path` VALUES (1789979322187636828, 1757298887092326400, 1789978117570945200); -INSERT INTO `iam_role_path` VALUES (1789979322187636829, 1757298887092326400, 1789978117570945171); -INSERT INTO `iam_role_path` VALUES (1789979322187636830, 1757298887092326400, 1789978117562556419); -INSERT INTO `iam_role_path` VALUES (1789979322187636831, 1757298887092326400, 1789978117570945189); -INSERT INTO `iam_role_path` VALUES (1789979322187636832, 1757298887092326400, 1789978117570945048); -INSERT INTO `iam_role_path` VALUES (1789979322187636835, 1757298887092326400, 1789978117562556435); -INSERT INTO `iam_role_path` VALUES (1789979322187636836, 1757298887092326400, 1789978117570945155); -INSERT INTO `iam_role_path` VALUES (1789979322187636837, 1757298887092326400, 1789978117566750762); -INSERT INTO `iam_role_path` VALUES (1789979322187636838, 1757298887092326400, 1789978117570945150); -INSERT INTO `iam_role_path` VALUES (1789979322187636839, 1757298887092326400, 1789978117566750753); -INSERT INTO `iam_role_path` VALUES (1789979322187636840, 1757298887092326400, 1789978117570945107); -INSERT INTO `iam_role_path` VALUES (1789979322187636841, 1757298887092326400, 1789978117566750736); -INSERT INTO `iam_role_path` VALUES (1789979322187636842, 1757298887092326400, 1789978117570945104); -INSERT INTO `iam_role_path` VALUES (1789979322187636843, 1757298887092326400, 1789978117566750742); -INSERT INTO `iam_role_path` VALUES (1789979908043825152, 1757297023118462976, 1789978117570945084); -INSERT INTO `iam_role_path` VALUES (1789979908043825153, 1757297023118462976, 1789978117570945059); -INSERT INTO `iam_role_path` VALUES (1789979908043825154, 1757297023118462976, 1789978117570945039); -INSERT INTO `iam_role_path` VALUES (1789979908043825155, 1757297023118462976, 1789978117566750797); -INSERT INTO `iam_role_path` VALUES (1789979908324843520, 1757298887092326400, 1789978117570945084); -INSERT INTO `iam_role_path` VALUES (1789979908324843521, 1757298887092326400, 1789978117570945059); -INSERT INTO `iam_role_path` VALUES (1789979908324843522, 1757298887092326400, 1789978117570945039); -INSERT INTO `iam_role_path` VALUES (1789982023252303872, 1757297023118462976, 1789978117570945308); -INSERT INTO `iam_role_path` VALUES (1789982023252303873, 1757297023118462976, 1789978117570945239); -INSERT INTO `iam_role_path` VALUES (1789982023252303874, 1757297023118462976, 1789978117570945186); -INSERT INTO `iam_role_path` VALUES (1789982023252303875, 1757297023118462976, 1789978117570945052); -INSERT INTO `iam_role_path` VALUES (1789982023252303876, 1757297023118462976, 1789978117566750795); -INSERT INTO `iam_role_path` VALUES (1789982023252303877, 1757297023118462976, 1789978117566750741); -INSERT INTO `iam_role_path` VALUES (1789982023252303878, 1757297023118462976, 1789978117570945094); -INSERT INTO `iam_role_path` VALUES (1789982023252303879, 1757297023118462976, 1789978117566750758); -INSERT INTO `iam_role_path` VALUES (1789982023252303880, 1757297023118462976, 1789978117566750733); -INSERT INTO `iam_role_path` VALUES (1789982023529127937, 1757298887092326400, 1789978117570945239); -INSERT INTO `iam_role_path` VALUES (1789982023529127938, 1757298887092326400, 1789978117570945186); -INSERT INTO `iam_role_path` VALUES (1789982023529127939, 1757298887092326400, 1789978117570945052); -INSERT INTO `iam_role_path` VALUES (1789982023529127940, 1757298887092326400, 1789978117566750795); -INSERT INTO `iam_role_path` VALUES (1789982023529127941, 1757298887092326400, 1789978117566750741); -INSERT INTO `iam_role_path` VALUES (1789982023529127942, 1757298887092326400, 1789978117570945094); -INSERT INTO `iam_role_path` VALUES (1789982023529127943, 1757298887092326400, 1789978117566750758); -INSERT INTO `iam_role_path` VALUES (1789986071959429120, 1757298887092326400, 1789978117570945124); -INSERT INTO `iam_role_path` VALUES (1790355320001957888, 1757297023118462976, 1789978117570945272); -INSERT INTO `iam_role_path` VALUES (1790355320001957889, 1757297023118462976, 1789978117570945194); -INSERT INTO `iam_role_path` VALUES (1790355320001957890, 1757297023118462976, 1789978117570945175); -INSERT INTO `iam_role_path` VALUES (1790355320001957891, 1757297023118462976, 1789978117570945164); -INSERT INTO `iam_role_path` VALUES (1790355320001957892, 1757297023118462976, 1789978117566750801); -INSERT INTO `iam_role_path` VALUES (1790355320102621184, 1757298887092326400, 1789978117570945272); -INSERT INTO `iam_role_path` VALUES (1790355320102621185, 1757298887092326400, 1789978117570945194); -INSERT INTO `iam_role_path` VALUES (1790355320102621186, 1757298887092326400, 1789978117570945175); -INSERT INTO `iam_role_path` VALUES (1790355320102621187, 1757298887092326400, 1789978117570945164); -INSERT INTO `iam_role_path` VALUES (1790355320102621188, 1757298887092326400, 1789978117566750801); - --- ---------------------------- --- Table structure for iam_user_data_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_data_role`; -CREATE TABLE `iam_user_data_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '数据角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户数据范围关系\r\n' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_data_role --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_dept --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_dept`; -CREATE TABLE `iam_user_dept` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `dept_id` bigint(20) NOT NULL COMMENT '部门id', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户部门关联表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_dept --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_expand_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_expand_info`; -CREATE TABLE `iam_user_expand_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `sex` int(4) NULL DEFAULT NULL COMMENT '性别', - `birthday` date NULL DEFAULT NULL COMMENT '生日', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像', - `last_login_time` datetime NULL DEFAULT NULL COMMENT '上次登录时间', - `current_login_time` datetime NULL DEFAULT NULL COMMENT '本次登录时间', - `initial_password` bit(1) NOT NULL COMMENT '是否初始密码', - `expire_password` bit(1) NOT NULL COMMENT '密码是否过期', - `last_change_password_time` datetime NULL DEFAULT NULL COMMENT '上次修改密码时间', - `register_time` datetime NOT NULL COMMENT '注册时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_expand_info --- ---------------------------- -INSERT INTO `iam_user_expand_info` VALUES (1399985191002447872, 1, '1996-12-01', NULL, '2024-05-13 19:48:06', '2024-05-13 19:48:37', b'0', b'0', '2023-10-19 14:14:08', '2021-08-01 18:52:37', 1, '2021-06-02 15:04:15', 0, '2024-05-13 19:48:37', 453, b'0'); -INSERT INTO `iam_user_expand_info` VALUES (1757299137932677120, 1, '2024-02-13', NULL, '2024-05-13 19:32:55', '2024-05-13 19:48:45', b'0', b'0', NULL, '2024-02-13 15:02:18', 1399985191002447872, '2024-02-13 15:02:18', 0, '2024-05-13 19:48:45', 6, b'0'); -INSERT INTO `iam_user_expand_info` VALUES (1757317255899869184, NULL, NULL, NULL, '2024-04-25 22:10:31', '2024-04-26 09:22:54', b'0', b'0', NULL, '2024-02-13 16:14:18', 1399985191002447872, '2024-02-13 16:14:18', 0, '2024-04-26 09:22:54', 9, b'0'); - --- ---------------------------- --- Table structure for iam_user_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_info`; -CREATE TABLE `iam_user_info` ( - `id` bigint(20) NOT NULL, - `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号', - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码', - `phone` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号', - `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱', - `client_ids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '关联终端ds', - `administrator` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否超级管理员', - `status` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账号状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_info --- ---------------------------- -INSERT INTO `iam_user_info` VALUES (1399985191002447872, 'Bootx', 'bootx', 'f52020dca765fd3943ed40a615dc2c5c', '13333333333', 'bootx@bootx.cn', '1430430071299207168,1430430071299207169,1626840094767714304,1580487061605175296', b'1', 'normal', 1, '2021-06-02 15:04:15', 1399985191002447872, '2024-04-11 18:55:34', 65, 0); -INSERT INTO `iam_user_info` VALUES (1757299137932677120, 'DaxPay演示', 'daxpay', 'f52020dca765fd3943ed40a615dc2c5c', '14443332251', 'daxpay@qq.com', '1580487061605175296', b'0', 'normal', 1399985191002447872, '2024-02-13 15:02:18', 1757299137932677120, '2024-02-13 16:09:44', 2, 0); -INSERT INTO `iam_user_info` VALUES (1757317255899869184, 'DaxPay管理员', 'daxpayadmin', '1e9e3c3deaa4a06d08326e82a49d1b63', '12222333223', 'daxpayadmin@qq.com', '1580487061605175296', b'0', 'normal', 1399985191002447872, '2024-02-13 16:14:18', 1399985191002447872, '2024-02-13 16:14:18', 0, 0); - --- ---------------------------- --- Table structure for iam_user_role --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_role`; -CREATE TABLE `iam_user_role` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户ID', - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户角色关系\r\n' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_role --- ---------------------------- -INSERT INTO `iam_user_role` VALUES (1757299293314863104, 1757299137932677120, 1757298887092326400); -INSERT INTO `iam_user_role` VALUES (1757317495407210496, 1757317255899869184, 1757297023118462976); - --- ---------------------------- --- Table structure for iam_user_third --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third`; -CREATE TABLE `iam_user_third` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id', - `we_chat_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openId', - `we_chat_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id', - `qq_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'qqId', - `weibo_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微博Id', - `gitee_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '码云唯一标识', - `ding_talk_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉唯一标识', - `we_com_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '企业微信唯一标识', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_index`(`user_id`) USING BTREE COMMENT '用户id索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户三方登录绑定' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_third --- ---------------------------- - --- ---------------------------- --- Table structure for iam_user_third_info --- ---------------------------- -DROP TABLE IF EXISTS `iam_user_third_info`; -CREATE TABLE `iam_user_third_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` bigint(20) NOT NULL COMMENT '用户id', - `client_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '第三方终端类型', - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户名', - `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户昵称', - `avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户头像', - `third_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '关联第三方平台的用户id', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - INDEX `pk_user_client`(`user_id`, `client_code`) USING BTREE COMMENT '用户id和终端code' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户三方登录绑定详情' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of iam_user_third_info --- ---------------------------- - --- ---------------------------- --- Table structure for notice_mail_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_mail_config`; -CREATE TABLE `notice_mail_config` ( - `id` bigint(20) NOT NULL, - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '编号', - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', - `host` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器host', - `port` int(5) NOT NULL COMMENT '邮箱服务器 port', - `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 username', - `password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱服务器 password', - `sender` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 sender', - `from_` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '邮箱服务器 from', - `activity` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `security_type` int(2) NULL DEFAULT NULL COMMENT '安全传输方式 1:plain 2:tls 3:ssl', - `creator` bigint(18) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(18) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(8) NULL DEFAULT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_mail_config --- ---------------------------- - --- ---------------------------- --- Table structure for notice_message_template --- ---------------------------- -DROP TABLE IF EXISTS `notice_message_template`; -CREATE TABLE `notice_message_template` ( - `id` bigint(20) NOT NULL, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '模板数据', - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板类型', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息模板' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_message_template --- ---------------------------- -INSERT INTO `notice_message_template` VALUES (1424936204932169730, 'cs', '测试', 'hello ${msg}6666666666666666666666666666', '1', '测试模板', 0, '2021-08-10 11:30:40', 0, '2021-08-10 11:30:40', 0, 0); - --- ---------------------------- --- Table structure for notice_site_message --- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message`; -CREATE TABLE `notice_site_message` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息标题', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `sender_id` bigint(20) NULL DEFAULT NULL COMMENT '发送者id', - `sender_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送者姓名', - `sender_time` datetime NULL DEFAULT NULL COMMENT '发送时间', - `receive_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `send_state` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布状态', - `efficient_time` datetime NULL DEFAULT NULL COMMENT '截至有效期', - `cancel_time` datetime NULL DEFAULT NULL COMMENT '撤回时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_site_message --- ---------------------------- - --- ---------------------------- --- Table structure for notice_site_message_user --- ---------------------------- -DROP TABLE IF EXISTS `notice_site_message_user`; -CREATE TABLE `notice_site_message_user` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `message_id` bigint(20) NOT NULL COMMENT '消息id', - `receive_id` bigint(20) NOT NULL COMMENT '接收者id', - `have_read` bit(1) NOT NULL COMMENT '已读/未读', - `read_time` datetime NULL DEFAULT NULL COMMENT '已读时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `uni_receive_message`(`receive_id`, `message_id`) USING BTREE COMMENT '接收人和消息联合索引', - INDEX `inx_message`(`message_id`) USING BTREE COMMENT '消息索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '消息用户关联' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_site_message_user --- ---------------------------- - --- ---------------------------- --- Table structure for notice_sms_channel_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_channel_config`; -CREATE TABLE `notice_sms_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道类型名称', - `state` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessKey', - `config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '配置字符串', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `access_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'AccessSecret', - `image` bigint(20) NULL DEFAULT NULL COMMENT '图片', - `sort_no` double(10, 0) NULL DEFAULT NULL COMMENT '排序', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信渠道配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_channel_config --- ---------------------------- -INSERT INTO `notice_sms_channel_config` VALUES (1688432603289337856, 'alibaba', '阿里云短信', 'normal', '1', '{\"accessKeyId\":\"1231231231232111\",\"accessKeySecret\":\"12312312321111\",\"signature\":\"1231\",\"templateId\":\"2312313\",\"templateName\":\"123\",\"requestUrl\":\"五千二无二\",\"action\":\"SendSms\",\"version\":\"11\",\"regionId\":\"cn-hangzhou\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 14:11:17', 1414143554414059520, '2023-08-07 15:35:34', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688456604610953216, 'huawei', '华为云短信', 'normal', '1', '{\"appKey\":\"1231231231232\",\"appSecret\":\"1111\",\"signature\":\"1\",\"sender\":\"1\",\"templateId\":\"12\",\"statusCallBack\":\"1\",\"url\":\"1\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 15:46:39', 1414143554414059520, '2023-08-07 15:46:49', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688461302302732288, 'yunpian', '云片短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"callbackUrl\":null,\"templateName\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-07 16:05:19', 1414143554414059520, '2023-08-08 14:12:23', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788784751001600, 'tencent', '腾讯短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"sdkAppId\":null,\"territory\":\"ap-guangzhou\",\"connTimeout\":60,\"requestUrl\":\"sms.tencentcloudapi.com\",\"action\":\"SendSms\",\"version\":\"2021-01-11\",\"service\":\"sms\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:37', 1414143554414059520, '2023-08-08 13:46:37', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788807228276736, 'uni_sms', '合一短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"isSimple\":true,\"templateName\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:42', 1414143554414059520, '2023-08-08 13:46:43', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788823900635136, 'netease', '网易云短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"templateName\":null,\"templateUrl\":\"https://api.netease.im/sms/sendtemplate.action\",\"codeUrl\":\"https://api.netease.im/sms/sendcode.action\",\"verifyUrl\":\"https://api.netease.im/sms/verifycode.action\",\"needUp\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:46', 1414143554414059520, '2023-08-08 13:46:47', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788846944141312, 'ctyun', '天翼云短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"templateName\":null,\"requestUrl\":\"https://sms-global.ctapi.ctyun.cn/sms/api/v1\",\"action\":\"SendSms\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:52', 1414143554414059520, '2023-08-08 13:46:52', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788862987354112, 'emay', '亿美短信', 'normal', '1', '{\"appId\":\"1\",\"secretKey\":\"1\",\"requestUrl\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:46:56', 1414143554414059520, '2023-08-08 14:03:04', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788885141667840, 'cloopen', '容联短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"appId\":null,\"baseUrl\":\"https://app.cloopen.com:8883/2013-12-26\",\"serverIp\":null,\"serverPort\":null}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:47:01', 1414143554414059520, '2023-08-08 13:47:01', 0, b'0'); -INSERT INTO `notice_sms_channel_config` VALUES (1688788904481603584, 'jd_cloud', '京东短信', 'normal', '1', '{\"accessKeyId\":\"1\",\"accessKeySecret\":\"1\",\"signature\":null,\"templateId\":null,\"region\":\"cn-north-1\"}', NULL, '1', NULL, 0, 1414143554414059520, '2023-08-08 13:47:06', 1414143554414059520, '2023-08-08 13:47:06', 0, b'0'); - --- ---------------------------- --- Table structure for notice_sms_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_config`; -CREATE TABLE `notice_sms_config` ( - `id` bigint(18) NOT NULL, - `tid` bigint(18) NOT NULL COMMENT '租户id', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `account_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `path_sid` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '发送号码的唯一标识(基于twillio的命名风格)', - `auth_token` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `from_num` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime NULL DEFAULT NULL, - `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime NULL DEFAULT NULL, - `version` int(10) NULL DEFAULT NULL, - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `isp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `reply_msg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '短信配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_config --- ---------------------------- - --- ---------------------------- --- Table structure for notice_sms_template --- ---------------------------- -DROP TABLE IF EXISTS `notice_sms_template`; -CREATE TABLE `notice_sms_template` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `supplier_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信渠道商类型', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信渠道商类型', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板名称', - `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '短信模板内容', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '短信模板配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_sms_template --- ---------------------------- - --- ---------------------------- --- Table structure for notice_wechat_config --- ---------------------------- -DROP TABLE IF EXISTS `notice_wechat_config`; -CREATE TABLE `notice_wechat_config` ( - `id` bigint(18) NOT NULL, - `tid` bigint(18) NOT NULL COMMENT '租户id', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL, - `corp_id` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `corp_secret` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, - `is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认配置,0:否。1:是', - `creator` bigint(18) NULL DEFAULT NULL, - `create_time` datetime NULL DEFAULT NULL, - `last_modifier` bigint(18) NULL DEFAULT NULL, - `last_modified_time` datetime NULL DEFAULT NULL, - `version` int(10) NULL DEFAULT NULL, - `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '微信消息配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of notice_wechat_config --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_config`; -CREATE TABLE `pay_alipay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知页面路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `auth_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', - `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', - `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', - `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', - `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', - `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_config --- ---------------------------- -INSERT INTO `pay_alipay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,web,qrcode,app,barcode', NULL, NULL, NULL, 0, '2024-01-02 21:17:58', 1399985191002447872, '2024-05-07 19:06:38', 32, b'0'); - --- ---------------------------- --- Table structure for pay_alipay_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_reconcile_bill_detail`; -CREATE TABLE `pay_alipay_reconcile_bill_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `create_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时间', - `end_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '完成时间', - `store_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店编号', - `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店名称', - `operator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作员', - `terminal_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端号', - `other_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对方账户', - `order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额(元)', - `real_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家实收(元)', - `alipay_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝红包(元)', - `jfb_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '集分宝(元)', - `alipay_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝优惠(元)', - `discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家优惠(元)', - `coupon_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '券核销金额(元)', - `coupon_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '券名称', - `coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家红包消费金额(元)', - `card_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡消费金额(元)', - `batch_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款批次号/请求号', - `service_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务费(元)', - `split_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分润(元)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝业务明细对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_alipay_reconcile_bill_total --- ---------------------------- -DROP TABLE IF EXISTS `pay_alipay_reconcile_bill_total`; -CREATE TABLE `pay_alipay_reconcile_bill_total` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `store_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店编号', - `store_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门店名称', - `total_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单总笔数', - `total_refund_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款订单总笔数', - `total_order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额(元)', - `total_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家实收(元)', - `total_discount_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝优惠(元)', - `total_coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商家优惠(元)', - `total_consume_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡消费金额(元)', - `total_service_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务费(元)', - `total_share_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分润(元)', - `total_net_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实收净额(元)', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝业务汇总对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_alipay_reconcile_bill_total --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group`; -CREATE TABLE `pay_allocation_group` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `total_rate` int(11) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group_receiver`; -CREATE TABLE `pay_allocation_group_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `group_id` bigint(20) NULL DEFAULT NULL COMMENT '分账组ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group_receiver --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order`; -CREATE TABLE `pay_allocation_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账单号', - `biz_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户分账单号', - `out_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道分账号', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `amount` int(11) NULL DEFAULT NULL COMMENT '总分账金额', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账处理结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_order_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order_detail`; -CREATE TABLE `pay_allocation_order_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_id` bigint(20) NULL DEFAULT NULL COMMENT '分账订单ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `amount` int(11) NULL DEFAULT NULL COMMENT '分账金额', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_order_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_receiver`; -CREATE TABLE `pay_allocation_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '账号别名', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `relation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账关系类型', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', - `sync` bit(1) NULL DEFAULT NULL COMMENT '是否已经同步到网关', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收方' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_receiver --- ---------------------------- - --- ---------------------------- --- Table structure for pay_api_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_api_config`; -CREATE TABLE `pay_api_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `api` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口地址', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `notice_support` bit(1) NULL DEFAULT NULL COMMENT '支持回调通知', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notice` bit(1) NULL DEFAULT NULL COMMENT '是否开启回调通知', - `notice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '默认通知地址', - `req_sign` bit(1) NULL DEFAULT NULL COMMENT '请求参数是否签名', - `res_sign` bit(1) NULL DEFAULT NULL COMMENT '响应参数是否签名', - `notice_sign` bit(1) NULL DEFAULT NULL COMMENT '回调信息是否签名', - `record` bit(1) NULL DEFAULT NULL COMMENT '是否记录请求的信息', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付接口配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_api_config --- ---------------------------- -INSERT INTO `pay_api_config` VALUES (1, 'pay', '/uniPay/pay', '统一支付接口 ', b'1', b'1', b'1', 'https://daxpay.demo.bootx.cn/server/demo/callback/payObject', b'1', b'0', b'1', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (3, 'close', '/uniPay/close', '支付关闭接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (4, 'refund', '/uniPay/refund', '统一退款接口', b'1', b'1', b'1', 'https://daxpay.demo.bootx.cn/server/demo/callback/refundObject', b'1', b'0', b'1', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (6, 'syncPay', '/uniPay/syncPay', '支付同步接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (7, 'syncRefund', '/uniPay/syncRefund', '退款同步接口', b'0', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (8, 'transfer', '/uniPay/transfer', '统一转账接口', b'1', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (9, 'allocation', '/uniPay/allocation', '统一分账接口', b'1', b'1', b'1', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (10, 'queryPayOrder', '/uniPay/queryPayOrder', '支付订单查询接口', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (11, 'queryRefundOrder', '/uniPay/queryRefundOrder', '退款订单查询接口', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (12, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (13, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'0', b'1', b'0', NULL, b'1', b'0', b'0', b'0', NULL, 0, '2024-01-03 14:25:53', 0, '2024-01-03 14:25:53', 0, b'0'); - --- ---------------------------- --- Table structure for pay_callback_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_callback_record`; -CREATE TABLE `pay_callback_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `callback_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调类型', - `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '通知消息', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调处理状态', - `repair_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网关回调通知' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_callback_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_channel_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_channel_config`; -CREATE TABLE `pay_channel_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `icon_id` bigint(20) NULL DEFAULT NULL COMMENT 'ICON图片', - `bg_color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡牌背景色', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付通道配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_channel_config --- ---------------------------- -INSERT INTO `pay_channel_config` VALUES (1, 'ali_pay', '支付宝', NULL, NULL, b'0', '', 0, '2024-01-08 16:47:07', 1757299137932677120, '2024-05-13 19:46:19', 12, b'0'); -INSERT INTO `pay_channel_config` VALUES (2, 'wechat_pay', '微信支付', NULL, NULL, b'0', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:24', 7, b'0'); -INSERT INTO `pay_channel_config` VALUES (3, 'union_pay', '云闪付', NULL, NULL, b'0', NULL, 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-03-10 15:04:36', 2, b'0'); -INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, NULL, b'0', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); - --- ---------------------------- --- Table structure for pay_client_notice_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_client_notice_record`; -CREATE TABLE `pay_client_notice_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `task_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID', - `req_count` int(11) NULL DEFAULT NULL COMMENT '请求次数', - `success` bit(1) NULL DEFAULT NULL COMMENT '发送是否成功', - `send_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送类型', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误编码', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_client_notice_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_client_notice_task --- ---------------------------- -DROP TABLE IF EXISTS `pay_client_notice_task`; -CREATE TABLE `pay_client_notice_task` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否发送成功', - `send_count` int(11) NULL DEFAULT NULL COMMENT '发送次数', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送地址', - `latest_time` datetime NULL DEFAULT NULL COMMENT '最后发送时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `notice_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `trade_id` bigint(20) NULL DEFAULT NULL COMMENT '本地交易ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `trade_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_client_notice_task --- ---------------------------- - --- ---------------------------- --- Table structure for pay_close_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_close_record`; -CREATE TABLE `pay_close_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关闭的支付通道', - `closed` bit(1) NULL DEFAULT NULL COMMENT '是否关闭成功', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付关闭记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_close_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_method_info --- ---------------------------- -DROP TABLE IF EXISTS `pay_method_info`; -CREATE TABLE `pay_method_info` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付方式' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_method_info --- ---------------------------- -INSERT INTO `pay_method_info` VALUES (1, 'normal', '常规支付', '同步支付使用这个', 0, '2024-01-09 10:01:21', 1399985191002447872, '2024-02-13 15:39:16', 1, b'0'); -INSERT INTO `pay_method_info` VALUES (2, 'wap', 'wap支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_method_info` VALUES (3, 'app', '应用支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_method_info` VALUES (4, 'web', 'web支付', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_method_info` VALUES (6, 'barcode', '付款码', NULL, 0, '2024-01-09 10:01:21', 0, '2024-01-09 10:01:25', 0, b'0'); -INSERT INTO `pay_method_info` VALUES (7, 'jsapi', '公众号/小程序支付', '主要是微信使用', 0, '2024-01-09 10:01:21', 1399985191002447872, '2024-02-13 15:38:57', 1, b'0'); - --- ---------------------------- --- Table structure for pay_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_order`; -CREATE TABLE `pay_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否需要分账', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步支付通道', - `method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付方式', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '可退款余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态', - `allocation_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态', - `pay_time` datetime NULL DEFAULT NULL COMMENT '支付时间', - `close_time` datetime NULL DEFAULT NULL COMMENT '关闭时间', - `expired_time` datetime NULL DEFAULT NULL COMMENT '过期时间', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `auto_allocation` bit(1) NULL DEFAULT NULL COMMENT '自动分账', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户订单号索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_order_extra`; -CREATE TABLE `pay_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `extra_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳,以最后一次为准', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order_extra --- ---------------------------- - --- ---------------------------- --- Table structure for pay_platform_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_platform_config`; -CREATE TABLE `pay_platform_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `website_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网站地址', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通知地址', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', - `order_timeout` int(11) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `limit_amount` int(11) NULL DEFAULT NULL COMMENT '支付限额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付平台配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_platform_config --- ---------------------------- -INSERT INTO `pay_platform_config` VALUES (0, 'http://localhost/', 'HMAC_SHA256', '123456', 'http://localhost/h5/#/result/success', 'http://localhost/h5/#/result/success', 30, 0, '2024-01-02 20:23:19', 1399985191002447872, '2024-03-24 11:34:20', 13, b'0', 20000); - --- ---------------------------- --- Table structure for pay_reconcile_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_detail`; -CREATE TABLE `pay_reconcile_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_diff_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_diff_record`; -CREATE TABLE `pay_reconcile_diff_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `detail_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单明细ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单标题', - `diff_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '差异类型', - `diffs` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '差异内容', - `amount` int(11) NULL DEFAULT NULL COMMENT '本地交易金额', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - `out_amount` int(11) NULL DEFAULT NULL COMMENT '通道交易金额', - `reconcile_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账号', - `reconcile_date` date NULL DEFAULT NULL COMMENT '对账日期', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账差异单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_diff_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_file --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_file`; -CREATE TABLE `pay_reconcile_file` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `file_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单文件', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '原始对账单文件,' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_file --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_order`; -CREATE TABLE `pay_reconcile_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `date` date NULL DEFAULT NULL COMMENT '日期', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `compare` bit(1) NULL DEFAULT NULL COMMENT '明细对账单比对', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `reconcile_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账号', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `down_or_upload` bit(1) NULL DEFAULT NULL COMMENT '明细对账单下载', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账单订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_reconcile_trade_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_trade_detail`; -CREATE TABLE `pay_reconcile_trade_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账-第三方交易明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_trade_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order`; -CREATE TABLE `pay_refund_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付标题', - `refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款号', - `biz_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户退款号', - `out_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '三方支付系统退款交易号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `order_amount` int(11) NULL DEFAULT NULL COMMENT '订单金额', - `amount` int(11) NULL DEFAULT NULL COMMENT '退款金额', - `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款原因', - `finish_time` datetime NULL DEFAULT NULL COMMENT '退款完成时间', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_refund_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order_extra`; -CREATE TABLE `pay_refund_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `extra_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order_extra --- ---------------------------- - --- ---------------------------- --- Table structure for pay_repair_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_repair_record`; -CREATE TABLE `pay_repair_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复号', - `trade_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地业务号', - `repair_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复类型', - `repair_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复来源', - `repair_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复方式', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复的通道', - `before_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复前状态', - `after_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复后状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付修复记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_repair_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_sync_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_sync_record`; -CREATE TABLE `pay_sync_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `biz_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `out_trade_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关返回状态', - `sync_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步的异步通道', - `sync_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '同步消息', - `repair` bit(1) NULL DEFAULT NULL COMMENT '是否进行修复', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付同步订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_sync_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_transfer_order --- ---------------------------- -DROP TABLE IF EXISTS `pay_transfer_order`; -CREATE TABLE `pay_transfer_order` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `amount` int(11) NULL DEFAULT NULL, - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `success_time` datetime NULL DEFAULT NULL, - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '转账订单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_transfer_order --- ---------------------------- - --- ---------------------------- --- Table structure for pay_union_pay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_pay_config`; -CREATE TABLE `pay_union_pay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `mach_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户号', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', - `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `seller` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户收款账号', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型', - `cert_sign` bit(1) NULL DEFAULT NULL COMMENT '是否为证书签名', - `key_private_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用私钥证书', - `key_private_cert_pwd` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '私钥证书对应的密码', - `acp_middle_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '中级证书', - `acp_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_pay_config --- ---------------------------- -INSERT INTO `pay_union_pay_config` VALUES (0, NULL, NULL, NULL, NULL, 'wap,web,qrcode,app,barcode', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2024-03-06 22:56:22', 1399985191002447872, '2024-03-23 23:15:20', 12, b'0'); - --- ---------------------------- --- Table structure for pay_union_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_union_reconcile_bill_detail`; -CREATE TABLE `pay_union_reconcile_bill_detail` ( - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易代码', - `txn_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易传输时间', - `txn_amt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易金额', - `query_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '查询流水号', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID' -) ENGINE = InnoDB AUTO_INCREMENT = 128 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '云闪付业务明细对账单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_union_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wallet --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet`; -CREATE TABLE `pay_wallet` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联用户id', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钱包名称', - `balance` int(11) NULL DEFAULT NULL COMMENT '余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE, - INDEX `用户ID索引`(`user_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wallet_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet_config`; -CREATE TABLE `pay_wallet_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet_config --- ---------------------------- -INSERT INTO `pay_wallet_config` VALUES (0, b'0', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0'); - --- ---------------------------- --- Table structure for pay_wallet_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wallet_record`; -CREATE TABLE `pay_wallet_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `wallet_id` bigint(20) NULL DEFAULT NULL COMMENT '钱包id', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `old_amount` int(11) NULL DEFAULT NULL COMMENT '变动之前的金额', - `new_amount` int(11) NULL DEFAULT NULL COMMENT '变动之后的金额', - `order_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易订单号', - `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端ip', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE, - INDEX `wallet_id`(`wallet_id`) USING BTREE COMMENT '钱包ID' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wallet_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_notice_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_notice_config`; -CREATE TABLE `pay_wechat_notice_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用id', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用秘钥', - `qr_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众号二维码', - `oauth2_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'OAuth2地址', - `verify_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件名称', - `verify_file_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件内容', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息Id', - `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息内容', - `template_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息通知相关配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_notice_config --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_pay_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_config`; -CREATE TABLE `pay_wechat_pay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `wx_mch_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信商户号', - `wx_app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信应用appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知路径', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `api_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口版本', - `api_key_v2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv2 密钥', - `api_key_v3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APIv3 密钥', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'APPID对应的接口密码', - `p12` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'API证书中p12证书Base64', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_config --- ---------------------------- -INSERT INTO `pay_wechat_pay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,app,jsapi,qrcode,barcode', NULL, 0, '2024-01-03 23:13:11', 1399985191002447872, '2024-04-02 17:07:37', 23, b'0'); - --- ---------------------------- --- Table structure for pay_wechat_pay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_record`; -CREATE TABLE `pay_wechat_pay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `gateway_time` datetime NULL DEFAULT NULL COMMENT '网关完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_record --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_reconcile_bill_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_reconcile_bill_detail`; -CREATE TABLE `pay_wechat_reconcile_bill_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `transaction_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易时间', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众账号ID', - `merchant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户号', - `sub_merchant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '特约商户号', - `wei_xin_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信订单号', - `mch_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户标识', - `device_info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备号', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态', - `bank` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '付款银行', - `currency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货币种类', - `amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应结订单金额', - `envelope_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代金券金额', - `wx_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信退款单号', - `mch_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户退款单号', - `refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款金额', - `coupon_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '充值券退款金额', - `refund_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款类型', - `refund_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `mch_data_packet` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户数据包', - `premium` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手续费', - `rates` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费率', - `order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单金额', - `apply_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请退款金额', - `rates_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费率备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信对账单明细' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_reconcile_bill_detail --- ---------------------------- - --- ---------------------------- --- Table structure for pay_wechat_reconcile_bill_total --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_reconcile_bill_total`; -CREATE TABLE `pay_wechat_reconcile_bill_total` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `record_order_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `total_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '总交易单数', - `total_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应结订单总金额', - `total_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款总金额', - `total_refund_coupon_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '充值券退款总金额', - `total_fee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手续费总金额', - `total_order_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单总金额', - `apply_total_refund_amount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请退款总金额', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信对账单汇总' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_reconcile_bill_total --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_blob_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_blob_triggers`; -CREATE TABLE `qrtz_blob_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `BLOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_blob_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_calendars --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_calendars`; -CREATE TABLE `qrtz_calendars` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CALENDAR` blob NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_calendars --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_cron_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_cron_triggers`; -CREATE TABLE `qrtz_cron_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_cron_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_fired_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_fired_triggers`; -CREATE TABLE `qrtz_fired_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `FIRED_TIME` bigint(13) NOT NULL, - `SCHED_TIME` bigint(13) NOT NULL, - `PRIORITY` int(11) NOT NULL, - `STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE, - INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE, - INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE, - INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_fired_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_job_details --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_job_details`; -CREATE TABLE `qrtz_job_details` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_job_details --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_locks --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_locks`; -CREATE TABLE `qrtz_locks` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_locks --- ---------------------------- -INSERT INTO `qrtz_locks` VALUES ('quartzScheduler', 'TRIGGER_ACCESS'); - --- ---------------------------- --- Table structure for qrtz_paused_trigger_grps --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; -CREATE TABLE `qrtz_paused_trigger_grps` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_paused_trigger_grps --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_scheduler_state --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_scheduler_state`; -CREATE TABLE `qrtz_scheduler_state` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `LAST_CHECKIN_TIME` bigint(13) NOT NULL, - `CHECKIN_INTERVAL` bigint(13) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_scheduler_state --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simple_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simple_triggers`; -CREATE TABLE `qrtz_simple_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `REPEAT_COUNT` bigint(7) NOT NULL, - `REPEAT_INTERVAL` bigint(12) NOT NULL, - `TIMES_TRIGGERED` bigint(10) NOT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_simple_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_simprop_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_simprop_triggers`; -CREATE TABLE `qrtz_simprop_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `INT_PROP_1` int(11) NULL DEFAULT NULL, - `INT_PROP_2` int(11) NULL DEFAULT NULL, - `LONG_PROP_1` bigint(20) NULL DEFAULT NULL, - `LONG_PROP_2` bigint(20) NULL DEFAULT NULL, - `DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL, - `DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL, - `BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_simprop_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for qrtz_triggers --- ---------------------------- -DROP TABLE IF EXISTS `qrtz_triggers`; -CREATE TABLE `qrtz_triggers` ( - `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `NEXT_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PREV_FIRE_TIME` bigint(13) NULL DEFAULT NULL, - `PRIORITY` int(11) NULL DEFAULT NULL, - `TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, - `START_TIME` bigint(13) NOT NULL, - `END_TIME` bigint(13) NULL DEFAULT NULL, - `CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `MISFIRE_INSTR` smallint(2) NULL DEFAULT NULL, - `JOB_DATA` blob NULL, - PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE, - INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE, - INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE, - INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE, - CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of qrtz_triggers --- ---------------------------- - --- ---------------------------- --- Table structure for starter_audit_data_version --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_data_version`; -CREATE TABLE `starter_audit_data_version` ( - `id` bigint(20) NOT NULL, - `table_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据表名称', - `data_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据名称', - `data_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据主键', - `data_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容', - `change_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据更新内容', - `version` int(10) NOT NULL COMMENT '版本', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据版本日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_data_version --- ---------------------------- - --- ---------------------------- --- Table structure for starter_audit_login_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_login_log`; -CREATE TABLE `starter_audit_login_log` ( - `id` bigint(20) NOT NULL, - `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户id', - `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名称', - `login` bit(1) NULL DEFAULT NULL COMMENT '登录成功状态', - `client` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '终端', - `login_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录方式', - `ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录IP地址', - `login_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录地点', - `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', - `browser` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器类型', - `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示消息', - `login_time` datetime NULL DEFAULT NULL COMMENT '访问时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '登陆日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_login_log --- ---------------------------- -INSERT INTO `starter_audit_login_log` VALUES (1789981400523988992, 1757299137932677120, 'daxpay', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:29:57'); -INSERT INTO `starter_audit_login_log` VALUES (1789981854330904576, 1399985191002447872, 'bootx', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:31:45'); -INSERT INTO `starter_audit_login_log` VALUES (1789982145977638912, 1757299137932677120, 'daxpay', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:32:55'); -INSERT INTO `starter_audit_login_log` VALUES (1789985967902941184, 1399985191002447872, 'bootx', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:48:06'); -INSERT INTO `starter_audit_login_log` VALUES (1789986099583115264, 1399985191002447872, 'bootx', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:48:37'); -INSERT INTO `starter_audit_login_log` VALUES (1789986131078144000, 1757299137932677120, 'daxpay', b'1', 'dax-pay', 'password', '0:0:0:0:0:0:0:1', '未知', 'Windows 10 or Windows Server 2016', 'Chrome 122.0.6261.95', NULL, '2024-05-13 19:48:45'); - --- ---------------------------- --- Table structure for starter_audit_operate_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_audit_operate_log`; -CREATE TABLE `starter_audit_operate_log` ( - `id` bigint(20) NOT NULL, - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作模块', - `operate_id` bigint(20) NULL DEFAULT NULL COMMENT '操作人员id', - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员账号', - `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', - `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方式', - `operate_url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求url', - `operate_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作ip', - `operate_location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作地点', - `operate_param` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求参数', - `operate_return` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回参数', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否成功', - `error_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '错误提示', - `operate_time` datetime NULL DEFAULT NULL COMMENT '操作时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_audit_operate_log --- ---------------------------- -INSERT INTO `starter_audit_operate_log` VALUES (1764663811019894784, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-04 22:46:53'); -INSERT INTO `starter_audit_operate_log` VALUES (1764932301155672064, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-05 16:33:46'); -INSERT INTO `starter_audit_operate_log` VALUES (1764932527790702592, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-05 16:34:39'); -INSERT INTO `starter_audit_operate_log` VALUES (1764933649263722496, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-05 16:39:06'); -INSERT INTO `starter_audit_operate_log` VALUES (1768219996095213568, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-14 18:17:54'); -INSERT INTO `starter_audit_operate_log` VALUES (1772446742462001152, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-03-26 10:13:29'); -INSERT INTO `starter_audit_operate_log` VALUES (1780216506568273920, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-16 20:47:45'); -INSERT INTO `starter_audit_operate_log` VALUES (1780417659281174528, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-17 10:07:03'); -INSERT INTO `starter_audit_operate_log` VALUES (1780417857529147392, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-17 10:07:50'); -INSERT INTO `starter_audit_operate_log` VALUES (1780418146982260736, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-17 10:08:59'); -INSERT INTO `starter_audit_operate_log` VALUES (1780418343170830336, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-04-17 10:09:46'); -INSERT INTO `starter_audit_operate_log` VALUES (1789978119609376768, '同步系统请求资源', 1399985191002447872, 'bootx', 'other', 'cn.bootx.platform.iam.core.permission.service.PermPathService#syncSystem', 'POST', '/perm/path/syncSystem', '未知', '未知', NULL, NULL, b'1', NULL, '2024-05-13 19:16:55'); - --- ---------------------------- --- Table structure for starter_ding_media_md5 --- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_media_md5`; -CREATE TABLE `starter_ding_media_md5` ( - `id` bigint(20) NOT NULL, - `media_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '媒体id', - `md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'md5值', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉媒体文件MD5值关联关系' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_ding_media_md5 --- ---------------------------- - --- ---------------------------- --- Table structure for starter_ding_robot_config --- ---------------------------- -DROP TABLE IF EXISTS `starter_ding_robot_config`; -CREATE TABLE `starter_ding_robot_config` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `access_token` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人访问token', - `enable_signature_check` bit(1) NOT NULL COMMENT '是否开启验签', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钉钉机器人私钥', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钉钉机器人配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_ding_robot_config --- ---------------------------- - --- ---------------------------- --- Table structure for starter_file_data --- ---------------------------- -DROP TABLE IF EXISTS `starter_file_data`; -CREATE TABLE `starter_file_data` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `base64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT 'base64方式存储', - `data` longblob NULL COMMENT '数据方式存储', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '上传文件数据' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_file_data --- ---------------------------- - --- ---------------------------- --- Table structure for starter_file_upload_info --- ---------------------------- -DROP TABLE IF EXISTS `starter_file_upload_info`; -CREATE TABLE `starter_file_upload_info` ( - `id` bigint(20) NOT NULL COMMENT '文件id', - `url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件访问地址', - `size` bigint(20) NULL DEFAULT NULL COMMENT '文件大小,单位字节', - `filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件名称', - `original_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原始文件名', - `base_path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '基础存储路径', - `path` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储路径', - `ext` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件扩展名', - `content_type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'MIME类型', - `platform` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '存储平台', - `th_url` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图访问路径', - `th_filename` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图名称', - `th_size` bigint(20) NULL DEFAULT NULL COMMENT '缩略图大小,单位字节', - `th_content_type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图MIME类型', - `object_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属对象id', - `object_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属对象类型,例如用户头像,评价图片', - `metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文件元数据', - `user_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '文件用户元数据', - `th_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图元数据', - `th_user_metadata` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '缩略图用户元数据', - `attr` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '附加属性', - `file_acl` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件ACL', - `th_file_acl` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缩略图文件ACL', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '文件记录表' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_file_upload_info --- ---------------------------- - --- ---------------------------- --- Table structure for starter_quartz_job --- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job`; -CREATE TABLE `starter_quartz_job` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名称', - `job_class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务类名', - `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'cron表达式', - `parameter` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '参数', - `state` int(4) NULL DEFAULT NULL COMMENT '状态', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_quartz_job --- ---------------------------- -INSERT INTO `starter_quartz_job` VALUES (1456579473573867520, '测试任务', 'cn.bootx.platform.starter.quartz.task.TestTask', '0/3 0 * * * ? *', '{\"aaa\":\"5255\"}', 0, '测试任务', 1399985191002447872, '2021-11-05 19:09:43', 1399985191002447872, '2024-02-24 23:57:57', 29, 0); -INSERT INTO `starter_quartz_job` VALUES (1546857070483939328, '支付单超时检测', 'cn.daxpay.single.service.task.PayExpiredTimeTask', '0/5 * * * * ? *', NULL, 0, '检测超时的支付单, 超时后调用同步事件状态修复', 1399985191002447872, '2022-07-12 22:00:39', 1399985191002447872, '2024-05-09 17:13:10', 7, 0); -INSERT INTO `starter_quartz_job` VALUES (1761419490908958720, '客户系统通知重发任务', 'cn.daxpay.single.service.task.ClientNoticeSendTask', '0/1 * * * * ? *', '', 0, '每秒调用一下当前需要进行通知的任务', 1399985191002447872, '2024-02-24 23:55:07', 1399985191002447872, '2024-05-09 17:13:10', 5, 0); -INSERT INTO `starter_quartz_job` VALUES (1764664552203743232, '支付宝定时对账', 'cn.daxpay.single.service.task.ReconcileTask', '0 0 11 * * ? *', '{\"channel\":\"ali_pay\",\"n\":1}', 0, '', 1399985191002447872, '2024-03-04 22:49:50', 1399985191002447872, '2024-05-09 17:13:10', 6, 0); -INSERT INTO `starter_quartz_job` VALUES (1764667388106887168, '微信支付定时对账', 'cn.daxpay.single.service.task.ReconcileTask', '0 0 11 * * ? *', '{\"channel\":\"wechat_pay\",\"n\":1}', 0, '', 1399985191002447872, '2024-03-04 23:01:06', 1399985191002447872, '2024-05-09 17:13:10', 6, 0); -INSERT INTO `starter_quartz_job` VALUES (1767553847839141888, '退款订单定时同步', 'cn.daxpay.single.service.task.RefundSyncTask', '0 * * * * ? *', '', 0, '', 1399985191002447872, '2024-03-12 22:10:52', 1399985191002447872, '2024-05-09 17:13:10', 4, 0); -INSERT INTO `starter_quartz_job` VALUES (1787464504578744320, '自动分账定时任务', 'cn.daxpay.single.service.task.AllocationAutoStartTask', '0/10 * * * * ? *', '', 0, '', 1399985191002447872, '2024-05-06 20:48:42', 1399985191002447872, '2024-05-09 17:13:10', 2, 0); -INSERT INTO `starter_quartz_job` VALUES (1787470450809954304, '自动分账信息同步和完结接口', 'cn.daxpay.single.service.task.AllocationSyncTask', '0/10 * * * * ? *', '', 0, '', 1399985191002447872, '2024-05-06 21:12:20', 1399985191002447872, '2024-05-09 17:13:10', 2, 0); - --- ---------------------------- --- Table structure for starter_quartz_job_log --- ---------------------------- -DROP TABLE IF EXISTS `starter_quartz_job_log`; -CREATE TABLE `starter_quartz_job_log` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `handler_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器名称', - `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器全限定名', - `success` bit(1) NOT NULL COMMENT '是否执行成功', - `error_message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', - `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间', - `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', - `duration` bigint(255) NULL DEFAULT NULL COMMENT '执行时长', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务执行日志' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_quartz_job_log --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wecom_robot_config --- ---------------------------- -DROP TABLE IF EXISTS `starter_wecom_robot_config`; -CREATE TABLE `starter_wecom_robot_config` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号', - `webhook_key` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'webhook地址的key值', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime(6) NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime(6) NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - `deleted` bit(1) NOT NULL COMMENT '0:未删除。1:已删除', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '企业微信机器人配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wecom_robot_config --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_fans --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_fans`; -CREATE TABLE `starter_wx_fans` ( - `id` bigint(20) NOT NULL, - `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联OpenId', - `subscribe_status` bit(1) NULL DEFAULT NULL COMMENT '订阅状态', - `subscribe_time` datetime NULL DEFAULT NULL COMMENT '订阅时间', - `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', - `sex` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '性别', - `language` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语言', - `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家', - `province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '省份', - `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', - `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号粉丝' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_fans --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_menu --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_menu`; -CREATE TABLE `starter_wx_menu` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称', - `menu_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '菜单信息', - `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注', - `publish` bit(1) NOT NULL COMMENT '是否发布', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0:未删除。1:已删除', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '微信自定义菜单' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_menu --- ---------------------------- - --- ---------------------------- --- Table structure for starter_wx_template --- ---------------------------- -DROP TABLE IF EXISTS `starter_wx_template`; -CREATE TABLE `starter_wx_template` ( - `id` bigint(20) NOT NULL, - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `enable` bit(1) NOT NULL COMMENT '是否启用', - `template_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板ID', - `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板标题', - `primary_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的一级行业', - `deputy_industry` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板所属行业的二级行业', - `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板内容', - `example` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '示例', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建人', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '版本', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `inx_`(`template_id`) USING BTREE COMMENT '模板id' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息模板' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of starter_wx_template --- ---------------------------- - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/_config/mysql/2.0.6/2.0.6.update.data.sql b/_config/mysql/2.0.6/2.0.6.update.data.sql deleted file mode 100644 index 57626726c70b7e4496e2ebb1bdca860ba81554fa..0000000000000000000000000000000000000000 --- a/_config/mysql/2.0.6/2.0.6.update.data.sql +++ /dev/null @@ -1,287 +0,0 @@ -SET FOREIGN_KEY_CHECKS = 0; - -INSERT INTO `base_dict` (`id`, `code`, `name`, `enable`, `group_tag`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797179034383134720, 'TradeFlowRecordType', '交易流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-06-02 16:10:46', 1399985191002447872, '2024-06-02 16:10:46', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1795722875761156096, 1780163691808391168, 'AllocDetailResult', 'ignore', '忽略分账', b'1', 3.00, '', 1399985191002447872, '2024-05-29 15:44:31', 1399985191002447872, '2024-05-29 15:44:31', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1795722956774137856, 1777697358802530304, 'AllocOrderStatus', 'ignore', '忽略分账', b'1', 7.00, '', 1399985191002447872, '2024-05-29 15:44:50', 1399985191002447872, '2024-05-29 15:44:50', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1795730634367918080, 1751603996496453632, 'PaymentType', 'transfer', '转账', b'1', 3.00, '', 1399985191002447872, '2024-05-29 16:15:21', 1399985191002447872, '2024-05-29 16:15:21', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1795730676084465664, 1751603996496453632, 'PaymentType', 'allocation', '分账', b'1', 4.00, '', 1399985191002447872, '2024-05-29 16:15:31', 1399985191002447872, '2024-05-29 16:15:31', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797179153430065152, 1797179034383134720, 'TradeFlowRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-06-02 16:11:15', 1399985191002447872, '2024-06-02 16:11:15', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797179194613936128, 1797179034383134720, 'TradeFlowRecordType', 'refund', '退款', b'1', 1.00, '', 1399985191002447872, '2024-06-02 16:11:25', 1399985191002447872, '2024-06-02 16:11:25', 0, 0); - -INSERT INTO `base_dict_item` (`id`, `dict_id`, `dict_code`, `code`, `name`, `enable`, `sort_no`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797524426741882880, 1761434095349624832, 'ClientNoticeType', 'allocation', '分账', b'1', 3.00, '', 1399985191002447872, '2024-06-03 15:03:14', 1399985191002447872, '2024-06-03 15:03:14', 0, 0); - -UPDATE `base_dict_item` SET `dict_id` = 1777697358802530304, `dict_code` = 'AllocOrderStatus', `code` = 'waiting', `name` = '待分账', `enable` = b'1', `sort_no` = 1.00, `remark` = '', `creator` = 1399985191002447872, `create_time` = '2024-04-09 22:10:53', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-05-29 15:45:15', `deleted` = 1, `version` = 0 WHERE `id` = 1777700713809522688; - -UPDATE `base_dict_item` SET `dict_id` = 1777697358802530304, `dict_code` = 'AllocOrderStatus', `code` = 'finish', `name` = '完结', `enable` = b'1', `sort_no` = 5.00, `remark` = '', `creator` = 1399985191002447872, `create_time` = '2024-04-09 22:11:30', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-05-29 15:46:08', `deleted` = 0, `version` = 2 WHERE `id` = 1777700870613577728; - -UPDATE `base_dict_item` SET `dict_id` = 1777697358802530304, `dict_code` = 'AllocOrderStatus', `code` = 'finish_failed', `name` = '完结失败', `enable` = b'1', `sort_no` = 6.00, `remark` = '', `creator` = 1399985191002447872, `create_time` = '2024-04-09 22:11:53', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-05-29 15:45:51', `deleted` = 0, `version` = 2 WHERE `id` = 1777700964087836672; - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1582633196587261952, 'dax-pay', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1582633307786649600, 'dax-pay', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1582633620321017856, 'dax-pay', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1629039360928075776, 'dax-pay', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1399985191002447872, '2024-05-09 19:26:57', 1, 1); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1635274568758435840, 'dax-pay', 1582276341792985088, '数据集管理', 'DataResultSqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/dataresult/DataResultSqlList', NULL, '/develop/dataresult', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1399985191002447872, '2024-05-09 19:27:24', 3, 1); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1689181991598997504, 'dax-pay', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1690324070514782208, 'dax-pay', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1703665090038800384, 'dax-pay', 1582276341792985088, '在线SQL', 'SqlQueryInfo', NULL, b'0', '', b'0', b'0', '/modules/develop/query/SqlQueryInfo', NULL, '/develop/sqlquery', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-09-18 14:59:45', 1399985191002447872, '2024-05-09 19:27:29', 0, 1); - -INSERT INTO `iam_perm_menu` (`id`, `client_code`, `parent_id`, `title`, `name`, `perm_code`, `effect`, `icon`, `hidden`, `hide_children_in_menu`, `component`, `component_name`, `path`, `redirect`, `sort_no`, `menu_type`, `leaf`, `keep_alive`, `target_outside`, `hidden_header_content`, `internal`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1797178029448867840, 'dax-pay', 1744643265142165504, '交易流水', 'TradeFlowRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/flow/TradeFlowRecordList', NULL, '/pay/record/flow', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-02 16:06:47', 1399985191002447872, '2024-06-02 16:06:47', 0, 0); - -UPDATE `iam_perm_menu` SET `client_code` = 'dax-pay', `parent_id` = 1775089099078553600, `title` = '分账订单', `name` = 'AllocationOrderList', `perm_code` = NULL, `effect` = b'0', `icon` = '', `hidden` = b'0', `hide_children_in_menu` = b'0', `component` = 'payment/allocation/order/AllocationOrderList', `component_name` = NULL, `path` = '/pay/allocation/order', `redirect` = '', `sort_no` = -1, `menu_type` = 1, `leaf` = NULL, `keep_alive` = b'1', `target_outside` = b'0', `hidden_header_content` = b'0', `internal` = b'0', `remark` = NULL, `creator` = 1399985191002447872, `create_time` = '2024-04-09 21:21:53', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-05-31 11:16:55', `version` = 5, `deleted` = 0 WHERE `id` = 1777688382748700672; - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066176, 'PayNoticeReceiverController#wechatPayNotice', '微信消息通知', 'POST', '/callback/notice/wechat', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 微信消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066177, 'AllocationReceiverController#existsByReceiverNo', '编码是否存在', 'GET', '/allocation/receiver/existsByReceiverNo', '分账接收方控制器', b'1', b'1', '分账接收方控制器 编码是否存在', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066178, 'UniAllocationController#start', '发起分账接口', 'POST', '/unipay/allocation/start', '分账控制器', b'1', b'1', '分账控制器 发起分账接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066179, 'UniPayController#transfer', '统一转账接口', 'POST', '/unipay/transfer', '统一支付接口', b'1', b'1', '统一支付接口 统一转账接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066180, 'UniQueryController#transferOrder', '转账订单查询接口', 'POST', '/unipay/query/transferOrder', '统一查询接口', b'1', b'1', '统一查询接口 转账订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066181, 'AllocationGroupController#existsByGroupNo', '编码是否存在', 'GET', '/allocation/group/existsByGroupNo', '分账组', b'1', b'1', '分账组 编码是否存在', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066182, 'UniQueryController#queryPayOrder', '支付订单查询接口', 'POST', '/unipay/query/payOrder', '统一查询接口', b'1', b'1', '统一查询接口 支付订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066183, 'UniQueryController#queryAllocationOrder', '分账订单查询接口', 'POST', '/unipay/query/allocationOrder', '统一查询接口', b'1', b'1', '统一查询接口 分账订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066184, 'AllocationOrderController#findByAllocNo', '查询扩展信息', 'GET', '/order/allocation/findByAllocNo', '分账订单控制器', b'1', b'1', '分账订单控制器 查询扩展信息', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066185, 'UniAllocationController#receiverAdd', '分账接收方添加接口', 'POST', '/unipay/allocation/receiver/add', '分账控制器', b'1', b'1', '分账控制器 分账接收方添加接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066186, 'UniPaySyncController#allocation', '分账同步接口', 'POST', '/unipay/sync/allocation', '统一同步接口', b'1', b'1', '统一同步接口 分账同步接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066187, 'UniReconcileController#down', '下载指定日期的资金流水', 'POST', '/unipay/reconcile/pay', '对账接口处理器', b'1', b'1', '对账接口处理器 下载指定日期的资金流水', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066188, 'RefundOrderController#findByRefundNo', '查询退款订单详情', 'GET', '/order/refund/findByRefundNo', '支付退款控制器', b'1', b'1', '支付退款控制器 查询退款订单详情', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066189, 'TradeFlowRecordController#findById', '查询单条', 'GET', '/record/flow/findById', '交易流水记录控制器', b'1', b'1', '交易流水记录控制器 查询单条', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066190, 'ClientNoticeReceiveController#allocation', '分账消息(对象)', 'POST', '/demo/callback/allocationObject', '回调测试', b'1', b'1', '回调测试 分账消息(对象)', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066191, 'UniPaySyncController#pay', '支付同步接口', 'POST', '/unipay/sync/pay', '统一同步接口', b'1', b'1', '统一同步接口 支付同步接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066192, 'UniPaySyncController#refund', '退款同步接口', 'POST', '/unipay/sync/refund', '统一同步接口', b'1', b'1', '统一同步接口 退款同步接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066193, 'UniPaySyncController#transfer', '转账同步接口', 'POST', '/unipay/sync/transfer', '统一同步接口', b'1', b'1', '统一同步接口 转账同步接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066194, 'ClientNoticeReceiveController#allocation', '分账消息', 'POST', '/demo/callback/allocation', '回调测试', b'1', b'1', '回调测试 分账消息', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066195, 'UniQueryController#queryAllocReceive', '分账接收方查询接口', 'POST', '/unipay/query/allocationReceiver', '统一查询接口', b'1', b'1', '统一查询接口 分账接收方查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066196, 'UniAllocationController#finish', '分账完结接口', 'POST', '/unipay/allocation/finish', '分账控制器', b'1', b'1', '分账控制器 分账完结接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066197, 'PayNoticeReceiverController#aliPayNotice', '支付宝消息通知', 'POST', '/callback/notice/alipay', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 支付宝消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066198, 'UniQueryController#queryRefundOrder', '退款订单查询接口', 'POST', '/unipay/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 退款订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066199, 'TradeFlowRecordController#page', '分页查询', 'GET', '/record/flow/page', '交易流水记录控制器', b'1', b'1', '交易流水记录控制器 分页查询', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -INSERT INTO `iam_perm_path` (`id`, `code`, `name`, `request_type`, `path`, `group_name`, `enable`, `generate`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `deleted`, `version`) VALUES (1797521957446066200, 'UniAllocationController#receiverRemove', '分账接收方删除接口', 'POST', '/unipay/allocation/receiver/remove', '分账控制器', b'1', b'1', '分账控制器 分账接收方删除接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); - -UPDATE `iam_perm_path` SET `code` = 'AllocationReceiverController#removeByGateway', `name` = '从三方支付系统中删除', `request_type` = 'POST', `path` = '/allocation/receiver/removeByGateway', `group_name` = '分账接收方控制器', `enable` = b'1', `generate` = b'1', `remark` = '分账接收方控制器 从三方支付系统中删除', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.069000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117562556420; - -UPDATE `iam_perm_path` SET `code` = 'UniQueryController#queryRefundOrder', `name` = '退款订单查询接口', `request_type` = 'POST', `path` = '/uni/query/refundOrder', `group_name` = '统一查询接口', `enable` = b'1', `generate` = b'1', `remark` = '统一查询接口 退款订单查询接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.069000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117562556426; - -UPDATE `iam_perm_path` SET `code` = 'UniPayController#syncPay', `name` = '支付同步接口', `request_type` = 'POST', `path` = '/unipay/syncPay', `group_name` = '统一支付接口', `enable` = b'1', `generate` = b'1', `remark` = '统一支付接口 支付同步接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750722; - -UPDATE `iam_perm_path` SET `code` = 'PayGatewayNoticeController#wechatPayNotice', `name` = '微信消息通知', `request_type` = 'POST', `path` = '/gateway/notice/wechat', `group_name` = '三方支付网关消息通知', `enable` = b'1', `generate` = b'1', `remark` = '三方支付网关消息通知 微信消息通知', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750736; - -UPDATE `iam_perm_path` SET `code` = 'AllocationReceiverController#registerByGateway', `name` = '同步到三方支付系统中', `request_type` = 'POST', `path` = '/allocation/receiver/registerByGateway', `group_name` = '分账接收方控制器', `enable` = b'1', `generate` = b'1', `remark` = '分账接收方控制器 同步到三方支付系统中', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750740; - -UPDATE `iam_perm_path` SET `code` = 'RefundOrderController#findByRefundNo', `name` = '查询退款订单详情', `request_type` = 'GET', `path` = '/order/refund/findByOrderNo', `group_name` = '支付退款控制器', `enable` = b'1', `generate` = b'1', `remark` = '支付退款控制器 查询退款订单详情', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750763; - -UPDATE `iam_perm_path` SET `code` = 'UniQueryController#queryPayOrder', `name` = '支付订单查询接口', `request_type` = 'POST', `path` = '/uni/query/payOrder', `group_name` = '统一查询接口', `enable` = b'1', `generate` = b'1', `remark` = '统一查询接口 支付订单查询接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750771; - -UPDATE `iam_perm_path` SET `code` = 'UniPayController#syncRefund', `name` = '退款同步接口', `request_type` = 'POST', `path` = '/unipay/syncRefund', `group_name` = '统一支付接口', `enable` = b'1', `generate` = b'1', `remark` = '统一支付接口 退款同步接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.723000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750798; - -UPDATE `iam_perm_path` SET `code` = 'UniPayController#allocation', `name` = '开启分账接口', `request_type` = 'POST', `path` = '/unipay/allocation', `group_name` = '统一支付接口', `enable` = b'1', `generate` = b'1', `remark` = '统一支付接口 开启分账接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.070000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.722000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117566750833; - -UPDATE `iam_perm_path` SET `code` = 'PayGatewayNoticeController#aliPayNotice', `name` = '支付宝消息通知', `request_type` = 'POST', `path` = '/gateway/notice/alipay', `group_name` = '三方支付网关消息通知', `enable` = b'1', `generate` = b'1', `remark` = '三方支付网关消息通知 支付宝消息通知', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.071000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.722000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117570945107; - -UPDATE `iam_perm_path` SET `code` = 'AllocationReceiverController#update', `name` = '修改', `request_type` = 'POST', `path` = '/allocation/receiver/update', `group_name` = '分账接收方控制器', `enable` = b'1', `generate` = b'1', `remark` = '分账接收方控制器 修改', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.071000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.722000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117570945181; - -UPDATE `iam_perm_path` SET `code` = 'UniPayController#allocationFinish', `name` = '分账完结接口', `request_type` = 'POST', `path` = '/unipay/allocationFinish', `group_name` = '统一支付接口', `enable` = b'1', `generate` = b'1', `remark` = '统一支付接口 分账完结接口', `creator` = 1399985191002447872, `create_time` = '2024-05-13 19:16:54.071000', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 14:53:25.716000', `deleted` = b'1', `version` = 0 WHERE `id` = 1789978117570945220; - -INSERT INTO `iam_role_menu` (`id`, `role_id`, `client_code`, `permission_id`) VALUES (1797522085254897664, 1757297023118462976, 'dax-pay', 1797178029448867840); - -INSERT INTO `iam_role_menu` (`id`, `role_id`, `client_code`, `permission_id`) VALUES (1797522085414281216, 1757298887092326400, 'dax-pay', 1797178029448867840); - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343710; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343757; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343761; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343763; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343784; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979321814343785; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636766; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636813; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636817; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636819; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636840; - -DELETE FROM `iam_role_path` WHERE `id` = 1789979322187636841; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957888; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957889; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957890; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957891; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320001957892; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621184; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621185; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621186; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621187; - -DELETE FROM `iam_role_path` WHERE `id` = 1790355320102621188; - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786944, 1757297023118462976, 1797521957446066199); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786945, 1757297023118462976, 1797521957446066189); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786946, 1757297023118462976, 1797521957446066197); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786947, 1757297023118462976, 1797521957446066176); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522413752786948, 1757297023118462976, 1797521957446066187); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095552, 1757298887092326400, 1797521957446066199); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095553, 1757298887092326400, 1797521957446066189); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095554, 1757298887092326400, 1797521957446066197); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095555, 1757298887092326400, 1797521957446066176); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797522723091095556, 1757298887092326400, 1797521957446066187); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523038569865216, 1757297023118462976, 1797521957446066184); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523038569865217, 1757297023118462976, 1797521957446066181); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523038733443072, 1757298887092326400, 1797521957446066184); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523038733443073, 1757298887092326400, 1797521957446066181); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523166064123904, 1757297023118462976, 1797521957446066177); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523166223507456, 1757298887092326400, 1797521957446066177); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293184, 1757297023118462976, 1789978117570945272); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293185, 1757297023118462976, 1789978117570945194); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293186, 1757297023118462976, 1789978117570945175); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293187, 1757297023118462976, 1789978117570945164); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523263875293188, 1757297023118462976, 1789978117566750801); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093824, 1757298887092326400, 1789978117570945272); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093825, 1757298887092326400, 1789978117570945194); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093826, 1757298887092326400, 1789978117570945175); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093827, 1757298887092326400, 1789978117570945164); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523264022093828, 1757298887092326400, 1789978117566750801); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523482968956928, 1757297023118462976, 1797521957446066188); - -INSERT INTO `iam_role_path` (`id`, `role_id`, `permission_id`) VALUES (1797523483111563264, 1757298887092326400, 1797521957446066188); - -DELETE FROM `pay_api_config` WHERE `id` = 1; - -DELETE FROM `pay_api_config` WHERE `id` = 3; - -DELETE FROM `pay_api_config` WHERE `id` = 4; - -DELETE FROM `pay_api_config` WHERE `id` = 6; - -DELETE FROM `pay_api_config` WHERE `id` = 7; - -DELETE FROM `pay_api_config` WHERE `id` = 8; - -DELETE FROM `pay_api_config` WHERE `id` = 9; - -DELETE FROM `pay_api_config` WHERE `id` = 10; - -DELETE FROM `pay_api_config` WHERE `id` = 11; - -DELETE FROM `pay_api_config` WHERE `id` = 12; - -DELETE FROM `pay_api_config` WHERE `id` = 13; - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (100, 'pay', '/unipay/pay', '统一支付接口 ', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/payObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-03-11 17:31:41', 11, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (200, 'close', '/unipay/close', '支付关闭接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (300, 'refund', '/unipay/refund', '统一退款接口', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/refundObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-05-16 21:59:19', 7, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (400, 'allocation', '/unipay/allocation/start', '统一分账接口', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/allocationObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-05-30 19:36:35', 1, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (450, 'allocationFinish', '/unipay/allocation/finish', '分账完结接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (451, 'allocationReceiverAdd', '/unipay/allocation/receiver/add', '分账接收方添加接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (452, 'allocationReceiverRemove', '/unipay/allocation/receiver/remove', '分账接收方删除接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (500, 'transfer', '/unipay/transfer', '统一转账接口', b'1', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (600, 'syncPay', '/unipay/sync/pay', '支付同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (700, 'syncRefund', '/unipay/sync/refund', '退款同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (801, 'syncTransfer', '/unipay/sync/transfer', '转账同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (805, 'syncAllocation', '/unipay/sync/allocation', '分账同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1000, 'queryPayOrder', '/unipay/query/payOrder', '支付订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1100, 'queryRefundOrder', '/unipay/query/refundOrder', '退款订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1150, 'queryAllocationOrder', '/unipay/query/allocationOrder', '分账订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1175, 'queryAllocationReceiver', '/unipay/query/allocationReceiver', '分账接收方查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1176, 'queryTransferOrder', '/unipay/query/transferOrder', '转账订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1200, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `pay_api_config` (`id`, `code`, `api`, `name`, `notice_support`, `enable`, `notice`, `notice_url`, `req_sign`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1300, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); - -INSERT INTO `starter_quartz_job` (`id`, `name`, `job_class_name`, `cron`, `parameter`, `state`, `remark`, `creator`, `create_time`, `last_modifier`, `last_modified_time`, `version`, `deleted`) VALUES (1797588916837670912, '支付单超时检测(数据库)', 'cn.daxpay.single.service.task.PayExpiredByDbTimeTask', '0/20 * * * * ? *', '', 0, '检测超时的支付单, 超时后调用同步事件状态修复', 1399985191002447872, '2024-06-03 19:19:30', 1399985191002447872, '2024-06-03 19:22:28', 5, 0); - -UPDATE `starter_quartz_job` SET `name` = '支付单超时检测(Redis)', `job_class_name` = 'cn.daxpay.single.service.task.PayExpiredTimeTask', `cron` = '0/5 * * * * ? *', `parameter` = NULL, `state` = 0, `remark` = '检测超时的支付单, 超时后调用同步事件状态修复', `creator` = 1399985191002447872, `create_time` = '2022-07-12 22:00:39', `last_modifier` = 1399985191002447872, `last_modified_time` = '2024-06-03 19:18:14', `version` = 9, `deleted` = 0 WHERE `id` = 1546857070483939328; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/_config/mysql/2.0.6/2.0.6.update.table.sql b/_config/mysql/2.0.6/2.0.6.update.table.sql deleted file mode 100644 index 5e232d57fc976ab7236a27f8f86acf90ce87f75f..0000000000000000000000000000000000000000 --- a/_config/mysql/2.0.6/2.0.6.update.table.sql +++ /dev/null @@ -1,85 +0,0 @@ -SET FOREIGN_KEY_CHECKS=0; - -ALTER TABLE `iam_perm_menu` - CHANGE COLUMN `admin` `internal` bit(1) NOT NULL COMMENT '系统菜单' AFTER `hidden_header_content`; - -ALTER TABLE `pay_allocation_group` ADD COLUMN `group_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账组编码' AFTER `id`; - -ALTER TABLE `pay_allocation_group` MODIFY COLUMN `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组' AFTER `channel`; - -ALTER TABLE `pay_allocation_order` MODIFY COLUMN `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单标题' AFTER `out_order_no`; - -ALTER TABLE `pay_allocation_order` MODIFY COLUMN `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理结果' AFTER `status`; - -ALTER TABLE `pay_allocation_order_detail` ADD COLUMN `receiver_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方编号' AFTER `receiver_id`; - -CREATE TABLE `pay_allocation_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单扩展' ROW_FORMAT = Dynamic; - -ALTER TABLE `pay_allocation_receiver` ADD COLUMN `receiver_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方编号' AFTER `id`; - -ALTER TABLE `pay_allocation_receiver` DROP COLUMN `name`; - -ALTER TABLE `pay_allocation_receiver` DROP COLUMN `sync`; - -ALTER TABLE `pay_allocation_receiver` DROP COLUMN `remark`; - -ALTER TABLE `pay_api_config` DROP COLUMN `res_sign`; - -ALTER TABLE `pay_api_config` DROP COLUMN `notice_sign`; - -ALTER TABLE `pay_api_config` DROP COLUMN `record`; - -CREATE TABLE `pay_reconcile_out_trade` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账-通道交易明细' ROW_FORMAT = Dynamic; - -ALTER TABLE `pay_refund_order` MODIFY COLUMN `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号' AFTER `biz_order_no`; - -ALTER TABLE `pay_refund_order` MODIFY COLUMN `out_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道退款交易号' AFTER `biz_refund_no`; - -CREATE TABLE `pay_trade_flow_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `biz_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '资金流水记录' ROW_FORMAT = Dynamic; - -ALTER TABLE `pay_union_pay_config` MODIFY COLUMN `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额' AFTER `seller`; - -ALTER TABLE `pay_wechat_pay_config` MODIFY COLUMN `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账' AFTER `sandbox`; - -ALTER TABLE `pay_wechat_pay_config` MODIFY COLUMN `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额' AFTER `pay_ways`; - -DROP TABLE IF EXISTS `pay_reconcile_trade_detail`; - -SET FOREIGN_KEY_CHECKS=1; diff --git a/_config/mysql/dax-pay.sql b/_config/mysql/dax-pay.sql index c47f349b486e96300d0a27cdae708146a2f2d547..c6c5d176a3299b83e4d2c45896224d9065d514d4 100644 --- a/_config/mysql/dax-pay.sql +++ b/_config/mysql/dax-pay.sql @@ -4,14 +4,11 @@ Source Server : 阿里-mysql5.7 Source Server Type : MySQL Source Server Version : 50743 (5.7.43-log) - Source Host : mysql.dev.bootx.cn:3306 - Source Schema : dax-pay Target Server Type : MySQL Target Server Version : 50743 (5.7.43-log) File Encoding : 65001 - Date: 03/06/2024 19:37:29 */ SET NAMES utf8mb4; @@ -168,9 +165,14 @@ INSERT INTO `base_dict` VALUES (1775122632706805760, 'AllocRelationType', '分 INSERT INTO `base_dict` VALUES (1777697358802530304, 'AllocOrderStatus', '分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-09 21:57:33', 1399985191002447872, '2024-05-14 16:40:04', 0, 2); INSERT INTO `base_dict` VALUES (1780163691808391168, 'AllocDetailResult', '支付分账明细处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:17:53', 1399985191002447872, '2024-05-14 16:39:57', 0, 3); INSERT INTO `base_dict` VALUES (1780165499633106944, 'AllocOrderResult', '支付分账订单处理结果', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:25:04', 1399985191002447872, '2024-05-14 16:39:36', 0, 1); -INSERT INTO `base_dict` VALUES (1780165929528295424, 'PayOrderAllocationStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-04-16 17:26:46', 0, 0); +INSERT INTO `base_dict` VALUES (1780165929528295424, 'PayOrderAllocStatus', '支付订单分账状态', b'1', '支付', '', 1399985191002447872, '2024-04-16 17:26:46', 1399985191002447872, '2024-06-08 23:19:51', 0, 1); INSERT INTO `base_dict` VALUES (1786399552686465024, 'ReconcileResult', '对账结果', b'1', '支付', '', 1399985191002447872, '2024-05-03 22:16:58', 1399985191002447872, '2024-05-03 22:16:58', 0, 0); INSERT INTO `base_dict` VALUES (1797179034383134720, 'TradeFlowRecordType', '交易流水记录类型', b'1', '支付', '', 1399985191002447872, '2024-06-02 16:10:46', 1399985191002447872, '2024-06-02 16:10:46', 0, 0); +INSERT INTO `base_dict` VALUES (1798321710043836416, 'PayCloseType', '订单关闭类型', b'1', '支付', '', 1399985191002447872, '2024-06-05 19:51:22', 1399985191002447872, '2024-06-05 19:51:22', 0, 0); +INSERT INTO `base_dict` VALUES (1799457546670387200, 'PayOrderRefundStatus', '退款状态', b'1', '支付', '支付订单的退款状态', 1399985191002447872, '2024-06-08 23:04:46', 1399985191002447872, '2024-06-08 23:04:46', 0, 0); +INSERT INTO `base_dict` VALUES (1804799534471016448, 'TransferPayeeType', '转账接收方类型', b'1', '支付', '', 1399985191002447872, '2024-06-23 16:51:55', 1399985191002447872, '2024-06-23 16:51:55', 0, 0); +INSERT INTO `base_dict` VALUES (1804800732808835072, 'TransferStatus', '转账状态', b'1', '支付', '', 1399985191002447872, '2024-06-23 16:56:41', 1399985191002447872, '2024-06-23 16:56:41', 0, 0); +INSERT INTO `base_dict` VALUES (1804801011272871936, 'TransferType', '转账类型', b'1', '支付', '微信使用', 1399985191002447872, '2024-06-23 16:57:47', 1399985191002447872, '2024-06-23 16:57:47', 0, 0); -- ---------------------------- -- Table structure for base_dict_item @@ -283,8 +285,8 @@ INSERT INTO `base_dict_item` VALUES (1744997501033979904, 1744996913667842048, ' INSERT INTO `base_dict_item` VALUES (1744997541811003392, 1744996913667842048, 'PayStatus', 'success', '成功', b'1', 2.00, '', 1399985191002447872, '2024-01-10 16:20:09', 1399985191002447872, '2024-01-10 16:20:09', 0, 0); INSERT INTO `base_dict_item` VALUES (1744997578863484928, 1744996913667842048, 'PayStatus', 'close', '支付关闭', b'1', 3.00, '', 1399985191002447872, '2024-01-10 16:20:18', 1399985191002447872, '2024-01-10 16:20:18', 0, 0); INSERT INTO `base_dict_item` VALUES (1744997619665674240, 1744996913667842048, 'PayStatus', 'fail', '失败', b'1', 7.00, '', 1399985191002447872, '2024-01-10 16:20:28', 1399985191002447872, '2024-01-27 00:52:05', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997658735616000, 1744996913667842048, 'PayStatus', 'partial_refund', '部分退款', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:20:37', 1399985191002447872, '2024-01-10 16:20:44', 0, 1); -INSERT INTO `base_dict_item` VALUES (1744997746321072128, 1744996913667842048, 'PayStatus', 'refunded', '全部退款', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:20:58', 1399985191002447872, '2024-01-10 16:20:58', 0, 0); +INSERT INTO `base_dict_item` VALUES (1744997658735616000, 1744996913667842048, 'PayStatus', 'partial_refund', '部分退款', b'1', 5.00, '', 1399985191002447872, '2024-01-10 16:20:37', 1399985191002447872, '2024-06-08 23:04:15', 1, 1); +INSERT INTO `base_dict_item` VALUES (1744997746321072128, 1744996913667842048, 'PayStatus', 'refunded', '全部退款', b'1', 6.00, '', 1399985191002447872, '2024-01-10 16:20:58', 1399985191002447872, '2024-06-08 23:04:17', 1, 0); INSERT INTO `base_dict_item` VALUES (1745085949967278080, 1744996611615039488, 'AsyncPayChannel', 'ali_pay', '支付宝', b'1', 1.00, '', 1399985191002447872, '2024-01-10 22:11:27', 1399985191002447872, '2024-01-10 22:11:27', 0, 0); INSERT INTO `base_dict_item` VALUES (1745085991767711744, 1744996611615039488, 'AsyncPayChannel', 'wechat_pay', '微信支付', b'1', 2.00, '', 1399985191002447872, '2024-01-10 22:11:37', 1399985191002447872, '2024-01-10 22:11:37', 0, 0); INSERT INTO `base_dict_item` VALUES (1745086048852189184, 1744996611615039488, 'AsyncPayChannel', 'union_pay', '云闪付', b'1', 3.00, '', 1399985191002447872, '2024-01-10 22:11:51', 1399985191002447872, '2024-01-11 00:13:03', 0, 1); @@ -323,7 +325,7 @@ INSERT INTO `base_dict_item` VALUES (1749612758531256320, 1749612665392541696, ' INSERT INTO `base_dict_item` VALUES (1749612797680889856, 1749612665392541696, 'ReconcileTrade', 'revoked', '撤销', b'1', 3.00, '', 1399985191002447872, '2024-01-23 09:59:32', 1399985191002447872, '2024-01-23 09:59:32', 0, 0); INSERT INTO `base_dict_item` VALUES (1750924188674404352, 1745748188122554368, 'RefundStatus', 'progress', '退款中', b'1', 0.00, '接口调用成功不代表成功', 1399985191002447872, '2024-01-27 00:50:32', 1399985191002447872, '2024-01-27 00:50:32', 0, 0); INSERT INTO `base_dict_item` VALUES (1750924286401687552, 1745748188122554368, 'RefundStatus', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-01-27 00:50:55', 1399985191002447872, '2024-01-27 00:50:55', 0, 0); -INSERT INTO `base_dict_item` VALUES (1750924518497693696, 1744996913667842048, 'PayStatus', 'refunding', '退款中', b'1', 4.00, '', 1399985191002447872, '2024-01-27 00:51:50', 1399985191002447872, '2024-01-27 00:52:10', 0, 1); +INSERT INTO `base_dict_item` VALUES (1750924518497693696, 1744996913667842048, 'PayStatus', 'refunding', '退款中', b'1', 4.00, '', 1399985191002447872, '2024-01-27 00:51:50', 1399985191002447872, '2024-06-08 23:04:13', 1, 1); INSERT INTO `base_dict_item` VALUES (1751528739035111424, 1751603996496453632, 'PaymentType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-01-28 16:52:48', 1399985191002447872, '2024-01-28 16:52:48', 0, 0); INSERT INTO `base_dict_item` VALUES (1751528773260632064, 1751603996496453632, 'PaymentType', 'refund', '退款', b'1', 2.00, '', 1399985191002447872, '2024-01-28 16:52:56', 1399985191002447872, '2024-01-28 16:52:56', 0, 0); INSERT INTO `base_dict_item` VALUES (1751613076980039680, 1751613032260370432, 'PayCallbackType', 'pay', '支付回调', b'1', 1.00, '', 1399985191002447872, '2024-01-28 22:27:56', 1399985191002447872, '2024-01-28 22:27:56', 0, 0); @@ -371,10 +373,10 @@ INSERT INTO `base_dict_item` VALUES (1763588174695878656, 1763588034467713024, ' INSERT INTO `base_dict_item` VALUES (1766713657021157376, 1766713545981153280, 'UnionPaySignType', 'RSA2', 'RSA2', b'1', 0.00, '', 1399985191002447872, '2024-03-10 14:32:14', 1399985191002447872, '2024-03-10 14:32:14', 0, 0); INSERT INTO `base_dict_item` VALUES (1768206502721449984, 1768206399071809536, 'UnionPayRecordType', 'pay', '支付', b'1', 1.00, '', 1399985191002447872, '2024-03-14 17:24:17', 1399985191002447872, '2024-03-14 17:24:17', 0, 0); INSERT INTO `base_dict_item` VALUES (1768206547285929984, 1768206399071809536, 'UnionPayRecordType', 'refund', '退款', b'1', 0.00, '', 1399985191002447872, '2024-03-14 17:24:27', 1399985191002447872, '2024-03-14 17:24:27', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122126567559168, 1775112798259302400, 'AllocReceiverType', 'wx_personal', '个人', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-04-02 19:24:30', 0, 0); -INSERT INTO `base_dict_item` VALUES (1775122171861848064, 1775112798259302400, 'AllocReceiverType', 'wx_merchant', '商户', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-04-02 19:24:41', 0, 0); +INSERT INTO `base_dict_item` VALUES (1775122126567559168, 1775112798259302400, 'AllocReceiverType', 'wx_personal', 'OpenId', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:24:30', 1399985191002447872, '2024-06-26 19:34:26', 0, 1); +INSERT INTO `base_dict_item` VALUES (1775122171861848064, 1775112798259302400, 'AllocReceiverType', 'wx_merchant', '商户号', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:24:41', 1399985191002447872, '2024-06-26 19:34:18', 0, 1); INSERT INTO `base_dict_item` VALUES (1775122227956469760, 1775112798259302400, 'AllocReceiverType', 'ali_user_id', '用户ID', b'1', 3.00, '', 1399985191002447872, '2024-04-02 19:24:54', 1399985191002447872, '2024-04-02 19:25:53', 0, 1); -INSERT INTO `base_dict_item` VALUES (1775122278170677248, 1775112798259302400, 'AllocReceiverType', 'ali_open_id', '登录号', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-04-02 19:25:06', 0, 0); +INSERT INTO `base_dict_item` VALUES (1775122278170677248, 1775112798259302400, 'AllocReceiverType', 'ali_open_id', 'OpenId', b'1', 4.00, '', 1399985191002447872, '2024-04-02 19:25:06', 1399985191002447872, '2024-06-26 19:34:37', 0, 1); INSERT INTO `base_dict_item` VALUES (1775122427802472448, 1775112798259302400, 'AllocReceiverType', 'ali_login_name', '账号', b'1', 5.00, '', 1399985191002447872, '2024-04-02 19:25:42', 1399985191002447872, '2024-04-02 19:25:42', 0, 0); INSERT INTO `base_dict_item` VALUES (1775122672623996928, 1775122632706805760, 'AllocRelationType', 'SERVICE_PROVIDER', '服务商', b'1', 1.00, '', 1399985191002447872, '2024-04-02 19:26:40', 1399985191002447872, '2024-04-02 19:26:40', 0, 0); INSERT INTO `base_dict_item` VALUES (1775122710884438016, 1775122632706805760, 'AllocRelationType', 'STORE', '门店', b'1', 2.00, '', 1399985191002447872, '2024-04-02 19:26:49', 1399985191002447872, '2024-04-02 19:26:49', 0, 0); @@ -402,8 +404,8 @@ INSERT INTO `base_dict_item` VALUES (1780165545665593344, 1780165499633106944, ' INSERT INTO `base_dict_item` VALUES (1780165581623361536, 1780165499633106944, 'AllocOrderResult', 'all_success', '全部成功', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:25:23', 1399985191002447872, '2024-04-16 17:25:23', 0, 0); INSERT INTO `base_dict_item` VALUES (1780165617413357568, 1780165499633106944, 'AllocOrderResult', 'part_success', '部分成功', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:25:32', 1399985191002447872, '2024-04-16 17:25:32', 0, 0); INSERT INTO `base_dict_item` VALUES (1780165653350154240, 1780165499633106944, 'AllocOrderResult', 'all_failed', '全部失败', b'1', 3.00, '', 1399985191002447872, '2024-04-16 17:25:40', 1399985191002447872, '2024-04-16 17:25:40', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocationStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); -INSERT INTO `base_dict_item` VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocationStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); +INSERT INTO `base_dict_item` VALUES (1780165986231091200, 1780165929528295424, 'PayOrderAllocStatus', 'waiting', '待分账', b'1', 1.00, '', 1399985191002447872, '2024-04-16 17:27:00', 1399985191002447872, '2024-04-16 17:27:00', 0, 0); +INSERT INTO `base_dict_item` VALUES (1780166037149941760, 1780165929528295424, 'PayOrderAllocStatus', 'allocation', '已分账', b'1', 2.00, '', 1399985191002447872, '2024-04-16 17:27:12', 1399985191002447872, '2024-04-16 17:27:12', 0, 0); INSERT INTO `base_dict_item` VALUES (1786399594956660736, 1786399552686465024, 'ReconcileResult', 'consistent', '一致', b'1', 0.00, '', 1399985191002447872, '2024-05-03 22:17:08', 1399985191002447872, '2024-05-03 22:17:08', 0, 0); INSERT INTO `base_dict_item` VALUES (1786399681275437056, 1786399552686465024, 'ReconcileResult', 'inconsistent', '不一致', b'1', 1.00, '', 1399985191002447872, '2024-05-03 22:17:28', 1399985191002447872, '2024-05-03 22:17:28', 0, 0); INSERT INTO `base_dict_item` VALUES (1795722875761156096, 1780163691808391168, 'AllocDetailResult', 'ignore', '忽略分账', b'1', 3.00, '', 1399985191002447872, '2024-05-29 15:44:31', 1399985191002447872, '2024-05-29 15:44:31', 0, 0); @@ -413,6 +415,24 @@ INSERT INTO `base_dict_item` VALUES (1795730676084465664, 1751603996496453632, ' INSERT INTO `base_dict_item` VALUES (1797179153430065152, 1797179034383134720, 'TradeFlowRecordType', 'pay', '支付', b'1', 0.00, '', 1399985191002447872, '2024-06-02 16:11:15', 1399985191002447872, '2024-06-02 16:11:15', 0, 0); INSERT INTO `base_dict_item` VALUES (1797179194613936128, 1797179034383134720, 'TradeFlowRecordType', 'refund', '退款', b'1', 1.00, '', 1399985191002447872, '2024-06-02 16:11:25', 1399985191002447872, '2024-06-02 16:11:25', 0, 0); INSERT INTO `base_dict_item` VALUES (1797524426741882880, 1761434095349624832, 'ClientNoticeType', 'allocation', '分账', b'1', 3.00, '', 1399985191002447872, '2024-06-03 15:03:14', 1399985191002447872, '2024-06-03 15:03:14', 0, 0); +INSERT INTO `base_dict_item` VALUES (1798321426844430336, 1744996913667842048, 'PayStatus', 'cancel', '撤销', b'1', 4.00, '', 1399985191002447872, '2024-06-05 19:50:14', 1399985191002447872, '2024-06-08 23:04:25', 0, 1); +INSERT INTO `base_dict_item` VALUES (1798321777865732096, 1798321710043836416, 'PayCloseType', 'close', '订单关闭', b'1', 1.00, '', 1399985191002447872, '2024-06-05 19:51:38', 1399985191002447872, '2024-06-05 19:51:38', 0, 0); +INSERT INTO `base_dict_item` VALUES (1798321814024826880, 1798321710043836416, 'PayCloseType', 'cancel', '订单撤销', b'1', 2.00, '', 1399985191002447872, '2024-06-05 19:51:46', 1399985191002447872, '2024-06-05 19:51:46', 0, 0); +INSERT INTO `base_dict_item` VALUES (1799457614165127168, 1799457546670387200, 'PayOrderRefundStatus', 'no_refund', '未退款', b'1', 1.00, '', 1399985191002447872, '2024-06-08 23:05:02', 1399985191002447872, '2024-06-08 23:05:02', 0, 0); +INSERT INTO `base_dict_item` VALUES (1799457660700930048, 1799457546670387200, 'PayOrderRefundStatus', 'refunding', '退款中', b'1', 2.00, '', 1399985191002447872, '2024-06-08 23:05:13', 1399985191002447872, '2024-06-08 23:05:19', 0, 1); +INSERT INTO `base_dict_item` VALUES (1799457731333009408, 1799457546670387200, 'PayOrderRefundStatus', 'partial_refund', '部分退款', b'1', 3.00, '', 1399985191002447872, '2024-06-08 23:05:30', 1399985191002447872, '2024-06-08 23:05:30', 0, 0); +INSERT INTO `base_dict_item` VALUES (1799457774345596928, 1799457546670387200, 'PayOrderRefundStatus', 'refunded', '全部退款', b'1', 4.00, '', 1399985191002447872, '2024-06-08 23:05:40', 1399985191002447872, '2024-06-08 23:05:40', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804799960331284480, 1804799534471016448, 'TransferPayeeType', 'wx_personal', 'OpenId', b'1', 0.00, '微信 个人OpenId', 1399985191002447872, '2024-06-23 16:53:37', 1399985191002447872, '2024-06-23 16:53:37', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800027989602304, 1804799534471016448, 'TransferPayeeType', 'ali_user_id', '支付宝 userId', b'1', 1.00, '支付宝 userId 以2088开头的纯16位数字', 1399985191002447872, '2024-06-23 16:53:53', 1399985191002447872, '2024-06-23 16:53:53', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800166745567232, 1804799534471016448, 'TransferPayeeType', 'ali_open_id', 'OpenId', b'1', 2.00, '支付宝 openId', 1399985191002447872, '2024-06-23 16:54:26', 1399985191002447872, '2024-06-23 16:54:26', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800247297175552, 1804799534471016448, 'TransferPayeeType', 'ali_login_name', '账号', b'1', 3.00, '支付宝 账号 支持邮箱和手机号格式', 1399985191002447872, '2024-06-23 16:54:45', 1399985191002447872, '2024-06-23 16:54:45', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800779944423424, 1804800732808835072, 'TransferStatus', 'transferring', '转账中', b'1', 0.00, '', 1399985191002447872, '2024-06-23 16:56:52', 1399985191002447872, '2024-06-23 16:56:52', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800811951157248, 1804800732808835072, 'TransferStatus', 'success', '转账成功', b'1', 1.00, '', 1399985191002447872, '2024-06-23 16:57:00', 1399985191002447872, '2024-06-23 16:57:00', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804800866774904832, 1804800732808835072, 'TransferStatus', 'fail', '转账失败', b'1', 2.00, '', 1399985191002447872, '2024-06-23 16:57:13', 1399985191002447872, '2024-06-23 16:57:13', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804802129923108864, 1804801011272871936, 'TransferType', 'user', '转账给用户', b'1', 0.00, '', 1399985191002447872, '2024-06-23 17:02:14', 1399985191002447872, '2024-06-23 17:02:14', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804802176354054144, 1804801011272871936, 'TransferType', 'employee', '转账给员工', b'1', 1.00, '', 1399985191002447872, '2024-06-23 17:02:25', 1399985191002447872, '2024-06-23 17:02:25', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804802221438627840, 1804801011272871936, 'TransferType', 'partner', '转账给合作伙', b'1', 2.00, '', 1399985191002447872, '2024-06-23 17:02:36', 1399985191002447872, '2024-06-23 17:02:36', 0, 0); +INSERT INTO `base_dict_item` VALUES (1804802255336992768, 1804801011272871936, 'TransferType', 'other', '转账给其他对象', b'1', 0.00, '', 1399985191002447872, '2024-06-23 17:02:44', 1399985191002447872, '2024-06-23 17:02:44', 0, 0); -- ---------------------------- -- Table structure for base_dynamic_data_source @@ -855,8 +875,8 @@ INSERT INTO `iam_perm_menu` VALUES (1582253011803262976, 'dax-pay', 158074045063 INSERT INTO `iam_perm_menu` VALUES (1582253152903843840, 'dax-pay', 1580740450633101312, '系统配置', 'SystemConfig', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:03', 1414143554414059520, '2022-10-18 14:12:03', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1582253306356649984, 'dax-pay', 1580740450633101312, '认证管理', 'Auth', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/system/auth', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 14:12:40', 1414143554414059520, '2022-10-18 14:13:13', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582275875424129024, 'dax-pay', NULL, '系统监控', 'Monitor', NULL, b'0', 'ant-design:monitor-outlined', b'0', b'0', 'Layout', NULL, '/monitor', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:21', 1414143554414059520, '2022-10-19 17:29:29', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'dax-pay', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1414143554414059520, '2022-10-19 17:30:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'dax-pay', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1414143554414059520, '2022-10-19 17:32:04', 1, 0); +INSERT INTO `iam_perm_menu` VALUES (1582275984849326080, 'dax-pay', NULL, '通知管理', 'Notice', NULL, b'0', 'ant-design:message-outlined', b'0', b'0', 'Layout', NULL, '/notice', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:42:47', 1399985191002447872, '2024-06-09 15:39:07', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1582276092038959104, 'dax-pay', NULL, '第三方对接', 'Third', NULL, b'0', 'ant-design:api-twotone', b'0', b'0', 'Layout', NULL, '/third', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:43:12', 1399985191002447872, '2024-06-09 15:39:58', 1, 1); INSERT INTO `iam_perm_menu` VALUES (1582276341792985088, 'dax-pay', NULL, '开发管理', 'Develop', NULL, b'0', 'ant-design:apartment-outlined', b'0', b'0', 'Layout', NULL, '/develop', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:44:12', 1414143554414059520, '2022-10-19 15:24:22', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582277076421136384, 'dax-pay', 1582249924602580992, '角色管理', 'RoleList', NULL, b'0', '', b'0', b'0', '/modules/system/role/RoleList.vue', NULL, '/system/permission/role', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 15:47:07', 1414143554414059520, '2022-10-18 15:59:37', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582301940364308480, 'dax-pay', 1582249924602580992, '请求权限', 'PermPathList', NULL, b'0', '', b'0', b'0', '/modules/system/path/PermPathList.vue', NULL, '/system/permission/path', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:25:55', 1399985191002447872, '2023-11-29 13:57:56', 2, 0); @@ -867,46 +887,46 @@ INSERT INTO `iam_perm_menu` VALUES (1582303143110340608, 'dax-pay', 158225315290 INSERT INTO `iam_perm_menu` VALUES (1582303290070364160, 'dax-pay', 1582253152903843840, '定时任务', 'QuartzJobList', NULL, b'0', '', b'0', b'0', '/modules/baseapi/quartz/QuartzJobList.vue', NULL, '/system/config/quartz', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:17', 1414143554414059520, '2023-08-09 15:50:46', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1582303447428067328, 'dax-pay', 1582253152903843840, '系统参数', 'SystemParamList', NULL, b'0', '', b'0', b'0', '/modules/system/param/SystemParamList.vue', NULL, '/system/config/param', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-18 17:31:54', 1414143554414059520, '2022-10-19 23:14:16', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1582632873244172288, 'dax-pay', 1582276341792985088, '文件管理', 'FileUploadList', NULL, b'0', '', b'0', b'0', '/modules/develop/file/FileUploadList.vue', NULL, '/develop/file', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:20:56', 1414143554414059520, '2022-10-19 15:20:56', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'dax-pay', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1414143554414059520, '2022-10-19 15:23:17', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'dax-pay', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1414143554414059520, '2022-10-19 15:22:39', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'dax-pay', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1414143554414059520, '2022-10-19 15:23:54', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'dax-pay', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1414143554414059520, '2022-11-23 13:59:09', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1582633196587261952, 'dax-pay', 1582276341792985088, '代码生成', 'CodeGenList', NULL, b'0', '', b'0', b'0', '/modules/develop/codegen/CodeGenList.vue', NULL, '/develop/codegen', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:13', 1399985191002447872, '2024-06-09 15:40:38', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1582633307786649600, 'dax-pay', 1582276341792985088, '动态表单', 'DynamicFormList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicform/DynamicFormList.vue', NULL, '/develop/form', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:22:39', 1399985191002447872, '2024-06-09 15:40:32', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1582633620321017856, 'dax-pay', 1582276341792985088, '动态数据源', 'DynamicDataSourceList', NULL, b'0', '', b'0', b'0', '/modules/develop/dynamicsource/DynamicDataSourceList.vue', NULL, '/develop/source', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-19 15:23:54', 1399985191002447872, '2024-06-09 15:40:28', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1583074308040925184, 'dax-pay', 1582275875424129024, '接口文档', 'ApiSwagger', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9000/doc.html', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:35:02', 1399985191002447872, '2024-06-09 15:50:45', 3, 0); INSERT INTO `iam_perm_menu` VALUES (1583075229563068416, 'dax-pay', 1582275875424129024, '审计日志', 'AuditLog', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/monitor/log', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:38:42', 1414143554414059520, '2022-10-20 20:41:38', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1583076217481043968, 'dax-pay', 1583075229563068416, '登录日志', 'LoginLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/login/LoginLogList.vue', NULL, '/monitor/log/login', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:42:37', 1414143554414059520, '2022-10-20 20:43:36', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1583076424935514112, 'dax-pay', 1583075229563068416, '操作日志', 'OperateLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/operate/OperateLogList.vue', NULL, '/monitor/log/operate', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:43:26', 1414143554414059520, '2022-10-20 20:43:26', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1583076670881112064, 'dax-pay', 1583075229563068416, '数据版本日志', 'DataVersionLogList', NULL, b'0', '', b'0', b'0', '/modules/monitor/data/DataVersionLogList.vue', NULL, '/monitor/log/data', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:44:25', 1414143554414059520, '2022-10-20 20:44:25', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'dax-pay', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1414143554414059520, '2023-08-12 19:26:12', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'dax-pay', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1414143554414059520, '2022-10-20 20:45:47', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1583076878956339200, 'dax-pay', 1582275875424129024, 'ELK日志', 'ELK', NULL, b'0', '', b'1', b'0', '', NULL, 'http://elk.dev.bootx.cn:5601/app/discover', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:15', 1399985191002447872, '2024-06-09 15:39:18', 3, 1); +INSERT INTO `iam_perm_menu` VALUES (1583077015434797056, 'dax-pay', 1582275875424129024, 'PlumeLog日志', 'PlumeLog', NULL, b'0', '', b'0', b'0', '', NULL, 'http://127.0.0.1:9999/plumelog/#/', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:45:47', 1399985191002447872, '2024-06-09 15:39:24', 0, 1); INSERT INTO `iam_perm_menu` VALUES (1583077198772019200, 'dax-pay', 1582275875424129024, '系统信息', 'SystemInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/system/SystemInfoMonitor.vue', NULL, '/monitor/sysinfo', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:46:31', 1414143554414059520, '2022-10-20 20:46:31', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1583077360827342848, 'dax-pay', 1582275875424129024, 'Redis监控', 'RedisInfoMonitor', NULL, b'0', '', b'0', b'0', '/modules/monitor/redis/RedisInfoMonitor.vue', NULL, '/monitor/redis', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-20 20:47:10', 1414143554414059520, '2022-10-20 20:47:10', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'dax-pay', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1414143554414059520, '2022-10-24 16:14:34', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'dax-pay', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1414143554414059520, '2022-10-25 22:14:14', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'dax-pay', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1414143554414059520, '2022-10-24 10:58:06', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'dax-pay', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1414143554414059520, '2022-10-24 11:01:48', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'dax-pay', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1414143554414059520, '2022-10-24 11:02:12', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'dax-pay', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1414143554414059520, '2022-10-24 11:03:44', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'dax-pay', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1414143554414059520, '2022-10-26 15:58:56', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'dax-pay', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1414143554414059520, '2022-10-27 10:15:24', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'dax-pay', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1414143554414059520, '2022-10-27 16:38:47', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'dax-pay', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1414143554414059520, '2022-11-12 20:58:25', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'dax-pay', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1414143554414059520, '2022-11-12 20:58:37', 6, 0); +INSERT INTO `iam_perm_menu` VALUES (1584378294652051456, 'dax-pay', 1582275984849326080, '邮件配置', 'MailConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/mail/MailConfigList.vue', NULL, '/notice/notice', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:56:36', 1399985191002447872, '2024-06-09 15:39:05', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1584378497824137216, 'dax-pay', 1582275984849326080, '消息模板', 'MessageTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/template/MessageTemplateList.vue', NULL, '/notice/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:57:25', 1399985191002447872, '2024-06-09 15:39:03', 2, 1); +INSERT INTO `iam_perm_menu` VALUES (1584378671266996224, 'dax-pay', 1582275984849326080, '站内信', 'SiteMessageList', NULL, b'0', '', b'0', b'0', '/modules/notice/site/sender/SiteMessageList.vue', NULL, '/notice/siteMessage', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 10:58:06', 1399985191002447872, '2024-06-09 15:39:00', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1584379602188574720, 'dax-pay', 1582276092038959104, '微信', 'WeChat', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wechat', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:01:48', 1399985191002447872, '2024-06-09 15:39:55', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1584379704122744832, 'dax-pay', 1582276092038959104, '企业微信', 'WeCom', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/wecom', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:02:12', 1399985191002447872, '2024-06-09 15:39:46', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1584380087805091840, 'dax-pay', 1582276092038959104, '钉钉', 'DingTalk', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/third/dingtalk', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:03:44', 1399985191002447872, '2024-06-09 15:39:40', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1584380527829524480, 'dax-pay', 1584379602188574720, '消息模板', 'WechatTemplateList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/template/WechatTemplateList.vue', NULL, '/third/wechat/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:05:29', 1399985191002447872, '2024-06-09 15:39:53', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1584380679478779904, 'dax-pay', 1584379602188574720, '自定义菜单', 'WechatMenuList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/menu/WechatMenuList.vue', NULL, '/third/wechat/menu', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:05', 1399985191002447872, '2024-06-09 15:39:51', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1584380824308097024, 'dax-pay', 1584379602188574720, '素材管理', 'WechatMediaList', NULL, b'0', '', b'0', b'0', '/modules/third/wechat/media/WechatMediaList.vue', NULL, '/third/wechat/media', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:06:40', 1399985191002447872, '2024-06-09 15:39:49', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1584381134950834176, 'dax-pay', 1584379704122744832, '企微机器人', 'WeComRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/wecom/robot/WecomRobotConfigList.vue', NULL, '/third/wecom/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:07:54', 1399985191002447872, '2024-06-09 15:39:45', 3, 1); +INSERT INTO `iam_perm_menu` VALUES (1584381322184564736, 'dax-pay', 1584380087805091840, '钉钉机器人', 'DingRobotConfigList', NULL, b'0', '', b'0', b'0', '/modules/third/dingtalk/robot/DingRobotConfigList.vue', NULL, '/third/dingTalk/robot', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-10-24 11:08:38', 1399985191002447872, '2024-06-09 15:39:38', 6, 1); INSERT INTO `iam_perm_menu` VALUES (1599337250200440832, 'dax-pay', NULL, '关于', '', NULL, b'0', 'ant-design:info-circle-outlined', b'0', b'0', '', NULL, '/about/index', '', 99, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2022-12-04 17:38:09', 1399985191002447872, '2024-01-14 23:09:56', 6, 0); INSERT INTO `iam_perm_menu` VALUES (1623494586215579648, 'dax-pay', 1552207982510706688, '行政区划', 'ChinaRegion', NULL, b'0', '', b'1', b'0', 'develop/region/ChinaRegionList', NULL, '/develop/region', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-02-09 09:30:47', 1399985191002447872, '2023-02-09 17:50:05', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1629039360928075776, 'dax-pay', 1582276341792985088, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', '/modules/develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-02-24 16:43:44', 1399985191002447872, '2024-05-09 19:26:57', 1, 1); INSERT INTO `iam_perm_menu` VALUES (1631946120891707392, 'dax-pay', 1552207982510706688, '可视化大屏', 'ProjectInfoList', NULL, b'0', '', b'0', b'0', 'develop/report/ProjectInfoList', NULL, '/develop/report', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-03-04 17:14:10', 1399985191002447872, '2023-03-04 17:14:10', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1635274568758435840, 'dax-pay', 1582276341792985088, '数据集管理', 'DataResultSqlList', NULL, b'0', '', b'0', b'0', '/modules/develop/dataresult/DataResultSqlList', NULL, '/develop/dataresult', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-03-13 21:40:14', 1399985191002447872, '2024-05-09 19:27:24', 3, 1); -INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'dax-pay', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1414143554414059520, '2023-08-04 15:48:32', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'dax-pay', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1414143554414059520, '2023-08-04 15:49:26', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'dax-pay', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1414143554414059520, '2023-08-04 15:50:38', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'dax-pay', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1414143554414059520, '2023-08-09 15:49:05', 0, 0); -INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'dax-pay', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1414143554414059520, '2023-08-12 19:31:26', 3, 0); +INSERT INTO `iam_perm_menu` VALUES (1687369862646558720, 'dax-pay', 1582275984849326080, '短信管理', 'Sms', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/notice/sms', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:48:20', 1399985191002447872, '2024-06-09 15:38:56', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1687370142234669056, 'dax-pay', 1687369862646558720, '短信配置', 'SmsChannelConfigList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/config/SmsChannelConfigList', NULL, '/notice/sms/config', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:26', 1399985191002447872, '2024-06-09 15:38:55', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1687370277496778752, 'dax-pay', 1687369862646558720, '短信模板', 'SmsTemplateList', NULL, b'0', '', b'0', b'0', '/modules/notice/sms/template/SmsTemplateList', NULL, '/notice/sms/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-04 15:49:59', 1399985191002447872, '2024-06-09 15:38:51', 1, 1); +INSERT INTO `iam_perm_menu` VALUES (1689181991598997504, 'dax-pay', 1582253152903843840, '敏感词管理', 'ChinaWord', NULL, b'0', '', b'0', b'0', '/modules/baseapi/chianword/ChinaWordList.vue', NULL, '/system/config/chinaword', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-09 15:49:05', 1399985191002447872, '2024-06-05 19:49:10', 0, 1); +INSERT INTO `iam_perm_menu` VALUES (1690324070514782208, 'dax-pay', 1582276341792985088, '通用模板', 'GeneralTemplateList', NULL, b'0', '', b'0', b'0', '/modules/develop/template/GeneralTemplateList', NULL, '/develop/template', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-08-12 19:27:18', 1399985191002447872, '2024-06-09 15:40:26', 3, 1); INSERT INTO `iam_perm_menu` VALUES (1703665090038800384, 'dax-pay', 1582276341792985088, '在线SQL', 'SqlQueryInfo', NULL, b'0', '', b'0', b'0', '/modules/develop/query/SqlQueryInfo', NULL, '/develop/sqlquery', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1414143554414059520, '2023-09-18 14:59:45', 1399985191002447872, '2024-05-09 19:27:29', 0, 1); INSERT INTO `iam_perm_menu` VALUES (1713931084759293952, 'dax-pay', 1582253306356649984, '密码安全', 'PassowrdSecurity', NULL, b'0', '', b'0', b'0', '/modules/system/security/password/PasswordSecurityConfig.vue', NULL, '/system/config/passowrd', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-10-16 22:53:09', 1399985191002447872, '2023-10-16 22:58:59', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1733829906427682816, 'dax-pay', 1582275875424129024, '在线用户', 'OnlineUserList', NULL, b'0', '', b'0', b'0', '/modules/monitor/user/online/OnlineUserList', NULL, '/monitor/user/online', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2023-12-10 20:43:57', 1399985191002447872, '2023-12-10 20:43:57', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1744271715476684800, 'dax-pay', NULL, '支付配置', 'PayConfig', NULL, b'0', 'ant-design:setting-filled', b'0', b'0', 'Layout', NULL, '/pay/config', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:15:59', 1399985191002447872, '2024-01-09 15:38:06', 1, 0); -INSERT INTO `iam_perm_menu` VALUES (1744276101384880128, 'dax-pay', 1744271715476684800, '支付通道', 'PayChannelConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/channel/PayChannelConfigList', NULL, '/pay/config/channel', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:33:24', 1399985191002447872, '2024-01-18 14:49:15', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744372631231995904, 'dax-pay', 1744271715476684800, '支付方式', 'PayMethodInfoList', NULL, b'0', '', b'0', b'0', 'payment/system/method/PayMethodInfoList', NULL, '/pay/config/method', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 22:56:59', 1399985191002447872, '2024-05-01 22:53:13', 3, 0); -INSERT INTO `iam_perm_menu` VALUES (1744624886658318336, 'dax-pay', 1744271715476684800, '支付接口', 'PayApiConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/api/PayApiConfigList', NULL, '/pay/config/api', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 15:39:21', 1399985191002447872, '2024-01-10 11:52:20', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1744276101384880128, 'dax-pay', 1800350813995446272, '支付通道', 'PayChannelConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/channel/PayChannelConfigList', NULL, '/pay/config/channel', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 16:33:24', 1399985191002447872, '2024-06-11 10:15:06', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1744372631231995904, 'dax-pay', 1800350813995446272, '支付方式', 'PayMethodInfoList', NULL, b'0', '', b'0', b'0', 'payment/system/method/PayMethodInfoList', NULL, '/pay/config/method', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-08 22:56:59', 1399985191002447872, '2024-06-11 10:15:17', 4, 0); +INSERT INTO `iam_perm_menu` VALUES (1744624886658318336, 'dax-pay', 1800350813995446272, '支付接口', 'PayApiConfigList', NULL, b'0', '', b'0', b'0', 'payment/system/api/PayApiConfigList', NULL, '/pay/config/api', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 15:39:21', 1399985191002447872, '2024-06-21 17:46:36', 3, 0); INSERT INTO `iam_perm_menu` VALUES (1744642856348520448, 'dax-pay', NULL, '订单管理', 'PayOrder', NULL, b'0', 'ant-design:wallet-outlined', b'0', b'0', 'Layout', NULL, '/pay/order', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:50:46', 1399985191002447872, '2024-01-09 16:53:35', 3, 0); INSERT INTO `iam_perm_menu` VALUES (1744643265142165504, 'dax-pay', NULL, '数据记录', 'PayRecord', NULL, b'0', 'ant-design:profile-outlined', b'0', b'0', 'Layout', NULL, '/pay/record', '', 0, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-09 16:52:23', 1399985191002447872, '2024-01-09 16:53:50', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1744930046228017152, 'dax-pay', 1744643265142165504, '回调记录', 'PayCallbackRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/callback/PayCallbackRecordList', NULL, '/pay/record/callback', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-10 11:51:57', 1399985191002447872, '2024-05-01 23:15:23', 10, 0); @@ -916,7 +936,7 @@ INSERT INTO `iam_perm_menu` VALUES (1745143528663781376, 'dax-pay', 174464326514 INSERT INTO `iam_perm_menu` VALUES (1745457623493496832, 'dax-pay', 1744642856348520448, '支付订单', 'PayOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/pay/PayOrderList', NULL, '/pay/order/pay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:21', 1399985191002447872, '2024-01-11 22:48:21', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1745457746529210368, 'dax-pay', 1744642856348520448, '退款订单', 'RefundOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/refund/RefundOrderList.vue', NULL, '/pay/order/refund', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-11 22:48:50', 1399985191002447872, '2024-01-21 22:50:29', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1745822093382230016, 'dax-pay', 1744271715476684800, '通道配置', 'ChannelPayConfigList', NULL, b'0', '', b'0', b'0', 'payment/channel/config/ChannelPayConfigList', NULL, '/pay/config/channelpay', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-12 22:56:38', 1399985191002447872, '2024-02-06 14:32:08', 2, 0); -INSERT INTO `iam_perm_menu` VALUES (1746194891925561344, 'dax-pay', 1744271715476684800, '平台配置', 'PayPlatformConfig', NULL, b'0', '', b'0', b'0', 'payment/system/platform/PayPlatformConfig', NULL, '/pay/config/platform', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-13 23:38:00', 1399985191002447872, '2024-01-13 23:38:00', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1746194891925561344, 'dax-pay', 1744271715476684800, '平台配置', 'PayPlatformConfig', NULL, b'0', '', b'0', b'0', 'payment/system/platform/PayPlatformConfig', NULL, '/pay/config/platform', '', -1, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-13 23:38:00', 1399985191002447872, '2024-06-11 10:15:00', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1749262518385082368, 'dax-pay', 1786808188825194496, '对账单', 'ReconcileOrderList', NULL, b'0', '', b'0', b'0', 'payment/reconcile/order/ReconcileOrderList.vue', NULL, '/pay/reconcile/order', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-01-22 10:47:39', 1399985191002447872, '2024-05-05 17:09:14', 9, 0); INSERT INTO `iam_perm_menu` VALUES (1759768820429352960, 'dax-pay', NULL, '演示模块', '', NULL, b'0', 'ant-design:crown-outlined', b'0', b'0', 'Layout', NULL, '/pay/demo', '', 9, 0, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:35:56', 1399985191002447872, '2024-02-20 10:35:56', 0, 0); INSERT INTO `iam_perm_menu` VALUES (1759769092698402816, 'dax-pay', 1759768820429352960, '收银台演示', '', NULL, b'0', '', b'0', b'0', '', NULL, 'outside:///cashier', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-02-20 10:37:01', 1399985191002447872, '2024-02-20 10:37:01', 0, 0); @@ -930,6 +950,10 @@ INSERT INTO `iam_perm_menu` VALUES (1786808188825194496, 'dax-pay', NULL, '对 INSERT INTO `iam_perm_menu` VALUES (1786810890951020544, 'dax-pay', 1786808188825194496, '对账差异', 'ReconcileDiffList', NULL, b'0', '', b'0', b'0', 'payment/reconcile/diff/ReconcileDiffList.vue', NULL, '/pay/reconcile/diff', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:31:28', 1399985191002447872, '2024-05-05 17:08:38', 1, 0); INSERT INTO `iam_perm_menu` VALUES (1786811341285052416, 'dax-pay', 1786808188825194496, '外部交易明细', 'ReconcileDetailList', NULL, b'0', '', b'1', b'0', 'payment/reconcile/detail/ReconcileDetailList.vue', NULL, '/pay/reconcile/detail', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-05-05 01:33:16', 1399985191002447872, '2024-05-05 20:24:24', 2, 0); INSERT INTO `iam_perm_menu` VALUES (1797178029448867840, 'dax-pay', 1744643265142165504, '交易流水', 'TradeFlowRecordList', NULL, b'0', '', b'0', b'0', 'payment/record/flow/TradeFlowRecordList', NULL, '/pay/record/flow', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-02 16:06:47', 1399985191002447872, '2024-06-02 16:06:47', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1800350813995446272, 'dax-pay', 1744271715476684800, '基础数据', '', NULL, b'0', '', b'0', b'0', 'Layout', NULL, '/pay/config/base', '', -2, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-11 10:14:18', 1399985191002447872, '2024-06-11 10:14:45', 2, 0); +INSERT INTO `iam_perm_menu` VALUES (1804041752999993344, 'dax-pay', 1759768820429352960, 'OpenId获取', 'OpenIdDemo', NULL, b'0', '', b'0', b'0', 'demo/openid/OpenIdDemo.vue', NULL, '/pay/demo/openId', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-21 14:40:46', 1399985191002447872, '2024-06-21 14:40:46', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1804799253230350336, 'dax-pay', 1744642856348520448, '转账订单', 'TransferOrderList', NULL, b'0', '', b'0', b'0', 'payment/order/transfer/TransferOrderList', NULL, '/pay/order/transfer', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-23 16:50:48', 1399985191002447872, '2024-06-23 16:50:48', 0, 0); +INSERT INTO `iam_perm_menu` VALUES (1805115884940374016, 'dax-pay', 1759768820429352960, '转账演示', 'TransferDemo', NULL, b'0', '', b'0', b'0', 'demo/transfer/TransferDemo.vue', NULL, '/pay/demo/transfer', '', 0, 1, NULL, b'1', b'0', b'0', b'0', NULL, 1399985191002447872, '2024-06-24 13:48:59', 1399985191002447872, '2024-06-24 13:48:59', 0, 0); -- ---------------------------- -- Table structure for iam_perm_path @@ -968,7 +992,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117562556423, 'AllocationGroupControl INSERT INTO `iam_perm_path` VALUES (1789978117562556424, 'DataRoleController#findUsersByDataRoleId', '获取关联的用户列表', 'GET', '/data/role/findUsersByDataRoleId', '数据角色配置', b'1', b'1', '数据角色配置 获取关联的用户列表', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556425, 'AggregateController#getInfo', '获取聚合支付信息', 'GET', '/demo/aggregate/getInfo', '聚合支付', b'1', b'1', '聚合支付 获取聚合支付信息', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556426, 'UniQueryController#queryRefundOrder', '退款订单查询接口', 'POST', '/uni/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 退款订单查询接口', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-03 14:53:25.723000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556427, 'SmsTemplateController#update', '修改', 'POST', '/sms/template/update', '短信模板配置', b'1', b'1', '短信模板配置 修改', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556427, 'SmsTemplateController#update', '修改', 'POST', '/sms/template/update', '短信模板配置', b'1', b'1', '短信模板配置 修改', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556428, 'AllocationReceiverController#findById', '查询详情', 'GET', '/allocation/receiver/findById', '分账接收方控制器', b'1', b'1', '分账接收方控制器 查询详情', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556429, 'PayMethodInfoController#update', '更新', 'POST', '/pay/method/info/update', '支付方式管理', b'1', b'1', '支付方式管理 更新', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556430, 'CashierController#getUniCashierUrl', '获取手机收银台链接', 'GET', '/demo/cashier/getUniCashierUrl', '结算台演示', b'1', b'1', '结算台演示 获取手机收银台链接', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); @@ -977,35 +1001,35 @@ INSERT INTO `iam_perm_path` VALUES (1789978117562556432, 'OnlineUserController#p INSERT INTO `iam_perm_path` VALUES (1789978117562556433, 'UserInfoController#existsPhone', '手机号是否被使用(不包含自己)', 'GET', '/user/existsPhoneNotId', '用户管理', b'1', b'1', '用户管理 手机号是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556434, 'DataRoleController#add', '添加', 'POST', '/data/role/add', '数据角色配置', b'1', b'1', '数据角色配置 添加', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556435, 'PlatformConfigController#getConfig', '获取平台配置', 'GET', '/platform/config/getConfig', '支付平台配置控制器', b'1', b'1', '支付平台配置控制器 获取平台配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556436, 'SmsTemplateController#delete', '删除', 'DELETE', '/sms/template/delete', '短信模板配置', b'1', b'1', '短信模板配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556436, 'SmsTemplateController#delete', '删除', 'DELETE', '/sms/template/delete', '短信模板配置', b'1', b'1', '短信模板配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556437, 'DataRoleController#findById', '获取', 'GET', '/data/role/findById', '数据角色配置', b'1', b'1', '数据角色配置 获取', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556438, 'DingRobotConfigController#delete', '删除', 'DELETE', '/ding/robot/config/delete', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556438, 'DingRobotConfigController#delete', '删除', 'DELETE', '/ding/robot/config/delete', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556439, 'UserDataRoleController#saveAssign', '给用户分配数据角色', 'POST', '/user/data/role/saveAssign', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配数据角色', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556440, 'SiteMessageController#read', '标为已读', 'POST', '/site/message/read', '站内信', b'1', b'1', '站内信 标为已读', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556440, 'SiteMessageController#read', '标为已读', 'POST', '/site/message/read', '站内信', b'1', b'1', '站内信 标为已读', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556441, 'SystemParamController#findByParamKey', '根据键名获取键值', 'GET', '/system/param/findByParamKey', '系统参数', b'1', b'1', '系统参数 根据键名获取键值', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556442, 'UserInfoController#bindEmail', '绑定邮箱', 'POST', '/user/bindEmail', '用户管理', b'1', b'1', '用户管理 绑定邮箱', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556443, 'RoleMenuController#save', '保存请求权限关系', 'POST', '/role/menu/save', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 保存请求权限关系', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556444, 'RoleController#findAll', '查询所有的角色', 'GET', '/role/findAll', '角色管理', b'1', b'1', '角色管理 查询所有的角色', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556445, 'SmsChannelConfigController#findById', '通过ID查询', 'GET', '/sms/config/findById', '短信渠道配置', b'1', b'1', '短信渠道配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556445, 'SmsChannelConfigController#findById', '通过ID查询', 'GET', '/sms/config/findById', '短信渠道配置', b'1', b'1', '短信渠道配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556446, 'PermPathController#add', '添加权限', 'POST', '/perm/path/add', '请求权限管理', b'1', b'1', '请求权限管理 添加权限', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556447, 'AuthAssistController#sendSmsCaptcha', '发送短信验证码', 'POST', '/auth/sendSmsCaptcha', '认证支撑接口', b'1', b'1', '认证支撑接口 发送短信验证码', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556448, 'CockpitReportController#getRefundAmount', '退款金额(分)', 'GET', '/report/cockpit/getRefundAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款金额(分)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556449, 'PermMenuController#existsByPermCode', '编码是否被使用', 'GET', '/perm/menu/existsByPermCode', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556450, 'WeChatTemplateController#findById', '通过ID查询', 'GET', '/wechat/template/findById', '微信模板消息', b'1', b'1', '微信模板消息 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556450, 'WeChatTemplateController#findById', '通过ID查询', 'GET', '/wechat/template/findById', '微信模板消息', b'1', b'1', '微信模板消息 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556451, 'UserInfoController#updateEmail', '修改邮箱', 'POST', '/user/updateEmail', '用户管理', b'1', b'1', '用户管理 修改邮箱', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556452, 'AggregateController#createUrl', '创建聚合支付码', 'POST', '/demo/aggregate/createUrl', '聚合支付', b'1', b'1', '聚合支付 创建聚合支付码', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556453, 'MessageTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/message/template/existsByCodeNotId', '消息模板', b'1', b'1', '消息模板 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556454, 'DingRobotConfigController#update', '修改机器人配置', 'POST', '/ding/robot/config/update', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556455, 'WeChatPortalController#auth', 'auth', 'GET', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 auth', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556453, 'MessageTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/message/template/existsByCodeNotId', '消息模板', b'1', b'1', '消息模板 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556454, 'DingRobotConfigController#update', '修改机器人配置', 'POST', '/ding/robot/config/update', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.921000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556455, 'WeChatPortalController#auth', 'auth', 'GET', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 auth', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556456, 'SystemParamController#add', '添加', 'POST', '/system/param/add', '系统参数', b'1', b'1', '系统参数 添加', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117562556457, 'DingRobotConfigController#page', '分页', 'GET', '/ding/robot/config/page', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117562556457, 'DingRobotConfigController#page', '分页', 'GET', '/ding/robot/config/page', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556458, 'QuartzJobController#findById', '单条', 'GET', '/quartz/findById', '定时任务', b'1', b'1', '定时任务 单条', 1399985191002447872, '2024-05-13 19:16:54.069000', 1399985191002447872, '2024-05-13 19:16:54.069000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117562556459, 'RoleController#existsByName', '名称是否被使用', 'GET', '/role/existsByName', '角色管理', b'1', b'1', '角色管理 名称是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750720, 'WeChatMenuController#findById', '通过ID查询', 'GET', '/wechat/menu/findById', '微信菜单管理', b'1', b'1', '微信菜单管理 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750720, 'WeChatMenuController#findById', '通过ID查询', 'GET', '/wechat/menu/findById', '微信菜单管理', b'1', b'1', '微信菜单管理 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750721, 'UserInfoController#existsEmail', '邮箱是否被使用(不包含自己)', 'GET', '/user/existsEmailNotId', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750722, 'UniPayController#syncPay', '支付同步接口', 'POST', '/unipay/syncPay', '统一支付接口', b'1', b'1', '统一支付接口 支付同步接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-03 14:53:25.723000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750723, 'PermPathController#page', '权限分页', 'GET', '/perm/path/page', '请求权限管理', b'1', b'1', '请求权限管理 权限分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750724, 'WeChatPortalController#post', 'post', 'POST', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 post', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750724, 'WeChatPortalController#post', 'post', 'POST', '/wechat/portal', '微信接入入口', b'1', b'1', '微信接入入口 post', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750725, 'DeptController#findById', '获取', 'GET', '/dept/findById', '部门管理', b'1', b'1', '部门管理 获取', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750726, 'PayOrderController#allocation', '发起分账', 'POST', '/order/pay/allocation', '支付订单控制器', b'1', b'1', '支付订单控制器 发起分账', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750727, 'DictionaryController#add', '添加', 'POST', '/dict/add', '字典', b'1', b'1', '字典 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1013,14 +1037,14 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750728, 'RefundOrderController# INSERT INTO `iam_perm_path` VALUES (1789978117566750729, 'UserInfoController#getUserBaseInfo', '查询用户基础信息', 'GET', '/user/getUserBaseInfo', '用户管理', b'1', b'1', '用户管理 查询用户基础信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750730, 'CockpitReportController#getRefundOrderCount', '退款订单数量', 'GET', '/report/cockpit/getRefundOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 退款订单数量', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750731, 'UserAdminController#update', '修改用户', 'POST', '/user/admin/update', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 修改用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750732, 'WeChatMenuController#importMenu', '导入微信自定义菜单到系统中', 'POST', '/wechat/menu/importMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 导入微信自定义菜单到系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750732, 'WeChatMenuController#importMenu', '导入微信自定义菜单到系统中', 'POST', '/wechat/menu/importMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 导入微信自定义菜单到系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750733, 'WalletConfigController#update', '更新', 'POST', '/wallet/config/update', '钱包配置', b'1', b'1', '钱包配置 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750734, 'DeptController#deleteAndChildren', '强制级联删除', 'DELETE', '/dept/deleteAndChildren', '部门管理', b'1', b'1', '部门管理 强制级联删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750735, 'PermPathController#deleteBatch', '批量删除', 'DELETE', '/perm/path/deleteBatch', '请求权限管理', b'1', b'1', '请求权限管理 批量删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750736, 'PayGatewayNoticeController#wechatPayNotice', '微信消息通知', 'POST', '/gateway/notice/wechat', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 微信消息通知', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-03 14:53:25.723000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750737, 'DataRoleController#saveDeptAssign', '保存关联部门', 'POST', '/data/role/saveDeptAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存关联部门', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750738, 'PayCallbackController#wechatPayNotify', '微信支付信息回调', 'POST', '/callback/pay/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750739, 'WeChatMediaController#uploadFile', '上传素材', 'POST', '/wechat/media/uploadFile', '微信素材管理', b'1', b'1', '微信素材管理 上传素材', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750738, 'PayCallbackController#wechatPayNotify', '微信支付信息回调', 'POST', '/callback/pay/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750739, 'WeChatMediaController#uploadFile', '上传素材', 'POST', '/wechat/media/uploadFile', '微信素材管理', b'1', b'1', '微信素材管理 上传素材', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750740, 'AllocationReceiverController#registerByGateway', '同步到三方支付系统中', 'POST', '/allocation/receiver/registerByGateway', '分账接收方控制器', b'1', b'1', '分账接收方控制器 同步到三方支付系统中', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-03 14:53:25.723000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750741, 'WalletController#recharge', '充值', 'POST', '/wallet/recharge', '钱包管理', b'1', b'1', '钱包管理 充值', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750742, 'UniPayAssistController#getWxAccessToken', '获取微信AccessToken', 'POST', '/unipay/assist/getWxAccessToken', '支付支撑接口', b'1', b'1', '支付支撑接口 获取微信AccessToken', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1033,11 +1057,11 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750748, 'UserInfoController#upd INSERT INTO `iam_perm_path` VALUES (1789978117566750749, 'UserInfoController#getLoginAfterUserInfo', '登录后获取用户信息', 'GET', '/user/getLoginAfterUserInfo', '用户管理', b'1', b'1', '用户管理 登录后获取用户信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750750, 'ClientController#delete', '删除', 'DELETE', '/client/delete', '认证终端', b'1', b'1', '认证终端 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750751, 'PayChannelConfigController#findAll', '查询全部', 'GET', '/pay/channel/config/findAll', '支付通道信息', b'1', b'1', '支付通道信息 查询全部', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750752, 'SmsChannelConfigController#add', '添加', 'POST', '/sms/config/add', '短信渠道配置', b'1', b'1', '短信渠道配置 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750752, 'SmsChannelConfigController#add', '添加', 'POST', '/sms/config/add', '短信渠道配置', b'1', b'1', '短信渠道配置 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750753, 'PayCloseRecordController#page', '分页查询', 'GET', '/record/close/page', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750754, 'UserInfoController#bindPhone', '绑定手机', 'POST', '/user/bindPhone', '用户管理', b'1', b'1', '用户管理 绑定手机', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750755, 'DictionaryItemController#update', '修改字典项(返回字典项对象)', 'POST', '/dict/item/update', '字典项', b'1', b'1', '字典项 修改字典项(返回字典项对象)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750756, 'WeChatMediaController#pageFile', '非图文素材分页', 'GET', '/wechat/media/pageFile', '微信素材管理', b'1', b'1', '微信素材管理 非图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750756, 'WeChatMediaController#pageFile', '非图文素材分页', 'GET', '/wechat/media/pageFile', '微信素材管理', b'1', b'1', '微信素材管理 非图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750757, 'ChinaRegionController#findAllProvinceAndCityAndArea', ' 获取省市区县三级联动列表', 'GET', '/china/region/findAllProvinceAndCityAndArea', '中国行政区划', b'1', b'1', '中国行政区划 获取省市区县三级联动列表', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750758, 'WalletConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/wallet/config/findPayWays', '钱包配置', b'1', b'1', '钱包配置 支付宝支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750759, 'AllocationGroupController#bindReceivers', '批量绑定接收者', 'POST', '/allocation/group/bindReceivers', '分账组', b'1', b'1', '分账组 批量绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1056,14 +1080,14 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750771, 'UniQueryController#que INSERT INTO `iam_perm_path` VALUES (1789978117566750772, 'QuartzJobController#delete', '删除', 'DELETE', '/quartz/delete', '定时任务', b'1', b'1', '定时任务 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750773, 'PermMenuController#add', '添加菜单权限', 'POST', '/perm/menu/add', '菜单和权限码', b'1', b'1', '菜单和权限码 添加菜单权限', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750774, 'ChinaRegionController#findAllProvinceAndCity', '获取省市二级联动列表', 'GET', '/china/region/findAllProvinceAndCity', '中国行政区划', b'1', b'1', '中国行政区划 获取省市二级联动列表', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750775, 'WeChatMenuController#page', '分页查询', 'GET', '/wechat/menu/page', '微信菜单管理', b'1', b'1', '微信菜单管理 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750775, 'WeChatMenuController#page', '分页查询', 'GET', '/wechat/menu/page', '微信菜单管理', b'1', b'1', '微信菜单管理 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750776, 'PermPathController#findById', '获取详情', 'GET', '/perm/path/findById', '请求权限管理', b'1', b'1', '请求权限管理 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750777, 'QuartzJobController#stop', '停止', 'POST', '/quartz/stop', '定时任务', b'1', b'1', '定时任务 停止', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750778, 'UserAssistController#sendEmailChangeCaptcha', '发送更改/绑定邮箱验证码', 'POST', '/user/sendEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750779, 'DictionaryController#page', '分页', 'GET', '/dict/page', '字典', b'1', b'1', '字典 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750780, 'OnlineUserController#kickOut', '踢出用户', 'GET', '/online/user/kickOut', '在线用户', b'1', b'1', '在线用户 踢出用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750781, 'UniPayController#refund', '统一退款接口', 'POST', '/unipay/refund', '统一支付接口', b'1', b'1', '统一支付接口 统一退款接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750782, 'PayCallbackController#unionPayNotify', '云闪付支付信息回调', 'POST', '/callback/pay/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750782, 'PayCallbackController#unionPayNotify', '云闪付支付信息回调', 'POST', '/callback/pay/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750783, 'ReconcileOrderController#downLocalCsv', '下载系统对账单(CSV格式)', 'GET', '/order/reconcile/downLocalCsv', '对账控制器', b'1', b'1', '对账控制器 下载系统对账单(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750784, 'DataRoleController#delete', '删除', 'DELETE', '/data/role/delete', '数据角色配置', b'1', b'1', '数据角色配置 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750785, 'DataRoleController#deleteUserAssigns', '批量删除数据角色关联用户', 'DELETE', '/data/role/deleteUserAssigns', '数据角色配置', b'1', b'1', '数据角色配置 批量删除数据角色关联用户', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1072,9 +1096,9 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750787, 'ClientController#exist INSERT INTO `iam_perm_path` VALUES (1789978117566750788, 'FIleUpLoadController#local', '上传', 'POST', '/file/upload', '文件上传', b'1', b'1', '文件上传 上传', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750789, 'AllocationGroupController#findById', '查询详情', 'GET', '/allocation/group/findById', '分账组', b'1', b'1', '分账组 查询详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750790, 'PermMenuController#menuAndPermCodeTree', '获取菜单和权限码树', 'GET', '/perm/menu/menuAndPermCodeTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单和权限码树', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750791, 'WeChatArticleController#page', '分页', 'GET', '/wechat/article/page', '微信文章管理', b'1', b'1', '微信文章管理 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750791, 'WeChatArticleController#page', '分页', 'GET', '/wechat/article/page', '微信文章管理', b'1', b'1', '微信文章管理 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750792, 'UserInfoController#updatePassword', '修改密码', 'POST', '/user/updatePassword', '用户管理', b'1', b'1', '用户管理 修改密码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750793, 'MessageTemplateController#existsByCode', '编码是否被使用', 'GET', '/message/template/existsByCode', '消息模板', b'1', b'1', '消息模板 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750793, 'MessageTemplateController#existsByCode', '编码是否被使用', 'GET', '/message/template/existsByCode', '消息模板', b'1', b'1', '消息模板 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750794, 'LoginTypeController#superPage', '超级查询', 'POST', '/loginType/superPage', '登录方式管理', b'1', b'1', '登录方式管理 超级查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750795, 'WalletController#page', '钱包分页', 'GET', '/wallet/page', '钱包管理', b'1', b'1', '钱包管理 钱包分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750796, 'UserAdminController#getUserInfoWhole', '查询用户详情', 'GET', '/user/admin/getUserInfoWhole', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 查询用户详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); @@ -1085,35 +1109,35 @@ INSERT INTO `iam_perm_path` VALUES (1789978117566750800, 'OperateLogController#p INSERT INTO `iam_perm_path` VALUES (1789978117566750801, 'ClientNoticeTaskController#findRecordById', '查询单条', 'GET', '/task/notice/record/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750802, 'OpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750803, 'PayOrderController#findById', '查询订单详情', 'GET', '/order/pay/findById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750804, 'WeChatQrLoginController#getStatus', '获取扫码状态', 'GET', '/token/wechat/qr/getStatus', '微信扫码登录', b'1', b'1', '微信扫码登录 获取扫码状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750804, 'WeChatQrLoginController#getStatus', '获取扫码状态', 'GET', '/token/wechat/qr/getStatus', '微信扫码登录', b'1', b'1', '微信扫码登录 获取扫码状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.920000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750805, 'DeptController#tree', '树状展示', 'GET', '/dept/tree', '部门管理', b'1', b'1', '部门管理 树状展示', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750806, 'WeChatMenuController#publish', '发布菜单', 'POST', '/wechat/menu/publish', '微信菜单管理', b'1', b'1', '微信菜单管理 发布菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750806, 'WeChatMenuController#publish', '发布菜单', 'POST', '/wechat/menu/publish', '微信菜单管理', b'1', b'1', '微信菜单管理 发布菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750807, 'AllocationGroupController#findReceiversByGroups', '查询分账接收方信息', 'GET', '/allocation/group/findReceiversByGroups', '分账组', b'1', b'1', '分账组 查询分账接收方信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750808, 'LoginLogController#deleteByDay', '清除指定天数之前的日志', 'DELETE', '/log/login/deleteByDay', '登录日志', b'1', b'1', '登录日志 清除指定天数之前的日志', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750809, 'PayOrderController#syncById', '同步支付状态', 'POST', '/order/pay/syncByOrderNo', '支付订单控制器', b'1', b'1', '支付订单控制器 同步支付状态', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750810, 'WeChatTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wechat/template/existsByCodeNotId', '微信模板消息', b'1', b'1', '微信模板消息 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750811, 'WeChatMenuController#add', '添加', 'POST', '/wechat/menu/add', '微信菜单管理', b'1', b'1', '微信菜单管理 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750812, 'WeChatMenuController#clearMenu', '清空微信自定义菜单', 'POST', '/wechat/menu/clearMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 清空微信自定义菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750810, 'WeChatTemplateController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wechat/template/existsByCodeNotId', '微信模板消息', b'1', b'1', '微信模板消息 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750811, 'WeChatMenuController#add', '添加', 'POST', '/wechat/menu/add', '微信菜单管理', b'1', b'1', '微信菜单管理 添加', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750812, 'WeChatMenuController#clearMenu', '清空微信自定义菜单', 'POST', '/wechat/menu/clearMenu', '微信菜单管理', b'1', b'1', '微信菜单管理 清空微信自定义菜单', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750813, 'QuartzJobLogController#page', '分页', 'GET', '/quartz/log/page', '定时任务执行日志', b'1', b'1', '定时任务执行日志 分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750814, 'UserInfoController#updateBaseInfo', '修改用户基础信息', 'POST', '/user/updateBaseInfo', '用户管理', b'1', b'1', '用户管理 修改用户基础信息', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750815, 'PayCallbackController#aliPayNotify', '支付宝信息回调', 'POST', '/callback/pay/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750815, 'PayCallbackController#aliPayNotify', '支付宝信息回调', 'POST', '/callback/pay/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750816, 'DataRoleController#existsByCode', '编码是否被使用', 'GET', '/data/role/existsByCode', '数据角色配置', b'1', b'1', '数据角色配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750817, 'MessageTemplateController#delete', '删除', 'DELETE', '/message/template/delete', '消息模板', b'1', b'1', '消息模板 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750817, 'MessageTemplateController#delete', '删除', 'DELETE', '/message/template/delete', '消息模板', b'1', b'1', '消息模板 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750818, 'LoginTypeController#findById', '通过ID查询登录方式', 'GET', '/loginType/findById', '登录方式管理', b'1', b'1', '登录方式管理 通过ID查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750819, 'ReconcileOrderController#page', '对账单分页', 'GET', '/order/reconcile/page', '对账控制器', b'1', b'1', '对账控制器 对账单分页', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750820, 'UnionPayConfigController#findPayWays', '支持的支付方式', 'GET', '/union/pay/config/findPayWays', '云闪付配置', b'1', b'1', '云闪付配置 支持的支付方式', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750821, 'DataRoleController#getDeptIds', '获取关联部门id', 'GET', '/data/role/getDeptIds', '数据角色配置', b'1', b'1', '数据角色配置 获取关联部门id', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750822, 'PayOrderController#close', '关闭支付记录', 'POST', '/order/pay/close', '支付订单控制器', b'1', b'1', '支付订单控制器 关闭支付记录', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750823, 'DingRobotConfigController#findById', '获取详情', 'GET', '/ding/robot/config/findById', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750824, 'MessageTemplateController#update', '更新', 'POST', '/message/template/update', '消息模板', b'1', b'1', '消息模板 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750823, 'DingRobotConfigController#findById', '获取详情', 'GET', '/ding/robot/config/findById', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750824, 'MessageTemplateController#update', '更新', 'POST', '/message/template/update', '消息模板', b'1', b'1', '消息模板 更新', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750825, 'CaptchaController#imgCaptcha', '获取图片验证码', 'POST', '/captcha/imgCaptcha', '验证码服务', b'1', b'1', '验证码服务 获取图片验证码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750826, 'SystemParamController#delete', '删除', 'DELETE', '/system/param/delete', '系统参数', b'1', b'1', '系统参数 删除', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750827, 'UserInfoController#register', '注册账号', 'POST', '/user/register', '用户管理', b'1', b'1', '用户管理 注册账号', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750828, 'DictionaryItemController#add', '添加字典项(返回字典项对象)', 'POST', '/dict/item/add', '字典项', b'1', b'1', '字典项 添加字典项(返回字典项对象)', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750829, 'UserAdminController#restartPassword', '重置密码', 'POST', '/user/admin/restartPassword', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 重置密码', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750830, 'ClientController#update', '修改', 'POST', '/client/update', '认证终端', b'1', b'1', '认证终端 修改', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750831, 'SmsTemplateController#page', '分页查询', 'GET', '/sms/template/page', '短信模板配置', b'1', b'1', '短信模板配置 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117566750832, 'MailConfigController#updateMailConfig', '更新邮箱配置', 'POST', '/mail/config/update', '邮箱配置', b'1', b'1', '邮箱配置 更新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-05-13 19:16:54.070000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750831, 'SmsTemplateController#page', '分页查询', 'GET', '/sms/template/page', '短信模板配置', b'1', b'1', '短信模板配置 分页查询', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117566750832, 'MailConfigController#updateMailConfig', '更新邮箱配置', 'POST', '/mail/config/update', '邮箱配置', b'1', b'1', '邮箱配置 更新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117566750833, 'UniPayController#allocation', '开启分账接口', 'POST', '/unipay/allocation', '统一支付接口', b'1', b'1', '统一支付接口 开启分账接口', 1399985191002447872, '2024-05-13 19:16:54.070000', 1399985191002447872, '2024-06-03 14:53:25.722000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945024, 'ReconcileOrderController#downAndSave', '手动触发对账文件下载', 'POST', '/order/reconcile/downAndSave', '对账控制器', b'1', b'1', '对账控制器 手动触发对账文件下载', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945025, 'ForwardFrontController#toH5', 'toH5', 'GET', '/front/', 'ForwardFrontController', b'1', b'1', 'ForwardFrontController toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1124,11 +1148,11 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945029, 'ReconcileOrderControll INSERT INTO `iam_perm_path` VALUES (1789978117570945030, 'PasswordSecurityConfigController#getDefault', '获取配置', 'GET', '/security/password/getDefault', '密码安全策略', b'1', b'1', '密码安全策略 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945031, 'DictionaryItemController#findById', '根据字典项ID查询', 'GET', '/dict/item/findById', '字典项', b'1', b'1', '字典项 根据字典项ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945032, 'DictionaryItemController#findByDictionaryId', '查询指定字典ID下的所有字典项', 'GET', '/dict/item/findByDictionaryId', '字典项', b'1', b'1', '字典项 查询指定字典ID下的所有字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945033, 'ForwardH5Controller#toH5', 'toH5', 'GET', '/h5/', 'ForwardH5Controller', b'1', b'1', 'ForwardH5Controller toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945034, 'SiteMessageController#findById', '消息详情', 'GET', '/site/message/findById', '站内信', b'1', b'1', '站内信 消息详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945033, 'ForwardH5Controller#toH5', 'toH5', 'GET', '/h5/', 'ForwardH5Controller', b'1', b'1', 'ForwardH5Controller toH5', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945034, 'SiteMessageController#findById', '消息详情', 'GET', '/site/message/findById', '站内信', b'1', b'1', '站内信 消息详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945035, 'DictionaryController#update', '更新', 'POST', '/dict/update', '字典', b'1', b'1', '字典 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945036, 'FIleUpLoadController#download', '下载文件(流量会经过后端)', 'GET', '/file/download/{id}', '文件上传', b'1', b'1', '文件上传 下载文件(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945037, 'SiteMessageController#pageBySender', '发送消息分页', 'GET', '/site/message/pageBySender', '站内信', b'1', b'1', '站内信 发送消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945037, 'SiteMessageController#pageBySender', '发送消息分页', 'GET', '/site/message/pageBySender', '站内信', b'1', b'1', '站内信 发送消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945038, 'AllocationGroupController#unbindReceiver', '取消绑定接收者', 'POST', '/allocation/group/unbindReceiver', '分账组', b'1', b'1', '分账组 取消绑定接收者', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945039, 'AlipayConfigController#readPem', '读取证书文件内容', 'POST', '/alipay/config/readPem', '支付宝配置', b'1', b'1', '支付宝配置 读取证书文件内容', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945040, 'ClientNoticeReceiveController#refund', '退款消息(对象)', 'POST', '/demo/callback/refundObject', '回调测试', b'1', b'1', '回调测试 退款消息(对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1145,48 +1169,48 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945050, 'DictionaryItemControll INSERT INTO `iam_perm_path` VALUES (1789978117570945051, 'RolePathController#save', '保存角色请求权限关联关系', 'POST', '/role/path/save', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 保存角色请求权限关联关系', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945052, 'WalletController#findById', '查询钱包详情', 'GET', '/wallet/findById', '钱包管理', b'1', b'1', '钱包管理 查询钱包详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945053, 'OnlineUserController#pageByLogin', '登录用户分页', 'GET', '/online/user/pageByLogin', '在线用户', b'1', b'1', '在线用户 登录用户分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945054, 'MailConfigController#delete', '删除', 'DELETE', '/mail/config/delete', '邮箱配置', b'1', b'1', '邮箱配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945054, 'MailConfigController#delete', '删除', 'DELETE', '/mail/config/delete', '邮箱配置', b'1', b'1', '邮箱配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945055, 'DictionaryController#delete', '根据id删除', 'DELETE', '/dict/delete', '字典', b'1', b'1', '字典 根据id删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945056, 'PayOrderController#getExtraById', '查询支付订单扩展信息', 'GET', '/order/pay/getExtraById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945057, 'SiteMessageController#send', '发送站内信', 'POST', '/site/message/send', '站内信', b'1', b'1', '站内信 发送站内信', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945058, 'SiteMessageController#delete', '删除消息', 'DELETE', '/site/message/delete', '站内信', b'1', b'1', '站内信 删除消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945056, 'PayOrderController#getExtraById', '查询支付订单扩展信息', 'GET', '/order/pay/getExtraById', '支付订单控制器', b'1', b'1', '支付订单控制器 查询支付订单扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945057, 'SiteMessageController#send', '发送站内信', 'POST', '/site/message/send', '站内信', b'1', b'1', '站内信 发送站内信', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.919000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945058, 'SiteMessageController#delete', '删除消息', 'DELETE', '/site/message/delete', '站内信', b'1', b'1', '站内信 删除消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945059, 'AlipayConfigController#findPayWays', '支付宝支持支付方式', 'GET', '/alipay/config/findPayWays', '支付宝配置', b'1', b'1', '支付宝配置 支付宝支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945060, 'SiteMessageController#listByReceiveNotRead', '小程序获取未读的接收消息标题列表', 'GET', '/site/message/listByReceiveNotRead', '站内信', b'1', b'1', '站内信 小程序获取未读的接收消息标题列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945060, 'SiteMessageController#listByReceiveNotRead', '小程序获取未读的接收消息标题列表', 'GET', '/site/message/listByReceiveNotRead', '站内信', b'1', b'1', '站内信 小程序获取未读的接收消息标题列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945061, 'ClientNoticeReceiveController#refund', '退款消息', 'POST', '/demo/callback/refund', '回调测试', b'1', b'1', '回调测试 退款消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945062, 'CashierController#getPayEnv', '获取支付环境', 'GET', '/demo/cashier/getPayEnv', '结算台演示', b'1', b'1', '结算台演示 获取支付环境', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945063, 'UserAdminController#banBatch', '批量封禁用户', 'POST', '/user/admin/banBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量封禁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945064, 'PayReturnController#wechat', '微信同步通知', 'GET', '/return/pay/wechat', '支付同步通知', b'1', b'1', '支付同步通知 微信同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945064, 'PayReturnController#wechat', '微信同步通知', 'GET', '/return/pay/wechat', '支付同步通知', b'1', b'1', '支付同步通知 微信同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945065, 'DictionaryItemController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/item/existsByCodeNotId', '字典项', b'1', b'1', '字典项 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945066, 'DictionaryItemController#pageByDictionaryId', '分页查询指定字典下的字典项', 'GET', '/dict/item/pageByDictionaryId', '字典项', b'1', b'1', '字典项 分页查询指定字典下的字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945067, 'AggregateController#wxAuthCallback', '微信授权回调页面', 'GET', '/demo/aggregate/wxAuthCallback', '聚合支付', b'1', b'1', '聚合支付 微信授权回调页面', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945068, 'LoginTypeController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/loginType/existsByCodeNotId', '登录方式管理', b'1', b'1', '登录方式管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945069, 'MessageTemplateController#page', '分页', 'GET', '/message/template/page', '消息模板', b'1', b'1', '消息模板 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945069, 'MessageTemplateController#page', '分页', 'GET', '/message/template/page', '消息模板', b'1', b'1', '消息模板 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945070, 'FIleUpLoadController#getFilePreviewUrl', '获取文件预览地址(流量会经过后端)', 'GET', '/file/getFilePreviewUrl', '文件上传', b'1', b'1', '文件上传 获取文件预览地址(流量会经过后端)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945071, 'LoginTypeController#findByCode', '通过code查询登录方式', 'GET', '/loginType/findByCode', '登录方式管理', b'1', b'1', '登录方式管理 通过code查询登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945072, 'PayReturnController#alipay', '支付宝同步跳转连接', 'GET', '/return/pay/alipay', '支付同步通知', b'1', b'1', '支付同步通知 支付宝同步跳转连接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945072, 'PayReturnController#alipay', '支付宝同步跳转连接', 'GET', '/return/pay/alipay', '支付同步通知', b'1', b'1', '支付同步通知 支付宝同步跳转连接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945073, 'PayOrderController#findByOrderNo', '查询订单详情', 'GET', '/order/pay/findByOrderNo', '支付订单控制器', b'1', b'1', '支付订单控制器 查询订单详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945074, 'ReconcileOrderController#findById', '对账单详情', 'GET', '/order/reconcile/findById', '对账控制器', b'1', b'1', '对账控制器 对账单详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945075, 'UserAssistController#sendPhoneChangeCaptcha', '发送更改/绑定手机号验证码', 'POST', '/user/sendPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送更改/绑定手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945076, 'MultipleOpenApiWebMvcResource#openapiYaml', 'openapiYaml', 'GET', '/v3/api-docs.yaml/{group}', 'MultipleOpenApiWebMvcResource', b'1', b'1', 'MultipleOpenApiWebMvcResource openapiYaml', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945077, 'PermMenuController#delete', '删除', 'DELETE', '/perm/menu/delete', '菜单和权限码', b'1', b'1', '菜单和权限码 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945078, 'AggregateController#barCodePay', '通过付款码发起支付', 'POST', '/demo/aggregate/barCodePay', '聚合支付', b'1', b'1', '聚合支付 通过付款码发起支付', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945079, 'SiteMessageController#pageByReceive', '接收消息分页', 'GET', '/site/message/pageByReceive', '站内信', b'1', b'1', '站内信 接收消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945079, 'SiteMessageController#pageByReceive', '接收消息分页', 'GET', '/site/message/pageByReceive', '站内信', b'1', b'1', '站内信 接收消息分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945080, 'ReconcileOrderController#downDiffCsv', '下载对账差异单(CSV格式)', 'GET', '/order/reconcile/downDiffCsv', '对账控制器', b'1', b'1', '对账控制器 下载对账差异单(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945081, 'WechatNoticeConfigController#update', '更新微信消息通知配置', 'POST', '/wx/notice/update', '微信消息通知配置', b'1', b'1', '微信消息通知配置 更新微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945081, 'WechatNoticeConfigController#update', '更新微信消息通知配置', 'POST', '/wx/notice/update', '微信消息通知配置', b'1', b'1', '微信消息通知配置 更新微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945082, 'AllocationReceiverController#page', '分页', 'GET', '/allocation/receiver/page', '分账接收方控制器', b'1', b'1', '分账接收方控制器 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945083, 'ThirdLoginController#toLoginUrl', '跳转到登陆页', 'GET', '/auth/third/toLoginUrl/{loginType}', '三方登录', b'1', b'1', '三方登录 跳转到登陆页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945084, 'AlipayConfigController#getConfig', '获取配置', 'GET', '/alipay/config/getConfig', '支付宝配置', b'1', b'1', '支付宝配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945085, 'AllocationOrderController#findChannels', '获取可以分账的通道', 'GET', '/order/allocation/findChannels', '分账订单控制器', b'1', b'1', '分账订单控制器 获取可以分账的通道', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945086, 'MailConfigController#page', '分页', 'GET', '/mail/config/page', '邮箱配置', b'1', b'1', '邮箱配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945086, 'MailConfigController#page', '分页', 'GET', '/mail/config/page', '邮箱配置', b'1', b'1', '邮箱配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945087, 'CashierController#simplePayCashier', '创建支付订单并发起', 'POST', '/demo/cashier/simplePayCashier', '结算台演示', b'1', b'1', '结算台演示 创建支付订单并发起', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945088, 'ClientController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/client/existsByCodeNotId', '认证终端', b'1', b'1', '认证终端 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945089, 'UserInfoController#existsEmail', '邮箱是否被使用', 'GET', '/user/existsEmail', '用户管理', b'1', b'1', '用户管理 邮箱是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945090, 'WecomRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/wecom/robot/config/existsByCode', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945090, 'WecomRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/wecom/robot/config/existsByCode', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945091, 'ClientNoticeReceiveController#pay', '支付消息(map接收)', 'POST', '/demo/callback/pay', '回调测试', b'1', b'1', '回调测试 支付消息(map接收)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945092, 'RoleMenuController#findTreeByRole', '获取当前角色下可见的菜单和权限码树(分配时用)', 'GET', '/role/menu/findTreeByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下可见的菜单和权限码树(分配时用)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945093, 'MessageTemplateController#add', '添加', 'POST', '/message/template/add', '消息模板', b'1', b'1', '消息模板 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945093, 'MessageTemplateController#add', '添加', 'POST', '/message/template/add', '消息模板', b'1', b'1', '消息模板 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945094, 'WalletConfigController#getConfig', '获取配置', 'GET', '/wallet/config/getConfig', '钱包配置', b'1', b'1', '钱包配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945095, 'WechatNoticeConfigController#getConfig', '获取微信消息通知配置', 'GET', '/wx/notice/getConfig', '微信消息通知配置', b'1', b'1', '微信消息通知配置 获取微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945095, 'WechatNoticeConfigController#getConfig', '获取微信消息通知配置', 'GET', '/wx/notice/getConfig', '微信消息通知配置', b'1', b'1', '微信消息通知配置 获取微信消息通知配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945096, 'DictionaryController#existsByCode', '编码是否被使用', 'GET', '/dict/existsByCode', '字典', b'1', b'1', '字典 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945097, 'RoleMenuController#findMenuIds', '获取权限菜单id列表,不包含资源权限', 'GET', '/role/menu/findMenuIds', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取权限菜单id列表,不包含资源权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945098, 'PayRepairRecordController#findById', '查询单条', 'GET', '/record/repair/findById', '支付修复记录', b'1', b'1', '支付修复记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1199,56 +1223,56 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945104, 'UniPayAssistController INSERT INTO `iam_perm_path` VALUES (1789978117570945105, 'PermMenuController#resourceList', '资源(权限码)列表', 'GET', '/perm/menu/resourceList', '菜单和权限码', b'1', b'1', '菜单和权限码 资源(权限码)列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945106, 'PasswordSecurityConfigController#addOrUpdate', '新增或添加密码安全配置', 'POST', '/security/password/addOrUpdate', '密码安全策略', b'1', b'1', '密码安全策略 新增或添加密码安全配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945107, 'PayGatewayNoticeController#aliPayNotice', '支付宝消息通知', 'POST', '/gateway/notice/alipay', '三方支付网关消息通知', b'1', b'1', '三方支付网关消息通知 支付宝消息通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-03 14:53:25.722000', b'1', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945108, 'SmsTemplateController#findAll', '查询所有', 'GET', '/sms/template/findAll', '短信模板配置', b'1', b'1', '短信模板配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945108, 'SmsTemplateController#findAll', '查询所有', 'GET', '/sms/template/findAll', '短信模板配置', b'1', b'1', '短信模板配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945109, 'PasswordSecurityConfigController#check', '登录后检查密码相关的情况', 'GET', '/security/password/check', '密码安全策略', b'1', b'1', '密码安全策略 登录后检查密码相关的情况', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945110, 'SystemMonitorController#getRedisInfo', '获取Redis信息', 'GET', '/monitor/system/getRedisInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取Redis信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945111, 'AllocationGroupController#delete', '删除', 'POST', '/allocation/group/delete', '分账组', b'1', b'1', '分账组 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945112, 'SystemMonitorController#getSystemInfo', '获取系统消息', 'GET', '/monitor/system/getSystemInfo', '系统信息监控', b'1', b'1', '系统信息监控 获取系统消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945113, 'MailConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/mail/config/existsByCodeNotId', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945113, 'MailConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/mail/config/existsByCodeNotId', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945114, 'AllocationReceiverController#add', '新增', 'POST', '/allocation/receiver/add', '分账接收方控制器', b'1', b'1', '分账接收方控制器 新增', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945115, 'AllocationOrderController#findById', '查询详情', 'GET', '/order/allocation/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945116, 'AllocationOrderController#findDetailById', '查询明细详情', 'GET', '/order/allocation/detail/findById', '分账订单控制器', b'1', b'1', '分账订单控制器 查询明细详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945117, 'SystemParamController#existsByKeyNotId', '判断编码是否存在(不包含自己)', 'GET', '/system/param/existsByKeyNotId', '系统参数', b'1', b'1', '系统参数 判断编码是否存在(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945118, 'WeChatMediaController#pageNews', '图文素材分页', 'GET', '/wechat/media/pageNews', '微信素材管理', b'1', b'1', '微信素材管理 图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945118, 'WeChatMediaController#pageNews', '图文素材分页', 'GET', '/wechat/media/pageNews', '微信素材管理', b'1', b'1', '微信素材管理 图文素材分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945119, 'RoleController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/role/existsByCodeNotId', '角色管理', b'1', b'1', '角色管理 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945120, 'DataRoleController#page', '分页', 'GET', '/data/role/page', '数据角色配置', b'1', b'1', '数据角色配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945121, 'OperateLogController#deleteByDay', '清除指定天数的日志', 'DELETE', '/log/operate/deleteByDay', '操作日志', b'1', b'1', '操作日志 清除指定天数的日志', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945122, 'OnlineUserController#getSessionByUserId', '获取用户链接信息', 'GET', '/online/user/getSessionByUserId', '在线用户', b'1', b'1', '在线用户 获取用户链接信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945123, 'LoginTypeController#add', '添加登录方式', 'POST', '/loginType/add', '登录方式管理', b'1', b'1', '登录方式管理 添加登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945124, 'UnionPayConfigController#getConfig', '获取配置', 'GET', '/union/pay/config/getConfig', '云闪付配置', b'1', b'1', '云闪付配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945125, 'WeChatMenuController#delete', '删除', 'DELETE', '/wechat/menu/delete', '微信菜单管理', b'1', b'1', '微信菜单管理 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945125, 'WeChatMenuController#delete', '删除', 'DELETE', '/wechat/menu/delete', '微信菜单管理', b'1', b'1', '微信菜单管理 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945126, 'BaseApiController#authEcho', '回声测试(必须要进行登录)', 'GET', '/auth/echo', '系统基础接口', b'1', b'1', '系统基础接口 回声测试(必须要进行登录)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945127, 'WeChatQrLoginController#applyQrCode', '申请登录用QR码', 'POST', '/token/wechat/qr/applyQrCode', '微信扫码登录', b'1', b'1', '微信扫码登录 申请登录用QR码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945127, 'WeChatQrLoginController#applyQrCode', '申请登录用QR码', 'POST', '/token/wechat/qr/applyQrCode', '微信扫码登录', b'1', b'1', '微信扫码登录 申请登录用QR码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.918000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945128, 'FIleUpLoadController#delete', '删除', 'DELETE', '/file/delete', '文件上传', b'1', b'1', '文件上传 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945129, 'CockpitReportController#getRefundChannelInfo', '显示通道退款订单金额和订单数', 'GET', '/report/cockpit/getRefundChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道退款订单金额和订单数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945130, 'RoleController#add', '添加角色(返回角色对象)', 'POST', '/role/add', '角色管理', b'1', b'1', '角色管理 添加角色(返回角色对象)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945131, 'ClientController#add', '添加', 'POST', '/client/add', '认证终端', b'1', b'1', '认证终端 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945132, 'UserInfoController#forgetPasswordByPhone', '通过手机号重置密码', 'POST', '/user/forgetPasswordByPhone', '用户管理', b'1', b'1', '用户管理 通过手机号重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945133, 'RolePathController#findPathsByRole', '获取当前用户角色下可见的请求权限列表(分配时用)', 'GET', '/role/path/findPathsByRole', '角色请求权限消息关系', b'1', b'1', '角色请求权限消息关系 获取当前用户角色下可见的请求权限列表(分配时用)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945134, 'WeChatMenuController#findAll', '查询所有', 'GET', '/wechat/menu/findAll', '微信菜单管理', b'1', b'1', '微信菜单管理 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945134, 'WeChatMenuController#findAll', '查询所有', 'GET', '/wechat/menu/findAll', '微信菜单管理', b'1', b'1', '微信菜单管理 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945135, 'ClientController#findAll', '查询所有', 'GET', '/client/findAll', '认证终端', b'1', b'1', '认证终端 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945136, 'RefundOrderController#findExtraById', '查询扩展信息', 'GET', '/order/refund/findExtraById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945136, 'RefundOrderController#findExtraById', '查询扩展信息', 'GET', '/order/refund/findExtraById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询扩展信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945137, 'UserDataRoleController#saveAssignBatch', '给用户分配权限(批量)', 'POST', '/user/data/role/saveAssignBatch', '用户数据角色配置', b'1', b'1', '用户数据角色配置 给用户分配权限(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945138, 'LoginLogController#page', '分页', 'GET', '/log/login/page', '登录日志', b'1', b'1', '登录日志 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945139, 'FIleUpLoadController#findById', '获取单条详情', 'GET', '/file/findById', '文件上传', b'1', b'1', '文件上传 获取单条详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945140, 'MessageTemplateController#findById', '获取详情', 'GET', '/message/template/findById', '消息模板', b'1', b'1', '消息模板 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945140, 'MessageTemplateController#findById', '获取详情', 'GET', '/message/template/findById', '消息模板', b'1', b'1', '消息模板 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945141, 'DataRoleController#saveUserAssign', '保存数据角色关联用户权限', 'POST', '/data/role/saveUserAssign', '数据角色配置', b'1', b'1', '数据角色配置 保存数据角色关联用户权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945142, 'ThirdLoginController#callback', '扫码后回调', 'GET', '/auth/third/callback/{loginType}', '三方登录', b'1', b'1', '三方登录 扫码后回调', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945143, 'SmsChannelConfigController#findByCode', '通过Code查询', 'GET', '/sms/config/findByCode', '短信渠道配置', b'1', b'1', '短信渠道配置 通过Code查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945143, 'SmsChannelConfigController#findByCode', '通过Code查询', 'GET', '/sms/config/findByCode', '短信渠道配置', b'1', b'1', '短信渠道配置 通过Code查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945144, 'PayApiConfigController#findById', '根据ID获取', 'GET', '/pay/api/config/findById', '支付接口配置', b'1', b'1', '支付接口配置 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945145, 'DataVersionLogController#findById', '获取', 'GET', '/log/dataVersion/findById', '数据版本日志', b'1', b'1', '数据版本日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945146, 'PermPathController#update', '更新权限', 'POST', '/perm/path/update', '请求权限管理', b'1', b'1', '请求权限管理 更新权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945147, 'MailConfigController#setUpActivity', '设置启用的邮箱配置', 'POST', '/mail/config/setUpActivity', '邮箱配置', b'1', b'1', '邮箱配置 设置启用的邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945148, 'SmsTemplateController#findById', '通过ID查询', 'GET', '/sms/template/findById', '短信模板配置', b'1', b'1', '短信模板配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945149, 'DingRobotConfigController#add', '新增机器人配置', 'POST', '/ding/robot/config/add', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945147, 'MailConfigController#setUpActivity', '设置启用的邮箱配置', 'POST', '/mail/config/setUpActivity', '邮箱配置', b'1', b'1', '邮箱配置 设置启用的邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945148, 'SmsTemplateController#findById', '通过ID查询', 'GET', '/sms/template/findById', '短信模板配置', b'1', b'1', '短信模板配置 通过ID查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945149, 'DingRobotConfigController#add', '新增机器人配置', 'POST', '/ding/robot/config/add', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945150, 'PayCloseRecordController#findById', '查询单条', 'GET', '/record/close/findById', '支付订单关闭记录', b'1', b'1', '支付订单关闭记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945151, 'DataVersionLogController#page', '分页', 'GET', '/log/dataVersion/page', '数据版本日志', b'1', b'1', '数据版本日志 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945152, 'OpenApiWebMvcResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs', 'OpenApiWebMvcResource', b'1', b'1', 'OpenApiWebMvcResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945153, 'PermPathController#findAll', '权限列表', 'GET', '/perm/path/findAll', '请求权限管理', b'1', b'1', '请求权限管理 权限列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945154, 'UserAdminController#add', '添加用户', 'POST', '/user/admin/add', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 添加用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945155, 'PayCallbackRecordController#findById', '查询单条', 'GET', '/record/callback/findById', '支付回调信息记录', b'1', b'1', '支付回调信息记录 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945156, 'WecomRobotConfigController#page', '分页', 'GET', '/wecom/robot/config/page', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945157, 'WeChatMenuController#update', '修改', 'POST', '/wechat/menu/update', '微信菜单管理', b'1', b'1', '微信菜单管理 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945156, 'WecomRobotConfigController#page', '分页', 'GET', '/wecom/robot/config/page', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945157, 'WeChatMenuController#update', '修改', 'POST', '/wechat/menu/update', '微信菜单管理', b'1', b'1', '微信菜单管理 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945158, 'TestController#lock2', '锁测试2', 'GET', '/test/lock2', '测试', b'1', b'1', '测试 锁测试2', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945159, 'DataRoleController#findAll', '查询全部', 'GET', '/data/role/findAll', '数据角色配置', b'1', b'1', '数据角色配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945160, 'UserInfoController#forgetPasswordByEmail', '通过邮箱重置密码', 'POST', '/user/forgetPasswordByEmail', '用户管理', b'1', b'1', '用户管理 通过邮箱重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1260,7 +1284,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945165, 'PlatformConfigControll INSERT INTO `iam_perm_path` VALUES (1789978117570945166, 'UserRoleController#saveAssign', '给用户分配角色', 'POST', '/user/role/saveAssign', '用户角色管理', b'1', b'1', '用户角色管理 给用户分配角色', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945167, 'UniPayController#close', '支付关闭接口', 'POST', '/unipay/close', '统一支付接口', b'1', b'1', '统一支付接口 支付关闭接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945168, 'UserDataRoleController#findDataRoleIdByUser', '根据用户ID获取到数据角色Id', 'GET', '/user/data/role/findDataRoleIdByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色Id', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945169, 'MailConfigController#existsByCode', '编码是否被使用', 'GET', '/mail/config/existsByCode', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945169, 'MailConfigController#existsByCode', '编码是否被使用', 'GET', '/mail/config/existsByCode', '邮箱配置', b'1', b'1', '邮箱配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945170, 'AllocationGroupController#updateRate', '修改分账比例', 'POST', '/allocation/group/updateRate', '分账组', b'1', b'1', '分账组 修改分账比例', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945171, 'WeChatPayConfigController#getConfig', '获取配置', 'GET', '/wechat/pay/config/getConfig', '微信支付配置', b'1', b'1', '微信支付配置 获取配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945172, 'AllocationReceiverController#findChannels', '获取可以分账的通道', 'GET', '/allocation/receiver/findChannels', '分账接收方控制器', b'1', b'1', '分账接收方控制器 获取可以分账的通道', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1271,14 +1295,14 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945176, 'UserAdminController#ge INSERT INTO `iam_perm_path` VALUES (1789978117570945177, 'RefundOrderController#syncByRefundNo', '退款同步', 'POST', '/order/refund/syncByRefundNo', '支付退款控制器', b'1', b'1', '支付退款控制器 退款同步', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945178, 'DeptController#delete', '普通删除', 'DELETE', '/dept/delete', '部门管理', b'1', b'1', '部门管理 普通删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945179, 'SystemParamController#page', '分页', 'GET', '/system/param/page', '系统参数', b'1', b'1', '系统参数 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945180, 'DingRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/ding/robot/config/existsByCodeNotId', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945180, 'DingRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/ding/robot/config/existsByCodeNotId', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945181, 'AllocationReceiverController#update', '修改', 'POST', '/allocation/receiver/update', '分账接收方控制器', b'1', b'1', '分账接收方控制器 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-03 14:53:25.722000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945182, 'AggregateController#qrPayPage', '聚合支付扫码跳转中间页', 'GET', '/demo/aggregate/qrPayPage/{code}', '聚合支付', b'1', b'1', '聚合支付 聚合支付扫码跳转中间页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945183, 'UserAdminController#getByPhone', '根据手机号查询用户', 'GET', '/user/admin/getByPhone', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据手机号查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945184, 'AllocationOrderController#findDetailsByOrderId', '分账明细列表', 'GET', '/order/allocation/detail/findAll', '分账订单控制器', b'1', b'1', '分账订单控制器 分账明细列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945185, 'LoginLogController#findById', '获取', 'GET', '/log/login/findById', '登录日志', b'1', b'1', '登录日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945186, 'WalletController#existsByUserId', '判断用户是否开通了钱包', 'GET', '/wallet/existsByUserId', '钱包管理', b'1', b'1', '钱包管理 判断用户是否开通了钱包', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945187, 'MailConfigController#add', '增加新邮箱配置', 'POST', '/mail/config/add', '邮箱配置', b'1', b'1', '邮箱配置 增加新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945187, 'MailConfigController#add', '增加新邮箱配置', 'POST', '/mail/config/add', '邮箱配置', b'1', b'1', '邮箱配置 增加新邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945188, 'RoleController#existsByName', '名称是否被使用(不包含自己)', 'GET', '/role/existsByNameNotId', '角色管理', b'1', b'1', '角色管理 名称是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945189, 'PayMethodInfoController#findById', '根据ID获取', 'GET', '/pay/method/info/findById', '支付方式管理', b'1', b'1', '支付方式管理 根据ID获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945190, 'UserAdminController#restartPasswordBatch', '批量重置密码', 'POST', '/user/admin/restartPasswordBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量重置密码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1288,20 +1312,20 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945193, 'UserDeptController#fin INSERT INTO `iam_perm_path` VALUES (1789978117570945194, 'ClientNoticeTaskController#findById', '查询单条', 'GET', '/task/notice/findById', '客户系统通知任务', b'1', b'1', '客户系统通知任务 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945195, 'UserThirdController#getThirdBindInfo', '获取绑定详情', 'GET', '/user/third/getThirdBindInfo', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取绑定详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945196, 'OperateLogController#findById', '获取', 'GET', '/log/operate/findById', '操作日志', b'1', b'1', '操作日志 获取', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945197, 'MailConfigController#findById', '通过 id 获取指定邮箱配置', 'GET', '/mail/config/findById', '邮箱配置', b'1', b'1', '邮箱配置 通过 id 获取指定邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945197, 'MailConfigController#findById', '通过 id 获取指定邮箱配置', 'GET', '/mail/config/findById', '邮箱配置', b'1', b'1', '邮箱配置 通过 id 获取指定邮箱配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945198, 'AggregateController#getWxJsapiPay', '获取微信支付调起Jsapi支付的信息', 'POST', '/demo/aggregate/getWxJsapiPay', '聚合支付', b'1', b'1', '聚合支付 获取微信支付调起Jsapi支付的信息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945199, 'PermPathController#delete', '删除权限', 'DELETE', '/perm/path/delete', '请求权限管理', b'1', b'1', '请求权限管理 删除权限', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945200, 'WeChatPayConfigController#findPayWays', '微信支持支付方式', 'GET', '/wechat/pay/config/findPayWays', '微信支付配置', b'1', b'1', '微信支付配置 微信支持支付方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945201, 'UserAssistController#validatePhoneChangeCaptcha', '验证改/绑定手机验证码', 'GET', '/user/validatePhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证改/绑定手机验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945202, 'UserAssistController#validateEmailForgetCaptcha', '验证找回密码邮箱验证码', 'GET', '/user/validateEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945203, 'ReconcileOrderController#downOriginal', '下载原始交易对账单文件', 'GET', '/order/reconcile/downOriginal', '对账控制器', b'1', b'1', '对账控制器 下载原始交易对账单文件', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945204, 'SmsChannelConfigController#update', '修改', 'POST', '/sms/config/update', '短信渠道配置', b'1', b'1', '短信渠道配置 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945204, 'SmsChannelConfigController#update', '修改', 'POST', '/sms/config/update', '短信渠道配置', b'1', b'1', '短信渠道配置 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945205, 'LoginTypeController#delete', '删除登录方式', 'DELETE', '/loginType/delete', '登录方式管理', b'1', b'1', '登录方式管理 删除登录方式', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945206, 'DeptController#update', '更新', 'POST', '/dept/update', '部门管理', b'1', b'1', '部门管理 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945207, 'WeChatTemplateController#sync', '同步消息模板数据', 'POST', '/wechat/template/sync', '微信模板消息', b'1', b'1', '微信模板消息 同步消息模板数据', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945207, 'WeChatTemplateController#sync', '同步消息模板数据', 'POST', '/wechat/template/sync', '微信模板消息', b'1', b'1', '微信模板消息 同步消息模板数据', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945208, 'UserDeptController#saveAssignBatch', '给用户分配部门(批量)', 'POST', '/user/dept/saveAssignBatch', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门(批量)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945209, 'UserAdminController#unlockBatch', '批量解锁用户', 'POST', '/user/admin/unlockBatch', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 批量解锁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945210, 'WecomRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wecom/robot/config/existsByCodeNotId', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945210, 'WecomRobotConfigController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/wecom/robot/config/existsByCodeNotId', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.917000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945211, 'WeChatPayConfigController#update', '更新', 'POST', '/wechat/pay/config/update', '微信支付配置', b'1', b'1', '微信支付配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945212, 'UserThirdController#findById', '获取详情', 'POST', '/user/third/findById', '用户三方登录管理', b'1', b'1', '用户三方登录管理 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945213, 'RefundOrderController#resetRefund', '重新发起退款', 'POST', '/order/refund/resetRefund', '支付退款控制器', b'1', b'1', '支付退款控制器 重新发起退款', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1310,7 +1334,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945215, 'ReconcileOrderControll INSERT INTO `iam_perm_path` VALUES (1789978117570945216, 'QuartzJobController#execute', '立即执行', 'POST', '/quartz/execute', '定时任务', b'1', b'1', '定时任务 立即执行', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945217, 'QuartzJobController#start', '启动', 'POST', '/quartz/start', '定时任务', b'1', b'1', '定时任务 启动', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945218, 'DictionaryController#findAll', '查询全部', 'GET', '/dict/findAll', '字典', b'1', b'1', '字典 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945219, 'WeChatMediaController#deleteFile', '删除素材', 'DELETE', '/wechat/media/deleteFile', '微信素材管理', b'1', b'1', '微信素材管理 删除素材', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945219, 'WeChatMediaController#deleteFile', '删除素材', 'DELETE', '/wechat/media/deleteFile', '微信素材管理', b'1', b'1', '微信素材管理 删除素材', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945220, 'UniPayController#allocationFinish', '分账完结接口', 'POST', '/unipay/allocationFinish', '统一支付接口', b'1', b'1', '统一支付接口 分账完结接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-03 14:53:25.716000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945221, 'DataRoleController#update', '更新', 'POST', '/data/role/update', '数据角色配置', b'1', b'1', '数据角色配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945222, 'UnionPayConfigController#toBase64', '读取证书文件内容', 'POST', '/union/pay/config/toBase64', '云闪付配置', b'1', b'1', '云闪付配置 读取证书文件内容', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1324,7 +1348,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945229, 'RoleController#existsB INSERT INTO `iam_perm_path` VALUES (1789978117570945230, 'CockpitReportController#getPayChannelInfo', '显示通道支付订单金额和订单数', 'GET', '/report/cockpit/getPayChannelInfo', '驾驶舱接口', b'1', b'1', '驾驶舱接口 显示通道支付订单金额和订单数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945231, 'AllocationReceiverController#findReceiverTypeByChannel', '根据通道获取分账接收方类型', 'GET', '/allocation/receiver/findReceiverTypeByChannel', '分账接收方控制器', b'1', b'1', '分账接收方控制器 根据通道获取分账接收方类型', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945232, 'UserAdminController#unlock', '解锁用户', 'POST', '/user/admin/unlock', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 解锁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945233, 'WecomRobotConfigController#add', '新增机器人配置', 'POST', '/wecom/robot/config/add', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945233, 'WecomRobotConfigController#add', '新增机器人配置', 'POST', '/wecom/robot/config/add', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 新增机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945234, 'AllocationGroupController#setDefault', '设置默认分账组', 'POST', '/allocation/group/setDefault', '分账组', b'1', b'1', '分账组 设置默认分账组', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945235, 'UserAdminController#findById', '根据用户id查询用户', 'GET', '/user/admin/findById', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 根据用户id查询用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945236, 'PayRepairRecordController#page', '分页查询', 'GET', '/record/repair/page', '支付修复记录', b'1', b'1', '支付修复记录 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1333,10 +1357,10 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945238, 'PasswordSecurityConfig INSERT INTO `iam_perm_path` VALUES (1789978117570945239, 'WalletController#deduct', '扣减', 'POST', '/wallet/deduct', '钱包管理', b'1', b'1', '钱包管理 扣减', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945240, 'FIleUpLoadController#getFilePreviewUrlPrefix', '获取文件预览地址前缀', 'GET', '/file/getFilePreviewUrlPrefix', '文件上传', b'1', b'1', '文件上传 获取文件预览地址前缀', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945241, 'PermMenuController#existsByPermCode', '编码是否被使用(不包含自己)', 'GET', '/perm/menu/existsByPermCodeNotId', '菜单和权限码', b'1', b'1', '菜单和权限码 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945242, 'WeChatTemplateController#update', '修改', 'POST', '/wechat/template/update', '微信模板消息', b'1', b'1', '微信模板消息 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945242, 'WeChatTemplateController#update', '修改', 'POST', '/wechat/template/update', '微信模板消息', b'1', b'1', '微信模板消息 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945243, 'CashierController#queryPayOrder', '查询支付订单', 'GET', '/demo/cashier/queryPayOrderSuccess', '结算台演示', b'1', b'1', '结算台演示 查询支付订单', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945244, 'ReconcileOrderController#downOriginal2Csv', '下载原始交易对账单记录(CSV格式)', 'GET', '/order/reconcile/downOriginal2Csv', '对账控制器', b'1', b'1', '对账控制器 下载原始交易对账单记录(CSV格式)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945245, 'SmsChannelConfigController#findAll', '查询所有', 'GET', '/sms/config/findAll', '短信渠道配置', b'1', b'1', '短信渠道配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945245, 'SmsChannelConfigController#findAll', '查询所有', 'GET', '/sms/config/findAll', '短信渠道配置', b'1', b'1', '短信渠道配置 查询所有', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945246, 'RoleMenuController#getPermissions', '获取菜单和权限码(根据用户进行筛选)', 'GET', '/role/menu/getPermissions', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取菜单和权限码(根据用户进行筛选)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945247, 'UserRoleController#findRoleIdsByUser', '根据用户ID获取到角色id集合', 'GET', '/user/role/findRoleIdsByUser', '用户角色管理', b'1', b'1', '用户角色管理 根据用户ID获取到角色id集合', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945248, 'AllocationGroupController#update', '修改', 'POST', '/allocation/group/update', '分账组', b'1', b'1', '分账组 修改', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1344,7 +1368,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945249, 'FIleUpLoadController#p INSERT INTO `iam_perm_path` VALUES (1789978117570945250, 'QuartzJobController#judgeJobClass', '判断是否是定时任务类', 'GET', '/quartz/judgeJobClass', '定时任务', b'1', b'1', '定时任务 判断是否是定时任务类', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945251, 'PayOrderController#getTotalAmount', '查询金额汇总', 'GET', '/order/pay/getTotalAmount', '支付订单控制器', b'1', b'1', '支付订单控制器 查询金额汇总', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945252, 'UserAssistController#sendCurrentEmailChangeCaptcha', '给当前用户发送更改邮箱验证码', 'POST', '/user/sendCurrentEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 给当前用户发送更改邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945253, 'WecomRobotConfigController#update', '修改机器人配置', 'POST', '/wecom/robot/config/update', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945253, 'WecomRobotConfigController#update', '修改机器人配置', 'POST', '/wecom/robot/config/update', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 修改机器人配置', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945254, 'UserThirdController#bind', '绑定第三方账号', 'POST', '/user/third/bind', '用户三方登录管理', b'1', b'1', '用户三方登录管理 绑定第三方账号', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945255, 'RoleController#tree', '角色树', 'GET', '/role/tree', '角色管理', b'1', b'1', '角色管理 角色树', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945256, 'UniPayController#pay', '统一支付接口', 'POST', '/unipay/pay', '统一支付接口', b'1', b'1', '统一支付接口 统一支付接口', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1362,7 +1386,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945267, 'UserInfoController#exi INSERT INTO `iam_perm_path` VALUES (1789978117570945268, 'UserDeptController#saveAssign', '给用户分配部门', 'POST', '/user/dept/saveAssign', '用户部门关联关系', b'1', b'1', '用户部门关联关系 给用户分配部门', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945269, 'CockpitReportController#getPayOrderCount', '支付订单数量', 'GET', '/report/cockpit/getPayOrderCount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付订单数量', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945270, 'UserAssistController#sendEmailForgetCaptcha', '发送找回密码邮箱验证码', 'POST', '/user/sendEmailForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 发送找回密码邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945271, 'WecomRobotConfigController#findById', '获取详情', 'GET', '/wecom/robot/config/findById', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945271, 'WecomRobotConfigController#findById', '获取详情', 'GET', '/wecom/robot/config/findById', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 获取详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945272, 'ClientNoticeTaskController#recordPage', '分页查询', 'GET', '/task/notice/record/page', '客户系统通知任务', b'1', b'1', '客户系统通知任务 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945273, 'RefundOrderController#findById', '查询单条', 'GET', '/order/refund/findById', '支付退款控制器', b'1', b'1', '支付退款控制器 查询单条', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945274, 'UserDataRoleController#findDataRoleByUser', '根据用户ID获取到数据角色列表', 'GET', '/user/data/role/findDataRoleByUser', '用户数据角色配置', b'1', b'1', '用户数据角色配置 根据用户ID获取到数据角色列表', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1370,35 +1394,35 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945275, 'ChinaRegionController# INSERT INTO `iam_perm_path` VALUES (1789978117570945276, 'DataRoleController#existsByName', '名称是否被使用', 'GET', '/data/role/existsByName', '数据角色配置', b'1', b'1', '数据角色配置 名称是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945277, 'AllocationGroupController#create', '创建', 'POST', '/allocation/group/create', '分账组', b'1', b'1', '分账组 创建', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945278, 'UserAssistController#validatePhoneForgetCaptcha', '验证找回密码手机验证码', 'GET', '/user/validatePhoneForgetCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证找回密码手机验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945279, 'PayChannelConfigController#update', '更新', 'POST', '/pay/channel/config/update', '支付通道信息', b'1', b'1', '支付通道信息 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945279, 'PayChannelConfigController#update', '更新', 'POST', '/pay/channel/config/update', '支付通道信息', b'1', b'1', '支付通道信息 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945280, 'DictionaryController#existsByCode', '编码是否被使用(不包含自己)', 'GET', '/dict/existsByCodeNotId', '字典', b'1', b'1', '字典 编码是否被使用(不包含自己)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945281, 'PermMenuController#menuTree', '获取菜单树', 'GET', '/perm/menu/menuTree', '菜单和权限码', b'1', b'1', '菜单和权限码 获取菜单树', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945282, 'DictionaryItemController#delete', '删除字典项', 'DELETE', '/dict/item/delete', '字典项', b'1', b'1', '字典项 删除字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945283, 'DingRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/ding/robot/config/existsByCode', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945284, 'SiteMessageController#countByReceiveNotRead', '获取未读的接收消息条数', 'GET', '/site/message/countByReceiveNotRead', '站内信', b'1', b'1', '站内信 获取未读的接收消息条数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945285, 'WecomRobotConfigController#findAll', '查询全部', 'GET', '/wecom/robot/config/findAll', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945286, 'PayReturnController#union', '云闪付同步通知', 'POST', '/return/pay/union', '支付同步通知', b'1', b'1', '支付同步通知 云闪付同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945283, 'DingRobotConfigController#existsByCode', '编码是否被使用', 'GET', '/ding/robot/config/existsByCode', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 编码是否被使用', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945284, 'SiteMessageController#countByReceiveNotRead', '获取未读的接收消息条数', 'GET', '/site/message/countByReceiveNotRead', '站内信', b'1', b'1', '站内信 获取未读的接收消息条数', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945285, 'WecomRobotConfigController#findAll', '查询全部', 'GET', '/wecom/robot/config/findAll', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945286, 'PayReturnController#union', '云闪付同步通知', 'POST', '/return/pay/union', '支付同步通知', b'1', b'1', '支付同步通知 云闪付同步通知', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945287, 'UserAssistController#validateCurrentPhoneChangeCaptcha', '验证当前用户发送更改手机号验证码', 'GET', '/user/validateCurrentPhoneChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证当前用户发送更改手机号验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945288, 'WeChatTemplateController#page', '分页查询', 'GET', '/wechat/template/page', '微信模板消息', b'1', b'1', '微信模板消息 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945289, 'SmsTemplateController#add', '添加', 'POST', '/sms/template/add', '短信模板配置', b'1', b'1', '短信模板配置 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945288, 'WeChatTemplateController#page', '分页查询', 'GET', '/wechat/template/page', '微信模板消息', b'1', b'1', '微信模板消息 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945289, 'SmsTemplateController#add', '添加', 'POST', '/sms/template/add', '短信模板配置', b'1', b'1', '短信模板配置 添加', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.916000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945290, 'PermPathController#batchUpdateEnable', '批量更新状态', 'POST', '/perm/path/batchUpdateEnable', '请求权限管理', b'1', b'1', '请求权限管理 批量更新状态', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945291, 'DingRobotConfigController#findAll', '查询全部', 'GET', '/ding/robot/config/findAll', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945291, 'DingRobotConfigController#findAll', '查询全部', 'GET', '/ding/robot/config/findAll', '钉钉机器人配置', b'1', b'1', '钉钉机器人配置 查询全部', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.915000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945292, 'QuartzJobController#syncJobStatus', '同步定时任务状态', 'POST', '/quartz/syncJobStatus', '定时任务', b'1', b'1', '定时任务 同步定时任务状态', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945293, 'SiteMessageController#cancel', '撤回消息', 'POST', '/site/message/cancel', '站内信', b'1', b'1', '站内信 撤回消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945293, 'SiteMessageController#cancel', '撤回消息', 'POST', '/site/message/cancel', '站内信', b'1', b'1', '站内信 撤回消息', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.915000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945294, 'DictionaryItemController#findAll', '获取全部字典项', 'GET', '/dict/item/findAll', '字典项', b'1', b'1', '字典项 获取全部字典项', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945295, 'UserAssistController#validateEmailCaptcha', '验证更改/绑定邮箱验证码', 'GET', '/user/validateEmailChangeCaptcha', '用户操作支撑服务', b'1', b'1', '用户操作支撑服务 验证更改/绑定邮箱验证码', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945296, 'PermMenuController#findById', '根据id查询', 'GET', '/perm/menu/findById', '菜单和权限码', b'1', b'1', '菜单和权限码 根据id查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945297, 'RoleMenuController#findPermissionIdsByRole', '获取当前角色下关联权限id集合(包含权限码和菜单)', 'GET', '/role/menu/findPermissionIdsByRole', '角色菜单权限关系', b'1', b'1', '角色菜单权限关系 获取当前角色下关联权限id集合(包含权限码和菜单)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945298, 'SwaggerConfigResource#openapiJson', 'openapiJson', 'GET', '/v3/api-docs/swagger-config', 'SwaggerConfigResource', b'1', b'1', 'SwaggerConfigResource openapiJson', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945299, 'UnionPayConfigController#update', '更新', 'POST', '/union/pay/config/update', '云闪付配置', b'1', b'1', '云闪付配置 更新', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945300, 'WecomRobotConfigController#delete', '删除', 'DELETE', '/wecom/robot/config/delete', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945300, 'WecomRobotConfigController#delete', '删除', 'DELETE', '/wecom/robot/config/delete', '企业微信机器人配置', b'1', b'1', '企业微信机器人配置 删除', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.915000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945301, 'TokenEndpoint#login', '普通登录', 'POST', '/token/login', '认证相关', b'1', b'1', '认证相关 普通登录', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945302, 'RefundOrderController#refund', '手动发起退款', 'POST', '/order/refund/refund', '支付退款控制器', b'1', b'1', '支付退款控制器 手动发起退款', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945303, 'QuartzJobController#page', '分页', 'GET', '/quartz/page', '定时任务', b'1', b'1', '定时任务 分页', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945304, 'CockpitReportController#getPayAmount', '支付金额(分)', 'GET', '/report/cockpit/getPayAmount', '驾驶舱接口', b'1', b'1', '驾驶舱接口 支付金额(分)', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945305, 'SiteMessageController#saveOrUpdate', '保存站内信草稿', 'POST', '/site/message/saveOrUpdate', '站内信', b'1', b'1', '站内信 保存站内信草稿', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945305, 'SiteMessageController#saveOrUpdate', '保存站内信草稿', 'POST', '/site/message/saveOrUpdate', '站内信', b'1', b'1', '站内信 保存站内信草稿', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.914000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945306, 'UserAdminController#ban', '封禁用户', 'POST', '/user/admin/ban', '管理用户(管理员级别)', b'1', b'1', '管理用户(管理员级别) 封禁用户', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1789978117570945307, 'MessageTemplateController#rendering', '渲染模板', 'POST', '/message/template/rendering', '消息模板', b'1', b'1', '消息模板 渲染模板', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1789978117570945307, 'MessageTemplateController#rendering', '渲染模板', 'POST', '/message/template/rendering', '消息模板', b'1', b'1', '消息模板 渲染模板', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-06-26 20:32:23.914000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945308, 'WalletController#create', '创建钱包', 'POST', '/wallet/create', '钱包管理', b'1', b'1', '钱包管理 创建钱包', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945309, 'PermPathController#syncSystem', '同步系统请求资源', 'POST', '/perm/path/syncSystem', '请求权限管理', b'1', b'1', '请求权限管理 同步系统请求资源', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945310, 'SystemParamController#existsByKey', '判断编码是否存在', 'GET', '/system/param/existsByKey', '系统参数', b'1', b'1', '系统参数 判断编码是否存在', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); @@ -1406,7 +1430,7 @@ INSERT INTO `iam_perm_path` VALUES (1789978117570945311, 'BaseApiController#echo INSERT INTO `iam_perm_path` VALUES (1789978117570945312, 'ReconcileOrderController#findDiffById', '对账差异详情', 'GET', '/order/reconcile/diff/findById', '对账控制器', b'1', b'1', '对账控制器 对账差异详情', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945313, 'PaySyncRecordController#page', '分页查询', 'GET', '/record/sync/page', '支付同步记录控制器', b'1', b'1', '支付同步记录控制器 分页查询', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1789978117570945314, 'CashierController#getWxAuthUrl', '获取微信授权链接', 'GET', '/demo/cashier/getWxAuthUrl', '结算台演示', b'1', b'1', '结算台演示 获取微信授权链接', 1399985191002447872, '2024-05-13 19:16:54.071000', 1399985191002447872, '2024-05-13 19:16:54.071000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1797521957446066176, 'PayNoticeReceiverController#wechatPayNotice', '微信消息通知', 'POST', '/callback/notice/wechat', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 微信消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1797521957446066176, 'PayNoticeReceiverController#wechatPayNotice', '微信消息通知', 'POST', '/callback/notice/wechat', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 微信消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-26 20:32:23.914000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066177, 'AllocationReceiverController#existsByReceiverNo', '编码是否存在', 'GET', '/allocation/receiver/existsByReceiverNo', '分账接收方控制器', b'1', b'1', '分账接收方控制器 编码是否存在', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066178, 'UniAllocationController#start', '发起分账接口', 'POST', '/unipay/allocation/start', '分账控制器', b'1', b'1', '分账控制器 发起分账接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066179, 'UniPayController#transfer', '统一转账接口', 'POST', '/unipay/transfer', '统一支付接口', b'1', b'1', '统一支付接口 统一转账接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); @@ -1427,10 +1451,39 @@ INSERT INTO `iam_perm_path` VALUES (1797521957446066193, 'UniPaySyncController#t INSERT INTO `iam_perm_path` VALUES (1797521957446066194, 'ClientNoticeReceiveController#allocation', '分账消息', 'POST', '/demo/callback/allocation', '回调测试', b'1', b'1', '回调测试 分账消息', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066195, 'UniQueryController#queryAllocReceive', '分账接收方查询接口', 'POST', '/unipay/query/allocationReceiver', '统一查询接口', b'1', b'1', '统一查询接口 分账接收方查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066196, 'UniAllocationController#finish', '分账完结接口', 'POST', '/unipay/allocation/finish', '分账控制器', b'1', b'1', '分账控制器 分账完结接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); -INSERT INTO `iam_perm_path` VALUES (1797521957446066197, 'PayNoticeReceiverController#aliPayNotice', '支付宝消息通知', 'POST', '/callback/notice/alipay', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 支付宝消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1797521957446066197, 'PayNoticeReceiverController#aliPayNotice', '支付宝消息通知', 'POST', '/callback/notice/alipay', '执法通道网关消息通知', b'1', b'1', '执法通道网关消息通知 支付宝消息通知', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-26 20:32:23.913000', b'1', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066198, 'UniQueryController#queryRefundOrder', '退款订单查询接口', 'POST', '/unipay/query/refundOrder', '统一查询接口', b'1', b'1', '统一查询接口 退款订单查询接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066199, 'TradeFlowRecordController#page', '分页查询', 'GET', '/record/flow/page', '交易流水记录控制器', b'1', b'1', '交易流水记录控制器 分页查询', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); INSERT INTO `iam_perm_path` VALUES (1797521957446066200, 'UniAllocationController#receiverRemove', '分账接收方删除接口', 'POST', '/unipay/allocation/receiver/remove', '分账控制器', b'1', b'1', '分账控制器 分账接收方删除接口', 1399985191002447872, '2024-06-03 14:53:25.655000', 1399985191002447872, '2024-06-03 14:53:25.655000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153792, 'WeChatPayConfigController#generateReturnUrl', '生成同步通知地址', 'GET', '/wechat/pay/config/generateReturnUrl', '微信支付配置', b'1', b'1', '微信支付配置 生成同步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153793, 'TransferOrderController#getTotalAmount', '查询金额汇总', 'GET', '/order/transfer/getTotalAmount', '转账订单控制器', b'1', b'1', '转账订单控制器 查询金额汇总', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153794, 'UnionPayConfigController#generateReturnUrl', '生成同步通知地址', 'GET', '/union/pay/config/generateReturnUrl', '云闪付配置', b'1', b'1', '云闪付配置 生成同步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153795, 'AlipayConfigController#generateReturnUrl', '生成同步通知地址', 'GET', '/alipay/config/generateReturnUrl', '支付宝配置', b'1', b'1', '支付宝配置 生成同步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153796, 'AliPayAuthController#queryOpenId', '根据标识码查询OpenId', 'GET', '/alipay/auth/queryOpenId', '支付宝认证控制器', b'1', b'1', '支付宝认证控制器 根据标识码查询OpenId', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153797, 'CallbackReceiverController#wechatPayNotify', '微信支付信息回调', 'POST', '/unipay/callback/wechat', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信支付信息回调', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153798, 'TransferOrderController#page', '分页查询', 'GET', '/order/transfer/page', '转账订单控制器', b'1', b'1', '转账订单控制器 分页查询', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153799, 'AlipayConfigController#generateNotifyUrl', '生成异步通知地址', 'GET', '/alipay/config/generateNotifyUrl', '支付宝配置', b'1', b'1', '支付宝配置 生成异步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153800, 'UnionPayConfigController#generateNotifyUrl', '生成异步通知地址', 'GET', '/union/pay/config/generateNotifyUrl', '云闪付配置', b'1', b'1', '云闪付配置 生成异步通知地址', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153801, 'UniPayController#cancel', '支付撤销接口', 'POST', '/unipay/cancel', '统一支付接口', b'1', b'1', '统一支付接口 支付撤销接口', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153802, 'NoticeReceiverController#aliPayNotice', '支付宝消息通知', 'POST', '/unipay/notice/alipay', '支付通道网关消息通知', b'1', b'1', '支付通道网关消息通知 支付宝消息通知', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153803, 'WechatAuthController#generateAuthUrl', '返回获取OpenId授权页面地址和标识码', 'POST', '/wechat/auth/generateAuthUrl', '微信认证控制器', b'1', b'1', '微信认证控制器 返回获取OpenId授权页面地址和标识码', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153804, 'TransferOrderController#findByBizTransferNo', '根据商户转账号查询', 'GET', '/order/transfer/findByBizTransferNo', '转账订单控制器', b'1', b'1', '转账订单控制器 根据商户转账号查询', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153805, 'TransferOrderController#findByTransferNo', '根据转账号查询', 'GET', '/order/transfer/findByTransferNo', '转账订单控制器', b'1', b'1', '转账订单控制器 根据转账号查询', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153806, 'NoticeReceiverController#wechatPayNotice', '微信消息通知', 'POST', '/unipay/notice/wechat', '支付通道网关消息通知', b'1', b'1', '支付通道网关消息通知 微信消息通知', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153807, 'CallbackReceiverController#wechatCallback', '支付宝认证授权回调', 'GET', '/unipay/callback/alipay/auth/{code}', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝认证授权回调', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153808, 'WechatAuthController#queryOpenId', '根据标识码查询OpenId', 'GET', '/wechat/auth/queryOpenId', '微信认证控制器', b'1', b'1', '微信认证控制器 根据标识码查询OpenId', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153809, 'TransferOrderController#syncByTransferNo', '手动转账同步', 'POST', '/order/transfer/syncByTransferNo', '转账订单控制器', b'1', b'1', '转账订单控制器 手动转账同步', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.859000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182965153810, 'CallbackReceiverController#aliPayNotify', '支付宝信息回调', 'POST', '/unipay/callback/alipay', '支付通道信息回调', b'1', b'1', '支付通道信息回调 支付宝信息回调', 1399985191002447872, '2024-06-26 20:32:23.859000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348096, 'CallbackReceiverController#wxAuthCallback', '微信认证授权回调', 'GET', '/unipay/callback/wechat/auth/{code}', '支付通道信息回调', b'1', b'1', '支付通道信息回调 微信认证授权回调', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348097, 'WeChatPayConfigController#generateNotifyUrl', '生成异步通知地址', 'GET', '/wechat/pay/config/generateNotifyUrl', '微信支付配置', b'1', b'1', '微信支付配置 生成异步通知地址', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348098, 'TransferOrderController#findById', '查询单条', 'GET', '/order/transfer/findById', '转账订单控制器', b'1', b'1', '转账订单控制器 查询单条', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348099, 'PayReturnController#union', '云闪付同步跳转通知', 'POST', '/unipay/return/pay/union', '同步通知跳转控制器', b'1', b'1', '同步通知跳转控制器 云闪付同步跳转通知', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348100, 'TransferOrderController#resetTransfer', '重新发起转账', 'POST', '/order/transfer/resetTransfer', '转账订单控制器', b'1', b'1', '转账订单控制器 重新发起转账', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348101, 'AliPayAuthController#generateAuthUrl', '返回获取OpenId授权页面地址和标识码', 'POST', '/alipay/auth/generateAuthUrl', '支付宝认证控制器', b'1', b'1', '支付宝认证控制器 返回获取OpenId授权页面地址和标识码', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348102, 'TransferOrderController#transfer', '手动发起转账', 'POST', '/order/transfer/transfer', '转账订单控制器', b'1', b'1', '转账订单控制器 手动发起转账', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348103, 'PayReturnController#wechat', '微信同步跳转通知', 'GET', '/unipay/return/pay/wechat', '同步通知跳转控制器', b'1', b'1', '同步通知跳转控制器 微信同步跳转通知', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348104, 'CallbackReceiverController#unionPayNotify', '云闪付支付信息回调', 'POST', '/unipay/callback/union', '支付通道信息回调', b'1', b'1', '支付通道信息回调 云闪付支付信息回调', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); +INSERT INTO `iam_perm_path` VALUES (1805942182969348105, 'PayReturnController#alipay', '支付宝同步跳转通知', 'GET', '/unipay/return/pay/alipay', '同步通知跳转控制器', b'1', b'1', '同步通知跳转控制器 支付宝同步跳转通知', 1399985191002447872, '2024-06-26 20:32:23.860000', 1399985191002447872, '2024-06-26 20:32:23.860000', b'0', 0); -- ---------------------------- -- Table structure for iam_role @@ -1484,13 +1537,9 @@ INSERT INTO `iam_role_menu` VALUES (1757298674730520584, 1757297023118462976, 'd INSERT INTO `iam_role_menu` VALUES (1757298674730520585, 1757297023118462976, 'dax-pay', 1745143528663781376); INSERT INTO `iam_role_menu` VALUES (1757298674730520586, 1757297023118462976, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298674730520587, 1757297023118462976, 'dax-pay', 1744624886658318336); -INSERT INTO `iam_role_menu` VALUES (1757298674730520588, 1757297023118462976, 'dax-pay', 1744372631231995904); -INSERT INTO `iam_role_menu` VALUES (1757298674730520589, 1757297023118462976, 'dax-pay', 1744276101384880128); INSERT INTO `iam_role_menu` VALUES (1757298674730520590, 1757297023118462976, 'dax-pay', 1746194891925561344); INSERT INTO `iam_role_menu` VALUES (1757298924107059200, 1757298887092326400, 'dax-pay', 1744271715476684800); INSERT INTO `iam_role_menu` VALUES (1757298924107059201, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059202, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059203, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1757298924107059204, 1757298887092326400, 'dax-pay', 1744624886658318336); INSERT INTO `iam_role_menu` VALUES (1757298924107059205, 1757298887092326400, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298924107059206, 1757298887092326400, 'dax-pay', 1744642856348520448); @@ -1503,8 +1552,6 @@ INSERT INTO `iam_role_menu` VALUES (1757298924107059213, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1757298924107059214, 1757298887092326400, 'dax-pay', 1745143528663781376); INSERT INTO `iam_role_menu` VALUES (1757298924107059215, 1757298887092326400, 'dax-pay', 1744271715476684800); INSERT INTO `iam_role_menu` VALUES (1757298924107059216, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059217, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059218, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1757298924107059219, 1757298887092326400, 'dax-pay', 1744624886658318336); INSERT INTO `iam_role_menu` VALUES (1757298924107059220, 1757298887092326400, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298924107059221, 1757298887092326400, 'dax-pay', 1744642856348520448); @@ -1517,8 +1564,6 @@ INSERT INTO `iam_role_menu` VALUES (1757298924107059228, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1757298924107059229, 1757298887092326400, 'dax-pay', 1745143528663781376); INSERT INTO `iam_role_menu` VALUES (1757298924107059230, 1757298887092326400, 'dax-pay', 1744271715476684800); INSERT INTO `iam_role_menu` VALUES (1757298924107059231, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059232, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059233, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1757298924107059234, 1757298887092326400, 'dax-pay', 1744624886658318336); INSERT INTO `iam_role_menu` VALUES (1757298924107059235, 1757298887092326400, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298924107059236, 1757298887092326400, 'dax-pay', 1744642856348520448); @@ -1531,8 +1576,6 @@ INSERT INTO `iam_role_menu` VALUES (1757298924107059243, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1757298924107059244, 1757298887092326400, 'dax-pay', 1745143528663781376); INSERT INTO `iam_role_menu` VALUES (1757298924107059245, 1757298887092326400, 'dax-pay', 1744271715476684800); INSERT INTO `iam_role_menu` VALUES (1757298924107059246, 1757298887092326400, 'dax-pay', 1746194891925561344); -INSERT INTO `iam_role_menu` VALUES (1757298924107059247, 1757298887092326400, 'dax-pay', 1744276101384880128); -INSERT INTO `iam_role_menu` VALUES (1757298924107059248, 1757298887092326400, 'dax-pay', 1744372631231995904); INSERT INTO `iam_role_menu` VALUES (1757298924107059249, 1757298887092326400, 'dax-pay', 1744624886658318336); INSERT INTO `iam_role_menu` VALUES (1757298924107059250, 1757298887092326400, 'dax-pay', 1745822093382230016); INSERT INTO `iam_role_menu` VALUES (1757298924107059251, 1757298887092326400, 'dax-pay', 1744642856348520448); @@ -1567,16 +1610,31 @@ INSERT INTO `iam_role_menu` VALUES (1789979742314291201, 1757298887092326400, 'd INSERT INTO `iam_role_menu` VALUES (1789979742314291202, 1757298887092326400, 'dax-pay', 1744930046228017152); INSERT INTO `iam_role_menu` VALUES (1797522085254897664, 1757297023118462976, 'dax-pay', 1797178029448867840); INSERT INTO `iam_role_menu` VALUES (1797522085414281216, 1757298887092326400, 'dax-pay', 1797178029448867840); +INSERT INTO `iam_role_menu` VALUES (1805942450893099008, 1757297023118462976, 'dax-pay', 1786811341285052416); +INSERT INTO `iam_role_menu` VALUES (1805942450893099009, 1757297023118462976, 'dax-pay', 1804041752999993344); +INSERT INTO `iam_role_menu` VALUES (1805942450893099010, 1757297023118462976, 'dax-pay', 1805115884940374016); +INSERT INTO `iam_role_menu` VALUES (1805942450893099011, 1757297023118462976, 'dax-pay', 1804799253230350336); +INSERT INTO `iam_role_menu` VALUES (1805942450893099012, 1757297023118462976, 'dax-pay', 1800350813995446272); +INSERT INTO `iam_role_menu` VALUES (1805942450893099013, 1757297023118462976, 'dax-pay', 1744372631231995904); +INSERT INTO `iam_role_menu` VALUES (1805942450893099014, 1757297023118462976, 'dax-pay', 1744276101384880128); +INSERT INTO `iam_role_menu` VALUES (1805942451052482560, 1757298887092326400, 'dax-pay', 1786811341285052416); +INSERT INTO `iam_role_menu` VALUES (1805942451052482561, 1757298887092326400, 'dax-pay', 1804041752999993344); +INSERT INTO `iam_role_menu` VALUES (1805942451052482562, 1757298887092326400, 'dax-pay', 1805115884940374016); +INSERT INTO `iam_role_menu` VALUES (1805942451052482563, 1757298887092326400, 'dax-pay', 1804799253230350336); +INSERT INTO `iam_role_menu` VALUES (1805942451052482564, 1757298887092326400, 'dax-pay', 1800350813995446272); +INSERT INTO `iam_role_menu` VALUES (1805942451052482565, 1757298887092326400, 'dax-pay', 1744372631231995904); +INSERT INTO `iam_role_menu` VALUES (1805942451052482566, 1757298887092326400, 'dax-pay', 1744276101384880128); + -- ---------------------------- -- Table structure for iam_role_path -- ---------------------------- DROP TABLE IF EXISTS `iam_role_path`; CREATE TABLE `iam_role_path` ( - `id` bigint(20) NOT NULL, - `role_id` bigint(20) NOT NULL COMMENT '角色id', - `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', - PRIMARY KEY (`id`) USING BTREE + `id` bigint(20) NOT NULL, + `role_id` bigint(20) NOT NULL COMMENT '角色id', + `permission_id` bigint(20) NOT NULL COMMENT '请求权限id', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色请求权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -1611,16 +1669,11 @@ INSERT INTO `iam_role_path` VALUES (1789979321814343705, 1757297023118462976, 17 INSERT INTO `iam_role_path` VALUES (1789979321814343706, 1757297023118462976, 1789978117570945213); INSERT INTO `iam_role_path` VALUES (1789979321814343707, 1757297023118462976, 1789978117570945177); INSERT INTO `iam_role_path` VALUES (1789979321814343708, 1757297023118462976, 1789978117570945161); -INSERT INTO `iam_role_path` VALUES (1789979321814343709, 1757297023118462976, 1789978117570945136); INSERT INTO `iam_role_path` VALUES (1789979321814343711, 1757297023118462976, 1789978117566750728); INSERT INTO `iam_role_path` VALUES (1789979321814343712, 1757297023118462976, 1789978117570945299); INSERT INTO `iam_role_path` VALUES (1789979321814343713, 1757297023118462976, 1789978117570945222); INSERT INTO `iam_role_path` VALUES (1789979321814343714, 1757297023118462976, 1789978117570945124); INSERT INTO `iam_role_path` VALUES (1789979321814343715, 1757297023118462976, 1789978117566750820); -INSERT INTO `iam_role_path` VALUES (1789979321814343716, 1757297023118462976, 1789978117570945286); -INSERT INTO `iam_role_path` VALUES (1789979321814343717, 1757297023118462976, 1789978117570945072); -INSERT INTO `iam_role_path` VALUES (1789979321814343718, 1757297023118462976, 1789978117570945064); -INSERT INTO `iam_role_path` VALUES (1789979321814343719, 1757297023118462976, 1789978117570945279); INSERT INTO `iam_role_path` VALUES (1789979321814343720, 1757297023118462976, 1789978117570945028); INSERT INTO `iam_role_path` VALUES (1789979321814343721, 1757297023118462976, 1789978117566750751); INSERT INTO `iam_role_path` VALUES (1789979321814343722, 1757297023118462976, 1789978117570945277); @@ -1638,7 +1691,6 @@ INSERT INTO `iam_role_path` VALUES (1789979321814343733, 1757297023118462976, 17 INSERT INTO `iam_role_path` VALUES (1789979321814343734, 1757297023118462976, 1789978117570945266); INSERT INTO `iam_role_path` VALUES (1789979321814343735, 1757297023118462976, 1789978117570945251); INSERT INTO `iam_role_path` VALUES (1789979321814343736, 1757297023118462976, 1789978117570945073); -INSERT INTO `iam_role_path` VALUES (1789979321814343737, 1757297023118462976, 1789978117570945056); INSERT INTO `iam_role_path` VALUES (1789979321814343738, 1757297023118462976, 1789978117566750822); INSERT INTO `iam_role_path` VALUES (1789979321814343739, 1757297023118462976, 1789978117566750809); INSERT INTO `iam_role_path` VALUES (1789979321814343740, 1757297023118462976, 1789978117566750803); @@ -1713,14 +1765,9 @@ INSERT INTO `iam_role_path` VALUES (1789979322187636761, 1757298887092326400, 17 INSERT INTO `iam_role_path` VALUES (1789979322187636762, 1757298887092326400, 1789978117570945213); INSERT INTO `iam_role_path` VALUES (1789979322187636763, 1757298887092326400, 1789978117570945177); INSERT INTO `iam_role_path` VALUES (1789979322187636764, 1757298887092326400, 1789978117570945161); -INSERT INTO `iam_role_path` VALUES (1789979322187636765, 1757298887092326400, 1789978117570945136); INSERT INTO `iam_role_path` VALUES (1789979322187636767, 1757298887092326400, 1789978117566750728); INSERT INTO `iam_role_path` VALUES (1789979322187636769, 1757298887092326400, 1789978117570945222); INSERT INTO `iam_role_path` VALUES (1789979322187636771, 1757298887092326400, 1789978117566750820); -INSERT INTO `iam_role_path` VALUES (1789979322187636772, 1757298887092326400, 1789978117570945286); -INSERT INTO `iam_role_path` VALUES (1789979322187636773, 1757298887092326400, 1789978117570945072); -INSERT INTO `iam_role_path` VALUES (1789979322187636774, 1757298887092326400, 1789978117570945064); -INSERT INTO `iam_role_path` VALUES (1789979322187636775, 1757298887092326400, 1789978117570945279); INSERT INTO `iam_role_path` VALUES (1789979322187636776, 1757298887092326400, 1789978117570945028); INSERT INTO `iam_role_path` VALUES (1789979322187636777, 1757298887092326400, 1789978117566750751); INSERT INTO `iam_role_path` VALUES (1789979322187636778, 1757298887092326400, 1789978117570945277); @@ -1729,7 +1776,6 @@ INSERT INTO `iam_role_path` VALUES (1789979322187636786, 1757298887092326400, 17 INSERT INTO `iam_role_path` VALUES (1789979322187636790, 1757298887092326400, 1789978117570945266); INSERT INTO `iam_role_path` VALUES (1789979322187636791, 1757298887092326400, 1789978117570945251); INSERT INTO `iam_role_path` VALUES (1789979322187636792, 1757298887092326400, 1789978117570945073); -INSERT INTO `iam_role_path` VALUES (1789979322187636793, 1757298887092326400, 1789978117570945056); INSERT INTO `iam_role_path` VALUES (1789979322187636794, 1757298887092326400, 1789978117566750822); INSERT INTO `iam_role_path` VALUES (1789979322187636795, 1757298887092326400, 1789978117566750809); INSERT INTO `iam_role_path` VALUES (1789979322187636796, 1757298887092326400, 1789978117566750803); @@ -1797,13 +1843,9 @@ INSERT INTO `iam_role_path` VALUES (1789982023529127943, 1757298887092326400, 17 INSERT INTO `iam_role_path` VALUES (1789986071959429120, 1757298887092326400, 1789978117570945124); INSERT INTO `iam_role_path` VALUES (1797522413752786944, 1757297023118462976, 1797521957446066199); INSERT INTO `iam_role_path` VALUES (1797522413752786945, 1757297023118462976, 1797521957446066189); -INSERT INTO `iam_role_path` VALUES (1797522413752786946, 1757297023118462976, 1797521957446066197); -INSERT INTO `iam_role_path` VALUES (1797522413752786947, 1757297023118462976, 1797521957446066176); INSERT INTO `iam_role_path` VALUES (1797522413752786948, 1757297023118462976, 1797521957446066187); INSERT INTO `iam_role_path` VALUES (1797522723091095552, 1757298887092326400, 1797521957446066199); INSERT INTO `iam_role_path` VALUES (1797522723091095553, 1757298887092326400, 1797521957446066189); -INSERT INTO `iam_role_path` VALUES (1797522723091095554, 1757298887092326400, 1797521957446066197); -INSERT INTO `iam_role_path` VALUES (1797522723091095555, 1757298887092326400, 1797521957446066176); INSERT INTO `iam_role_path` VALUES (1797522723091095556, 1757298887092326400, 1797521957446066187); INSERT INTO `iam_role_path` VALUES (1797523038569865216, 1757297023118462976, 1797521957446066184); INSERT INTO `iam_role_path` VALUES (1797523038569865217, 1757297023118462976, 1797521957446066181); @@ -1823,6 +1865,32 @@ INSERT INTO `iam_role_path` VALUES (1797523264022093827, 1757298887092326400, 17 INSERT INTO `iam_role_path` VALUES (1797523264022093828, 1757298887092326400, 1789978117566750801); INSERT INTO `iam_role_path` VALUES (1797523482968956928, 1757297023118462976, 1797521957446066188); INSERT INTO `iam_role_path` VALUES (1797523483111563264, 1757298887092326400, 1797521957446066188); +INSERT INTO `iam_role_path` VALUES (1805942783757258752, 1757297023118462976, 1805942182969348102); +INSERT INTO `iam_role_path` VALUES (1805942783757258753, 1757297023118462976, 1805942182969348100); +INSERT INTO `iam_role_path` VALUES (1805942783757258754, 1757297023118462976, 1805942182969348098); +INSERT INTO `iam_role_path` VALUES (1805942783757258755, 1757297023118462976, 1805942182965153809); +INSERT INTO `iam_role_path` VALUES (1805942783757258756, 1757297023118462976, 1805942182965153805); +INSERT INTO `iam_role_path` VALUES (1805942783757258757, 1757297023118462976, 1805942182965153804); +INSERT INTO `iam_role_path` VALUES (1805942783757258758, 1757297023118462976, 1805942182965153798); +INSERT INTO `iam_role_path` VALUES (1805942783757258759, 1757297023118462976, 1805942182965153793); +INSERT INTO `iam_role_path` VALUES (1805942783757258760, 1757297023118462976, 1805942182965153796); +INSERT INTO `iam_role_path` VALUES (1805942783757258761, 1757297023118462976, 1805942182969348101); +INSERT INTO `iam_role_path` VALUES (1805942783757258762, 1757297023118462976, 1805942182965153808); +INSERT INTO `iam_role_path` VALUES (1805942783757258763, 1757297023118462976, 1805942182965153803); +INSERT INTO `iam_role_path` VALUES (1805942783757258764, 1757297023118462976, 1805942182965153800); +INSERT INTO `iam_role_path` VALUES (1805942783757258765, 1757297023118462976, 1805942182965153794); +INSERT INTO `iam_role_path` VALUES (1805942783757258766, 1757297023118462976, 1805942182965153799); +INSERT INTO `iam_role_path` VALUES (1805942783757258767, 1757297023118462976, 1805942182965153795); +INSERT INTO `iam_role_path` VALUES (1806242872311390208, 1757298887092326400, 1805942182965153808); +INSERT INTO `iam_role_path` VALUES (1806242872311390209, 1757298887092326400, 1805942182965153803); +INSERT INTO `iam_role_path` VALUES (1806242872311390210, 1757298887092326400, 1805942182969348101); +INSERT INTO `iam_role_path` VALUES (1806242872311390211, 1757298887092326400, 1805942182965153796); +INSERT INTO `iam_role_path` VALUES (1806242872311390212, 1757298887092326400, 1805942182969348098); +INSERT INTO `iam_role_path` VALUES (1806242872311390213, 1757298887092326400, 1805942182965153805); +INSERT INTO `iam_role_path` VALUES (1806242872311390214, 1757298887092326400, 1805942182965153804); +INSERT INTO `iam_role_path` VALUES (1806242872311390215, 1757298887092326400, 1805942182965153798); +INSERT INTO `iam_role_path` VALUES (1806242872311390216, 1757298887092326400, 1805942182965153793); +INSERT INTO `iam_role_path` VALUES (1806242872311390217, 1757298887092326400, 1805942182965153809); -- ---------------------------- -- Table structure for iam_user_data_role @@ -1985,6 +2053,27 @@ CREATE TABLE `iam_user_third_info` ( -- Records of iam_user_third_info -- ---------------------------- +-- ---------------------------- +-- Table structure for mtm_table +-- ---------------------------- +DROP TABLE IF EXISTS `mtm_table`; +CREATE TABLE `mtm_table` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `h1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL, + `date` date NULL DEFAULT NULL, + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = 'actable测试' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of mtm_table +-- ---------------------------- + -- ---------------------------- -- Table structure for notice_mail_config -- ---------------------------- @@ -2205,43 +2294,41 @@ CREATE TABLE `notice_wechat_config` ( -- Records of notice_wechat_config -- ---------------------------- --- ---------------------------- --- Table structure for pay_alipay_config --- ---------------------------- DROP TABLE IF EXISTS `pay_alipay_config`; CREATE TABLE `pay_alipay_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知页面路径', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', - `server_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', - `auth_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', - `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', - `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', - `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', - `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', - `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', - `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', - `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', - `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', - `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE + `id` bigint(20) NOT NULL COMMENT '主键', + `app_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付宝商户appId', + `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知接收路径', + `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知页面路径', + `server_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付网关地址', + `redirect_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权回调地址', + `auth_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '认证类型', + `sign_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型 RSA2', + `alipay_public_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥', + `private_key` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '私钥', + `app_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用公钥证书', + `alipay_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝公钥证书', + `alipay_root_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '支付宝CA根证书', + `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', + `limit_amount` int(15) NULL DEFAULT NULL COMMENT '支付限额', + `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', + `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', + `alipay_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '合作者身份ID', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝支付配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_alipay_config -- ---------------------------- -INSERT INTO `pay_alipay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,web,qrcode,app,barcode', NULL, NULL, NULL, 0, '2024-01-02 21:17:58', 1399985191002447872, '2024-05-07 19:06:38', 32, b'0'); +INSERT INTO `pay_alipay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,web,qrcode,app,barcode', NULL, NULL, NULL, 0, '2024-01-02 21:17:58', 1399985191002447872, '2024-05-07 19:06:38', 32, b'0'); -- ---------------------------- -- Table structure for pay_alipay_reconcile_bill_detail @@ -2309,69 +2396,68 @@ CREATE TABLE `pay_alipay_reconcile_bill_total` ( -- ---------------------------- -- ---------------------------- --- Table structure for pay_allocation_group +-- Table structure for pay_alloc_order -- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group`; -CREATE TABLE `pay_allocation_group` ( +DROP TABLE IF EXISTS `pay_alloc_order`; +CREATE TABLE `pay_alloc_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `group_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账组编码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', - `total_rate` int(11) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `alloc_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账单号', + `biz_alloc_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户分账单号', + `out_alloc_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道分账号', + `order_id` bigint(20) NOT NULL COMMENT '支付订单ID', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付订单号', + `biz_order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户支付订单号', + `out_order_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道支付订单号', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付标题', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属通道', + `amount` int(8) NOT NULL COMMENT '总分账金额', + `description` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', + `status` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态', + `result` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '处理结果', + `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', + `attach` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', + `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_allocation_group --- ---------------------------- - --- ---------------------------- --- Table structure for pay_allocation_group_receiver --- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_group_receiver`; -CREATE TABLE `pay_allocation_group_receiver` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `group_id` bigint(20) NULL DEFAULT NULL COMMENT '分账组ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; + PRIMARY KEY (`id`) USING BTREE, + INDEX `alloc_no`(`alloc_no`) USING BTREE COMMENT '分账单号索引', + INDEX `biz_alloc_no`(`biz_alloc_no`) USING BTREE COMMENT '商户分账单号索引', + INDEX `out_alloc_no`(`out_alloc_no`) USING BTREE COMMENT '通道分账号索引', + INDEX `order_id`(`order_id`) USING BTREE COMMENT '支付订单ID索引', + INDEX `order_no`(`order_no`) USING BTREE COMMENT '支付订单号索引', + INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户支付订单号索引', + INDEX `out_order_no`(`out_order_no`) USING BTREE COMMENT '通道支付订单号索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of pay_allocation_group_receiver +-- Records of pay_alloc_order -- ---------------------------- -- ---------------------------- --- Table structure for pay_allocation_order +-- Table structure for pay_alloc_order_detail -- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order`; -CREATE TABLE `pay_allocation_order` ( +DROP TABLE IF EXISTS `pay_alloc_order_detail`; +CREATE TABLE `pay_alloc_order_detail` ( `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账单号', - `biz_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户分账单号', - `out_allocation_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道分账号', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单标题', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `amount` int(11) NULL DEFAULT NULL COMMENT '总分账金额', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账描述', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', + `allocation_id` bigint(20) NOT NULL COMMENT '分账订单ID', + `receiver_id` bigint(20) NOT NULL COMMENT '接收者ID', + `receiver_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账接收方编号', + `rate` int(5) NOT NULL COMMENT '分账比例(万分之多少)', + `amount` int(8) NOT NULL COMMENT '分账金额', + `receiver_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账接收方类型', + `receiver_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '接收方账号', + `receiver_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', + `result` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账结果', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', + `error_msg` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -2379,31 +2465,26 @@ CREATE TABLE `pay_allocation_order` ( `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单' ROW_FORMAT = DYNAMIC; + PRIMARY KEY (`id`) USING BTREE, + INDEX `allocation_id`(`allocation_id`) USING BTREE COMMENT '分账订单ID索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of pay_allocation_order +-- Records of pay_alloc_order_detail -- ---------------------------- -- ---------------------------- --- Table structure for pay_allocation_order_detail +-- Table structure for pay_allocation_group -- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order_detail`; -CREATE TABLE `pay_allocation_order_detail` ( +DROP TABLE IF EXISTS `pay_allocation_group`; +CREATE TABLE `pay_allocation_group` ( `id` bigint(20) NOT NULL COMMENT '主键', - `allocation_id` bigint(20) NULL DEFAULT NULL COMMENT '分账订单ID', - `receiver_id` bigint(20) NULL DEFAULT NULL COMMENT '接收者ID', - `receiver_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方编号', - `rate` int(11) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', - `amount` int(11) NULL DEFAULT NULL COMMENT '分账金额', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误代码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误原因', - `finish_time` datetime NULL DEFAULT NULL COMMENT '分账完成时间', + `group_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账组编码', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道', + `default_group` bit(1) NULL DEFAULT NULL COMMENT '默认分账组', + `total_rate` int(5) NULL DEFAULT NULL COMMENT '总分账比例(万分之多少)', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2411,33 +2492,28 @@ CREATE TABLE `pay_allocation_order_detail` ( `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单明细' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账组' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of pay_allocation_order_detail +-- Records of pay_allocation_group -- ---------------------------- -- ---------------------------- --- Table structure for pay_allocation_order_extra +-- Table structure for pay_allocation_group_receiver -- ---------------------------- -DROP TABLE IF EXISTS `pay_allocation_order_extra`; -CREATE TABLE `pay_allocation_order_extra` ( +DROP TABLE IF EXISTS `pay_allocation_group_receiver`; +CREATE TABLE `pay_allocation_group_receiver` ( `id` bigint(20) NOT NULL COMMENT '主键', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', + `group_id` bigint(20) NOT NULL COMMENT '分账组ID', + `receiver_id` bigint(20) NOT NULL COMMENT '接收者ID', + `rate` int(5) NULL DEFAULT NULL COMMENT '分账比例(万分之多少)', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账订单扩展' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分账接收组关系' ROW_FORMAT = DYNAMIC; -- ---------------------------- --- Records of pay_allocation_order_extra +-- Records of pay_allocation_group_receiver -- ---------------------------- -- ---------------------------- @@ -2446,13 +2522,13 @@ CREATE TABLE `pay_allocation_order_extra` ( DROP TABLE IF EXISTS `pay_allocation_receiver`; CREATE TABLE `pay_allocation_receiver` ( `id` bigint(20) NOT NULL COMMENT '主键', - `receiver_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方编号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属通道', - `receiver_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账接收方类型', - `receiver_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方账号', - `receiver_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', - `relation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账关系类型', - `relation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', + `receiver_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账接收方编号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属通道', + `receiver_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账接收方类型', + `receiver_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '接收方账号', + `receiver_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接收方姓名', + `relation_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '分账关系类型', + `relation_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关系名称', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2472,15 +2548,11 @@ CREATE TABLE `pay_allocation_receiver` ( DROP TABLE IF EXISTS `pay_api_config`; CREATE TABLE `pay_api_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编码', - `api` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口地址', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `notice_support` bit(1) NULL DEFAULT NULL COMMENT '支持回调通知', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `notice` bit(1) NULL DEFAULT NULL COMMENT '是否开启回调通知', - `notice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '默认通知地址', - `req_sign` bit(1) NULL DEFAULT NULL COMMENT '请求参数是否签名', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', + `api` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '接口地址', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `enable` bit(1) NOT NULL COMMENT '是否启用', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2493,25 +2565,26 @@ CREATE TABLE `pay_api_config` ( -- ---------------------------- -- Records of pay_api_config -- ---------------------------- -INSERT INTO `pay_api_config` VALUES (100, 'pay', '/unipay/pay', '统一支付接口 ', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/payObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-03-11 17:31:41', 11, b'0'); -INSERT INTO `pay_api_config` VALUES (200, 'close', '/unipay/close', '支付关闭接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (300, 'refund', '/unipay/refund', '统一退款接口', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/refundObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-05-16 21:59:19', 7, b'0'); -INSERT INTO `pay_api_config` VALUES (400, 'allocation', '/unipay/allocation/start', '统一分账接口', b'1', b'1', b'1', 'http://pay1.bootx.cn/server/demo/callback/allocationObject', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-05-30 19:36:35', 1, b'0'); -INSERT INTO `pay_api_config` VALUES (450, 'allocationFinish', '/unipay/allocation/finish', '分账完结接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (451, 'allocationReceiverAdd', '/unipay/allocation/receiver/add', '分账接收方添加接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (452, 'allocationReceiverRemove', '/unipay/allocation/receiver/remove', '分账接收方删除接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (500, 'transfer', '/unipay/transfer', '统一转账接口', b'1', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (600, 'syncPay', '/unipay/sync/pay', '支付同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (700, 'syncRefund', '/unipay/sync/refund', '退款同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (801, 'syncTransfer', '/unipay/sync/transfer', '转账同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (805, 'syncAllocation', '/unipay/sync/allocation', '分账同步接口', b'0', b'1', b'1', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1000, 'queryPayOrder', '/unipay/query/payOrder', '支付订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1100, 'queryRefundOrder', '/unipay/query/refundOrder', '退款订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1150, 'queryAllocationOrder', '/unipay/query/allocationOrder', '分账订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1175, 'queryAllocationReceiver', '/unipay/query/allocationReceiver', '分账接收方查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1176, 'queryTransferOrder', '/unipay/query/transferOrder', '转账订单查询接口', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1200, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -INSERT INTO `pay_api_config` VALUES (1300, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'0', b'1', b'0', NULL, b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (100, 'pay', '/unipay/pay', '统一支付接口 ', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-06-11 09:44:20', 17, b'0'); +INSERT INTO `pay_api_config` VALUES (200, 'close', '/unipay/close', '支付关闭接口', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-06-11 09:44:20', 10, b'0'); +INSERT INTO `pay_api_config` VALUES (250, 'cancel', '/unipay/cancel', '支付撤销接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (300, 'refund', '/unipay/refund', '统一退款接口', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-06-09 16:51:19', 9, b'0'); +INSERT INTO `pay_api_config` VALUES (400, 'allocation', '/unipay/allocation/start', '统一分账接口', b'1', NULL, 0, '2024-01-03 14:25:48', 1399985191002447872, '2024-06-09 16:51:20', 3, b'0'); +INSERT INTO `pay_api_config` VALUES (500, 'allocationFinish', '/unipay/allocation/finish', '分账完结接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (600, 'allocationReceiverAdd', '/unipay/allocation/receiver/add', '分账接收方添加接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (700, 'allocationReceiverRemove', '/unipay/allocation/receiver/remove', '分账接收方删除接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (800, 'transfer', '/unipay/transfer', '统一转账接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (900, 'syncPay', '/unipay/sync/pay', '支付同步接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1000, 'syncRefund', '/unipay/sync/refund', '退款同步接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1100, 'syncTransfer', '/unipay/sync/transfer', '转账同步接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1200, 'syncAllocation', '/unipay/sync/allocation', '分账同步接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1300, 'queryPayOrder', '/unipay/query/payOrder', '支付订单查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1400, 'queryRefundOrder', '/unipay/query/refundOrder', '退款订单查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1500, 'queryAllocationOrder', '/unipay/query/allocationOrder', '分账订单查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1600, 'queryAllocationReceiver', '/unipay/query/allocationReceiver', '分账接收方查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1700, 'queryTransferOrder', '/unipay/query/transferOrder', '转账订单查询接口', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1800, 'getWxAuthUrl', '/unipay/assist/getWxAuthUrl', '获取微信OAuth2授权链接', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); +INSERT INTO `pay_api_config` VALUES (1900, 'getWxAccessToken', '/unipay/assist/getWxAccessToken', '获取微信AccessToken', b'1', NULL, 0, '2024-01-03 14:25:48', 0, '2024-01-03 14:25:53', 0, b'0'); -- ---------------------------- -- Table structure for pay_callback_record @@ -2519,18 +2592,20 @@ INSERT INTO `pay_api_config` VALUES (1300, 'getWxAccessToken', '/unipay/assist/g DROP TABLE IF EXISTS `pay_callback_record`; CREATE TABLE `pay_callback_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `callback_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调类型', - `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '通知消息', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回调处理状态', - `repair_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `callback_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '回调类型', + `notify_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通知消息', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '回调处理状态', + `repair_order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复号', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提示信息', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引', + INDEX `out_trade_no`(`out_trade_no`) USING BTREE COMMENT '通道交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网关回调通知' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2543,12 +2618,9 @@ CREATE TABLE `pay_callback_record` ( DROP TABLE IF EXISTS `pay_channel_config`; CREATE TABLE `pay_channel_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `icon_id` bigint(20) NULL DEFAULT NULL COMMENT 'ICON图片', - `bg_color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '卡牌背景色', - `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '代码', + `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2561,10 +2633,10 @@ CREATE TABLE `pay_channel_config` ( -- ---------------------------- -- Records of pay_channel_config -- ---------------------------- -INSERT INTO `pay_channel_config` VALUES (1, 'ali_pay', '支付宝', NULL, NULL, b'0', '', 0, '2024-01-08 16:47:07', 1757299137932677120, '2024-05-13 19:46:19', 12, b'0'); -INSERT INTO `pay_channel_config` VALUES (2, 'wechat_pay', '微信支付', NULL, NULL, b'0', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:24', 7, b'0'); -INSERT INTO `pay_channel_config` VALUES (3, 'union_pay', '云闪付', NULL, NULL, b'0', NULL, 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-03-10 15:04:36', 2, b'0'); -INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, NULL, b'0', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); +INSERT INTO `pay_channel_config` VALUES (1, 'ali_pay', '支付宝', '', 0, '2024-01-08 16:47:07', 1757299137932677120, '2024-05-13 19:46:19', 12, b'0'); +INSERT INTO `pay_channel_config` VALUES (2, 'wechat_pay', '微信支付', '', 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-02-13 15:38:24', 7, b'0'); +INSERT INTO `pay_channel_config` VALUES (3, 'union_pay', '云闪付', NULL, 0, '2024-01-08 16:47:07', 1399985191002447872, '2024-03-10 15:04:36', 2, b'0'); +INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, 0, '2024-01-08 16:47:07', 0, '2024-01-08 16:47:11', 0, b'0'); -- ---------------------------- -- Table structure for pay_client_notice_record @@ -2572,15 +2644,16 @@ INSERT INTO `pay_channel_config` VALUES (5, 'wallet_pay', '钱包支付', NULL, DROP TABLE IF EXISTS `pay_client_notice_record`; CREATE TABLE `pay_client_notice_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `task_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID', - `req_count` int(11) NULL DEFAULT NULL COMMENT '请求次数', - `success` bit(1) NULL DEFAULT NULL COMMENT '发送是否成功', - `send_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送类型', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `task_id` bigint(20) NOT NULL COMMENT '任务ID', + `req_count` int(3) NULL DEFAULT NULL COMMENT '请求次数', + `success` bit(1) NOT NULL COMMENT '发送是否成功', + `send_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发送类型', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误编码', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `task_id`(`task_id`) USING BTREE COMMENT '任务ID索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2593,10 +2666,14 @@ CREATE TABLE `pay_client_notice_record` ( DROP TABLE IF EXISTS `pay_client_notice_task`; CREATE TABLE `pay_client_notice_task` ( `id` bigint(20) NOT NULL COMMENT '主键', - `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', - `success` bit(1) NULL DEFAULT NULL COMMENT '是否发送成功', - `send_count` int(11) NULL DEFAULT NULL COMMENT '发送次数', - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发送地址', + `trade_id` bigint(20) NOT NULL COMMENT '本地交易ID', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `notice_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息类型', + `trade_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易状态', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息内容', + `success` bit(1) NOT NULL COMMENT '是否发送成功', + `send_count` int(3) NOT NULL COMMENT '发送次数', + `url` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发送地址', `latest_time` datetime NULL DEFAULT NULL COMMENT '最后发送时间', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -2604,11 +2681,8 @@ CREATE TABLE `pay_client_notice_task` ( `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `notice_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息类型', - `trade_id` bigint(20) NULL DEFAULT NULL COMMENT '本地交易ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `trade_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知任务' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2621,16 +2695,19 @@ CREATE TABLE `pay_client_notice_task` ( DROP TABLE IF EXISTS `pay_close_record`; CREATE TABLE `pay_close_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关闭的支付通道', - `closed` bit(1) NULL DEFAULT NULL COMMENT '是否关闭成功', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付订单号', + `biz_order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户支付订单号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `close_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '关闭类型', + `closed` bit(1) NOT NULL COMMENT '是否关闭成功', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `order_no`(`order_no`) USING BTREE COMMENT '支付订单号索引', + INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户支付订单号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付关闭记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2643,9 +2720,9 @@ CREATE TABLE `pay_close_record` ( DROP TABLE IF EXISTS `pay_method_info`; CREATE TABLE `pay_method_info` ( `id` bigint(20) NOT NULL COMMENT '主键', - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码', - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + `code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '代码', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', @@ -2671,111 +2748,76 @@ INSERT INTO `pay_method_info` VALUES (7, 'jsapi', '公众号/小程序支付', ' DROP TABLE IF EXISTS `pay_order`; CREATE TABLE `pay_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户订单号', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `biz_order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户订单号', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付订单号', + `out_order_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题', + `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否需要分账', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步支付通道', - `method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付方式', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `refundable_balance` int(11) NULL DEFAULT NULL COMMENT '可退款余额', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付状态', - `allocation_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态', + `auto_allocation` bit(1) NULL DEFAULT NULL COMMENT '自动分账', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '异步支付通道', + `method` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付方式', + `amount` int(8) NOT NULL COMMENT '金额', + `refundable_balance` int(8) NOT NULL COMMENT '可退款余额', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付状态', + `refund_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '退款状态', + `alloc_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分账状态', `pay_time` datetime NULL DEFAULT NULL COMMENT '支付时间', `close_time` datetime NULL DEFAULT NULL COMMENT '关闭时间', `expired_time` datetime NULL DEFAULT NULL COMMENT '过期时间', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', + `extra_param` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', + `attach` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', + `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `auto_allocation` bit(1) NULL DEFAULT NULL COMMENT '自动分账', PRIMARY KEY (`id`) USING BTREE, - UNIQUE INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户订单号索引' + INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户订单号索引', + INDEX `order_no`(`order_no`) USING BTREE COMMENT '支付订单号索引', + INDEX `out_order_no`(`out_order_no`) USING BTREE COMMENT '通道支付订单索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_order -- ---------------------------- --- ---------------------------- --- Table structure for pay_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_order_extra`; -CREATE TABLE `pay_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步跳转地址', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `extra_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳,以最后一次为准', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_order_extra --- ---------------------------- - -- ---------------------------- -- Table structure for pay_platform_config -- ---------------------------- DROP TABLE IF EXISTS `pay_platform_config`; CREATE TABLE `pay_platform_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `website_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网站地址', - `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', - `sign_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通知地址', - `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', - `order_timeout` int(11) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', + `website_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网站地址', + `sign_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名方式', + `sign_secret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名秘钥', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息通知地址', + `return_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步支付跳转地址', + `order_timeout` int(8) NULL DEFAULT NULL COMMENT '订单默认超时时间(分钟)', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `limit_amount` int(11) NULL DEFAULT NULL COMMENT '支付限额', + `limit_amount` int(15) NULL DEFAULT NULL COMMENT '支付限额', + `req_sign` bit(1) NOT NULL COMMENT '是否对请求进行验签', + `notify_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息通知方式', + `req_timeout` int(10) NOT NULL COMMENT '请求有效时长(秒)', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付平台配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_platform_config -- ---------------------------- -INSERT INTO `pay_platform_config` VALUES (0, 'http://pay1.bootx.cn/', 'HMAC_SHA256', '123456', 'http://pay1.bootx.cn/h5/#/result/success', 'http://pay1.bootx.cn/h5/#/result/success', 30, 0, '2024-01-02 20:23:19', 1399985191002447872, '2024-03-24 11:34:20', 13, b'0', 20000); - --- ---------------------------- --- Table structure for pay_reconcile_detail --- ---------------------------- -DROP TABLE IF EXISTS `pay_reconcile_detail`; -CREATE TABLE `pay_reconcile_detail` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '外部交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_reconcile_detail --- ---------------------------- +INSERT INTO `pay_platform_config` VALUES (0, 'http://www.daxpay.cn/server', 'HMAC_SHA256', '123456', '', '', 30, 0, '2024-01-02 20:23:19', 1399985191002447872, '2024-06-21 17:59:41', 25, b'0', 19911, b'1', NULL, 10); -- ---------------------------- -- Table structure for pay_reconcile_diff_record @@ -2783,26 +2825,26 @@ CREATE TABLE `pay_reconcile_detail` ( DROP TABLE IF EXISTS `pay_reconcile_diff_record`; CREATE TABLE `pay_reconcile_diff_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `detail_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单明细ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单标题', - `diff_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '差异类型', + `reconcile_id` bigint(20) NOT NULL COMMENT '对账单ID', + `reconcile_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '对账号', + `detail_id` bigint(20) NOT NULL COMMENT '对账单明细ID', + `reconcile_date` date NOT NULL COMMENT '对账日期', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `trade_time` datetime NOT NULL COMMENT '交易时间', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单标题', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道', + `amount` int(15) NULL DEFAULT NULL COMMENT '本地交易金额', + `out_amount` int(15) NULL DEFAULT NULL COMMENT '通道交易金额', + `trade_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', + `diff_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '差异类型', `diffs` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '差异内容', - `amount` int(11) NULL DEFAULT NULL COMMENT '本地交易金额', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', - `out_amount` int(11) NULL DEFAULT NULL COMMENT '通道交易金额', - `reconcile_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账号', - `reconcile_date` date NULL DEFAULT NULL COMMENT '对账日期', - `trade_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账差异单' ROW_FORMAT = DYNAMIC; @@ -2816,11 +2858,12 @@ CREATE TABLE `pay_reconcile_diff_record` ( DROP TABLE IF EXISTS `pay_reconcile_file`; CREATE TABLE `pay_reconcile_file` ( `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单ID', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', - `file_id` bigint(20) NULL DEFAULT NULL COMMENT '对账单文件', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '原始对账单文件,' ROW_FORMAT = DYNAMIC; + `reconcile_id` bigint(20) NOT NULL COMMENT '对账单ID', + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型', + `file_id` bigint(20) NOT NULL COMMENT '对账单文件', + PRIMARY KEY (`id`) USING BTREE, + INDEX `reconcile_id`(`reconcile_id`) USING BTREE COMMENT '对账单ID索引' +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '原始对账单文件' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_reconcile_file @@ -2832,17 +2875,22 @@ CREATE TABLE `pay_reconcile_file` ( DROP TABLE IF EXISTS `pay_reconcile_order`; CREATE TABLE `pay_reconcile_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `date` date NULL DEFAULT NULL COMMENT '日期', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道', - `compare` bit(1) NULL DEFAULT NULL COMMENT '明细对账单比对', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `reconcile_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '对账号', + `date` date NOT NULL COMMENT '日期', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道', + `down_or_upload` bit(1) NOT NULL COMMENT '明细对账单下载', + `compare` bit(1) NOT NULL COMMENT '明细对账单比对', + `result` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账结果', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `reconcile_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账号', - `result` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对账结果', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `down_or_upload` bit(1) NULL DEFAULT NULL COMMENT '明细对账单下载', - PRIMARY KEY (`id`) USING BTREE + `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', + `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', + `version` int(11) NOT NULL COMMENT '乐观锁', + `deleted` bit(1) NOT NULL COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE, + INDEX `reconcile_no`(`reconcile_no`) USING BTREE COMMENT '对账号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付对账单订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2855,16 +2903,17 @@ CREATE TABLE `pay_reconcile_order` ( DROP TABLE IF EXISTS `pay_reconcile_out_trade`; CREATE TABLE `pay_reconcile_out_trade` ( `id` bigint(20) NOT NULL COMMENT '主键', - `reconcile_id` bigint(20) NULL DEFAULT NULL COMMENT '关联对账订单ID', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品名称', - `amount` int(11) NULL DEFAULT NULL COMMENT '交易金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易类型', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `trade_time` datetime NULL DEFAULT NULL COMMENT '交易时间', + `reconcile_id` bigint(20) NOT NULL COMMENT '关联对账订单ID', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商品名称', + `amount` int(8) NOT NULL COMMENT '交易金额', + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易类型', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `trade_time` datetime NOT NULL COMMENT '交易时间', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `reconcile_id`(`reconcile_id`) USING BTREE COMMENT '对账单ID索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '对账-通道交易明细' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2877,77 +2926,66 @@ CREATE TABLE `pay_reconcile_out_trade` ( DROP TABLE IF EXISTS `pay_refund_order`; CREATE TABLE `pay_refund_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '支付订单ID', - `order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付订单号', - `biz_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户支付订单号', - `out_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道支付订单号', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付标题', - `refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款号', - `biz_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户退款号', - `out_refund_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道退款交易号', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `order_amount` int(11) NULL DEFAULT NULL COMMENT '订单金额', - `amount` int(11) NULL DEFAULT NULL COMMENT '退款金额', - `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款原因', + `order_id` bigint(20) NOT NULL COMMENT '支付订单ID', + `order_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付订单号', + `biz_order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户支付订单号', + `out_order_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通道支付订单号', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付标题', + `refund_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '退款号', + `biz_refund_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户退款号', + `out_refund_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道退款交易号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `order_amount` int(8) NOT NULL COMMENT '订单金额', + `amount` int(8) NOT NULL COMMENT '退款金额', + `reason` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款原因', `finish_time` datetime NULL DEFAULT NULL COMMENT '退款完成时间', - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '退款状态', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '退款状态', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', + `attach` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', + `extra_param` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', + `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `order_id`(`order_id`) USING BTREE COMMENT '支付订单ID索引', + INDEX `order_no`(`order_no`) USING BTREE COMMENT '支付订单号索引', + INDEX `biz_order_no`(`biz_order_no`) USING BTREE COMMENT '商户支付订单号索引', + INDEX `out_order_no`(`out_order_no`) USING BTREE COMMENT '通道支付订单号索引', + INDEX `refund_no`(`refund_no`) USING BTREE COMMENT '退款号索引', + INDEX `biz_refund_no`(`biz_refund_no`) USING BTREE COMMENT '商户退款号索引', + INDEX `out_refund_no`(`out_refund_no`) USING BTREE COMMENT '通道退款交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_refund_order -- ---------------------------- --- ---------------------------- --- Table structure for pay_refund_order_extra --- ---------------------------- -DROP TABLE IF EXISTS `pay_refund_order_extra`; -CREATE TABLE `pay_refund_order_extra` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', - `attach` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', - `extra_param` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附加参数', - `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '退款订单扩展信息' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_refund_order_extra --- ---------------------------- - -- ---------------------------- -- Table structure for pay_repair_record -- ---------------------------- DROP TABLE IF EXISTS `pay_repair_record`; CREATE TABLE `pay_repair_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复号', - `trade_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单ID', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地业务号', - `repair_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复类型', - `repair_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复来源', - `repair_way` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复方式', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复的通道', - `before_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复前状态', - `after_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复后状态', + `repair_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复号', + `trade_id` bigint(20) NOT NULL COMMENT '本地订单ID', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `repair_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复类型', + `repair_source` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复来源', + `repair_way` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复方式', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复的通道', + `before_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复前状态', + `after_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修复后状态', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付修复记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2960,21 +2998,24 @@ CREATE TABLE `pay_repair_record` ( DROP TABLE IF EXISTS `pay_sync_record`; CREATE TABLE `pay_sync_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `biz_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', - `out_trade_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关返回状态', - `sync_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步的异步通道', - `sync_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '同步消息', - `repair` bit(1) NULL DEFAULT NULL COMMENT '是否进行修复', - `repair_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', - `error_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', - `error_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误消息', - `client_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户端IP', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `biz_trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `out_trade_status` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关返回状态', + `sync_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步类型', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步的异步通道', + `sync_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步消息', + `repair` bit(1) NOT NULL COMMENT '是否进行修复', + `repair_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修复单号', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引', + INDEX `biz_trade_no`(`biz_trade_no`) USING BTREE COMMENT '商户交易号索引', + INDEX `out_trade_no`(`out_trade_no`) USING BTREE COMMENT '通道交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付同步订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -2987,16 +3028,19 @@ CREATE TABLE `pay_sync_record` ( DROP TABLE IF EXISTS `pay_trade_flow_record`; CREATE TABLE `pay_trade_flow_record` ( `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付通道', - `trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '本地交易号', - `biz_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户交易号', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题', + `amount` int(8) NOT NULL COMMENT '金额', + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `trade_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '本地交易号', + `biz_trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户交易号', + `out_trade_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道交易号', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `trade_no`(`trade_no`) USING BTREE COMMENT '本地交易号索引', + INDEX `biz_trade_no`(`biz_trade_no`) USING BTREE COMMENT '商户交易号索引', + INDEX `out_trade_no`(`out_trade_no`) USING BTREE COMMENT '通道交易号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '资金流水记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -3009,20 +3053,35 @@ CREATE TABLE `pay_trade_flow_record` ( DROP TABLE IF EXISTS `pay_transfer_order`; CREATE TABLE `pay_transfer_order` ( `id` bigint(20) NOT NULL COMMENT '主键', - `out_trade_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `amount` int(11) NULL DEFAULT NULL, - `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `payee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `success_time` datetime NULL DEFAULT NULL, + `biz_transfer_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商户转账号', + `transfer_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '转账号', + `out_transfer_no` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通道转账号', + `channel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '支付通道', + `amount` int(8) NOT NULL COMMENT '转账金额', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', + `reason` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转账原因/备注', + `transfer_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转账类型, 微信使用', + `payee_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款人类型', + `payee_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款人账号', + `payee_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收款人姓名', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态', + `success_time` datetime NULL DEFAULT NULL COMMENT '成功时间', + `notify_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知地址', + `attach` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户扩展参数', + `req_time` datetime NULL DEFAULT NULL COMMENT '请求时间,传输时间戳', + `client_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '支付终端ip', + `error_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误码', + `error_msg` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `biz_transfer_no`(`biz_transfer_no`) USING BTREE COMMENT '商户转账号索引', + INDEX `transfer_no`(`transfer_no`) USING BTREE COMMENT '转账号索引', + INDEX `out_transfer_no`(`out_transfer_no`) USING BTREE COMMENT '通道转账号索引' ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '转账订单' ROW_FORMAT = DYNAMIC; -- ---------------------------- @@ -3042,7 +3101,7 @@ CREATE TABLE `pay_union_pay_config` ( `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `seller` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户收款账号', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', + `limit_amount` int(11) NULL DEFAULT NULL COMMENT '支付限额', `sign_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名类型', `cert_sign` bit(1) NULL DEFAULT NULL COMMENT '是否为证书签名', `key_private_cert` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '应用私钥证书', @@ -3113,7 +3172,6 @@ DROP TABLE IF EXISTS `pay_wallet_config`; CREATE TABLE `pay_wallet_config` ( `id` bigint(20) NOT NULL COMMENT '主键', `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', `pay_ways` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '可用支付方式', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', @@ -3122,13 +3180,14 @@ CREATE TABLE `pay_wallet_config` ( `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', + `limit_amount` int(11) NULL DEFAULT NULL COMMENT '单次支付最多多少金额 ', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '钱包配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_wallet_config -- ---------------------------- -INSERT INTO `pay_wallet_config` VALUES (0, b'0', 2000, 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0'); +INSERT INTO `pay_wallet_config` VALUES (0, b'0', 'normal', NULL, 0, '2024-02-17 14:36:28', 1399985191002447872, '2024-02-17 14:40:45', 4, b'0', NULL); -- ---------------------------- -- Table structure for pay_wallet_record @@ -3155,42 +3214,14 @@ CREATE TABLE `pay_wallet_record` ( -- Records of pay_wallet_record -- ---------------------------- --- ---------------------------- --- Table structure for pay_wechat_notice_config --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_notice_config`; -CREATE TABLE `pay_wechat_notice_config` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用id', - `app_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用秘钥', - `qr_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公众号二维码', - `oauth2_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'OAuth2地址', - `verify_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件名称', - `verify_file_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信校验文件内容', - `template_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息Id', - `template_content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息内容', - `template_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板消息备注', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - `last_modifier` bigint(20) NULL DEFAULT NULL COMMENT '最后修者ID', - `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', - `version` int(11) NOT NULL COMMENT '乐观锁', - `deleted` bit(1) NOT NULL COMMENT '删除标志', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信消息通知相关配置' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_notice_config --- ---------------------------- - -- ---------------------------- -- Table structure for pay_wechat_pay_config -- ---------------------------- DROP TABLE IF EXISTS `pay_wechat_pay_config`; CREATE TABLE `pay_wechat_pay_config` ( `id` bigint(20) NOT NULL COMMENT '主键', - `wx_mch_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信商户号', - `wx_app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信应用appId', + `wx_mch_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信商户号', + `wx_app_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信应用appId', `enable` bit(1) NULL DEFAULT NULL COMMENT '是否启用', `notify_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '异步通知路径', `return_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '同步通知路径', @@ -3202,7 +3233,7 @@ CREATE TABLE `pay_wechat_pay_config` ( `sandbox` bit(1) NULL DEFAULT NULL COMMENT '是否沙箱环境', `allocation` bit(1) NULL DEFAULT NULL COMMENT '是否支付分账', `pay_ways` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '可用支付方式', - `single_limit` int(11) NULL DEFAULT NULL COMMENT '支付限额', + `limit_amount` int(8) NULL DEFAULT NULL COMMENT '支付限额', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', @@ -3210,34 +3241,14 @@ CREATE TABLE `pay_wechat_pay_config` ( `last_modified_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间', `version` int(11) NOT NULL COMMENT '乐观锁', `deleted` bit(1) NOT NULL COMMENT '删除标志', + `redirect_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权回调地址', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付配置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pay_wechat_pay_config -- ---------------------------- -INSERT INTO `pay_wechat_pay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,app,jsapi,qrcode,barcode', NULL, NULL, 0, '2024-01-03 23:13:11', 1399985191002447872, '2024-04-02 17:07:37', 23, b'0'); - --- ---------------------------- --- Table structure for pay_wechat_pay_record --- ---------------------------- -DROP TABLE IF EXISTS `pay_wechat_pay_record`; -CREATE TABLE `pay_wechat_pay_record` ( - `id` bigint(20) NOT NULL COMMENT '主键', - `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', - `amount` int(11) NULL DEFAULT NULL COMMENT '金额', - `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务类型', - `order_id` bigint(20) NULL DEFAULT NULL COMMENT '本地订单号', - `gateway_order_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网关订单号', - `gateway_time` datetime NULL DEFAULT NULL COMMENT '网关完成时间', - `creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者ID', - `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信支付记录' ROW_FORMAT = DYNAMIC; - --- ---------------------------- --- Records of pay_wechat_pay_record --- ---------------------------- +INSERT INTO `pay_wechat_pay_config` VALUES (0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'wap,app,jsapi,qrcode,barcode', NULL, NULL, 0, '2024-01-03 23:13:11', 1399985191002447872, '2024-04-02 17:07:37', 23, b'0', NULL); -- ---------------------------- -- Table structure for pay_wechat_reconcile_bill_detail diff --git a/_config/postgresql/dax-pay.sql b/_config/postgresql/dax-pay.sql index bd740922f3560809a8f17feafb7f860ebd134325..ae46a8d52cd070c579326d36c4a0b2efbb48c539 100644 --- a/_config/postgresql/dax-pay.sql +++ b/_config/postgresql/dax-pay.sql @@ -3670,14 +3670,14 @@ comment on column pay_client_notice_record.error_code is '错误编码'; INSERT INTO pay_client_notice_record (id, task_id, req_count, success, send_type, error_msg, creator, create_time, error_code) VALUES (1796526918107570176, 1796526917679751168, 1, false, 'auto', e'<!DOCTYPE html> <html lang="zh-CN"> <head> - + <meta charset="UTF-8" /> <link rel="', 1399985191002447872, '2024-05-31 20:59:29.789000', null); INSERT INTO pay_client_notice_record (id, task_id, req_count, success, send_type, error_msg, creator, create_time, error_code) VALUES (1796528223580495872, 1796528223437889536, 1, false, 'auto', e'<!DOCTYPE html> <html lang="zh-CN"> <head> - + <meta charset="UTF-8" /> <link rel="', 1399985191002447872, '2024-05-31 21:04:41.039000', null); @@ -4769,66 +4769,6 @@ create index wallet_id comment on index wallet_id is '钱包ID'; - ------ -create table pay_wechat_notice_config -( - id bigint not null - primary key, - app_id varchar(255), - app_secret varchar(255), - qr_url varchar(255), - oauth2_url varchar(255), - verify_file_name varchar(255), - verify_file_content varchar(255), - template_id varchar(255), - template_content varchar(255), - template_remark varchar(255), - creator bigint, - create_time timestamp(6), - last_modifier bigint, - last_modified_time timestamp(6), - version integer not null, - deleted boolean not null -); - -comment on table pay_wechat_notice_config is '微信消息通知相关配置'; - -comment on column pay_wechat_notice_config.id is '主键'; - -comment on column pay_wechat_notice_config.app_id is '应用id'; - -comment on column pay_wechat_notice_config.app_secret is '应用秘钥'; - -comment on column pay_wechat_notice_config.qr_url is '公众号二维码'; - -comment on column pay_wechat_notice_config.oauth2_url is 'OAuth2地址'; - -comment on column pay_wechat_notice_config.verify_file_name is '微信校验文件名称'; - -comment on column pay_wechat_notice_config.verify_file_content is '微信校验文件内容'; - -comment on column pay_wechat_notice_config.template_id is '模板消息Id'; - -comment on column pay_wechat_notice_config.template_content is '模板消息内容'; - -comment on column pay_wechat_notice_config.template_remark is '模板消息备注'; - -comment on column pay_wechat_notice_config.creator is '创建者ID'; - -comment on column pay_wechat_notice_config.create_time is '创建时间'; - -comment on column pay_wechat_notice_config.last_modifier is '最后修者ID'; - -comment on column pay_wechat_notice_config.last_modified_time is '最后修改时间'; - -comment on column pay_wechat_notice_config.version is '乐观锁'; - -comment on column pay_wechat_notice_config.deleted is '删除标志'; - - - - ----- create table pay_wechat_pay_config ( diff --git a/_doc/ChangeLog.md b/_doc/ChangeLog.md index a18a1511b46b7c961e71d4e30b8eb07a28bf6126..30bc0cfa4ba268be694f5c80f01b1a7cf39d98e0 100644 --- a/_doc/ChangeLog.md +++ b/_doc/ChangeLog.md @@ -1,4 +1,36 @@ # CHANGELOG +## [v2.0.8] +- 新增: 撤销接口 +- 新增: 转账功能 +- 新增: DEMO增加转账演示功能 +- 新增: DEMO增加获取OpenID功能 +- 新增: 支付宝支持JSAPI方式支付 +- 新增: 绑定对账接收方增加扫码获取微信OpenID和支付宝OpenId功能 +- 新增: 支付宝微信等消息通知地址支持一键生成 +- 新增: 请求IP参数增加正则校验 +- 优化: 手动发起分账重试参数修正 +- 优化: 细分各种支付异常类和编码 +- 优化: 支付宝SDK修改为官方SDK +- 优化: 界面金额统一调整为元 +- 优化: 上下文对象进行优化精简 +- 优化: 支付接口公共参数添加随机数字段, 预防重放问题 +- 优化: 请求接口增加有效期校验, 超时后失效 +- 优化: 数据库表进行规则, 字段设置长度, 增加索引, 对应请求参数添加校验 +- 优化: 订单和扩展信息进行合并 +- 优化: 支付通道两个独立的配置进行合并为一个 +- 优化: 平台配置增加接口请求有效时长配置 +- 优化: 平台配置和接口配置删除回调地址配置 +- 优化: 接口配置删除是否验签配置和回调地址 +- 优化: 分账订单相关命名统一为Alloc +- 优化: 支付订单拆分退款状态为单独的字段 +- 优化: 策略工厂修改为统一的通用策略工厂 +- 优化: 支付和退款达到终态不可以再回退回之前的状态 +- 优化: 优化认证授权地址配置, 拆分为支持单独配置 +- 优化: 优化各类网址配置, 兼容结尾带/和不带/ +- fix: 修复支付关闭参数名称不正确问题 +- fix: 退款回调消息字段不一致导致验签不通过问题 +- fix: 云闪付空指针问题 + ## [v2.0.7] - 新增: 资金流水记录功能 - 新增: 分账功能支持分账组分账和自己传接收方进行分账 diff --git a/_doc/Task.md b/_doc/Task.md index ea2506bb9ee4448e8b24d138196360453559ec9d..d2344b36acb4cfcf7818a2af146dccb84b5f530c 100644 --- a/_doc/Task.md +++ b/_doc/Task.md @@ -1,47 +1,30 @@ ## 单商户 -2.0.8: 对账完善和系统优化 -- [ ] 细分各种支付异常类和编码 -- [ ] 修复功能支付/退款/对账 -- [ ] 增加转账接口功能 -- [ ] DEMO增加获取微信OpenID和支付宝OpenId功能 -- [ ] 管理端界面支持扫码绑定对账接收方功能 -- [ ] 对账提供外部接口调用 - - [ ] 下载系统账单 -- [ ] 分账结果通知处理 - - [ ] 支付宝通知 - - [ ] 微信通知 - - [ ] 通知记录保存 + +2.0.9: 消息通知改版和系统优化 +- [ ] 增加类似支付宝应用通知的方式, 首先支持http方式通信 +- [ ] 优化前端各种状态颜色展示 +- [ ] 修复功能优化, 更改为交易调整单 +- [ ] 增加分账订单调整功能 +- [ ] 增加验签调试等功能的页面 +- [ ] 聚合支付UA在前端判断, 提高响应速度 +- [ ] 增加分账回调处理(支付宝) +- [ ] 请求权限改版, 使用专用配置类 +- [ ] 转账同步接口 +- [ ] 支持微信V3版本支付接口 +- [ ] 平台配置拆分出接口地址配置项 + +**任务池** - [ ] 增加收单收银台功能 - [ ] 增加资金对账单功能 -- [ ] 支付通道两个独立的配置进行合并为一个 -- [ ] 支持撤销接口 -- [ ] 支付和退款达到终态不可以再回退回之前的状态, 只能添加差错单进行处理 - -2.0.8: 转账和功能功能优化 -- [ ] 支持转账操作, 通过支付通道专有参数进行实现, 转账时只能单个通道进行操作 -- [ ] 支付成功回调后, 如果订单已超时, 则进入待退款订单中,提示进行退款,或者自动退款 - [ ] 新增支付单预警功能, 处理支付单与网关状态不一致且无法自动修复的情况 - -2.1.x 版本内容 - [ ] 差错单据处理 + - [ ] 支付成功回调订单已超时 + - [ ] 对账单据不平 - [ ] 特殊退款接口 - [ ] 统计报表功能 - [ ] 微信新增V3版本接口 -- [ ] 支付宝新增V3版本接口 - [ ] 增加各类日志记录,例如钱包的各项操作 -- [ ] 增加撤销功能,用于处理线下支付订单的情况 -- [ ] 数据库表进行规则, 字段设置长度, 增加索引 -- [ ] 订单超时支持数据表级别触发 - [ ] 针对同步/对账等出现脏数据导致阻塞的问题, 进行优化 - [ ] 同步接口 - [ ] 对账接口 -- [ ] 增加通道开通能力管理,在操作发起前的校验时提前进行拦截 - -**任务池** -- [ ] 通道费率计算 -- [ ] 每日资金流水计算 -- [ ] 微信消息通知相关配置 -- [ ] 钉钉消息通知配置 -- [ ] 支付宝接口升级为V3接口 -- [ ] 增加验签调试等功能的页面 -- [ ] 请求IP参数增加正则校验 + diff --git a/bootx-platform/bootx-common-core/pom.xml b/bootx-platform/bootx-common-core/pom.xml index f6a2d2795701db8e89d01ac93e6923ae145065ba..7734b821f7c3748dbcf4fcb42d18dd0a94630378 100644 --- a/bootx-platform/bootx-common-core/pom.xml +++ b/bootx-platform/bootx-common-core/pom.xml @@ -89,6 +89,7 @@ <build> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java.version}</source> diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvertModel.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvertModel.java deleted file mode 100644 index 64ebf42f3c0f6e556bc536ca93042eb2bf586ed5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvertModel.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.bootx.platform.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 字典转换标示注解, 标注此注解会对对应对象进行字典值转换处理 - * - * @author xxm - * @since 2022/12/15 - */ -@Target({ ElementType.METHOD, ElementType.TYPE, ElementType.FIELD }) -@Retention(RetentionPolicy.RUNTIME) -public @interface TableFieldConvertModel { - -} diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/Translate.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/Translate.java deleted file mode 100644 index b1d151b52f4ea37d6cb82fd44421525da9075529..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/Translate.java +++ /dev/null @@ -1,50 +0,0 @@ -package cn.bootx.platform.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 翻译注解 - * - * @author xxm - * @since 2022/12/14 - */ -@Target(ElementType.FIELD) -@Retention(RetentionPolicy.RUNTIME) -public @interface Translate { - - /** - * 翻译类型 - */ - Type type(); - - /** - * 字典编码 - */ - String dicCode() default ""; - - /** - * 来源字段 默认为自身 - */ - String source() default ""; - - /** - * 目标字段 默认为自身 - */ - String target() default ""; - - /** - * 翻译类型 - */ - enum Type { - - /** 字典 */ - DICT, - /** 数据表 暂未实现 */ - TABLE - - } - -} diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TranslationResult.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TranslationResult.java deleted file mode 100644 index 3e98d247823eddf86041a9995e7ed15f010b8e65..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TranslationResult.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.bootx.platform.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 字典翻译标识注解, 1. 标注在字段上, 在翻译的时候会对这个字段进行递归翻译 2. 标注在方法上, 会对返回值进行翻译转换处理, 推荐只在 Controller 层配合 - * ResResult 使用, 其他场合使用 FieldTranslationService 进行手动处理 - * - * @author xxm - * @since 2022/12/15 - */ -@Target({ ElementType.METHOD, ElementType.FIELD }) -@Retention(RetentionPolicy.RUNTIME) -public @interface TranslationResult { - - /** - * 是否启用 - */ - boolean enable() default true; - - /** - * 翻译类型, 只可以用在方法上, 在字段上标注不发生效果 - */ - ConvertType convertType() default ConvertType.OBJECT; - - /** - * 翻译类型 - */ - enum ConvertType { - - /** - * 将目标对象转换成MAP, 限定只能使用在类似 ResResult 容器情况下, 可以处理翻译值前后类型不一致问题, 但会导致字段元信息的丢失, - * 导致后续的处理出问题 - */ - MAP, - /** - * 不对目标对象的类型进行修改, 只对字典值进行翻译, 但遇到注解标注的字段出现字典项code与name类型不一致, 会进行忽略 - */ - OBJECT - - } - -} diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/code/CommonErrorCode.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/code/CommonErrorCode.java index 5d515d4bfc9a22b75d1acc712f60274398562722..752c6afed200b3062bb6b22ab235689de7e94e1c 100644 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/code/CommonErrorCode.java +++ b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/code/CommonErrorCode.java @@ -8,9 +8,6 @@ public interface CommonErrorCode { /** 系统错误 */ int SYSTEM_ERROR = 10001; - /** 远程调用错误 */ - int REMOTE_CALL_ERROR = 10002; - /** 认证失败 */ int AUTHENTICATION_FAIL = 10004; @@ -38,7 +35,4 @@ public interface CommonErrorCode { /** 危险SQL异常, */ int DANGER_SQL = 10012; - // 未知异常 - int UNKNOWN_ERROR = -1; - } diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/util/LocalDateTimeUtil.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/util/LocalDateTimeUtil.java index 141ba134441361cb85087e2e37fea70f5a237e44..e1fa072797fadbac576049e190e616845a080c45 100644 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/util/LocalDateTimeUtil.java +++ b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/util/LocalDateTimeUtil.java @@ -19,7 +19,7 @@ public class LocalDateTimeUtil extends cn.hutool.core.date.LocalDateTimeUtil { /** * 是否在指定的时间范围内 */ - public boolean between(LocalDateTime now, LocalDateTime start, LocalDateTime end) { + public boolean inBetween(LocalDateTime now, LocalDateTime start, LocalDateTime end) { return ge(now, start) && le(now, end); } diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvert.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddress.java similarity index 31% rename from bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvert.java rename to bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddress.java index 390dc9ea1a29c75da1f4c2bf8e0bec5f9d89617f..126f5ac69ed690900e0d52c592388ebc344971f4 100644 --- a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/annotation/TableFieldConvert.java +++ b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddress.java @@ -1,18 +1,26 @@ -package cn.bootx.platform.common.core.annotation; +package cn.bootx.platform.common.core.validation; +import javax.validation.Constraint; +import javax.validation.Payload; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * 数据库表字段翻译注解 * * @author xxm - * @since 2022/12/14 + * @since 2024/6/11 */ -@Target(ElementType.FIELD) +@Target({ElementType.METHOD, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) -public @interface TableFieldConvert { +// 标记由哪个类来执行校验逻辑,该类需要实现ConstraintValidator接口 +@Constraint(validatedBy = IpAddressValidator.class) +public @interface IpAddress { + String message() default "IP地址不合法!"; + + Class<?>[] groups() default {}; + + Class<? extends Payload>[] payload() default {}; } diff --git a/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddressValidator.java b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddressValidator.java new file mode 100644 index 0000000000000000000000000000000000000000..89f8cea14694939bcc0ed149057bb3199b29b3d4 --- /dev/null +++ b/bootx-platform/bootx-common-core/src/main/java/cn/bootx/platform/common/core/validation/IpAddressValidator.java @@ -0,0 +1,26 @@ +package cn.bootx.platform.common.core.validation; + +import cn.hutool.core.lang.Validator; +import cn.hutool.core.util.StrUtil; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +/** + * ip地址校验器 + * @author xxm + * @since 2024/6/11 + */ +public class IpAddressValidator implements ConstraintValidator<IpAddress, String> { + + /** + * 校验是否为IP地址。成功返回true,失败返回false + */ + @Override + public boolean isValid(String str, ConstraintValidatorContext constraintValidatorContext) { + if (StrUtil.isNotBlank(str)){ + return Validator.isIpv4(str) || Validator.isIpv6(str); + } + return true; + } +} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/pom.xml b/bootx-platform/bootx-common-starters/common-starter-dingtalk/pom.xml deleted file mode 100644 index c4b69d1518a0006e35906c107ea483917119f8d1..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>bootx-common-starters</artifactId> - <groupId>cn.bootx.platform</groupId> - <version>1.3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>common-starter-dingtalk</artifactId> - <description>钉钉接口</description> - - <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-mybatis-plus</artifactId> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-data-perm</artifactId> - </dependency> - </dependencies> -</project> diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/DingTalkAutoConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/DingTalkAutoConfiguration.java deleted file mode 100644 index 48cdf45a27b03f2f2372e5211670470b83ae668a..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/DingTalkAutoConfiguration.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.bootx.platform.starter.dingtalk; - -import org.apache.ibatis.annotations.Mapper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.context.properties.ConfigurationPropertiesScan; -import org.springframework.context.annotation.ComponentScan; - -/** - * 钉钉对接 - * - * @author xxm - * @since 2022/4/2 - */ -@ComponentScan -@ConfigurationPropertiesScan -@AutoConfiguration -@MapperScan(annotationClass = Mapper.class) -public class DingTalkAutoConfiguration { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkCode.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkCode.java deleted file mode 100644 index 85f12e81e54f2bb383c77c58cc9e258eede9dec0..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkCode.java +++ /dev/null @@ -1,123 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.code; - -/** - * 钉钉消息类型 - * - * @author xxm - * @since 2020/11/30 - */ -public interface DingTalkCode { - - /** 钉钉Access参数 */ - String ACCESS_TOKEN_PARAM = "?access_token={}"; - - /** 内部应用获取access_token */ - String APP_ACCESS_TOKEN_URL = "https://oapi.dingtalk.com/gettoken?appkey={appKey}&appsecret={appSecret}"; - - /** 带sign的机器人消息发送请求 */ - String ROBOT_SEND_SIGN_URL = "https://oapi.dingtalk.com/robot/send?access_token={accessToken}×tamp={timestamp}&sign={sign}"; - - /** 不带sign的机器人消息发送请求 */ - String ROBOT_SEND_NOT_SIGN_URL = "https://oapi.dingtalk.com/robot/send" + ACCESS_TOKEN_PARAM; - - /** 发送工作通知 */ - String NOTICE_CORP_SEND_URL = "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2" - + ACCESS_TOKEN_PARAM; - - /** 更新工作通知(OA消息) */ - String NOTICE_CORP_UPDATE_URL = "https://oapi.dingtalk.com/topapi/message/corpconversation/status_bar/update" - + ACCESS_TOKEN_PARAM; - - /** 撤回工作通知 */ - String NOTICE_CORP_RECALL_URL = "https://oapi.dingtalk.com/topapi/message/corpconversation/recall" - + ACCESS_TOKEN_PARAM; - - /** 发送企业群通知 */ - String NOTICE_CHAT_URL = "https://oapi.dingtalk.com/chat/send" + ACCESS_TOKEN_PARAM; - - /** 发送普通消息通知 */ - String NOTICE_MESSAGE_URL = "https://oapi.dingtalk.com/message/send_to_conversation" + ACCESS_TOKEN_PARAM; - - /** 根据unionid获取用户userid */ - String USER_GET_URL = "https://oapi.dingtalk.com/topapi/user/getbyunionid" + ACCESS_TOKEN_PARAM; - - /** 媒体文件上传 */ - String MEDIA_UPLOAD_URL = "https://oapi.dingtalk.com/media/upload" + ACCESS_TOKEN_PARAM; - - /** 钉钉字段 */ - String ACCESS_TOKEN = "accessToken"; - - String SIGN = "sign"; - - String TIMESTAMP = "timestamp"; - - String APP_KEY = "appKey"; - - String APP_SECRET = "appSecret"; - - /** 应用id */ - String CLIENT_ID = "clientId"; - - // 应用密钥 - String CLIENT_SECRET = "clientSecret"; - - String CODE = "code"; - - // OAuth2.0刷新令牌,从返回结果里面获取。 - String REFRESH_TOKEN = "refreshToken"; - - String GRANT_TYPE = "grantType"; - - String RESPONSE_TYPE = "responseType"; - - String SCOPE = "scope"; - - String REDIRECT_URI = "redirectUri"; - - String STATE = "state"; - - String PROMPT = "prompt"; - - /** 媒体 */ - String MEDIA = "media"; - - /** 类型 */ - String TYPE = "type"; - - /** 请求头参数调用服务端接口的授权凭证 */ - String HEADER_TOKEN = "x-acs-dingtalk-access-token"; - - /* 认证字段 */ - /** 授权码换token */ - String AUTH_AUTHORIZATION_CODE = "authorization_code"; - - /** 刷新token换用户token */ - String AUTH_REFRESH_TOKEN = "refresh_token"; - - /** openid */ - String OPEN_ID = "openid"; - - /** union_id */ - String UNION_ID = "unionid"; - - /* 响应值 */ - /** 成功 */ - int SUCCESS_CODE = 0; - - /** 未找到对应员工 */ - int NOT_FUND_STAFF = 60121; - - /* 媒体类型 */ - /** 图片 */ - String MEDIA_IMAGE = "image"; - - /** 语音 */ - String MEDIA_VOICE = "voice"; - - /** 视频 */ - String MEDIA_VIDEO = "video"; - - /** 普通文件 */ - String MEDIA_FILE = "file"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkNoticeCode.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkNoticeCode.java deleted file mode 100644 index 45e942666d68edeeebe3db63ac76b97fd5b1041c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/code/DingTalkNoticeCode.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.code; - -/** - * 钉钉通知消息常量 - * - * @author xxm - * @since 2022/4/2 - */ -public interface DingTalkNoticeCode { - - /* 消息类型 */ - /** 文本消息 */ - String MSG_TEXT = "text"; - - /** 图片消息 */ - String MSG_IMAGE = "image"; - - /** 语音消息 */ - String MSG_VOICE = "voice"; - - /** 文件消息 */ - String MSG_FILE = "file"; - - /** 链接消息 */ - String MSG_LINK = "link"; - - /** OA消息 */ - String MSG_OA = "oa"; - - /** markdown消息 */ - String MSG_MARKDOWN = "markdown"; - - /** 卡片消息 */ - String MSG_ACTION_CARD = "action_card"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/configuration/DingTalkProperties.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/configuration/DingTalkProperties.java deleted file mode 100644 index ee8f4aff7e15b2df36b91c6a5eadc0c97be2bb38..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/configuration/DingTalkProperties.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.configuration; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 钉钉应用配置 - * - * @author xxm - * @since 2022/7/15 - */ -@Getter -@Setter -@ConfigurationProperties("bootx.starter.third.ding-talk") -public class DingTalkProperties { - - /** AppKey */ - private String appKey; - - /** AppSecret */ - private String appSecret; - - /** 应用id */ - private Long agentId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/controller/DingRobotConfigController.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/controller/DingRobotConfigController.java deleted file mode 100644 index 07d8806ba0481a58b3c7791f4abecf6ba44e9882..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/controller/DingRobotConfigController.java +++ /dev/null @@ -1,78 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.dingtalk.core.robot.service.DingRobotConfigService; -import cn.bootx.platform.starter.dingtalk.dto.robot.DingRobotConfigDto; -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * @author xxm - * @since 2021/9/25 - */ -@Tag(name = "钉钉机器人配置") -@RestController -@RequestMapping("/ding/robot/config") -@RequiredArgsConstructor -public class DingRobotConfigController { - - private final DingRobotConfigService dingRobotConfigService; - - @Operation(summary = "新增机器人配置") - @PostMapping("/add") - public ResResult<DingRobotConfigDto> add(@RequestBody DingRobotConfigParam param) { - return Res.ok(dingRobotConfigService.add(param)); - } - - @Operation(summary = "修改机器人配置") - @PostMapping("/update") - public ResResult<DingRobotConfigDto> update(@RequestBody DingRobotConfigParam param) { - return Res.ok(dingRobotConfigService.update(param)); - } - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<DingRobotConfigDto>> page(PageParam pageParam, DingRobotConfigParam param) { - return Res.ok(dingRobotConfigService.page(pageParam, param)); - } - - @Operation(summary = "查询全部") - @GetMapping("/findAll") - public ResResult<List<DingRobotConfigDto>> findAll() { - return Res.ok(dingRobotConfigService.findAll()); - } - - @Operation(summary = "获取详情") - @GetMapping("/findById") - public ResResult<DingRobotConfigDto> findById(Long id) { - return Res.ok(dingRobotConfigService.findById(id)); - } - - @Operation(summary = "删除") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - dingRobotConfigService.delete(id); - return Res.ok(); - } - - @Operation(summary = "编码是否被使用") - @GetMapping("/existsByCode") - public ResResult<Boolean> existsByCode(String code) { - return Res.ok(dingRobotConfigService.existsByCode(code)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(dingRobotConfigService.existsByCode(code, id)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/AccessTokenResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/AccessTokenResult.java deleted file mode 100644 index a0b6f2f51dd8089d8f16727214697392e656607b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/AccessTokenResult.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.base.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "AccessToken响应类") -public class AccessTokenResult<T> extends DingTalkResult<T> { - - @JsonProperty("access_token") - @Schema(description = "访问凭证") - private String accessToken; - - @JsonProperty("expires_in") - @Schema(description = "过期时间") - private Integer expiresIn; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/DingTalkResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/DingTalkResult.java deleted file mode 100644 index ceb76aad358330e7896866f7d734ebcf8f9e4ef9..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/DingTalkResult.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.base.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉响应结果 - * - * @author xxm - * @since 2020/11/30 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉发送响应类") -public class DingTalkResult<T> implements Serializable { - - private static final long serialVersionUID = 4298060961428118100L; - - @JsonProperty("errcode") - @Schema(description = "错误码") - private Integer code; - - @Schema(description = "返回数据") - private T result; - - @JsonProperty("errmsg") - @Schema(description = "返回码描述") - private String msg; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/MediaResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/MediaResult.java deleted file mode 100644 index c9cc569821911e1a97f361d7503a6afe6e9bd918..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/result/MediaResult.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.base.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 钉钉媒体上传返回类 - * - * @author xxm - * @since 2022/7/25 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉媒体上传返回类") -public class MediaResult { - - @JsonProperty("errcode") - @Schema(description = "错误码") - private Integer code; - - @JsonProperty("errmsg") - @Schema(description = "返回码描述") - private String msg; - - @JsonProperty("type") - @Schema(description = "媒体文件类型") - private String type; - - @JsonProperty("media_id") - @Schema(description = "唯一标识") - private String mediaId; - - @JsonProperty("created_at") - @Schema(description = "媒体文件上传时间戳") - private long createdAt; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/service/DingAccessService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/service/DingAccessService.java deleted file mode 100644 index c5d658d5ec330878a95d72b8c55037c9f1e2f849..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/base/service/DingAccessService.java +++ /dev/null @@ -1,97 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.base.service; - -import cn.bootx.platform.starter.dingtalk.configuration.DingTalkProperties; -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.common.spring.exception.RetryableException; -import cn.bootx.platform.starter.dingtalk.core.base.result.AccessTokenResult; -import cn.hutool.core.util.StrUtil; -import cn.hutool.extra.spring.SpringUtil; -import cn.hutool.http.HttpException; -import cn.hutool.http.HttpUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.retry.annotation.Retryable; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.*; - -/** - * 钉钉访问凭证 - * - * @author xxm - * @since 2022/4/2 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingAccessService { - - private final DingTalkProperties dingTalkProperties; - - private long expiresTime; - - private String accessToken; - - /** - * 企业内部应用的access_token - */ - public String getAccessToken() { - if (System.currentTimeMillis() < expiresTime) { - return accessToken; - } - Lock lock = new ReentrantLock(); - boolean locked = false; - try { - do { - locked = lock.tryLock(100, TimeUnit.MILLISECONDS); - if (System.currentTimeMillis() < expiresTime) { - return accessToken; - } - } - while (!locked); - SpringUtil.getBean(getClass()) - .getAppAccessToken(dingTalkProperties.getAppKey(), dingTalkProperties.getAppSecret()); - } - catch (InterruptedException e) { - throw new BizException("获取钉钉应用AccessToken失败"); - } - finally { - if (locked) { - lock.unlock(); - } - } - return accessToken; - } - - /** - * 企业内部应用的access_token - */ - @Retryable(value = RetryableException.class) - public void getAppAccessToken(String appKey, String appSecret) { - // 获取accessToken - Map<String, String> map = new HashMap<>(); - map.put(APP_KEY, appKey); - map.put(APP_SECRET, appSecret); - try { - String responseBody = HttpUtil.createGet(StrUtil.format(APP_ACCESS_TOKEN_URL, map)).execute().body(); - AccessTokenResult<?> dingTalkResult = JacksonUtil.toBean(responseBody, AccessTokenResult.class); - if (StrUtil.isBlank(dingTalkResult.getAccessToken())) { - throw new RetryableException(); - } - this.accessToken = dingTalkResult.getAccessToken(); - // 设置超时时间 - this.expiresTime = System.currentTimeMillis() + (dingTalkResult.getExpiresIn() - 200) * 1000L; - } - catch (HttpException e) { - throw new RetryableException(); - } - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Manager.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Manager.java deleted file mode 100644 index 1ba98a15efd6438a3b3255a3a5c3357202c80214..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Manager.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.dao; - -import cn.bootx.platform.starter.dingtalk.core.media.entity.DingMediaMd5; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 钉钉 - * - * @author xxm - * @since 2022/7/26 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class DingMediaMd5Manager extends BaseManager<DingMediaMd5Mapper, DingMediaMd5> { - - /** - * 根据md5查询 - */ - public Optional<DingMediaMd5> findByMd5(String md5) { - return findByField(DingMediaMd5::getMd5, md5); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Mapper.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Mapper.java deleted file mode 100644 index 6d9ae7c6fd3703f6483118dce48f6e51087f2c2c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/dao/DingMediaMd5Mapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.dao; - -import cn.bootx.platform.starter.dingtalk.core.media.entity.DingMediaMd5; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2022/7/26 - */ -@Mapper -public interface DingMediaMd5Mapper extends BaseMapper<DingMediaMd5> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/entity/DingMediaMd5.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/entity/DingMediaMd5.java deleted file mode 100644 index 6b9800f4908fb50837db130007f7fcd4c3e72564..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/entity/DingMediaMd5.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.entity; - -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.RequiredArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉媒体文件MD5值关联关系 - * - * @author xxm - * @since 2022/7/26 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@AllArgsConstructor -@RequiredArgsConstructor -@TableName("starter_ding_media_md5") -public class DingMediaMd5 extends MpCreateEntity { - - /** 媒体文件id */ - private String mediaId; - - /** 媒体文件的md5值 */ - private String md5; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaService.java deleted file mode 100644 index 0bd7b1dd25677d118207fc252d05985ed47976b5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaService.java +++ /dev/null @@ -1,91 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.media.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.util.FileUtil; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.starter.dingtalk.code.DingTalkCode; -import cn.bootx.platform.starter.dingtalk.core.base.result.MediaResult; -import cn.bootx.platform.starter.dingtalk.core.base.service.DingAccessService; -import cn.bootx.platform.starter.dingtalk.core.media.dao.DingMediaMd5Manager; -import cn.hutool.core.io.FileTypeUtil; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.io.file.FileNameUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.InputStream; -import java.util.Objects; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.*; - -/** - * 钉钉媒体文件管理 - * - * @author xxm - * @since 2022/7/25 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingMediaService { - - private final DingAccessService dingAccessService; - - private final DingMediaMd5Manager dingMediaMd5Manager; - - /** - * 文件上传 - */ - @SneakyThrows - public String uploadMedia(InputStream inputStream, String fileName, String mediaType) { - // 判断md5是否是已经上传过的, 上传过的直接使用媒体id( 发现钉钉媒体id只能使用一次, 和文档描述不一致 ) - byte[] bytes = IoUtil.readBytes(inputStream); - String filePrefix = FileNameUtil.mainName(fileName); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes), fileName); - File tmpFile = FileUtil.createTempFile(new ByteArrayInputStream(bytes), filePrefix, fileType); - String body = HttpUtil - .createPost(StrUtil.format(DingTalkCode.MEDIA_UPLOAD_URL, dingAccessService.getAccessToken())) - .form(MEDIA, tmpFile, fileName) - .form(TYPE, mediaType) - .execute() - .body(); - MediaResult mediaResult = JacksonUtil.toBean(body, MediaResult.class); - if (!Objects.equals(mediaResult.getCode(), SUCCESS_CODE)) { - throw new BizException(mediaResult.getMsg()); - } - String mediaId = mediaResult.getMediaId(); - // dingMediaMd5Manager.save(new DingMediaMd5(mediaId,md5)); - return mediaId; - } - - /** - * 文件上传 - */ - @SneakyThrows - public String uploadMedia(InputStream inputStream, String mediaType) { - byte[] bytes = IoUtil.readBytes(inputStream); - - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes)); - File tmpFile = FileUtil.createTempFile(new ByteArrayInputStream(bytes), IdUtil.getSnowflakeNextIdStr(), - fileType); - String body = HttpUtil - .createPost(StrUtil.format(DingTalkCode.MEDIA_UPLOAD_URL, dingAccessService.getAccessToken())) - .form(MEDIA, tmpFile) - .form(TYPE, mediaType) - .execute() - .body(); - MediaResult mediaResult = JacksonUtil.toBean(body, MediaResult.class); - if (!Objects.equals(mediaResult.getCode(), SUCCESS_CODE)) { - throw new BizException(mediaResult.getMsg()); - } - return mediaResult.getMediaId(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/ChatNoticeResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/ChatNoticeResult.java deleted file mode 100644 index 6494bc73de35b8930f4fdc163c8c2ae766dfa336..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/ChatNoticeResult.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.notice.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "通知消息返回值") -public class ChatNoticeResult { - - @JsonProperty("errcode") - @Schema(description = "错误码") - private Integer code; - - @JsonProperty("errmsg") - @Schema(description = "返回码描述") - private String msg; - - @Schema(description = "异步发送任务ID") - private String messageId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/CorpNoticeResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/CorpNoticeResult.java deleted file mode 100644 index 89a42eeb3d7eb8c1734346b442b8462378bf4a36..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/result/CorpNoticeResult.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.notice.result; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 钉钉消息响应 - * - * @author xxm - * @since 2022/7/17 - */ -@Data -@Accessors(chain = true) -@Schema(title = "通知消息返回值") -public class CorpNoticeResult { - - @JsonProperty("errcode") - @Schema(description = "错误码") - private Integer code; - - @JsonProperty("errmsg") - @Schema(description = "返回码描述") - private String msg; - - @JsonProperty("task_id") - @Schema(description = "异步发送任务ID") - private Long taskId; - - @JsonProperty("request_id") - @Schema(description = "请求ID") - private String requestId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/service/DingNoticeService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/service/DingNoticeService.java deleted file mode 100644 index 34d689ee3a6e567fdcdd0482956162cf9ada8ed5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/notice/service/DingNoticeService.java +++ /dev/null @@ -1,101 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.notice.service; - -import cn.bootx.platform.starter.dingtalk.param.notice.ChatNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.CorpNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.RecallCorpNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.UpdateCorpNotice; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.starter.dingtalk.core.base.service.DingAccessService; -import cn.bootx.platform.starter.dingtalk.core.base.result.DingTalkResult; -import cn.bootx.platform.starter.dingtalk.core.notice.result.ChatNoticeResult; -import cn.bootx.platform.starter.dingtalk.core.notice.result.CorpNoticeResult; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.*; - -/** - * 钉钉通知发送服务 - * - * @author xxm - * @since 2022/7/17 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingNoticeService { - - private final DingAccessService dingAccessService; - - /** - * 发送普通消息, 支持普通群和个人会话 - * - * <a href= - * "https://open.dingtalk.com/document/orgapp-server/send-normal-messages">...</a> - */ - public void sendNotice() { - } - - /** - * 发送企业群消息 - * - * <a href= - * "https://open.dingtalk.com/document/orgapp-server/enterprise-group-message-overview">...</a> - */ - public ChatNoticeResult sendChatNotice(ChatNotice param) { - String accessToken = dingAccessService.getAccessToken(); - String responseBody = HttpUtil.createPost(StrUtil.format(NOTICE_CHAT_URL, accessToken)) - .body(param.toParam()) - .execute() - .body(); - return JacksonUtil.toBean(responseBody, ChatNoticeResult.class); - } - - /** - * 发送工作通知 - * - * <a href= - * "https://open.dingtalk.com/document/orgapp-server/asynchronous-sending-of-enterprise-session-messages">...</a> - */ - public CorpNoticeResult sendCorpNotice(CorpNotice param) { - String accessToken = dingAccessService.getAccessToken(); - String responseBody = HttpUtil.createPost(StrUtil.format(NOTICE_CORP_SEND_URL, accessToken)) - .body(param.toParam()) - .execute() - .body(); - return JacksonUtil.toBean(responseBody, CorpNoticeResult.class); - } - - /** - * 更新工作通知状态栏 - * @url <a href= - * "https://open.dingtalk.com/document/orgapp-server/update-work-notification-status-bar">...</a> - */ - public CorpNoticeResult updateCorpNotice(UpdateCorpNotice param) { - String accessToken = dingAccessService.getAccessToken(); - String responseBody = HttpUtil.createPost(StrUtil.format(NOTICE_CORP_UPDATE_URL, accessToken)) - .body(param.toParam()) - .execute() - .body(); - return JacksonUtil.toBean(responseBody, CorpNoticeResult.class); - } - - /** - * 撤回工作通知消息 - * @url <a href= - * "https://open.dingtalk.com/document/orgapp-server/notification-of-work-withdrawal">...</a> - */ - public DingTalkResult<?> recallCorpNotice(RecallCorpNotice param) { - - String accessToken = dingAccessService.getAccessToken(); - String responseBody = HttpUtil.createPost(StrUtil.format(NOTICE_CORP_RECALL_URL, accessToken)) - .body(param.toParam()) - .execute() - .body(); - return JacksonUtil.toBean(responseBody, DingTalkResult.class); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/convert/DingRobotConvert.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/convert/DingRobotConvert.java deleted file mode 100644 index a6b586b6127bda620f40d9602e6d293a37b66b8b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/convert/DingRobotConvert.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.convert; - -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import cn.bootx.platform.starter.dingtalk.dto.robot.DingRobotConfigDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 钉钉相关类转换 - * - * @author xxm - * @since 2021/8/5 - */ -@Mapper -public interface DingRobotConvert { - - DingRobotConvert CONVERT = Mappers.getMapper(DingRobotConvert.class); - - DingRobotConfig convert(DingRobotConfigParam in); - - DingRobotConfigDto convert(DingRobotConfig in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigManager.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigManager.java deleted file mode 100644 index be0f01b21fd57fea777473e997ea46d963ed1f4e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigManager.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.dao; - -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 钉钉机器人 - * - * @author xxm - * @since 2020/11/29 - */ -@Repository -@RequiredArgsConstructor -public class DingRobotConfigManager extends BaseManager<DingRobotConfigMapper, DingRobotConfig> { - - public Optional<DingRobotConfig> findByCode(String code) { - return findByField(DingRobotConfig::getCode, code); - } - - public boolean existsByCode(String code) { - return existedByField(DingRobotConfig::getCode, code); - } - - public boolean existsByCode(String code, Long id) { - return lambdaQuery().eq(DingRobotConfig::getCode, code).ne(MpIdEntity::getId, id).exists(); - } - - public Page<DingRobotConfig> page(PageParam pageParam, DingRobotConfigParam param) { - Page<DingRobotConfig> mpPage = MpUtil.getMpPage(pageParam, DingRobotConfig.class); - return lambdaQuery().orderByDesc(MpIdEntity::getId) - .like(StrUtil.isNotBlank(param.getCode()), DingRobotConfig::getCode, param.getCode()) - .like(StrUtil.isNotBlank(param.getName()), DingRobotConfig::getName, param.getName()) - .like(StrUtil.isNotBlank(param.getAccessToken()), DingRobotConfig::getAccessToken, param.getAccessToken()) - .page(mpPage); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigMapper.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigMapper.java deleted file mode 100644 index f1514179172ef4623a11ac948c87a779ec15c74b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/dao/DingRobotConfigMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.dao; - -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 钉钉机器人配置 - * - * @author xxm - * @since 2021/8/5 - */ -@Mapper -public interface DingRobotConfigMapper extends BaseMapper<DingRobotConfig> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/entity/DingRobotConfig.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/entity/DingRobotConfig.java deleted file mode 100644 index 2532efee002fd8bc3c03c5eca2f7cd08985c054f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/entity/DingRobotConfig.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.entity; - -import cn.bootx.platform.starter.dingtalk.core.robot.convert.DingRobotConvert; -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.starter.dingtalk.dto.robot.DingRobotConfigDto; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 钉钉机器人配置 - * - * @author xxm - * @since 2020/11/29 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("starter_ding_robot_config") -public class DingRobotConfig extends MpBaseEntity implements EntityBaseFunction<DingRobotConfigDto> { - - /** 机器人编号编号 */ - private String code; - - /** 机器人配置名称 */ - private String name; - - /** 钉钉机器人的accessToken */ - private String accessToken; - - /** 是否开启验签 */ - private boolean enableSignatureCheck; - - /** 验签秘钥 */ - private String signSecret; - - /** 备注 */ - private String remark; - - public static DingRobotConfig init(DingRobotConfigParam in) { - return DingRobotConvert.CONVERT.convert(in); - } - - @Override - public DingRobotConfigDto toDto() { - return DingRobotConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotConfigService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotConfigService.java deleted file mode 100644 index 72d4781e99896082725021ab9fa8cf71e18a0684..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotConfigService.java +++ /dev/null @@ -1,102 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.service; - -import cn.bootx.platform.starter.dingtalk.param.robot.DingRobotConfigParam; -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.dingtalk.core.robot.dao.DingRobotConfigManager; -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import cn.bootx.platform.starter.dingtalk.dto.robot.DingRobotConfigDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 钉钉机器人消息发送 - * - * @author xxm - * @since 2020/11/29 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingRobotConfigService { - - private final DingRobotConfigManager robotConfigManager; - - /** - * 添加新配置 - */ - @Transactional(rollbackFor = Exception.class) - public DingRobotConfigDto add(DingRobotConfigParam param) { - if (robotConfigManager.existsByCode(param.getCode())) { - throw new BizException("code重复"); - } - - DingRobotConfig dingRobotConfig = DingRobotConfig.init(param); - - return robotConfigManager.save(dingRobotConfig).toDto(); - } - - /** - * 更新钉钉机器人配置 - */ - @Transactional(rollbackFor = Exception.class) - public DingRobotConfigDto update(DingRobotConfigParam param) { - DingRobotConfig dingRobotConfig = robotConfigManager.findById(param.getId()) - .orElseThrow(DataNotExistException::new); - BeanUtil.copyProperties(param, dingRobotConfig, CopyOptions.create().ignoreNullValue()); - return robotConfigManager.updateById(dingRobotConfig).toDto(); - } - - /** - * 获取所有配置 - */ - public List<DingRobotConfigDto> findAll() { - return ResultConvertUtil.dtoListConvert(robotConfigManager.findAll()); - } - - /** - * 获取所有配置 - */ - public PageResult<DingRobotConfigDto> page(PageParam pageParam, DingRobotConfigParam param) { - return MpUtil.convert2DtoPageResult(robotConfigManager.page(pageParam, param)); - } - - /** - * 根据 id 获取相应的配置 - */ - public DingRobotConfigDto findById(Long id) { - return ResultConvertUtil.dtoConvert(robotConfigManager.findById(id)); - } - - /** - * 根据 id 删除相应的机器人配置 - */ - public void delete(Long id) { - robotConfigManager.deleteById(id); - } - - /** - * 编码是否已经存在 - */ - public boolean existsByCode(String code) { - return robotConfigManager.existsByCode(code); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return robotConfigManager.existsByCode(code, id); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotSendService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotSendService.java deleted file mode 100644 index 3cf1278438c233eddf2b167a872f5a91c92a2830..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/robot/service/DingRobotSendService.java +++ /dev/null @@ -1,68 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.robot.service; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.starter.dingtalk.util.DingTalkUtil; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.starter.dingtalk.code.DingTalkCode; -import cn.bootx.platform.starter.dingtalk.core.robot.dao.DingRobotConfigManager; -import cn.bootx.platform.starter.dingtalk.core.robot.entity.DingRobotConfig; -import cn.bootx.platform.starter.dingtalk.core.base.result.DingTalkResult; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.SUCCESS_CODE; - -/** - * 钉钉机器人消息发送 - * - * @author xxm - * @since 2020/11/29 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingRobotSendService { - - private final DingRobotConfigManager dingRobotConfigManager; - - /** - * 发送钉钉机器人消息 - */ - public void sendNotice(String code, Msg body) { - DingRobotConfig dingRobotConfig = dingRobotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("钉钉机器人配置不存在")); - long timestamp = System.currentTimeMillis(); - - Map<String, Object> map = new HashMap<>(3); - map.put(DingTalkCode.ACCESS_TOKEN, dingRobotConfig.getAccessToken()); - String url; - // 验签 - if (dingRobotConfig.isEnableSignatureCheck()) { - url = DingTalkCode.ROBOT_SEND_SIGN_URL; - map.put(DingTalkCode.SIGN, DingTalkUtil.generateSign(timestamp, dingRobotConfig.getSignSecret())); - map.put(DingTalkCode.TIMESTAMP, timestamp); - } - else { - url = DingTalkCode.ROBOT_SEND_NOT_SIGN_URL; - } - - // 请求消息 - String responseBody = HttpUtil.createPost(StrUtil.format(url, map)) - .body(JacksonUtil.toJson(body)) - .execute() - .body(); - DingTalkResult<?> dingTalkResult = JacksonUtil.toBean(responseBody, DingTalkResult.class); - if (!Objects.equals(SUCCESS_CODE, dingTalkResult.getCode())) { - log.error("钉钉机器人发送消息失败: {}", dingTalkResult.getMsg()); - } - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/entity/UserIdResult.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/entity/UserIdResult.java deleted file mode 100644 index 82bb8f8644b94589bd933a274e7b9df045fce02d..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/entity/UserIdResult.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.user.entity; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/7/21 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉id消息") -public class UserIdResult { - - @JsonProperty("contact_type") - @Schema(description = "联系类型") - private String contactType; - - @JsonProperty("userid") - @Schema(description = "用户id") - private String userId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/service/DingUserService.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/service/DingUserService.java deleted file mode 100644 index 83a409027fb7c4bb81f138b2ec1b4cf13663047e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/user/service/DingUserService.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.core.user.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.starter.dingtalk.core.base.result.DingTalkResult; -import cn.bootx.platform.starter.dingtalk.core.base.service.DingAccessService; -import cn.bootx.platform.starter.dingtalk.core.user.entity.UserIdResult; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import com.fasterxml.jackson.core.type.TypeReference; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -import static cn.bootx.platform.starter.dingtalk.code.DingTalkCode.*; - -/** - * 钉钉用户信息 - * - * @author xxm - * @since 2022/7/17 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingUserService { - - private final DingAccessService dingAccessService; - - /** - * 根据unionid获取用户userid <a href= - * "https://open.dingtalk.com/document/isvapp-server/query-a-user-by-the-union-id">...</a> - */ - public String getUserIdByUnionId(String unionId) { - String accessToken = dingAccessService.getAccessToken(); - Map<String, String> map = new HashMap<>(1); - map.put(UNION_ID, unionId); - String responseBody = HttpUtil.createPost(StrUtil.format(USER_GET_URL, accessToken)) - .body(JacksonUtil.toJson(map)) - .execute() - .body(); - DingTalkResult<UserIdResult> dingTalkResult = JacksonUtil.toBean(responseBody, - new TypeReference<DingTalkResult<UserIdResult>>() { - }); - // 未找到用户, 返回空 - if (Objects.equals(dingTalkResult.getCode(), NOT_FUND_STAFF)) { - return null; - } - // 错误 - if (!Objects.equals(dingTalkResult.getCode(), SUCCESS_CODE)) { - throw new BizException(dingTalkResult.getMsg()); - } - return dingTalkResult.getResult().getUserId(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/dto/robot/DingRobotConfigDto.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/dto/robot/DingRobotConfigDto.java deleted file mode 100644 index d9042be1e26b3251e4c3815ff8928fed97e7a649..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/dto/robot/DingRobotConfigDto.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.dto.robot; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉机器人配置") -public class DingRobotConfigDto extends BaseDto implements Serializable { - - private static final long serialVersionUID = -5642207413191556792L; - - @Schema(description = "编号") - private String code; - - @Schema(description = "配置名称") - private String name; - - @Schema(description = "钉钉机器人的AccessToken") - @SensitiveInfo - private String accessToken; - - @Schema(description = "是否开启验签") - private boolean enableSignatureCheck; - - @Schema(description = "验签秘钥") - @SensitiveInfo - private String signSecret; - - @Schema(description = "描述") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/ChatNotice.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/ChatNotice.java deleted file mode 100644 index 6d8c0e3a58cfabc23ee785e1ca14d447d9dde28e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/ChatNotice.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉发送企业群消息参数 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "钉钉发送企业群消息参数") -public class ChatNotice { - - @JsonProperty("chatid") - @Schema(description = "群Id") - private String chatId; - - @Schema(description = "消息内容") - private Msg msg; - - /** - * 输出参数 - */ - public String toParam() { - return JacksonUtil.toJson(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/CorpNotice.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/CorpNotice.java deleted file mode 100644 index 7023a4d408d18a7a7b7a283701ae6e1389901406..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/CorpNotice.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.hutool.core.lang.Opt; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 钉钉发送工作通知参数 - * - * @author xxm - * @since 2022/7/17 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉发送工作通知参数") -public class CorpNotice { - - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long agentId; - - @Schema(description = "接收者的userid列表,最大用户列表长度100") - private List<String> useridList; - - @Schema(description = "接收者的部门id列表,最大列表长度20") - private List<String> deptIdList; - - @Schema(description = "是否发送给企业全部用户") - private boolean toAllUser; - - @Schema(description = "消息内容") - private Msg msg; - - /** - * 输出参数 - */ - public String toParam() { - Map<String, Object> map = new HashMap<>(5); - String useridList = Opt.ofEmptyAble(this.useridList).map(list -> String.join(",", list)).orElse(null); - String deptIdList = Opt.ofEmptyAble(this.deptIdList).map(list -> String.join(",", list)).orElse(null); - map.put("agent_id", agentId); - map.put("userid_list", useridList); - map.put("dept_id_list", deptIdList); - map.put("to_all_user", toAllUser); - map.put("msg", msg); - return JacksonUtil.toJson(map); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/RecallCorpNotice.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/RecallCorpNotice.java deleted file mode 100644 index 805cbe728dc766916935aa5b68e054cc8e0ca2af..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/RecallCorpNotice.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice; - -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉撤回工作通知 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "钉钉撤回工作通知") -public class RecallCorpNotice { - - @JsonProperty("agent_id") - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long agentId; - - @JsonProperty("msg_task_id") - @Schema(description = "发送消息时钉钉返回的任务ID") - private Long taskId; - - public String toParam() { - return JacksonUtil.toJson(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/UpdateCorpNotice.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/UpdateCorpNotice.java deleted file mode 100644 index d6e0363049d7c847325eb504760c5527e511a89d..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/UpdateCorpNotice.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice; - -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 钉钉 更新工作通知状态栏 - * - * @author xxm - * @since 2022/7/17 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉更新工作通知状态栏") -public class UpdateCorpNotice { - - @JsonProperty("agent_id") - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long agentId; - - @JsonProperty("task_id") - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long taskId; - - @JsonProperty("status_value") - @Schema(description = "状态栏值") - private String statusValue; - - @JsonProperty("status_bg") - @Schema(description = "状态栏背景色,推荐0xFF加六位颜色值") - private String statusBg; - - public String toParam() { - return JacksonUtil.toJson(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ActionCardMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ActionCardMsg.java deleted file mode 100644 index 20ee7b85a59cc9363dc1f632fba035e3fdd52612..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ActionCardMsg.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.util.List; - -/** - * 钉钉卡片消息 - * - * @author xxm - * @since 2022/7/19 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉卡片消息") -public class ActionCardMsg extends Msg { - - @Schema(description = "消息内容,支持markdown") - @JsonProperty("action_card") - private ActionCard actionCard; - - @Data - @Accessors(chain = true) - @Schema(title = "消息内容,支持markdown") - public static class ActionCard { - - @Schema(description = "透出到会话列表和通知的文案") - private String title; - - @Schema(description = "消息内容") - private String markdown; - - @JsonProperty("single_title") - @Schema(description = "标题") - private String singleTitle; - - @JsonProperty("single_url") - @Schema(description = "消息点击链接地址") - private String singleUrl; - - @JsonProperty("btn_orientation") - @Schema(description = "使用独立跳转ActionCard样式时的按钮排列方式") - private String btnOrientation; - - @JsonProperty("btn_json_list") - @Schema(description = "使用独立跳转ActionCard样式时的按钮列表") - private List<BtnJson> btnJsonList; - - @Data - @Accessors(chain = true) - @Schema(title = "使用独立跳转ActionCard样式时的按钮列表") - public static class BtnJson { - - @Schema(description = "按钮的标题") - private String title; - - @JsonProperty("action_url") - @Schema(description = "跳转链接") - private String actionUrl; - - } - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/At.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/At.java deleted file mode 100644 index 3aef39823c2ba26b8b3b3cf2dcd47949c1224c41..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/At.java +++ /dev/null @@ -1,59 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.hutool.core.collection.CollUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 钉钉At - * - * @author xxm - * @since 2020/11/29 - */ -@Data -@Accessors(chain = true) -@NoArgsConstructor -@Schema(title = "钉钉@指定用户") -public class At implements Serializable { - - private static final long serialVersionUID = -8677524557109058147L; - - @Schema(description = "@的用户手机号") - private List<String> atMobiles; - - @Schema(description = "@被@人的用户userid") - private List<String> atUserIds; - - @Schema(description = "是否@全体") - private boolean isAtAll = false; - - public At(List<String> atMobiles) { - this.atMobiles = atMobiles; - } - - /** - * 输出@xxx文本 - */ - public String toAtMobiles() { - if (CollUtil.isNotEmpty(atMobiles)) { - return " @" + String.join(" @", atMobiles); - } - return ""; - } - - /** - * 输出@xxx文本 - */ - public String toAtUserIds() { - if (CollUtil.isNotEmpty(atUserIds)) { - return " @" + String.join(" @", atUserIds); - } - return ""; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/DingMedia.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/DingMedia.java deleted file mode 100644 index 28012efd3f0b1e4232317618190eadbec73f3203..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/DingMedia.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉图片 - * - * @author xxm - * @since 2022/7/17 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉媒体") -@NoArgsConstructor -@AllArgsConstructor -public class DingMedia { - - @JsonProperty("media_id") - @Schema(description = "媒体文件id") - private String mediaId; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/FileMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/FileMsg.java deleted file mode 100644 index d948b44d51360cd1d5d742c65d5bc1d3db242004..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/FileMsg.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉图片通知 - * - * @author xxm - * @since 2022/7/17 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉文件通知") -public class FileMsg extends Msg implements Serializable { - - private static final long serialVersionUID = -835679566138176L; - - @Schema(description = "钉钉文件") - private DingMedia file; - - public FileMsg() { - super(DingTalkNoticeCode.MSG_FILE); - } - - public FileMsg(String mediaId) { - super(DingTalkNoticeCode.MSG_FILE); - this.file = new DingMedia(mediaId); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ImageMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ImageMsg.java deleted file mode 100644 index a1fa6cb82c271191b11b33456b0ca9afaeede71d..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/ImageMsg.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉图片通知 - * - * @author xxm - * @since 2022/7/17 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉图片通知") -public class ImageMsg extends Msg implements Serializable { - - private static final long serialVersionUID = -835679566138176L; - - @Schema(description = "钉钉图片") - private DingMedia image; - - public ImageMsg() { - super(DingTalkNoticeCode.MSG_IMAGE); - } - - public ImageMsg(String mediaId) { - super(DingTalkNoticeCode.MSG_IMAGE); - this.image = new DingMedia(mediaId); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/LinkMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/LinkMsg.java deleted file mode 100644 index 20b1ab0c7bba81a71d64201ceda7474d7e5e05b2..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/LinkMsg.java +++ /dev/null @@ -1,78 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉链接消息 - * - * @author xxm - * @since 2020/11/30 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉链接消息") -public class LinkMsg extends Msg implements Serializable { - - private static final long serialVersionUID = -3094638065840434973L; - - @Schema(description = "钉钉link消息体") - private DingLink link; - - public LinkMsg() { - super(DingTalkNoticeCode.MSG_LINK); - } - - public LinkMsg(String title, String msg, String messageUrl) { - super(DingTalkNoticeCode.MSG_LINK); - link = new DingLink(title, msg, messageUrl); - } - - public LinkMsg(String title, String msg, String messageUrl, String picUrl) { - super(DingTalkNoticeCode.MSG_LINK); - link = new DingLink(title, msg, messageUrl, picUrl); - } - - @Data - @Accessors(chain = true) - @Schema(title = "钉钉link") - @NoArgsConstructor - public static class DingLink implements Serializable { - - private static final long serialVersionUID = 8191181631664337904L; - - @Schema(description = "标题") - private String title; - - @Schema(description = "内容") - private String text; - - @Schema(description = "点击消息跳转的URL") - private String messageUrl; - - @Schema(description = "图片URL") - private String picUrl; - - public DingLink(String title, String text, String messageUrl) { - this.title = title; - this.text = text; - this.messageUrl = messageUrl; - } - - public DingLink(String title, String text, String messageUrl, String picUrl) { - this.title = title; - this.text = text; - this.messageUrl = messageUrl; - this.picUrl = picUrl; - } - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/MarkdownMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/MarkdownMsg.java deleted file mode 100644 index 40548c1d5f78eedc1b276df19c7c63866e6553c7..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/MarkdownMsg.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 钉钉markdown消息 - * - * @author xxm - * @since 2020/11/30 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉文本消息") -public class MarkdownMsg extends Msg implements Serializable { - - private static final long serialVersionUID = -2724590259000709240L; - - @Schema(description = "markdown消息体") - private DingMarkdown markdown; - - public MarkdownMsg() { - super(DingTalkNoticeCode.MSG_MARKDOWN); - } - - /** - * @param title 标题 - * @param msg 内容 - * @param phones @谁 - */ - public MarkdownMsg(String title, String msg, List<String> phones) { - super(new At(phones), DingTalkNoticeCode.MSG_MARKDOWN); - this.markdown = new DingMarkdown(title, msg); - } - - public MarkdownMsg(String title, String msg) { - super(DingTalkNoticeCode.MSG_MARKDOWN); - this.markdown = new DingMarkdown(title, msg); - } - - @Data - @Accessors(chain = true) - @NoArgsConstructor - @Schema(title = "钉钉markdown格式信息") - public static class DingMarkdown implements Serializable { - - private static final long serialVersionUID = 2353543901449818541L; - - @Schema(description = "标题") - private String title; - - @Schema(description = "内容") - private String text; - - public DingMarkdown(String title, String text) { - this.title = title; - this.text = text; - } - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/Msg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/Msg.java deleted file mode 100644 index 656371c4b71388cfc1698afde09300c3b3826e0b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/Msg.java +++ /dev/null @@ -1,50 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉消息 - * - * @author xxm - * @since 2020/11/30 - */ -@Data -@Accessors(chain = true) -@NoArgsConstructor -@Schema(title = "钉钉消息基础类") -public class Msg implements Serializable { - - private static final long serialVersionUID = -8548175773944126488L; - - /** - * <a href="https://open.dingtalk.com/document/group/custom-robot-access">...</a> - */ - @JsonInclude(JsonInclude.Include.NON_NULL) - @Schema(description = "@谁(机器人消息用)") - private At at; - - /** - * @see DingTalkNoticeCode - */ - @JsonProperty("msgtype") - @Schema(description = "消息类型") - private String msgType; - - public Msg(At at, String msgType) { - this.at = at; - this.msgType = msgType; - } - - public Msg(String msgType) { - this.msgType = msgType; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/OaMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/OaMsg.java deleted file mode 100644 index fbaab9131aef2dcc4a15176336554daeee54ef50..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/OaMsg.java +++ /dev/null @@ -1,139 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.util.List; - -/** - * 钉钉OA消息 - * - * @author xxm - * @since 2022/7/19 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "钉钉OA消息") -public class OaMsg extends Msg { - - @Schema(description = "OA消息体") - private Oa oa; - - @Data - @Accessors(chain = true) - @Schema(title = "OA消息体") - public static class Oa { - - @JsonProperty("message_url") - @Schema(description = "消息点击链接地址") - private String messageUrl; - - @JsonProperty("pc_message_url") - @Schema(description = "PC端点击消息时跳转到的地址") - private String pcMessageUrl; - - @Schema(description = "消息头部内容") - private Head head; - - @Schema(description = "消息体") - private Body body; - - @JsonProperty("status_bar") - @Schema(description = "消息状态栏") - private StatusBar statusBar; - - @Data - @Accessors(chain = true) - @Schema(title = "消息头部内容") - public static class Head { - - @JsonProperty("bgcolor") - @Schema(description = "消息头部的背景颜色") - private String bgColor; - - @Schema(description = "消息的头部标题") - private String text; - - } - - @Data - @Accessors(chain = true) - @Schema(title = "消息状态栏") - public static class StatusBar { - - @Schema(description = "状态栏文案") - @JsonProperty("status_value") - private String statusValue; - - @Schema(description = "状态栏背景色") - @JsonProperty("status_bg") - private String statusBg; - - } - - @Data - @Accessors(chain = true) - @Schema(title = "消息体") - public static class Body { - - @Schema(description = "消息体的标题") - private String title; - - @Schema(description = "消息体的表单") - private List<Form> form; - - @Schema(description = "单行富文本信息") - private Rich rich; - - @Schema(description = "消息体的内容") - private String content; - - @Schema(description = "消息体中的图片(媒体id)") - private String image; - - @Schema(description = "自定义的附件数目") - @JsonProperty("file_count") - private String fileCount; - - @Schema(description = "自定义的作者名字") - private String author; - - @Data - @Accessors(chain = true) - @Schema(title = "消息体的表单,最多显示6个,超过会被隐藏") - public static class Form { - - @Schema(description = "消息体的关键字") - private String key; - - @Schema(description = "消息体的关键字对应的值") - private String value; - - } - - @Data - @Accessors(chain = true) - @Schema(title = "单行富文本信息") - public static class Rich { - - @Schema(description = "单行富文本信息的数目") - private String num; - - @Schema(description = "单行富文本信息的单位") - private String unit; - - } - - } - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/TextMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/TextMsg.java deleted file mode 100644 index 72e71d0425c9cade29b2017bcc280c4f4e5216f3..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/TextMsg.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2020/11/29 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉文本消息") -public class TextMsg extends Msg implements Serializable { - - private static final long serialVersionUID = 8237431306046852539L; - - @Schema(description = "文本消息体") - private DingText text; - - public TextMsg() { - super(DingTalkNoticeCode.MSG_TEXT); - } - - public TextMsg(String msg) { - super(DingTalkNoticeCode.MSG_TEXT); - text = new DingText(msg); - } - - @Data - @Accessors(chain = true) - @NoArgsConstructor - @AllArgsConstructor - @Schema(title = "钉钉文本") - public static class DingText implements Serializable { - - private static final long serialVersionUID = 3582073816491238620L; - - @Schema(description = "文本") - private String content; - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/VoiceMsg.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/VoiceMsg.java deleted file mode 100644 index d4b95c511a072282ddaf23ca6114f71c2621618f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/notice/msg/VoiceMsg.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.notice.msg; - -import cn.bootx.platform.starter.dingtalk.code.DingTalkNoticeCode; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 钉钉语音消息 - * - * @author xxm - * @since 2022/7/17 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "钉钉语音消息") -public class VoiceMsg extends Msg implements Serializable { - - @Schema(description = "钉钉语音") - private DingVoice voice; - - public VoiceMsg() { - super(DingTalkNoticeCode.MSG_VOICE); - } - - public VoiceMsg(String mediaId, String duration) { - super(DingTalkNoticeCode.MSG_VOICE); - this.voice = new DingVoice(mediaId, duration); - } - - @Data - @Accessors(chain = true) - @Schema(title = "钉钉语音") - @NoArgsConstructor - @AllArgsConstructor - public static class DingVoice { - - @JsonProperty("media_id") - @Schema(description = "媒体文件id") - private String mediaId; - - @JsonProperty("duration") - @Schema(description = "音频时长") - private String duration; - - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/robot/DingRobotConfigParam.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/robot/DingRobotConfigParam.java deleted file mode 100644 index 620604d8c6c6947df9b83041da6398d948c08020..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/param/robot/DingRobotConfigParam.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.param.robot; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2021/8/5 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉机器人配置参数") -public class DingRobotConfigParam implements Serializable { - - private static final long serialVersionUID = -3979174622716815670L; - - @Schema(description = "主键") - private Long id; - - @Schema(description = "编号") - private String code; - - @Schema(description = "配置名称") - private String name; - - @Schema(description = "钉钉机器人的accessToken") - private String accessToken; - - @Schema(description = "是否开启验签") - private boolean enableSignatureCheck; - - @Schema(description = "验签秘钥") - private String signSecret; - - @Schema(description = "描述") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/util/DingTalkUtil.java b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/util/DingTalkUtil.java deleted file mode 100644 index ba4494ed058af8f89f351199d4cd527821a3e905..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/util/DingTalkUtil.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.bootx.platform.starter.dingtalk.util; - -import cn.hutool.crypto.digest.HmacAlgorithm; -import lombok.experimental.UtilityClass; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.codec.binary.Base64; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import java.nio.charset.StandardCharsets; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; - -/** - * 钉钉工具类 - * - * @author xxm - * @since 2022/4/2 - */ -@Slf4j -@UtilityClass -public class DingTalkUtil { - - /** - * 生成sign - */ - public String generateSign(Long timestamp, String sec) { - String combine = String.format("%d\n%s", timestamp, sec); - try { - Mac mac = Mac.getInstance(HmacAlgorithm.HmacSHA256.getValue()); - mac.init(new SecretKeySpec(sec.getBytes(StandardCharsets.UTF_8), HmacAlgorithm.HmacSHA256.getValue())); - byte[] signData = mac.doFinal(combine.getBytes(StandardCharsets.UTF_8)); - return Base64.encodeBase64String(signData); - } - catch (NoSuchAlgorithmException | InvalidKeyException e) { - log.warn(e.getMessage(), e); - } - return null; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 73283971c02f0272f8fa7d64e2c8969b5e5f3428..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -cn.bootx.platform.starter.dingtalk.DingTalkAutoConfiguration diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/pom.xml b/bootx-platform/bootx-common-starters/common-starter-wechat/pom.xml deleted file mode 100644 index f2d39d7e1f47282dcec6236ac5edd2664f90816e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>bootx-common-starters</artifactId> - <groupId>cn.bootx.platform</groupId> - <version>1.3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>common-starter-wechat</artifactId> - <packaging>jar</packaging> - - <dependencies> - <!-- web --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - <!-- 数据库持久层 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-mybatis-plus</artifactId> - </dependency> - <!-- weixin-java 公众号(包括订阅号和服务号) --> - <dependency> - <groupId>com.github.binarywang</groupId> - <artifactId>weixin-java-mp</artifactId> - <version>${wxjava.version}</version> - <exclusions> - <exclusion> - <artifactId>commons-io</artifactId> - <groupId>commons-io</groupId> - </exclusion> - <exclusion> - <artifactId>guava</artifactId> - <groupId>com.google.guava</groupId> - </exclusion> - <exclusion> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - </exclusion> - </exclusions> - </dependency> - <!-- weixin-java 公众号(包括订阅号和服务号) --> - <dependency> - <groupId>com.github.binarywang</groupId> - <artifactId>weixin-java-miniapp</artifactId> - <version>${wxjava.version}</version> - <exclusions> - <exclusion> - <artifactId>commons-io</artifactId> - <groupId>commons-io</groupId> - </exclusion> - <exclusion> - <artifactId>guava</artifactId> - <groupId>com.google.guava</groupId> - </exclusion> - <exclusion> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - </exclusion> - </exclusions> - </dependency> - <!-- TODO 有cve高危漏洞, 先替换下版本 --> - <dependency> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - <version>1.4.20</version> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-websocket</artifactId> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-auth</artifactId> - </dependency> - </dependencies> -</project> diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/WeChatAutoConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/WeChatAutoConfiguration.java deleted file mode 100644 index 42089c6f8fe405020d2f1dda455af84c002e7a9c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/WeChatAutoConfiguration.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.bootx.platform.starter.wechat; - -import org.apache.ibatis.annotations.Mapper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.context.properties.ConfigurationPropertiesScan; -import org.springframework.context.annotation.ComponentScan; - -/** - * 微信操作封装 - * - * @author xxm - * @since 2022/7/15 - */ -@ComponentScan -@MapperScan(annotationClass = Mapper.class) -@AutoConfiguration -@ConfigurationPropertiesScan -public class WeChatAutoConfiguration { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/code/WeChatCode.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/code/WeChatCode.java deleted file mode 100644 index edf7660ed60cb6ca5e91f63b4ff39ff52062147f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/code/WeChatCode.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.bootx.platform.starter.wechat.code; - -/** - * 微信编码 - * - * @author xxm - * @since 2022/8/5 - */ -public interface WeChatCode { - - /** qrscene_为前缀,后面为二维码的参数值 */ - String EVENT_KEY_QRSCENE = "qrscene_"; - - /* 带参数的扫码事件(qrscene_为前缀)参数前缀, 需要配合 qrscene_ 一起使用 */ - /** 扫码登录 */ - String QRSCENE_LOGIN = "login_"; - - /* 扫码登录状态 */ - /** 已过期 */ - String QR_LOGIN_EXPIRED = "expired"; - - /** 等待中 */ - String QR_LOGIN_WAIT = "wait"; - - /** */ - String QR_LOGIN_OK = "ok"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatAppletProperties.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatAppletProperties.java deleted file mode 100644 index 1a95ed7d4a2d22ec155f43c242e23d7c4daeba69..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatAppletProperties.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.starter.wechat.configuration; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 微信公众平台配置 - * - * @author xxm - * @since 2022/7/15 - */ -@Getter -@Setter -@ConfigurationProperties("bootx.starter.third.wechat-applet") -public class WeChatAppletProperties { - - /** AppKey */ - private String appId = "?"; - - /** AppSecret */ - private String appSecret = "?"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatConfiguration.java deleted file mode 100644 index d1bce120a72725626629c37b9178eaa29e9277ba..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatConfiguration.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.bootx.platform.starter.wechat.configuration; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; -import cn.binarywang.wx.miniapp.config.WxMaConfig; -import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; -import lombok.RequiredArgsConstructor; -import me.chanjar.weixin.mp.api.*; -import me.chanjar.weixin.mp.api.impl.*; -import me.chanjar.weixin.mp.config.WxMpConfigStorage; -import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * 微信配置 - * - * @author xxm - * @since 2022/7/15 - */ -@Configuration -@RequiredArgsConstructor -public class WeChatConfiguration { - - private final WeChatProperties weChatProperties; - - private final WeChatAppletProperties weChatAppletProperties; - - /** - * 微信公众号APIService - */ - @Bean - public WxMpService wxMpService(WxMpConfigStorage wxMpConfigStorage) { - WxMpService wxMpService = new WxMpServiceImpl(); - wxMpService.setWxMpConfigStorage(wxMpConfigStorage); - return wxMpService; - } - - /** - * 微信配置 - */ - @Bean - public WxMpConfigStorage wxMpConfigStorage() { - WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl(); - config.setAppId(weChatProperties.getAppId()); // 设置微信公众号的appid - config.setSecret(weChatProperties.getAppSecret()); // 设置微信公众号的app corpSecret - config.setToken(weChatProperties.getToken()); // 设置微信公众号的Token - config.setAesKey(weChatProperties.getEncodingAesKey()); // 消息加解密密钥 - return config; - } - @Bean - public WxMaService wxMaService(WxMaConfig wxMaConfigStorage) { - WxMaService wxMpService = new WxMaServiceImpl(); - wxMpService.setWxMaConfig(wxMaConfigStorage); - return wxMpService; - } - @Bean - public WxMaConfig wxMaConfigStorage() { - WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); - config.setAppid(weChatAppletProperties.getAppId()); // 设置微信公众号的appid - config.setSecret(weChatAppletProperties.getAppSecret()); // 设置微信公众号的app corpSecret - return config; - } -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatMessageRouterConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatMessageRouterConfiguration.java deleted file mode 100644 index 9799789b4a5d3c45dc2e00eb04b16ec45702327f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatMessageRouterConfiguration.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.starter.wechat.configuration; - -import cn.bootx.platform.starter.wechat.handler.WeChatMpMessageHandler; -import cn.bootx.platform.starter.wechat.handler.WeChatMsgHandler; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpMessageRouter; -import me.chanjar.weixin.mp.api.WxMpService; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.List; - -/** - * 微信信息路由配置 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Configuration -@RequiredArgsConstructor -public class WeChatMessageRouterConfiguration { - - private final List<WeChatMpMessageHandler> weChatMpMessageHandlers; - - private final WeChatMsgHandler weChatMsgHandler; - - @Bean - public WxMpMessageRouter wxMpMessageRouter(WxMpService wxMpService) { - WxMpMessageRouter router = new WxMpMessageRouter(wxMpService); - // 记录日志 - - // 消息路由绑定 - for (WeChatMpMessageHandler weChatMpMessageHandler : weChatMpMessageHandlers) { - router.rule() - .async(false) - .msgType(weChatMpMessageHandler.getMsgType()) - .event(weChatMpMessageHandler.getEvent()) - .handler(weChatMpMessageHandler) - .end(); - } - // 默认的 文本消息处理 - router.rule().async(false).handler(weChatMsgHandler).end(); - return router; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatProperties.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatProperties.java deleted file mode 100644 index b6246580f0c1152ebd13ffd58f97e1386668d94c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/configuration/WeChatProperties.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.starter.wechat.configuration; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 微信公众平台配置 - * - * @author xxm - * @since 2022/7/15 - */ -@Getter -@Setter -@ConfigurationProperties("bootx.starter.third.wechat") -public class WeChatProperties { - - /** AppKey */ - private String appId = "?"; - - /** AppSecret */ - private String appSecret = "?"; - - /** token */ - private String token = "?"; - - /** 消息加解密密钥 */ - private String encodingAesKey = "?"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMediaController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMediaController.java deleted file mode 100644 index bfd82f4eba48aa41e7383256f4b15c59796b1fe8..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMediaController.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wechat.core.media.service.WeChatMediaService; -import cn.bootx.platform.starter.wechat.dto.media.WeChatMediaDto; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import static me.chanjar.weixin.mp.bean.material.WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem; - -/** - * @author xxm - * @since 2022/8/9 - */ -@Tag(name = "微信素材管理") -@RestController -@RequestMapping("/wechat/media") -@RequiredArgsConstructor -public class WeChatMediaController { - - private final WeChatMediaService weChatMediaService; - - @Operation(summary = "非图文素材分页") - @GetMapping("/pageFile") - public ResResult<PageResult<WeChatMediaDto>> pageFile(PageParam pageParam, String type) { - return Res.ok(weChatMediaService.pageFile(pageParam, type)); - } - - @Operation(summary = "图文素材分页") - @GetMapping("/pageNews") - public ResResult<PageResult<WxMaterialNewsBatchGetNewsItem>> pageNews(PageParam pageParam) { - return Res.ok(weChatMediaService.pageNews(pageParam)); - } - - @Operation(summary = "删除素材") - @DeleteMapping("/deleteFile") - public ResResult<Void> deleteFile(String mediaId) { - weChatMediaService.deleteFile(mediaId); - return Res.ok(); - } - - @Operation(summary = "上传素材") - @PostMapping("/uploadFile") - public ResResult<Void> uploadFile(String mediaType, MultipartFile file) { - weChatMediaService.uploadFile(mediaType, file); - return Res.ok(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMenuController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMenuController.java deleted file mode 100644 index 1c556776ebcb0d7c106e5c64f02eea05823cc331..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatMenuController.java +++ /dev/null @@ -1,91 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wechat.core.menu.service.WeChatMenuService; -import cn.bootx.platform.starter.wechat.dto.menu.WeChatMenuDto; -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 微信菜单管理 - * - * @author xxm - * @since 2022/8/6 - */ -@Tag(name = "微信菜单管理") -@RestController -@RequestMapping("/wechat/menu") -@RequiredArgsConstructor -public class WeChatMenuController { - - private final WeChatMenuService weChatMenuService; - - @Operation(summary = "添加") - @PostMapping(value = "/add") - public ResResult<Void> add(@RequestBody WeChatMenuParam param) { - weChatMenuService.add(param); - return Res.ok(); - } - - @Operation(summary = "修改") - @PostMapping(value = "/update") - public ResResult<Void> update(@RequestBody WeChatMenuParam param) { - weChatMenuService.update(param); - return Res.ok(); - } - - @Operation(summary = "删除") - @DeleteMapping(value = "/delete") - public ResResult<Void> delete(Long id) { - weChatMenuService.delete(id); - return Res.ok(); - } - - @Operation(summary = "通过ID查询") - @GetMapping(value = "/findById") - public ResResult<WeChatMenuDto> findById(Long id) { - return Res.ok(weChatMenuService.findById(id)); - } - - @Operation(summary = "查询所有") - @GetMapping(value = "/findAll") - public ResResult<List<WeChatMenuDto>> findAll() { - return Res.ok(weChatMenuService.findAll()); - } - - @Operation(summary = "分页查询") - @GetMapping(value = "/page") - public ResResult<PageResult<WeChatMenuDto>> page(PageParam pageParam, WeChatMenuParam weChatMenuParam) { - return Res.ok(weChatMenuService.page(pageParam, weChatMenuParam)); - } - - @Operation(summary = "发布菜单") - @PostMapping("/publish") - public ResResult<Void> publish(Long id) { - weChatMenuService.publish(id); - return Res.ok(); - } - - @Operation(summary = "导入微信自定义菜单到系统中") - @PostMapping("/importMenu") - public ResResult<Void> importMenu() { - weChatMenuService.importMenu(); - return Res.ok(); - } - - @Operation(summary = "清空微信自定义菜单") - @PostMapping("/clearMenu") - public ResResult<Void> clearMenu() { - weChatMenuService.clearMenu(); - return Res.ok(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatPortalController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatPortalController.java deleted file mode 100644 index 5028b4a09e629f3f44c7db945cefac300b5fb55d..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatPortalController.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.bootx.platform.starter.wechat.core.portal.service.WeChatPortalService; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -/** - * 微信工作台接入入口 - * - * @author xxm - * @since 2022/7/16 - */ -@IgnoreAuth -@Slf4j -@Tag(name = "微信接入入口") -@RestController -@RequestMapping("/wechat/portal") -@RequiredArgsConstructor -public class WeChatPortalController { - - private final WeChatPortalService weChatPortalService; - - /** - * 微信接入校验处理 - * @param signature 微信签名 - * @param timestamp 时间戳 - * @param nonce 随机数 - * @param echostr 随机字符串 - */ - @GetMapping(produces = "text/plain;charset=utf-8") - public String auth(String signature, String timestamp, String nonce, String echostr) { - return weChatPortalService.auth(signature, timestamp, nonce, echostr); - } - - /** - * 微信消息处理 - * @param requestBody 请求报文体 - * @param signature 微信签名 - * @param encType 加签方式 - * @param msgSignature 微信签名 - * @param timestamp 时间戳 - * @param nonce 随机数 - */ - @PostMapping(produces = "application/xml; charset=UTF-8") - public String post(@RequestBody String requestBody, String signature, String timestamp, String nonce, String openid, - @RequestParam(name = "encrypt_type", required = false) String encType, - @RequestParam(name = "msg_signature", required = false) String msgSignature) { - return weChatPortalService.handleMessage(requestBody, signature, timestamp, nonce, openid, encType, - msgSignature); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatTemplateController.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatTemplateController.java deleted file mode 100644 index d618de59bd0326c18f68cc2aa99ffa06f2eb6a3a..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatTemplateController.java +++ /dev/null @@ -1,62 +0,0 @@ -package cn.bootx.platform.starter.wechat.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.wechat.core.notice.service.WeChatTemplateService; -import cn.bootx.platform.starter.wechat.dto.notice.WeChatTemplateDto; -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -/** - * @author xxm - * @since 2022/7/16 - */ -@Tag(name = "微信模板消息") -@RestController -@RequestMapping("/wechat/template") -@RequiredArgsConstructor -public class WeChatTemplateController { - - private final WeChatTemplateService weChatTemplateService; - - @Operation(summary = "修改") - @PostMapping(value = "/update") - public ResResult<Void> update(@RequestBody WeChatTemplateParam param) { - weChatTemplateService.update(param); - return Res.ok(); - } - - @Operation(summary = "通过ID查询") - @GetMapping(value = "/findById") - public ResResult<WeChatTemplateDto> findById(Long id) { - return Res.ok(weChatTemplateService.findById(id)); - } - - @Operation(summary = "分页查询") - @GetMapping(value = "/page") - public ResResult<PageResult<WeChatTemplateDto>> page(PageParam pageParam, WeChatTemplateParam weChatTemplateParam) { - return Res.ok(weChatTemplateService.page(pageParam, weChatTemplateParam)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(weChatTemplateService.existsByCode(code, id)); - } - - @Operation(summary = "同步消息模板数据") - @PostMapping("/sync") - public ResResult<Void> sync() { - // 为了获取用户生效, 测试用 - SecurityUtil.getUserId(); - weChatTemplateService.sync(); - return Res.ok(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/article/service/WeChatArticleService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/article/service/WeChatArticleService.java deleted file mode 100644 index ade2a2b157e935ce6b3d0a19522dd8ab465cc617..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/article/service/WeChatArticleService.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.article.service; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wechat.dto.article.WeChatArticleDto; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import me.chanjar.weixin.mp.api.WxMpService; -import org.springframework.stereotype.Service; - -import java.util.stream.Collectors; - -/** - * @author xxm - * @since 2022/8/11 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatArticleService { - - private final WxMpService wxMpService; - - /** - * 查询图文 - * @return - */ - @SneakyThrows - public PageResult<WeChatArticleDto> page(PageParam pageParam) { - val freePublishService = wxMpService.getFreePublishService(); - val result = freePublishService.getPublicationRecords(pageParam.start(), pageParam.getSize()); - val items = result.getItems().stream().map(WeChatArticleDto::init).collect(Collectors.toList()); - PageResult<WeChatArticleDto> pageResult = new PageResult<>(); - pageResult.setCurrent(pageParam.getCurrent()) - .setRecords(items) - .setSize(pageParam.getSize()) - .setTotal(result.getTotalCount()); - return pageResult; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/login/service/WeChatQrLoginService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/login/service/WeChatQrLoginService.java deleted file mode 100644 index 19af0f2747a88d793c964b87e3c4c65d9429e420..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/login/service/WeChatQrLoginService.java +++ /dev/null @@ -1,99 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.login.service; - -import cn.bootx.platform.starter.auth.exception.LoginFailureException; -import cn.bootx.platform.common.redis.RedisClient; -import cn.bootx.platform.starter.wechat.dto.login.WeChatLoginQrCode; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpQrcodeService; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; -import org.springframework.stereotype.Service; - -import java.util.Objects; - -import static cn.bootx.platform.starter.wechat.code.WeChatCode.*; - -/** - * 扫码事件 - * - * @author xxm - * @since 2022/8/4 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatQrLoginService { - - private final RedisClient redisClient; - - private final WxMpService wxMpService; - - private final String PREFIX_KEY = "third:wechat:login:qr:"; - - /** - * 申请待扫描的二维码 - */ - @SneakyThrows - public WeChatLoginQrCode applyQrCode() { - WxMpQrcodeService qrcodeService = wxMpService.getQrcodeService(); - long timeout = 5 * 60 * 1000; - String qrCodeKey = IdUtil.getSnowflakeNextIdStr(); - // 创建微信临时Key, 需要有指定的前缀 - String wxKey = QRSCENE_LOGIN + qrCodeKey; - WxMpQrCodeTicket wxMpQrCodeTicket = qrcodeService.qrCodeCreateTmpTicket(wxKey, (int) timeout); - String url = wxMpQrCodeTicket.getUrl(); - redisClient.setWithTimeout(PREFIX_KEY + qrCodeKey, "", timeout); - return new WeChatLoginQrCode(qrCodeKey, url); - } - - /** - * 查询二维码状态 等待扫码/登录成功/过期 - */ - public String getStatus(String key) { - String openId = redisClient.get(PREFIX_KEY + key); - // 超时 - if (Objects.isNull(openId)) { - return QR_LOGIN_EXPIRED; - } - // 等待 - else if (StrUtil.isBlank(openId)) { - return QR_LOGIN_WAIT; - } - // 登录成功 - else { - return QR_LOGIN_OK; - } - } - - /** - * 设置微信openId - */ - public void setOpenId(String key, String openId) { - if (redisClient.exists(PREFIX_KEY + key)) { - redisClient.set(PREFIX_KEY + key, openId); - } - } - - /** - * 获取 openId - */ - public String getOpenId(String key) { - String openId = redisClient.get(PREFIX_KEY + key); - if (StrUtil.isBlank(openId)) { - throw new LoginFailureException("数据已过期或不存在"); - } - return openId; - } - - /** - * 清除扫码信息 - */ - public void clear(String key) { - redisClient.deleteKey(PREFIX_KEY + key); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/media/service/WeChatMediaService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/media/service/WeChatMediaService.java deleted file mode 100644 index bfbb2095e390eeb11309ff162b2a07ee523b59f3..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/media/service/WeChatMediaService.java +++ /dev/null @@ -1,103 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.media.service; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.FileUtil; -import cn.bootx.platform.starter.wechat.dto.media.WeChatMediaDto; -import cn.hutool.core.io.FileTypeUtil; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.io.file.FileNameUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.api.WxMpMaterialService; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.material.WxMpMaterial; -import me.chanjar.weixin.mp.bean.material.WxMpMaterialNewsBatchGetResult.WxMaterialNewsBatchGetNewsItem; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 素材管理 - * - * @author xxm - * @since 2022/8/9 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatMediaService { - - private final WxMpService wxMpService; - - /** - * 分页查询 - */ - @SneakyThrows - public PageResult<WeChatMediaDto> pageFile(PageParam pageParam, String type) { - WxMpMaterialService materialService = wxMpService.getMaterialService(); - val result = materialService.materialFileBatchGet(type, pageParam.start(), pageParam.getSize()); - // val result = new WxMpMaterialFileBatchGetResult(); - val items = result.getItems().stream().map(WeChatMediaDto::init).collect(Collectors.toList()); - PageResult<WeChatMediaDto> pageResult = new PageResult<>(); - pageResult.setCurrent(pageParam.getCurrent()) - .setRecords(items) - .setSize(pageParam.getSize()) - .setTotal(result.getTotalCount()); - return pageResult; - } - - /** - * 分页查询(图文) - */ - @SneakyThrows - public PageResult<WxMaterialNewsBatchGetNewsItem> pageNews(PageParam pageParam) { - WxMpMaterialService materialService = wxMpService.getMaterialService(); - val result = materialService.materialNewsBatchGet(pageParam.start(), pageParam.getSize()); - val items = result.getItems(); - PageResult<WxMaterialNewsBatchGetNewsItem> pageResult = new PageResult<>(); - pageResult.setCurrent(pageParam.getCurrent()) - .setRecords(items) - .setSize(pageParam.getSize()) - .setTotal(result.getTotalCount()); - return pageResult; - } - - /** - * 删除素材 - */ - @SneakyThrows - public void deleteFile(String mediaId) { - WxMpMaterialService materialService = wxMpService.getMaterialService(); - materialService.materialDelete(mediaId); - } - - /** - * 上传 非图文素材 - * @see WxConsts.MediaFileType - */ - @SneakyThrows - public void uploadFile(String mediaType, MultipartFile multipartFile) { - WxMpMaterialService materialService = wxMpService.getMaterialService(); - byte[] bytes = IoUtil.readBytes(multipartFile.getInputStream()); - String originalFilename = multipartFile.getOriginalFilename(); - String fileName = FileNameUtil.mainName(originalFilename); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes), originalFilename); - File tempFile = FileUtil.createTempFile(new ByteArrayInputStream(bytes), fileName, fileType); - WxMpMaterial material = new WxMpMaterial(); - material.setFile(tempFile); - if (Objects.equals(mediaType, WxConsts.MediaFileType.VIDEO)) { - material.setVideoTitle(fileName); - material.setVideoIntroduction(fileName); - } - materialService.materialFileUpload(mediaType, material); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/convert/WeChatMenuConvert.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/convert/WeChatMenuConvert.java deleted file mode 100644 index 0b27d7196b0495936952f0e2a77240f42c45699a..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/convert/WeChatMenuConvert.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.convert; - -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import cn.bootx.platform.starter.wechat.core.menu.entity.WeChatMenu; -import cn.bootx.platform.starter.wechat.dto.menu.WeChatMenuDto; -import me.chanjar.weixin.common.bean.menu.WxMenu; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@Mapper -public interface WeChatMenuConvert { - - WeChatMenuConvert CONVERT = Mappers.getMapper(WeChatMenuConvert.class); - - WeChatMenu convert(WeChatMenuParam in); - - WeChatMenuDto convert(WeChatMenu in); - - WeChatMenuInfo convert(WxMenu in); - - WxMenu convert(WeChatMenuInfo in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuManager.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuManager.java deleted file mode 100644 index d60b693f82825f364a47f20a0023b9c7d53bcd7d..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuManager.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.dao; - -import cn.bootx.platform.starter.wechat.core.menu.entity.WeChatMenu; -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@Repository -@RequiredArgsConstructor -public class WeChatMenuManager extends BaseManager<WeChatMenuMapper, WeChatMenu> { - - /** - * 分页 - */ - public Page<WeChatMenu> page(PageParam pageParam, WeChatMenuParam param) { - Page<WeChatMenu> mpPage = MpUtil.getMpPage(pageParam, WeChatMenu.class); - return lambdaQuery().select(this.getEntityClass(), MpUtil::excludeBigField) - .like(StrUtil.isNotBlank(param.getName()), WeChatMenu::getName, param.getName()) - .orderByDesc(MpIdEntity::getId) - .page(mpPage); - } - - /** - * 清除其他发布状态 - */ - public void clearPublish() { - lambdaUpdate().eq(WeChatMenu::isPublish, true).set(WeChatMenu::isPublish, false).update(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuMapper.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuMapper.java deleted file mode 100644 index 6934ab0e6cf0c0da78b5df297668e239297e0a8b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/dao/WeChatMenuMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.dao; - -import cn.bootx.platform.starter.wechat.core.menu.entity.WeChatMenu; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@Mapper -public interface WeChatMenuMapper extends BaseMapper<WeChatMenu> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/domin/WeChatMenuInfo.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/domin/WeChatMenuInfo.java deleted file mode 100644 index aeb482c91cb1885f5f4518d82c7c9cc891727ec4..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/domin/WeChatMenuInfo.java +++ /dev/null @@ -1,164 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.domin; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.common.bean.menu.WxMenu; -import me.chanjar.weixin.common.bean.menu.WxMenuButton; -import me.chanjar.weixin.mp.bean.menu.WxMpMenu; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022/8/8 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信自定义菜单") -public class WeChatMenuInfo { - - private List<Button> buttons = new ArrayList<>(); - - @Data - @Accessors(chain = true) - @Schema(title = "菜单按钮") - public static class Button { - - /** - * <pre> - * 菜单的响应动作类型. - * view表示网页类型, - * click表示点击类型, - * miniprogram表示小程序类型 - * </pre> - */ - private String type; - - /** - * 菜单标题,不超过16个字节,子菜单不超过60个字节. - */ - private String name; - - /** - * <pre> - * 菜单KEY值,用于消息接口推送,不超过128字节. - * click等点击类型必须 - * </pre> - */ - private String key; - - /** - * <pre> - * 网页链接. - * 用户点击菜单可打开链接,不超过1024字节。type为miniprogram时,不支持小程序的老版本客户端将打开本url。 - * view、miniprogram类型必须 - * </pre> - */ - private String url; - - /** - * <pre> - * 调用新增永久素材接口返回的合法media_id. - * media_id类型和view_limited类型必须 - * </pre> - */ - private String mediaId; - - /** - * <pre> - * 调用发布图文接口获得的article_id. - * article_id类型和article_view_limited类型必须 - * </pre> - */ - private String articleId; - - /** - * <pre> - * 小程序的appid. - * miniprogram类型必须 - * </pre> - */ - private String appId; - - /** - * <pre> - * 小程序的页面路径. - * miniprogram类型必须 - * </pre> - */ - private String pagePath; - - private List<Button> subButtons = new ArrayList<>(); - - } - - /** - * 转换成wxJava的对象 - */ - public WxMenu toWxMenu() { - WxMenu wxMenu = new WxMenu(); - List<WxMenuButton> collect = this.getButtons().stream().map(this::toWxButton).collect(Collectors.toList()); - wxMenu.setButtons(collect); - return wxMenu; - } - - private WxMenuButton toWxButton(Button button) { - List<WxMenuButton> subButtons = button.getSubButtons() - .stream() - .map(this::toWxButton) - .collect(Collectors.toList()); - WxMenuButton wxMenuButton = new WxMenuButton(); - wxMenuButton.setType(button.getType()); - wxMenuButton.setName(button.getName()); - wxMenuButton.setKey(button.getKey()); - wxMenuButton.setUrl(button.getUrl()); - wxMenuButton.setMediaId(button.getMediaId()); - wxMenuButton.setArticleId(button.getArticleId()); - wxMenuButton.setAppId(button.getAppId()); - wxMenuButton.setPagePath(button.getPagePath()); - wxMenuButton.setSubButtons(subButtons); - return wxMenuButton; - } - - /** - * 从WxJava对象转成 - */ - public static WeChatMenuInfo init(WxMpMenu wxMpMenu) { - WeChatMenuInfo weChatMenuInfo = new WeChatMenuInfo(); - List<Button> buttons = wxMpMenu.getMenu() - .getButtons() - .stream() - .map(WeChatMenuInfo::initButton) - .collect(Collectors.toList()); - - weChatMenuInfo.setButtons(buttons); - return weChatMenuInfo; - } - - /** - * 菜单按钮转换 - */ - private static Button initButton(WxMenuButton wxMenuButton) { - List<Button> subButtons = wxMenuButton.getSubButtons() - .stream() - .map(WeChatMenuInfo::initButton) - .collect(Collectors.toList()); - Button button = new Button(); - button.setType(wxMenuButton.getType()); - button.setName(wxMenuButton.getName()); - button.setKey(wxMenuButton.getKey()); - button.setUrl(wxMenuButton.getUrl()); - button.setMediaId(wxMenuButton.getMediaId()); - button.setArticleId(wxMenuButton.getArticleId()); - button.setAppId(wxMenuButton.getAppId()); - button.setPagePath(wxMenuButton.getPagePath()); - button.setSubButtons(subButtons); - return button; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/entity/WeChatMenu.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/entity/WeChatMenu.java deleted file mode 100644 index b983003c860d91c0bfa0533a14d55ac7f33d5f51..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/entity/WeChatMenu.java +++ /dev/null @@ -1,54 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.entity; - -import cn.bootx.platform.starter.wechat.core.menu.convert.WeChatMenuConvert; -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import cn.bootx.platform.common.core.annotation.BigField; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import cn.bootx.platform.starter.wechat.dto.menu.WeChatMenuDto; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName(value = "starter_wx_menu", autoResultMap = true) -public class WeChatMenu extends MpBaseEntity implements EntityBaseFunction<WeChatMenuDto> { - - /** 名称 */ - private String name; - - /** 菜单信息 */ - @BigField - @TableField(typeHandler = JacksonTypeHandler.class) - private WeChatMenuInfo menuInfo; - - /** 是否发布 */ - private boolean publish; - - /** 备注 */ - private String remark; - - /** 创建对象 */ - public static WeChatMenu init(WeChatMenuParam in) { - return WeChatMenuConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public WeChatMenuDto toDto() { - return WeChatMenuConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/service/WeChatMenuService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/service/WeChatMenuService.java deleted file mode 100644 index b1b5ace7382cd528e7bc86b2c9cbebbbcd7efa86..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/menu/service/WeChatMenuService.java +++ /dev/null @@ -1,130 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.menu.service; - -import cn.bootx.platform.starter.wechat.param.menu.WeChatMenuParam; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.wechat.core.menu.dao.WeChatMenuManager; -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import cn.bootx.platform.starter.wechat.core.menu.entity.WeChatMenu; -import cn.bootx.platform.starter.wechat.dto.menu.WeChatMenuDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.date.DateUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.bean.menu.WxMenu; -import me.chanjar.weixin.mp.api.WxMpMenuService; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.menu.WxMpMenu; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 微信菜单 - * - * @author xxm - * @since 2022/8/6 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatMenuService { - - private final WxMpService wxMpService; - - private final WeChatMenuManager weChatMenuManager; - - /** - * 添加 - */ - public void add(WeChatMenuParam param) { - WeChatMenu weChatMenu = WeChatMenu.init(param); - weChatMenuManager.save(weChatMenu); - } - - /** - * 修改 - */ - public void update(WeChatMenuParam param) { - WeChatMenu weChatMenu = weChatMenuManager.findById(param.getId()).orElseThrow(DataNotExistException::new); - - BeanUtil.copyProperties(param, weChatMenu, CopyOptions.create().ignoreNullValue()); - weChatMenuManager.updateById(weChatMenu); - } - - /** - * 分页 - */ - public PageResult<WeChatMenuDto> page(PageParam pageParam, WeChatMenuParam weChatMenuParam) { - return MpUtil.convert2DtoPageResult(weChatMenuManager.page(pageParam, weChatMenuParam)); - } - - /** - * 获取单条 - */ - public WeChatMenuDto findById(Long id) { - return weChatMenuManager.findById(id).map(WeChatMenu::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 获取全部 - */ - public List<WeChatMenuDto> findAll() { - return ResultConvertUtil.dtoListConvert(weChatMenuManager.findAll()); - } - - /** - * 删除 - */ - public void delete(Long id) { - weChatMenuManager.deleteById(id); - } - - /** - * 发布菜单 - */ - @SneakyThrows - @Transactional(rollbackFor = Exception.class) - public void publish(Long id) { - WeChatMenu weChatMenu = weChatMenuManager.findById(id).orElseThrow(() -> new DataNotExistException("菜单信息不存在")); - WxMenu wxMenu = weChatMenu.getMenuInfo().toWxMenu(); - WxMpMenuService menuService = wxMpService.getMenuService(); - menuService.menuCreate(wxMenu); - weChatMenu.setPublish(true); - weChatMenuManager.clearPublish(); - weChatMenuManager.updateById(weChatMenu); - } - - /** - * 导入当前微信菜单 - */ - @Transactional(rollbackFor = Exception.class) - @SneakyThrows - public void importMenu() { - WxMpMenuService menuService = wxMpService.getMenuService(); - WxMpMenu wxMpMenu = menuService.menuGet(); - WeChatMenuInfo weChatMenuInfo = WeChatMenuInfo.init(wxMpMenu); - WeChatMenu weChatMenu = new WeChatMenu().setName("微信自定义菜单") - .setRemark("导入时间" + DateUtil.now()) - .setPublish(true) - .setMenuInfo(weChatMenuInfo); - weChatMenuManager.clearPublish(); - weChatMenuManager.save(weChatMenu); - } - - /** - * 清空菜单 - */ - @SneakyThrows - public void clearMenu() { - WxMpMenuService menuService = wxMpService.getMenuService(); - menuService.menuDelete(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/convert/WeChatTemplateConvert.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/convert/WeChatTemplateConvert.java deleted file mode 100644 index 1b2ab3a1bb6223dc26162e0979d902d10e901d58..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/convert/WeChatTemplateConvert.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.convert; - -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import cn.bootx.platform.starter.wechat.dto.notice.WeChatTemplateDto; -import me.chanjar.weixin.mp.bean.template.WxMpTemplate; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -/** - * @author xxm - * @since 2022/7/17 - */ -@Mapper -public interface WeChatTemplateConvert { - - WeChatTemplateConvert CONVERT = Mappers.getMapper(WeChatTemplateConvert.class); - - @Mapping(source = "title", target = "name") - WeChatTemplate convert(WxMpTemplate in); - - WeChatTemplate convert(WeChatTemplateParam in); - - WeChatTemplateDto convert(WeChatTemplate in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateManager.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateManager.java deleted file mode 100644 index 888a9b30183770502c3dff09cec7656c5b029749..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateManager.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.dao; - -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * @author xxm - * @since 2022/7/17 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class WeChatTemplateManager extends BaseManager<WeChatTemplateMapper, WeChatTemplate> { - - public Page<WeChatTemplate> page(PageParam pageParam, WeChatTemplateParam param) { - Page<WeChatTemplate> mpPage = MpUtil.getMpPage(pageParam, WeChatTemplate.class); - return this.lambdaQuery() - .select(WeChatTemplate.class, MpUtil::excludeBigField) - .like(StrUtil.isNotBlank(param.getTemplateId()), WeChatTemplate::getTemplateId, param.getTemplateId()) - .like(StrUtil.isNotBlank(param.getName()), WeChatTemplate::getName, param.getName()) - .like(StrUtil.isNotBlank(param.getCode()), WeChatTemplate::getCode, param.getCode()) - .orderByDesc(MpIdEntity::getId) - .page(mpPage); - } - - public boolean existsByCode(String code, Long id) { - return existedByField(WeChatTemplate::getCode, code, id); - } - - /** - * 根据code查询 - */ - public Optional<WeChatTemplate> findByCode(String code) { - return this.findByField(WeChatTemplate::getCode, code); - } - - /** - * 根据code查询 - */ - public Optional<WeChatTemplate> findTemplateIdByCode(String code) { - return lambdaQuery().select(WeChatTemplate::getTemplateId).eq(WeChatTemplate::getCode, code).oneOpt(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateMapper.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateMapper.java deleted file mode 100644 index 6cafda229f6617f963aabd81eea91bb22ef67046..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/dao/WeChatTemplateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.dao; - -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2022/7/17 - */ -@Mapper -public interface WeChatTemplateMapper extends BaseMapper<WeChatTemplate> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/entity/WeChatTemplate.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/entity/WeChatTemplate.java deleted file mode 100644 index 54b835f8adab5ace893b1ec6e98a6d5d2c678d25..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/entity/WeChatTemplate.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.entity; - -import cn.bootx.platform.starter.wechat.core.notice.convert.WeChatTemplateConvert; -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import cn.bootx.platform.common.core.annotation.BigField; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpDelEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import cn.bootx.platform.starter.wechat.dto.notice.WeChatTemplateDto; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import lombok.experimental.FieldNameConstants; -import me.chanjar.weixin.mp.bean.template.WxMpTemplate; - -/** - * 微信消息模板 - * - * @author xxm - * @since 2022-08-03 - */ -@FieldNameConstants -@EqualsAndHashCode(callSuper = true) -@Data -@TableName("starter_wx_template") -@Accessors(chain = true) -public class WeChatTemplate extends MpDelEntity implements EntityBaseFunction<WeChatTemplateDto> { - - /** 名称 */ - private String name; - - /** 编码 */ - private String code; - - /** 是否启用 */ - private Boolean enable; - - /** 模板ID */ - private String templateId; - - /** 模板标题 */ - private String title; - - /** 模板所属行业的一级行业 */ - private String primaryIndustry; - - /** 模板所属行业的二级行业 */ - private String deputyIndustry; - - /** 模板内容 */ - @BigField - private String content; - - /** 示例 */ - @BigField - private String example; - - /** 创建对象 */ - public static WeChatTemplate init(WeChatTemplateParam in) { - return WeChatTemplateConvert.CONVERT.convert(in); - } - - public static WeChatTemplate init(WxMpTemplate wxMpTemplate) { - WeChatTemplate template = WeChatTemplateConvert.CONVERT.convert(wxMpTemplate); - template.setEnable(true); - return template; - } - - /** 转换成dto */ - @Override - public WeChatTemplateDto toDto() { - return WeChatTemplateConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WeChatTemplateService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WeChatTemplateService.java deleted file mode 100644 index b91c750740b0cd725f8b2b8f971e66819b0d4878..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WeChatTemplateService.java +++ /dev/null @@ -1,125 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.service; - -import cn.bootx.platform.common.websocket.entity.WsRes; -import cn.bootx.platform.common.websocket.service.UserWsNoticeService; -import cn.bootx.platform.starter.wechat.param.notice.WeChatTemplateParam; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.wechat.core.notice.dao.WeChatTemplateManager; -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import cn.bootx.platform.starter.wechat.dto.notice.WeChatTemplateDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.api.WxMpTemplateMsgService; -import me.chanjar.weixin.mp.bean.template.WxMpTemplate; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 微信消息模板 - * - * @author xxm - * @since 2022/7/15 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatTemplateService { - - private final WxMpService wxMpService; - - private final WeChatTemplateManager weChatTemplateManager; - - private final UserWsNoticeService userWsNoticeService; - - /** - * 修改 - */ - public void update(WeChatTemplateParam param) { - WeChatTemplate weChatTemplate = weChatTemplateManager.findById(param.getId()) - .orElseThrow(DataNotExistException::new); - BeanUtil.copyProperties(param, weChatTemplate, CopyOptions.create().ignoreNullValue()); - weChatTemplateManager.updateById(weChatTemplate); - } - - /** - * 分页 - */ - public PageResult<WeChatTemplateDto> page(PageParam pageParam, WeChatTemplateParam weChatTemplateParam) { - return MpUtil.convert2DtoPageResult(weChatTemplateManager.page(pageParam, weChatTemplateParam)); - } - - /** - * 获取单条 - */ - public WeChatTemplateDto findById(Long id) { - return weChatTemplateManager.findById(id).map(WeChatTemplate::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 获取全部 - */ - public List<WeChatTemplateDto> findAll() { - return ResultConvertUtil.dtoListConvert(weChatTemplateManager.findAll()); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return weChatTemplateManager.existsByCode(code, id); - } - - /** - * 同步 - */ - @SneakyThrows - @Async("asyncExecutor") - @Transactional(rollbackFor = Exception.class) - public void sync() { - WxMpTemplateMsgService templateMsgService = wxMpService.getTemplateMsgService(); - // 微信公众号订阅模板 - List<WxMpTemplate> wxTemplates = templateMsgService.getAllPrivateTemplate() - .stream() - .filter(o -> StrUtil.isNotBlank(o.getPrimaryIndustry())) - .collect(Collectors.toList()); - List<String> wxTemplateIds = wxTemplates.stream().map(WxMpTemplate::getTemplateId).collect(Collectors.toList()); - - // 系统中模板 - List<WeChatTemplate> weChatTemplates = weChatTemplateManager.findAll(); - List<String> weChatTemplatesIds = weChatTemplates.stream() - .map(WeChatTemplate::getTemplateId) - .collect(Collectors.toList()); - - // 删除 本地有有,服务端没有 - List<Long> deleteIds = weChatTemplates.stream() - .filter(o -> !wxTemplateIds.contains(o.getTemplateId())) - .map(MpIdEntity::getId) - .collect(Collectors.toList()); - // 新增 服务端有且本地没有 - List<WeChatTemplate> saveTemplate = wxTemplates.stream() - .filter(o -> !weChatTemplatesIds.contains(o.getTemplateId())) - .map(WeChatTemplate::init) - .collect(Collectors.toList()); - weChatTemplateManager.saveAll(saveTemplate); - weChatTemplateManager.deleteByIds(deleteIds); - SecurityUtil.getCurrentUser() - .ifPresent(userDetail -> userWsNoticeService.sendMessageByUser(WsRes.notificationInfo("微信消息模板同步成功"), - userDetail.getId())); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WechatNoticeService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WechatNoticeService.java deleted file mode 100644 index 83eae983fb7d2d972ece7a7c9ea45bedd923f803..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/notice/service/WechatNoticeService.java +++ /dev/null @@ -1,61 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.notice.service; - -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.dto.KeyValue; -import cn.bootx.platform.starter.wechat.core.notice.dao.WeChatTemplateManager; -import cn.bootx.platform.starter.wechat.core.notice.entity.WeChatTemplate; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.api.WxMpTemplateMsgService; -import me.chanjar.weixin.mp.bean.template.WxMpTemplateData; -import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 微信消息通知功能 - * - * @author xxm - * @since 2022/7/15 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WechatNoticeService { - - private final WxMpService wxMpService; - - private final WeChatTemplateManager weChatTemplateManager; - - /** - * 发送模板信息 根据模板编号 - */ - @SneakyThrows - public String sentNotice(String code, String wxOpenId, List<KeyValue> keyValues) { - WeChatTemplate weChatTemplate = weChatTemplateManager.findTemplateIdByCode(code) - .orElseThrow(() -> new DataNotExistException("微信消息模板不存在")); - return this.sentNoticeByTemplateId(weChatTemplate.getTemplateId(), wxOpenId, keyValues); - } - - /** - * 发送模板信息 根据微信消息模板ID - */ - @SneakyThrows - public String sentNoticeByTemplateId(String templateId, String wxOpenId, List<KeyValue> keyValues) { - WxMpTemplateMsgService templateMsgService = wxMpService.getTemplateMsgService(); - WxMpTemplateMessage message = new WxMpTemplateMessage(); - message.setToUser(wxOpenId); - message.setTemplateId(templateId); - - List<WxMpTemplateData> wxMpTemplateData = keyValues.stream() - .map(keyValue -> new WxMpTemplateData(keyValue.getKey(), keyValue.getValue())) - .collect(Collectors.toList()); - message.setData(wxMpTemplateData); - return templateMsgService.sendTemplateMsg(message); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/portal/service/WeChatPortalService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/portal/service/WeChatPortalService.java deleted file mode 100644 index 6b8d7c233bb16359030af4cfaa6e01e883390ded..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/portal/service/WeChatPortalService.java +++ /dev/null @@ -1,90 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.portal.service; - -import cn.bootx.platform.common.core.exception.ValidationFailedException; -import cn.hutool.core.util.StrUtil; -import cn.hutool.crypto.symmetric.SymmetricAlgorithm; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpMessageRouter; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Service; - -/** - * 微信门户处理 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatPortalService { - - private final WxMpService wxMpService; - - private final WxMpMessageRouter wxMpMessageRouter; - - /** - * 微信接入校验处理 - * @param signature 微信签名 - * @param timestamp 时间戳 - * @param nonce 随机数 - * @param echostr 随机字符串 - */ - public String auth(String signature, String timestamp, String nonce, String echostr) { - log.info("接收到来自微信服务器的认证消息:[{}, {}, {}, {}]", signature, timestamp, nonce, echostr); - if (StrUtil.isAllBlank(signature, timestamp, nonce, echostr)) { - throw new ValidationFailedException(); - } - - if (wxMpService.checkSignature(timestamp, nonce, signature)) { - return echostr; - } - return "非法请求"; - } - - /** - * 微信消息处理 - * @param requestBody 请求报文体 - * @param signature 微信签名 - * @param encType 加签方式 - * @param msgSignature 微信签名 - * @param timestamp 时间戳 - * @param nonce 随机数 - */ - public String handleMessage(String requestBody, String signature, String timestamp, String nonce, String openid, - String encType, String msgSignature) { - if (!wxMpService.checkSignature(timestamp, nonce, signature)) { - throw new ValidationFailedException("非法请求,可能属于伪造的请求!"); - } - String out = "success"; - - // 明文模式 - if (StrUtil.isBlank(encType)) { - WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(requestBody); - WxMpXmlOutMessage outMessage = wxMpMessageRouter.route(inMessage); - if (outMessage != null) { - out = outMessage.toXml(); - } - } - - // aes加密模式 - if (SymmetricAlgorithm.AES.name().equalsIgnoreCase(encType)) { - WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, wxMpService.getWxMpConfigStorage(), - timestamp, nonce, msgSignature); - - log.debug("消息解密后内容为:{} ", inMessage.toString()); - - WxMpXmlOutMessage outMessage = wxMpMessageRouter.route(inMessage); - if (outMessage != null) { - out = outMessage.toEncryptedXml(wxMpService.getWxMpConfigStorage()); - } - } - - log.debug("组装回复信息:{}", out); - return out; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/convert/WechatFansConvert.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/convert/WechatFansConvert.java deleted file mode 100644 index 125f468648b7d67ce9a5db585585b7bce18e85dd..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/convert/WechatFansConvert.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.convert; - -import cn.bootx.platform.starter.wechat.param.user.WechatFansParam; -import cn.bootx.platform.starter.wechat.core.user.entity.WechatFans; -import cn.bootx.platform.starter.wechat.dto.user.WechatFansDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@Mapper -public interface WechatFansConvert { - - WechatFansConvert CONVERT = Mappers.getMapper(WechatFansConvert.class); - - WechatFans convert(WechatFansParam in); - - WechatFansDto convert(WechatFans in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansManager.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansManager.java deleted file mode 100644 index e526a91bbb1c102df01a44081da1f23f8edd40ff..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansManager.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.dao; - -import cn.bootx.platform.starter.wechat.core.user.entity.WechatFans; -import cn.bootx.platform.starter.wechat.param.user.WechatFansParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@Repository -@RequiredArgsConstructor -public class WechatFansManager extends BaseManager<WechatFansMapper, WechatFans> { - - /** - * 分页 - */ - public Page<WechatFans> page(PageParam pageParam, WechatFansParam param) { - Page<WechatFans> mpPage = MpUtil.getMpPage(pageParam, WechatFans.class); - return lambdaQuery().orderByDesc(MpIdEntity::getId).page(mpPage); - } - - /** - * 获取最新的一条 - */ - public Optional<WechatFans> findLatest() { - Page<WechatFans> mpPage = new Page<>(0, 1); - Page<WechatFans> fansPage = this.lambdaQuery().orderByDesc(MpIdEntity::getId).page(mpPage); - if (fansPage.getTotal() > 0) { - return Optional.of(fansPage.getRecords().get(0)); - } - return Optional.empty(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansMapper.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansMapper.java deleted file mode 100644 index fcea7f9e784c35c363c8a463fb58b2c05f455c53..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/dao/WechatFansMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.dao; - -import cn.bootx.platform.starter.wechat.core.user.entity.WechatFans; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@Mapper -public interface WechatFansMapper extends BaseMapper<WechatFans> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/entity/WechatFans.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/entity/WechatFans.java deleted file mode 100644 index ce1a61eace896a816bbca049a08dd4493c67c709..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/entity/WechatFans.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.entity; - -import cn.bootx.platform.starter.wechat.core.user.convert.WechatFansConvert; -import cn.bootx.platform.starter.wechat.param.user.WechatFansParam; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.starter.wechat.dto.user.WechatFansDto; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 微信粉丝 - * - * @author xxm - * @since 2022/7/15 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("starter_wx_fans") -public class WechatFans extends MpIdEntity implements EntityBaseFunction<WechatFansDto> { - - /** 关联OpenId */ - private String openid; - - /** unionId */ - private String unionId; - - /** 订阅状态,未关注/已关注 */ - private Boolean subscribe; - - /** 订阅时间 */ - private LocalDateTime subscribeTime; - - /** 语言 */ - private String language; - - /** 备注 */ - private String remark; - - /** 创建对象 */ - public static WechatFans init(WechatFansParam in) { - return WechatFansConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public WechatFansDto toDto() { - return WechatFansConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/service/WeChatUserService.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/service/WeChatUserService.java deleted file mode 100644 index 7da1a592ca57dc3564d5eb8843c587e1edab8d29..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/core/user/service/WeChatUserService.java +++ /dev/null @@ -1,86 +0,0 @@ -package cn.bootx.platform.starter.wechat.core.user.service; - -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.bootx.platform.starter.wechat.core.user.entity.WechatFans; -import cn.hutool.core.collection.CollUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.api.WxMpUserService; -import me.chanjar.weixin.mp.bean.WxMpUserQuery; -import me.chanjar.weixin.mp.bean.result.WxMpUser; -import me.chanjar.weixin.mp.bean.result.WxMpUserList; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 微信用户相关接口 (获取不到详细信息了) - * - * @author xxm - * @since 2022/7/15 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeChatUserService { - - private final WxMpService wxMpService; - - private static final int SIZE = 100; - - /** - * 获取关注用户列表 - */ - public void page(PageParam pageParam) { - WxMpUserService userService = wxMpService.getUserService(); - WxMpUserQuery userQuery = new WxMpUserQuery(); - } - - /** - * 同步粉丝 - */ - @Async("asyncExecutor") - public void sync() { - // 根据公众号查询已同步用户openid 查询最新的一条 - } - - /** - * 获取微信用户 (获取不到昵称和头像了, 感觉没什么用了) - * @param nextOpenid 下一组开始的openid - */ - @SneakyThrows - public void fetchUser(String nextOpenid) { - WxMpUserList wxMpUserList = wxMpService.getUserService().userList(nextOpenid); - // openId 分组 每组 100个 openid - List<List<String>> openIdsList = CollUtil.split(wxMpUserList.getOpenids(), SIZE) - .stream() - .filter(CollUtil::isNotEmpty) - .collect(Collectors.toList()); - // 处理每个分组. 调用查询用户信息 - for (List<String> openIdList : openIdsList) { - log.info("开始批量获取用户信息 {}", openIdList); - List<WechatFans> wxAccountFansList = new ArrayList<>(); - log.info("批量插入用户信息完成 {}", openIdList); - } - // 如果nextOpenId 不为空,则继续获取 - } - - /** - * 构建对象 - */ - private WechatFans buildFans(WxMpUser wxMpUser) { - return new WechatFans().setOpenid(wxMpUser.getOpenId()) - .setUnionId(wxMpUser.getUnionId()) - .setSubscribe(true) - .setSubscribeTime(LocalDateTimeUtil.of(wxMpUser.getSubscribeTime())) - .setLanguage(wxMpUser.getLanguage()) - .setRemark(wxMpUser.getRemark()); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/article/WeChatArticleDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/article/WeChatArticleDto.java deleted file mode 100644 index c7b145a7df7c816307caf7ec638691fd487ed45f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/article/WeChatArticleDto.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.article; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.mp.bean.freepublish.WxMpFreePublishArticles; -import me.chanjar.weixin.mp.bean.freepublish.WxMpFreePublishItem; - -import java.time.LocalDateTime; -import java.util.stream.Collectors; - -/** - * 微信文章 - * - * @author xxm - * @since 2022/8/12 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信文章") -public class WeChatArticleDto { - - @Schema(description = "文章id") - private String articleId; - - @Schema(description = "标题组") - private String titles; - - @Schema(description = "更新时间") - private LocalDateTime updateTime; - - /** - * 构建 - */ - public static WeChatArticleDto init(WxMpFreePublishItem item) { - DateTime date = DateUtil.date(Long.parseLong(item.getUpdateTime())); - LocalDateTime localDateTime = DateUtil.toLocalDateTime(date); - String titles = item.getContent() - .getNewsItem() - .stream() - .map(WxMpFreePublishArticles::getTitle) - .collect(Collectors.joining(",")); - return new WeChatArticleDto().setArticleId(item.getArticleId()).setUpdateTime(localDateTime).setTitles(titles); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/login/WeChatLoginQrCode.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/login/WeChatLoginQrCode.java deleted file mode 100644 index adab6d5ffc57e9e5ad686b8fde3837db4efd909b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/login/WeChatLoginQrCode.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.login; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/8/4 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Schema(title = "登录二维码") -public class WeChatLoginQrCode { - - @Schema(description = "key") - private String qrCodeKey; - - @Schema(description = "qrCode") - private String qrCodeUrl; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/media/WeChatMediaDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/media/WeChatMediaDto.java deleted file mode 100644 index 850a302862d76aa9b4c35d5bd7750ada97ed8c12..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/media/WeChatMediaDto.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.media; - -import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.mp.bean.material.WxMpMaterialFileBatchGetResult.WxMaterialFileBatchGetNewsItem; - -import java.time.LocalDateTime; - -/** - * @author xxm - * @since 2022/8/12 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信素材") -public class WeChatMediaDto { - - @Schema(description = "媒体id") - private String mediaId; - - @Schema(description = "名称") - private String name; - - @Schema(description = "链接地址") - private String url; - - @Schema(description = "更新时间") - private LocalDateTime updateTime; - - public static WeChatMediaDto init(WxMaterialFileBatchGetNewsItem item) { - return new WeChatMediaDto().setMediaId(item.getMediaId()) - .setName(item.getName()) - .setUrl(item.getUrl()) - .setUpdateTime(LocalDateTimeUtil.of(item.getUpdateTime())); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/menu/WeChatMenuDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/menu/WeChatMenuDto.java deleted file mode 100644 index e9a93a59e66521a7573a470f0842f0cd300e40a4..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/menu/WeChatMenuDto.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.menu; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "微信自定义菜单") -@Accessors(chain = true) -public class WeChatMenuDto extends BaseDto { - - @Schema(description = "名称") - private String name; - - @Schema(description = "菜单信息") - private WeChatMenuInfo menuInfo; - - @Schema(description = "是否发布") - private boolean publish; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/notice/WeChatTemplateDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/notice/WeChatTemplateDto.java deleted file mode 100644 index c2a42b8d703b29370c858456cd1e8314f22af811..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/notice/WeChatTemplateDto.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.notice; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 微信消息模板 - * - * @author xxm - * @since 2022-08-03 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "微信消息模板") -@Accessors(chain = true) -public class WeChatTemplateDto extends BaseDto { - - @Schema(description = "名称") - private String name; - - @Schema(description = "编码") - private String code; - - @Schema(description = "是否启用") - private Boolean enable; - - @Schema(description = "模板ID") - private String templateId; - - @Schema(description = "模板标题") - private String title; - - @Schema(description = "模板所属行业的一级行业") - private String primaryIndustry; - - @Schema(description = "模板所属行业的二级行业") - private String deputyIndustry; - - @Schema(description = "模板内容") - private String content; - - @Schema(description = "示例") - private String example; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/user/WechatFansDto.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/user/WechatFansDto.java deleted file mode 100644 index a0024f9ef73a39df0ac0d165ca5e6f515d055b33..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/dto/user/WechatFansDto.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.bootx.platform.starter.wechat.dto.user; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "微信公众号粉丝") -@Accessors(chain = true) -public class WechatFansDto extends BaseDto { - - @Schema(description = "关联OpenId") - private String openid; - - @Schema(description = "订阅状态") - private Boolean subscribeStatus; - - @Schema(description = "订阅时间") - private LocalDateTime subscribeTime; - - @Schema(description = "昵称") - private String nickname; - - @Schema(description = "性别") - private String sex; - - @Schema(description = "语言") - private String language; - - @Schema(description = "国家") - private String country; - - @Schema(description = "省份") - private String province; - - @Schema(description = "城市") - private String city; - - @Schema(description = "头像地址") - private String avatarUrl; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/event/WeChatQrScanEvent.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/event/WeChatQrScanEvent.java deleted file mode 100644 index b055a405a6bf4d2522967356f44c69fc40199514..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/event/WeChatQrScanEvent.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.starter.wechat.event; - -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 微信扫码关注事件 - * - * @author xxm - * @since 2022/8/4 - */ -@Getter -public class WeChatQrScanEvent extends ApplicationEvent { - - /** 微信id */ - private final String openId; - - /** key值 */ - private final String eventKey; - - public WeChatQrScanEvent(Object source, String openId, String eventKey) { - super(source); - this.openId = openId; - this.eventKey = eventKey; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMpMessageHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMpMessageHandler.java deleted file mode 100644 index c49f32a550e9de08e89619834c6195e143ff060c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMpMessageHandler.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.constant.WxMpEventConstants; - -/** - * 处理微信推送消息的处理器接口 (进行微封装) - * - * @author xxm - * @since 2022/7/16 - */ -public interface WeChatMpMessageHandler extends WxMpMessageHandler { - - /** - * 消息类型 - * @see WxConsts.XmlMsgType - */ - default String getMsgType() { - return WxConsts.XmlMsgType.EVENT; - } - - /** - * event值 - * @see WxMpEventConstants - * @see WxConsts.XmlMsgType - */ - String getEvent(); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMsgHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMsgHandler.java deleted file mode 100644 index e2aa40b405356265654019679ff524e8010eafa5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatMsgHandler.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpMessageHandler; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 微信接受文本消息处理 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatMsgHandler implements WxMpMessageHandler { - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - - // 回复消息的时候发送人和接收人要反过来 - return WxMpXmlOutMessage.TEXT() - .toUser(wxMessage.getFromUser()) - .fromUser(wxMessage.getToUser()) - .content("我复述了一遍: " + wxMessage.getContent()) - .build(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatQrScanHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatQrScanHandler.java deleted file mode 100644 index e7df4b35cd1320fa036c5df7890835a5b8118ff6..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatQrScanHandler.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import cn.bootx.platform.starter.wechat.handler.qrscene.WeChatQrSceneMsgHandler; -import cn.bootx.platform.starter.wechat.core.login.service.WeChatQrLoginService; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.builder.outxml.TextBuilder; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * 微信扫码事件 - * - * @author xxm - * @since 2022/8/4 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatQrScanHandler implements WeChatMpMessageHandler { - - private final WeChatQrLoginService weChatQrLoginService; - - private final List<WeChatQrSceneMsgHandler> weChatQrSceneMsgHandlers; - - @Override - public String getEvent() { - return WxConsts.EventType.SCAN; - } - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> map, WxMpService wxMpService, - WxSessionManager wxSessionManager) { - // 扫描用户的OpenId - String openId = wxMessage.getFromUser(); - // 判断是否携带扫码参数 - for (WeChatQrSceneMsgHandler msgHandler : weChatQrSceneMsgHandlers) { - if (StrUtil.startWith(wxMessage.getEventKey(), msgHandler.getPrefix())) { - WxMpXmlOutMessage message = msgHandler.handler(wxMessage, map, wxMpService, wxSessionManager); - if (Objects.nonNull(message)) { - return message; - } - } - } - // 二维码key值 - String qrCodeKey = wxMessage.getEventKey(); - weChatQrLoginService.setOpenId(qrCodeKey, openId); - - return new TextBuilder().fromUser(wxMessage.getToUser()) - .toUser(wxMessage.getFromUser()) - .content("感谢关注") - .build(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatSubscribeHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatSubscribeHandler.java deleted file mode 100644 index 92018552749a0635676901aa740cc477b762d364..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatSubscribeHandler.java +++ /dev/null @@ -1,59 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import cn.bootx.platform.starter.wechat.handler.qrscene.WeChatQrSceneMsgHandler; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.builder.outxml.TextBuilder; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * 新增关注订阅消息 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatSubscribeHandler implements WeChatMpMessageHandler { - - private final List<WeChatQrSceneMsgHandler> weChatQrSceneMsgHandlers; - - @Override - public String getEvent() { - return WxConsts.EventType.SUBSCRIBE; - } - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - String openId = wxMessage.getFromUser(); - // 处理关注事件 - log.info("新关注用户 OPENID: " + openId); - - // 判断是否携带扫码参数 - for (WeChatQrSceneMsgHandler msgHandler : weChatQrSceneMsgHandlers) { - if (StrUtil.startWith(wxMessage.getEventKey(), msgHandler.getPrefix())) { - WxMpXmlOutMessage message = msgHandler.handler(wxMessage, context, wxMpService, sessionManager); - if (Objects.nonNull(message)) { - return message; - } - } - } - return new TextBuilder().fromUser(wxMessage.getToUser()) - .toUser(wxMessage.getFromUser()) - .content("感谢关注") - .build(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatUnSubscribeHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatUnSubscribeHandler.java deleted file mode 100644 index e1cd0b82ba545cb57521c60f19f621a40d910905..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WeChatUnSubscribeHandler.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 用户取消关注订阅消息 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatUnSubscribeHandler implements WeChatMpMessageHandler { - - @Override - public String getEvent() { - return WxConsts.EventType.UNSUBSCRIBE; - } - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - log.info("取消关注用户 OPENID: " + wxMessage.getFromUser()); - return null; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WechatMenuHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WechatMenuHandler.java deleted file mode 100644 index d3ebe7a1706d4f8df7ac189cce2e940d252398b3..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/WechatMenuHandler.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 菜单点击事件 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WechatMenuHandler implements WeChatMpMessageHandler { - - @Override - public String getEvent() { - return WxConsts.MenuButtonType.CLICK; - } - - @Override - public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - return null; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrLoginHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrLoginHandler.java deleted file mode 100644 index 5e9b012a4bdc895351f5dd5c5bccc897cec48bac..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrLoginHandler.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler.qrscene; - -import cn.bootx.platform.starter.wechat.core.login.service.WeChatQrLoginService; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; -import me.chanjar.weixin.mp.builder.outxml.TextBuilder; -import org.springframework.stereotype.Component; - -import java.util.Map; - -import static cn.bootx.platform.starter.wechat.code.WeChatCode.EVENT_KEY_QRSCENE; -import static cn.bootx.platform.starter.wechat.code.WeChatCode.QRSCENE_LOGIN; - -/** - * 微信扫码登录 - * - * @author xxm - * @since 2023/3/21 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatQrLoginHandler implements WeChatQrSceneMsgHandler { - - private final WeChatQrLoginService weChatQrLoginService; - - /** - * 消息前缀 - */ - @Override - public String getPrefix() { - return EVENT_KEY_QRSCENE + QRSCENE_LOGIN; - } - - /** - * 处理消息 - */ - @Override - public WxMpXmlOutMessage handler(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager) { - String openId = wxMessage.getFromUser(); - // 将扫码获取的二维码key值进行保存 - String qrCodeKey = StrUtil.subAfter(wxMessage.getEventKey(), getPrefix(), false); - weChatQrLoginService.setOpenId(qrCodeKey, openId); - return new TextBuilder().fromUser(wxMessage.getToUser()) - .toUser(wxMessage.getFromUser()) - .content("感谢关注") - .build(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrSceneMsgHandler.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrSceneMsgHandler.java deleted file mode 100644 index 8bd427f388471c83c1f4ccece12e3ecfcae204f1..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/handler/qrscene/WeChatQrSceneMsgHandler.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.starter.wechat.handler.qrscene; - -import me.chanjar.weixin.common.session.WxSessionManager; -import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage; -import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; - -import java.util.Map; - -/** - * 微信扫码消息处理 - * - * @author xxm - * @since 2023/3/21 - */ -public interface WeChatQrSceneMsgHandler { - - /** - * 消息前缀 - */ - String getPrefix(); - - /** - * 处理消息 - */ - WxMpXmlOutMessage handler(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, - WxSessionManager sessionManager); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/menu/WeChatMenuParam.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/menu/WeChatMenuParam.java deleted file mode 100644 index 22b950303d10a2ceb2891cbbbf87a8abe2c41716..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/menu/WeChatMenuParam.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.starter.wechat.param.menu; - -import cn.bootx.platform.starter.wechat.core.menu.domin.WeChatMenuInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 微信自定义菜单 - * - * @author xxm - * @since 2022-08-08 - */ -@Data -@Schema(title = "微信自定义菜单") -@Accessors(chain = true) -public class WeChatMenuParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "菜单信息") - private WeChatMenuInfo menuInfo = new WeChatMenuInfo(); - - @Schema(description = "是否发布") - private boolean publish; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/notice/WeChatTemplateParam.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/notice/WeChatTemplateParam.java deleted file mode 100644 index 53bfe8e9ea921a554bb216c129f5b8545ae1b11e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/notice/WeChatTemplateParam.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.starter.wechat.param.notice; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 微信消息模板 - * - * @author xxm - * @since 2022-08-03 - */ -@Data -@Schema(title = "微信消息模板") -@Accessors(chain = true) -public class WeChatTemplateParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "编码") - private String code; - - @Schema(description = "是否启用") - private Boolean enable; - - @Schema(description = "模板ID") - private String templateId; - - @Schema(description = "模板标题") - private String title; - - @Schema(description = "模板所属行业的一级行业") - private String primaryIndustry; - - @Schema(description = "模板所属行业的二级行业") - private String deputyIndustry; - - @Schema(description = "模板内容") - private String content; - - @Schema(description = "示例") - private String example; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/portal/WeChatPortalParam.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/portal/WeChatPortalParam.java deleted file mode 100644 index 8e3aec90b5f5ebce3df9138749ce71d5982fa161..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/portal/WeChatPortalParam.java +++ /dev/null @@ -1,11 +0,0 @@ -package cn.bootx.platform.starter.wechat.param.portal; - -/** - * 微信返回的消息入参 - * - * @author xxm - * @since 2022/7/16 - */ -public class WeChatPortalParam { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/user/WechatFansParam.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/user/WechatFansParam.java deleted file mode 100644 index 17b198b9e3f07ab86ebae2df6876846905dc0de6..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/param/user/WechatFansParam.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.bootx.platform.starter.wechat.param.user; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 微信公众号粉丝 - * - * @author xxm - * @since 2022-07-16 - */ -@Data -@Schema(title = "微信公众号粉丝") -@Accessors(chain = true) -public class WechatFansParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "关联OpenId") - private String openid; - - @Schema(description = "订阅状态") - private Boolean subscribeStatus; - - @Schema(description = "订阅时间") - private LocalDateTime subscribeTime; - - @Schema(description = "昵称") - private String nickname; - - @Schema(description = "性别") - private String sex; - - @Schema(description = "语言") - private String language; - - @Schema(description = "国家") - private String country; - - @Schema(description = "省份") - private String province; - - @Schema(description = "城市") - private String city; - - @Schema(description = "头像地址") - private String avatarUrl; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/util/WeChatUtil.java b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/util/WeChatUtil.java deleted file mode 100644 index 9995319cc2c9861b3e7224c252a997ba63cbdca6..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/util/WeChatUtil.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.bootx.platform.starter.wechat.util; - -import cn.hutool.core.util.StrUtil; -import lombok.experimental.UtilityClass; - -/** - * 微信工具类 - * - * @author xxm - * @since 2022/8/5 - */ -@UtilityClass -public class WeChatUtil { - - /** - * 获取微信二维码链接的参数值 - */ - public String getKeyByUrl(String url) { - return StrUtil.subAfter(url, "/q/", true); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 21bbc21391e613f3a4dabf9d208af32bac2d7194..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -cn.bootx.platform.starter.wechat.WeChatAutoConfiguration diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/pom.xml b/bootx-platform/bootx-common-starters/common-starter-wecom/pom.xml deleted file mode 100644 index 95b8d19fb6428684a803c268e214b52a92fd8646..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <groupId>cn.bootx.platform</groupId> - <artifactId>bootx-common-starters</artifactId> - <version>1.3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - <packaging>jar</packaging> - - <artifactId>common-starter-wecom</artifactId> - - <dependencies> - <dependency> - <groupId>com.github.binarywang</groupId> - <artifactId>weixin-java-cp</artifactId> - <version>${wxjava.version}</version> - <exclusions> - <exclusion> - <artifactId>commons-io</artifactId> - <groupId>commons-io</groupId> - </exclusion> - <exclusion> - <artifactId>guava</artifactId> - <groupId>com.google.guava</groupId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-mybatis-plus</artifactId> - </dependency> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-data-perm</artifactId> - </dependency> - </dependencies> -</project> diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/WeComAutoConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/WeComAutoConfiguration.java deleted file mode 100644 index 1f2b4f742b95f054ad4fd1f1649898b9e62112d3..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/WeComAutoConfiguration.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.bootx.platform.starter.wecom; - -import org.apache.ibatis.annotations.Mapper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.context.properties.ConfigurationPropertiesScan; -import org.springframework.context.annotation.ComponentScan; - -/** - * 企业微信 - * - * @author xxm - * @since 2022/7/22 - */ -@ComponentScan -@ConfigurationPropertiesScan -@AutoConfiguration -@MapperScan(annotationClass = Mapper.class) -public class WeComAutoConfiguration { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/code/WeComCode.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/code/WeComCode.java deleted file mode 100644 index 802a2367f937606eb7b8c48f84af110979744c44..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/code/WeComCode.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.bootx.platform.starter.wecom.code; - -/** - * 企微常量 - * - * @author xxm - * @since 2022/7/23 - */ -public interface WeComCode { - - /* 请求地址 */ - /** 撤回应用消息 */ - String NOTICE_RECALL_URL = "https://qyapi.weixin.qq.com/cgi-bin/message/recall"; - - /** 机器人webhook */ - String ROBOT_WEBHOOK_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={}"; - - /** 机器人文件上传 */ - String ROBOT_UPLOAD_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key={}&type=file"; - - /* 消息通知 */ - /** 消息ID */ - String NOTICE_MSG_ID = "msgid"; - - /* 请求参数 */ - /** 文件名称 */ - String FILE_NAME = "filename"; - - /** 文件长度 */ - String FILE_LENGTH = "filelength"; - - /** 文件类型 */ - String CONTENT_TYPE = "content-type"; - - /** 文件 */ - String MEDIA = "media"; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComConfiguration.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComConfiguration.java deleted file mode 100644 index 7eb779a1698e84de0725ee06b2370a084c400d50..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComConfiguration.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.bootx.platform.starter.wecom.configuration; - -import lombok.RequiredArgsConstructor; -import me.chanjar.weixin.cp.api.WxCpService; -import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl; -import me.chanjar.weixin.cp.config.WxCpConfigStorage; -import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Configuration -@RequiredArgsConstructor -public class WeComConfiguration { - - private final WeComProperties weComProperties; - - /** - * 微信公众号APIService - */ - @Bean - public WxCpService wxCpService(WxCpConfigStorage wxMpConfigStorage) { - WxCpService wxMpService = new WxCpServiceImpl(); - wxMpService.setWxCpConfigStorage(wxMpConfigStorage); - return wxMpService; - } - - /** - * 微信配置 - */ - @Bean - public WxCpConfigStorage wxCpConfigStorage() { - WxCpDefaultConfigImpl config = new WxCpDefaultConfigImpl(); - config.setAgentId(weComProperties.getAgentId()); - config.setCorpId(weComProperties.getCorpId()); - config.setCorpSecret(weComProperties.getCorpSecret()); - config.setToken(weComProperties.getToken()); // 设置微信公众号的Token - config.setAesKey(weComProperties.getEncodingAesKey()); // 消息加解密密钥 - return config; - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComProperties.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComProperties.java deleted file mode 100644 index d3ee837a1c19441073e90623a2aaa5725029ce86..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/configuration/WeComProperties.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.bootx.platform.starter.wecom.configuration; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 企业微信配置 - * - * @author xxm - * @since 2022/7/22 - */ -@Getter -@Setter -@ConfigurationProperties("bootx.starter.third.wecom") -public class WeComProperties { - - /** 应用id */ - private Integer agentId; - - /** 企业id */ - private String corpId; - - /** 企业Secret */ - private String corpSecret; - - /** token */ - private String token; - - /** 消息加解密密钥 */ - private String encodingAesKey; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/controller/WecomRobotConfigController.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/controller/WecomRobotConfigController.java deleted file mode 100644 index c0cd78d42ba5d684d00e3d3aa89ef9b5b0d6ebc9..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/controller/WecomRobotConfigController.java +++ /dev/null @@ -1,80 +0,0 @@ -package cn.bootx.platform.starter.wecom.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wecom.core.robot.service.WecomRobotConfigService; -import cn.bootx.platform.starter.wecom.dto.robot.WecomRobotConfigDto; -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * @author xxm - * @since 2022/7/26 - */ -@Tag(name = "企业微信机器人配置") -@RestController -@RequestMapping("/wecom/robot/config") -@RequiredArgsConstructor -public class WecomRobotConfigController { - - private final WecomRobotConfigService robotConfigService; - - @Operation(summary = "新增机器人配置") - @PostMapping("/add") - public ResResult<Void> add(@RequestBody WecomRobotConfigParam param) { - robotConfigService.add(param); - return Res.ok(); - } - - @Operation(summary = "修改机器人配置") - @PostMapping("/update") - public ResResult<Void> update(@RequestBody WecomRobotConfigParam param) { - robotConfigService.update(param); - return Res.ok(); - } - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<WecomRobotConfigDto>> page(PageParam pageParam, WecomRobotConfigParam param) { - return Res.ok(robotConfigService.page(pageParam, param)); - } - - @Operation(summary = "查询全部") - @GetMapping("/findAll") - public ResResult<List<WecomRobotConfigDto>> findAll() { - return Res.ok(robotConfigService.findAll()); - } - - @Operation(summary = "获取详情") - @GetMapping("/findById") - public ResResult<WecomRobotConfigDto> findById(Long id) { - return Res.ok(robotConfigService.findById(id)); - } - - @Operation(summary = "删除") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - robotConfigService.delete(id); - return Res.ok(); - } - - @Operation(summary = "编码是否被使用") - @GetMapping("/existsByCode") - public ResResult<Boolean> existsByCode(String code) { - return Res.ok(robotConfigService.existsByCode(code)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(robotConfigService.existsByCode(code, id)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/domain/WxCpRecallNoticeResult.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/domain/WxCpRecallNoticeResult.java deleted file mode 100644 index d7ea241ada6244c13d46f0b12fbb3bb35714b12f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/domain/WxCpRecallNoticeResult.java +++ /dev/null @@ -1,5 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.notice.domain; - -public class WxCpRecallNoticeResult { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/executor/RecallNoticeRequestExecutor.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/executor/RecallNoticeRequestExecutor.java deleted file mode 100644 index 6283acee16e338651439c9860322ed448b44e6b1..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/executor/RecallNoticeRequestExecutor.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.notice.executor; - -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.hutool.http.HttpUtil; -import me.chanjar.weixin.common.enums.WxType; -import me.chanjar.weixin.common.error.WxError; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.util.http.RequestExecutor; -import me.chanjar.weixin.common.util.http.ResponseHandler; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import static cn.bootx.platform.starter.wecom.code.WeComCode.NOTICE_MSG_ID; - -/** - * 消息撤回请求执行器. - * - * @author xxm - * @since 2022/7/23 - */ -public class RecallNoticeRequestExecutor implements RequestExecutor<WxError, String> { - - @Override - public WxError execute(String uri, String data, WxType wxType) throws WxErrorException { - - Map<String, String> map = new HashMap<>(1); - map.put(NOTICE_MSG_ID, data); - String response = HttpUtil.createPost(uri).body(JacksonUtil.toJson(map)).execute().body(); - - WxError result = WxError.fromJson(response); - if (result.getErrorCode() != 0) { - throw new WxErrorException(result); - } - return result; - } - - @Override - public void execute(String uri, String data, ResponseHandler<WxError> handler, WxType wxType) - throws WxErrorException, IOException { - handler.handle(this.execute(uri, data, wxType)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/service/WeComNoticeService.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/service/WeComNoticeService.java deleted file mode 100644 index 9c5f7c721da070741c75a24ba9aa687ee36cf9cb..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/notice/service/WeComNoticeService.java +++ /dev/null @@ -1,71 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.notice.service; - -import cn.bootx.platform.starter.wecom.configuration.WeComProperties; -import cn.bootx.platform.starter.wecom.core.notice.executor.RecallNoticeRequestExecutor; -import cn.hutool.core.io.FileTypeUtil; -import cn.hutool.core.io.IoUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; -import me.chanjar.weixin.cp.api.WxCpMediaService; -import me.chanjar.weixin.cp.api.WxCpMessageService; -import me.chanjar.weixin.cp.api.WxCpService; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; -import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult; -import org.springframework.stereotype.Service; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -import static cn.bootx.platform.starter.wecom.code.WeComCode.NOTICE_RECALL_URL; - -/** - * 企业微信消息发送 - * - * @author xxm - * @since 2022/7/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeComNoticeService { - - private final WxCpService wxCpService; - - private final WeComProperties weComProperties; - - /** - * 发送应用消息 - * @return 消息id, 可用于撤回 - */ - @SneakyThrows - public String sendNotice(WxCpMessage message) { - WxCpMessageService messageService = wxCpService.getMessageService(); - message.setAgentId(weComProperties.getAgentId()); - WxCpMessageSendResult result = messageService.send(message); - return result.getMsgId(); - } - - /** - * 撤回应用消息 - * @param msgId 消息id - */ - @SneakyThrows - public void recallNotice(String msgId) { - wxCpService.execute(new RecallNoticeRequestExecutor(), NOTICE_RECALL_URL, msgId); - } - - /** - * 上传临时素材 - */ - @SneakyThrows - public String updatedMedia(InputStream inputStream, String mediaType) { - WxCpMediaService mediaService = wxCpService.getMediaService(); - byte[] bytes = IoUtil.readBytes(inputStream); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes)); - WxMediaUploadResult result = mediaService.upload(mediaType, fileType, new ByteArrayInputStream(bytes)); - return result.getMediaId(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/convert/WecomRobotConfigConvert.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/convert/WecomRobotConfigConvert.java deleted file mode 100644 index 35d481edeaac338c85d09af7e34fcada33d0992b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/convert/WecomRobotConfigConvert.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.convert; - -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import cn.bootx.platform.starter.wecom.dto.robot.WecomRobotConfigDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Mapper -public interface WecomRobotConfigConvert { - - WecomRobotConfigConvert CONVERT = Mappers.getMapper(WecomRobotConfigConvert.class); - - WecomRobotConfig convert(WecomRobotConfigParam in); - - WecomRobotConfigDto convert(WecomRobotConfig in); - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigManager.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigManager.java deleted file mode 100644 index f69bbd123650a331717fb10a2434b4346f31eb33..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigManager.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.dao; - -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Repository -@RequiredArgsConstructor -public class WecomRobotConfigManager extends BaseManager<WecomRobotConfigMapper, WecomRobotConfig> { - - /** - * 根据code获取机器人配置 - */ - public Optional<WecomRobotConfig> findByCode(String code) { - return findByField(WecomRobotConfig::getCode, code); - } - - public boolean existsByCode(String code) { - return existedByField(WecomRobotConfig::getCode, code); - } - - public boolean existsByCode(String code, Long id) { - return lambdaQuery().eq(WecomRobotConfig::getCode, code).ne(MpIdEntity::getId, id).exists(); - } - - /** - * 分页 - */ - public Page<WecomRobotConfig> page(PageParam pageParam, WecomRobotConfigParam param) { - Page<WecomRobotConfig> mpPage = MpUtil.getMpPage(pageParam, WecomRobotConfig.class); - return lambdaQuery().like(StrUtil.isNotBlank(param.getCode()), WecomRobotConfig::getCode, param.getCode()) - .like(StrUtil.isNotBlank(param.getName()), WecomRobotConfig::getCode, param.getName()) - .like(StrUtil.isNotBlank(param.getWebhookKey()), WecomRobotConfig::getWebhookKey, param.getWebhookKey()) - .orderByDesc(MpIdEntity::getId) - .page(mpPage); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigMapper.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigMapper.java deleted file mode 100644 index 3eee2d08b624690344f52ee74593d760eb153043..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/dao/WecomRobotConfigMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.dao; - -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Mapper -public interface WecomRobotConfigMapper extends BaseMapper<WecomRobotConfig> { - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/domin/UploadMedia.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/domin/UploadMedia.java deleted file mode 100644 index 8a4bb67d207bfe8e35176d18424b1108fdb1294a..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/domin/UploadMedia.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.domin; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.InputStream; - -/** - * 企微文件上传 - * - * @author xxm - * @since 2022/7/24 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企微文件上传") -public class UploadMedia { - - @Schema(description = "文件名称") - private String filename; - - @Schema(description = "文件类型") - private String fileType; - - @Schema(description = "文件流") - private InputStream inputStream; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/entity/WecomRobotConfig.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/entity/WecomRobotConfig.java deleted file mode 100644 index b38199c7f22c31c6bcd2837aa9f81bb8f9dc2ef9..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/entity/WecomRobotConfig.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.entity; - -import cn.bootx.platform.starter.wecom.core.robot.convert.WecomRobotConfigConvert; -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.starter.wecom.code.WeComCode; -import cn.bootx.platform.starter.wecom.dto.robot.WecomRobotConfigDto; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@TableName("starter_wecom_robot_config") -@Accessors(chain = true) -public class WecomRobotConfig extends MpBaseEntity implements EntityBaseFunction<WecomRobotConfigDto> { - - /** 名称 */ - private String name; - - /** 编号 */ - private String code; - - /** webhook地址的key */ - private String webhookKey; - - /** 备注 */ - private String remark; - - /** - * 获取webhook的地址 - */ - public String toWebhookUrl() { - return StrUtil.format(WeComCode.ROBOT_WEBHOOK_URL, webhookKey); - } - - /** 创建对象 */ - public static WecomRobotConfig init(WecomRobotConfigParam in) { - return WecomRobotConfigConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public WecomRobotConfigDto toDto() { - return WecomRobotConfigConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/executor/RobotMediaFileUploadRequestExecutor.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/executor/RobotMediaFileUploadRequestExecutor.java deleted file mode 100644 index b8abd006aceb01dbe917c463c6edf5aa9751cab5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/executor/RobotMediaFileUploadRequestExecutor.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.executor; - -import cn.bootx.platform.starter.wecom.code.WeComCode; -import cn.bootx.platform.starter.wecom.core.robot.domin.UploadMedia; -import cn.hutool.http.HttpUtil; -import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; -import me.chanjar.weixin.common.enums.WxType; -import me.chanjar.weixin.common.error.WxError; -import me.chanjar.weixin.common.error.WxErrorException; -import me.chanjar.weixin.common.util.fs.FileUtils; -import me.chanjar.weixin.common.util.http.RequestExecutor; -import me.chanjar.weixin.common.util.http.ResponseHandler; - -import java.io.File; -import java.io.IOException; - -/** - * 机器人文件素材上传 - * - * @author xxm - * @since 2022/7/23 - */ -public class RobotMediaFileUploadRequestExecutor implements RequestExecutor<WxMediaUploadResult, UploadMedia> { - - @Override - public WxMediaUploadResult execute(String uri, UploadMedia uploadMedia, WxType wxType) - throws WxErrorException, IOException { - File tmpFile = FileUtils.createTmpFile(uploadMedia.getInputStream(), uploadMedia.getFilename(), - uploadMedia.getFileType()); - String filename = uploadMedia.getFilename() + "." + uploadMedia.getFileType(); - String response; - response = HttpUtil.createPost(uri).form(WeComCode.MEDIA, tmpFile, filename).execute().body(); - - WxError result = WxError.fromJson(response); - if (result.getErrorCode() != 0) { - throw new WxErrorException(result); - } - return WxMediaUploadResult.fromJson(response); - } - - @Override - public void execute(String uri, UploadMedia data, ResponseHandler<WxMediaUploadResult> handler, WxType wxType) - throws WxErrorException, IOException { - handler.handle(this.execute(uri, data, wxType)); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WeComRobotNoticeService.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WeComRobotNoticeService.java deleted file mode 100644 index ee14630e5b7b8e44d0362419657ac73134a54d98..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WeComRobotNoticeService.java +++ /dev/null @@ -1,132 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.service; - -import cn.bootx.platform.starter.wecom.core.robot.executor.RobotMediaFileUploadRequestExecutor; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.starter.wecom.core.robot.dao.WecomRobotConfigManager; -import cn.bootx.platform.starter.wecom.core.robot.domin.UploadMedia; -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import cn.hutool.core.io.FileTypeUtil; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.io.file.FileNameUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; -import me.chanjar.weixin.cp.api.WxCpGroupRobotService; -import me.chanjar.weixin.cp.api.WxCpService; -import me.chanjar.weixin.cp.bean.article.NewArticle; -import org.springframework.stereotype.Service; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.List; - -import static cn.bootx.platform.starter.wecom.code.WeComCode.ROBOT_UPLOAD_URL; - -/** - * 企微机器人消息通知 - * - * @author xxm - * @since 2022/7/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeComRobotNoticeService { - - private final WxCpService wxCpService; - - private final WecomRobotConfigManager robotConfigManager; - - /** - * 发送文本消息 - */ - @SneakyThrows - public void sendTextNotice(String code, String content, List<String> mentionedList, List<String> mobileList) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendText(robotConfig.toWebhookUrl(), content, mentionedList, mobileList); - } - - /** - * 发送markdown消息 - */ - @SneakyThrows - public void sendMarkdownNotice(String code, String content) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendMarkdown(robotConfig.toWebhookUrl(), content); - } - - /** - * 发送图片消息 - */ - @SneakyThrows - public void sendImageNotice(String code, String imageBase64, String md5) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendImage(robotConfig.toWebhookUrl(), imageBase64, md5); - } - - /** - * 发送图文消息 - */ - @SneakyThrows - public void sendNewsNotice(String code, List<NewArticle> articleList) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendNews(robotConfig.toWebhookUrl(), articleList); - } - - /** - * 发送文件消息 - */ - @SneakyThrows - public void sendFIleNotice(String code, String mediaId) { - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - WxCpGroupRobotService robotService = wxCpService.getGroupRobotService(); - robotService.sendFile(robotConfig.toWebhookUrl(), mediaId); - } - - /** - * 机器人临时文件上传 - */ - @SneakyThrows - public String updatedMedia(String code, InputStream inputStream) { - byte[] bytes = IoUtil.readBytes(inputStream); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes)); - UploadMedia uploadMedia = new UploadMedia().setFileType(fileType) - .setFilename(IdUtil.getSnowflakeNextIdStr()) - .setInputStream(new ByteArrayInputStream(bytes)); - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - String url = StrUtil.format(ROBOT_UPLOAD_URL, robotConfig.getWebhookKey()); - WxMediaUploadResult result = wxCpService.execute(new RobotMediaFileUploadRequestExecutor(), url, uploadMedia); - return result.getMediaId(); - } - - /** - * 机器人临时文件上传 - */ - @SneakyThrows - public String updatedMedia(String code, InputStream inputStream, String filename) { - byte[] bytes = IoUtil.readBytes(inputStream); - String fileType = FileTypeUtil.getType(new ByteArrayInputStream(bytes), filename); - UploadMedia uploadMedia = new UploadMedia().setFileType(fileType) - .setFilename(FileNameUtil.mainName(filename)) - .setInputStream(new ByteArrayInputStream(bytes)); - WecomRobotConfig robotConfig = robotConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("企业微信机器人配置未找到")); - String url = StrUtil.format(ROBOT_UPLOAD_URL, robotConfig.getWebhookKey()); - WxMediaUploadResult result = wxCpService.execute(new RobotMediaFileUploadRequestExecutor(), url, uploadMedia); - return result.getMediaId(); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WecomRobotConfigService.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WecomRobotConfigService.java deleted file mode 100644 index c29ab88ed8a9676ba1609f93b44d4bca7e0c4172..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/core/robot/service/WecomRobotConfigService.java +++ /dev/null @@ -1,94 +0,0 @@ -package cn.bootx.platform.starter.wecom.core.robot.service; - -import cn.bootx.platform.starter.wecom.param.robot.WecomRobotConfigParam; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.starter.wecom.core.robot.dao.WecomRobotConfigManager; -import cn.bootx.platform.starter.wecom.core.robot.entity.WecomRobotConfig; -import cn.bootx.platform.starter.wecom.dto.robot.WecomRobotConfigDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WecomRobotConfigService { - - private final WecomRobotConfigManager robotConfigManager; - - /** - * 添加 - */ - public void add(WecomRobotConfigParam param) { - WecomRobotConfig wecomRobotConfig = WecomRobotConfig.init(param); - robotConfigManager.save(wecomRobotConfig); - } - - /** - * 修改 - */ - public void update(WecomRobotConfigParam param) { - WecomRobotConfig wecomRobotConfig = robotConfigManager.findById(param.getId()) - .orElseThrow(DataNotExistException::new); - - BeanUtil.copyProperties(param, wecomRobotConfig, CopyOptions.create().ignoreNullValue()); - robotConfigManager.updateById(wecomRobotConfig); - } - - /** - * 分页 - */ - public PageResult<WecomRobotConfigDto> page(PageParam pageParam, WecomRobotConfigParam wecomRobotConfigParam) { - return MpUtil.convert2DtoPageResult(robotConfigManager.page(pageParam, wecomRobotConfigParam)); - } - - /** - * 获取单条 - */ - public WecomRobotConfigDto findById(Long id) { - return robotConfigManager.findById(id).map(WecomRobotConfig::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 获取全部 - */ - public List<WecomRobotConfigDto> findAll() { - return ResultConvertUtil.dtoListConvert(robotConfigManager.findAll()); - } - - /** - * 删除 - */ - public void delete(Long id) { - robotConfigManager.deleteById(id); - } - - /** - * 编码是否已经存在 - */ - public boolean existsByCode(String code) { - return robotConfigManager.existsByCode(code); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return robotConfigManager.existsByCode(code, id); - } - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/dto/robot/WecomRobotConfigDto.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/dto/robot/WecomRobotConfigDto.java deleted file mode 100644 index caa743431b21efe2e1d6b3b9d36d81f7d4ff084c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/dto/robot/WecomRobotConfigDto.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.starter.wecom.dto.robot; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "企业微信机器人配置") -@Accessors(chain = true) -public class WecomRobotConfigDto extends BaseDto { - - @Schema(description = "名称") - private String name; - - @Schema(description = "编号") - private String code; - - @SensitiveInfo - @Schema(description = "webhook地址的key值") - private String webhookKey; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/param/robot/WecomRobotConfigParam.java b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/param/robot/WecomRobotConfigParam.java deleted file mode 100644 index 6207c2c6be31c01bcb31b8779ca68aef061df02f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/java/cn/bootx/platform/starter/wecom/param/robot/WecomRobotConfigParam.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.bootx.platform.starter.wecom.param.robot; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 企业微信机器人配置 - * - * @author bootx - * @since 2022-07-23 - */ -@Data -@Schema(title = "企业微信机器人配置") -@Accessors(chain = true) -public class WecomRobotConfigParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "编号") - private String code; - - @Schema(description = "webhook地址的key值") - private String webhookKey; - - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 79adedc89a8bfddbf48a6e50431e4e3b46e8f8cc..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-common-starters/common-starter-wecom/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -cn.bootx.platform.starter.wecom.WeComAutoConfiguration diff --git a/bootx-platform/bootx-common-starters/pom.xml b/bootx-platform/bootx-common-starters/pom.xml index 7083810d0a9f0c7580cf30438166838241c84f8e..dc01a88f2b9efdfd173ac6d45871e6eecc1f313a 100644 --- a/bootx-platform/bootx-common-starters/pom.xml +++ b/bootx-platform/bootx-common-starters/pom.xml @@ -18,10 +18,7 @@ <module>common-starter-audit-log</module> <module>common-starter-data-perm</module> <module>common-starter-file</module> - <module>common-starter-dingtalk</module> <module>common-starter-monitor</module> - <module>common-starter-wechat</module> - <module>common-starter-wecom</module> </modules> <dependencies> diff --git a/bootx-platform/bootx-commons/pom.xml b/bootx-platform/bootx-commons/pom.xml index 9ae7f1fc50586714dca6d70aae158447a2640833..c5aa9e15a4f107689dbd7e89449e760fc5accfd6 100644 --- a/bootx-platform/bootx-commons/pom.xml +++ b/bootx-platform/bootx-commons/pom.xml @@ -63,6 +63,7 @@ <configuration> <source>${java.version}</source> <target>${java.version}</target> + <compilerArgument>-parameters</compilerArgument> </configuration> </plugin> <plugin> diff --git a/bootx-platform/bootx-services/pom.xml b/bootx-platform/bootx-services/pom.xml index 5e2f27464cca7ef72200a7c2baefc4f90faddac9..2cfb42337bed5dd10db43b70862b8947ef546830 100644 --- a/bootx-platform/bootx-services/pom.xml +++ b/bootx-platform/bootx-services/pom.xml @@ -17,7 +17,6 @@ <modules> <module>service-baseapi</module> <module>service-iam</module> - <module>service-notice</module> </modules> <dependencies> @@ -168,7 +167,6 @@ <artifactId>common-exception-handler</artifactId> </dependency> - <!-- 发号器 --> <dependency> <groupId>cn.bootx.platform</groupId> @@ -233,6 +231,7 @@ <configuration> <source>${java.version}</source> <target>${java.version}</target> + <compilerArgument>-parameters</compilerArgument> </configuration> </plugin> </plugins> diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordDto.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordDto.java deleted file mode 100644 index f31a395b9328079f8fd0dff4ed455448fc788d43..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordDto.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.baseapi.dto.chinaword; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 敏感词 - * @author xxm - * @since 2023-08-09 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "敏感词") -@Accessors(chain = true) -public class ChinaWordDto extends BaseDto { - - @Schema(description = "敏感词") - private String word; - @Schema(description = "分类") - private String type; - @Schema(description = "描述") - private String description; - @Schema(description = "是否启用") - private Boolean enable; - @Schema(description = "是否是白名单名词") - private Boolean white; -} diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordVerifyResult.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordVerifyResult.java deleted file mode 100644 index dc8887f5974961b7f6ed59923e32b4540b9cc605..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/dto/chinaword/ChinaWordVerifyResult.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.baseapi.dto.chinaword; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.Set; - -/** - * 敏感词验证结果 - * @author xxm - * @since 2023/8/9 - */ -@Data -@Accessors(chain = true) -@Schema(title = "敏感词验证结果") -public class ChinaWordVerifyResult { - - @Schema(description = "是否敏感") - private boolean sensitive; - @Schema(description = "敏感词数量") - private int count; - @Schema(description = "去重后的敏感词列表") - private Set<String> sensitiveWords; - @Schema(description = "脱敏后的文本") - private String text; -} diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/handler/region/ChinaRegionInitSqlHandler.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/handler/region/ChinaRegionInitSqlHandler.java deleted file mode 100644 index df05b34d48db050666e9a7b7694b8257f4f51419..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/handler/region/ChinaRegionInitSqlHandler.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.bootx.platform.baseapi.handler.region; - -import com.baomidou.mybatisplus.extension.ddl.SimpleDdl; -import org.springframework.stereotype.Component; - -import java.util.Arrays; -import java.util.List; - -/** - * 行政区域初始化 - * - * @author xxm - * @since 2023/2/7 - */ -@Component -public class ChinaRegionInitSqlHandler extends SimpleDdl { - - /** - * 速度太慢, 还是走手动SQL导入的方式 - */ - @Override - public List<String> getSqlFiles() { - return Arrays.asList( - // "db/region/base_province.sql", - // "db/region/base_city.sql", - // "db/region/base_area.sql", - // "db/region/base_street.sql" - ); - } - -} diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordImportParam.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordImportParam.java deleted file mode 100644 index 5edd178b8ce976696cf4279654210680fffda7ff..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordImportParam.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.baseapi.param.chinaword; - -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -/** - * 敏感词导入参数 - * @author xxm - * @since 2023/8/12 - */ -@Data -public class ChinaWordImportParam { - @ExcelProperty(value = "类型") - private String type; - @ExcelProperty("黑/白名单") - private String whiteOrBlack; - @ExcelProperty("敏感词") - private String word; -} diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordParam.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordParam.java deleted file mode 100644 index 3e5c1fc78ae2d0760740a62746660597ebdfca0d..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordParam.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.bootx.platform.baseapi.param.chinaword; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 敏感词 - * @author xxm - * @since 2023-08-09 - */ -@Data -@Schema(title = "敏感词") -@Accessors(chain = true) -public class ChinaWordParam { - - @Schema(description= "主键") - private Long id; - - @Schema(description = "敏感词") - private String word; - @Schema(description = "分类") - private String type; - @Schema(description = "描述") - private String description; - @Schema(description = "是否启用") - private Boolean enable; - @Schema(description = "白名单名词") - private Boolean white; - -} diff --git a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordVerifyParam.java b/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordVerifyParam.java deleted file mode 100644 index 46d2465a6e30132e5588f970f2f5c063de29ae96..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-baseapi/src/main/java/cn/bootx/platform/baseapi/param/chinaword/ChinaWordVerifyParam.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.baseapi.param.chinaword; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 敏感词验证参数类 - * @author xxm - * @since 2023/8/10 - */ -@Data -@Accessors(chain = true) -@Schema(title = "敏感词验证参数类") -public class ChinaWordVerifyParam { - @Schema(description = "文本") - private String text; - - @Schema(description = "间隔距离") - private int skip = 0; - - @Schema(description = "替换字符") - private char symbol = '*'; -} diff --git a/bootx-platform/bootx-services/service-iam/pom.xml b/bootx-platform/bootx-services/service-iam/pom.xml index 40bbb5b4912ad2456877d88b22c8f4d3901a4692..1047d42e96147a936c86a09428cfe35215d6bcb8 100644 --- a/bootx-platform/bootx-services/service-iam/pom.xml +++ b/bootx-platform/bootx-services/service-iam/pom.xml @@ -53,16 +53,6 @@ <groupId>cn.bootx.platform</groupId> <artifactId>common-websocket</artifactId> </dependency> - <!-- 钉钉平台 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-dingtalk</artifactId> - </dependency> - <!-- 微信公众平台 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wechat</artifactId> - </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> diff --git a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/DingTalkLoginHandler.java b/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/DingTalkLoginHandler.java deleted file mode 100644 index af48a97f5c62a4604dc4d4c5522ef39796ce511a..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/DingTalkLoginHandler.java +++ /dev/null @@ -1,146 +0,0 @@ -package cn.bootx.platform.iam.core.auth.login; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.iam.core.third.dao.UserThirdManager; -import cn.bootx.platform.iam.core.third.entity.UserThird; -import cn.bootx.platform.iam.core.third.entity.UserThirdInfo; -import cn.bootx.platform.iam.core.third.service.UserTiredOperateService; -import cn.bootx.platform.iam.core.user.dao.UserInfoManager; -import cn.bootx.platform.iam.core.user.entity.UserInfo; -import cn.bootx.platform.starter.auth.authentication.OpenIdAuthentication; -import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; -import cn.bootx.platform.starter.auth.configuration.AuthProperties; -import cn.bootx.platform.starter.auth.entity.AuthInfoResult; -import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.exception.LoginFailureException; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.dingtalk.core.user.service.DingUserService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import me.zhyd.oauth.config.AuthConfig; -import me.zhyd.oauth.model.AuthCallback; -import me.zhyd.oauth.model.AuthResponse; -import me.zhyd.oauth.model.AuthUser; -import me.zhyd.oauth.request.AuthDingTalkRequest; -import me.zhyd.oauth.request.AuthRequest; -import me.zhyd.oauth.utils.AuthStateUtils; -import org.springframework.stereotype.Component; - -import java.util.Objects; - -/** - * 钉钉登录 - * - * @author xxm - * @since 2022/4/2 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class DingTalkLoginHandler implements OpenIdAuthentication { - - private final UserTiredOperateService userTiredOperateService; - - private final DingUserService dingUserService; - - private final UserThirdManager userThirdManager; - - private final UserInfoManager userInfoManager; - - private final AuthProperties authProperties; - - /** - * 钉钉登录 - */ - @Override - public String getLoginType() { - return AuthLoginTypeCode.DING_TALK; - } - - /** - * 尝试认证, 获取用户 - */ - @Override - public AuthInfoResult attemptAuthentication(LoginAuthContext context) { - String authCode = context.getRequest().getParameter(AuthLoginTypeCode.AUTH_CODE); - String state = context.getRequest().getParameter(AuthLoginTypeCode.STATE); - - AuthUser authUser = this.getAuthUser(authCode, state); - // 获取钉钉关联的用户id - UserThird userThird = userThirdManager.findByField(UserThird::getDingTalkId, authUser.getUuid()) - .orElseThrow(() -> new LoginFailureException("钉钉没有找到绑定的用户")); - - // 获取用户信息 - UserInfo userInfo = userInfoManager.findById(userThird.getUserId()) - .orElseThrow(() -> new LoginFailureException("用户不存在")); - - return new AuthInfoResult().setUserDetail(userInfo.toUserDetail()).setId(userInfo.getId()); - } - - /** - * 获取登录地址 - */ - @Override - public String getLoginUrl() { - AuthRequest authRequest = this.getAuthRequest(); - return authRequest.authorize(AuthStateUtils.createState()); - } - - /** - * 获取关联的的第三方平台用户信息 - */ - @Override - @SuppressWarnings("unchecked") - public AuthUser getAuthUser(String authCode, String state) { - AuthRequest authRequest = this.getAuthRequest(); - AuthCallback callback = AuthCallback.builder().code(authCode).state(state).build(); - AuthResponse<AuthUser> response = authRequest.login(callback); - if (!Objects.equals(response.getCode(), AuthLoginTypeCode.SUCCESS)) { - log.error("钉钉登录报错: {}", response.getMsg()); - throw new LoginFailureException("钉钉登录出错"); - } - return response.getData(); - } - - /** - * 绑定用户 - */ - @Override - public void bindUser(String authCode, String state) { - Long userId = SecurityUtil.getUserId(); - AuthUser authUser = this.getAuthUser(authCode, state); - userTiredOperateService.checkOpenIdBind(authUser.getUuid(), UserThird::getDingTalkId); - userTiredOperateService.bindOpenId(userId, authUser.getUuid(), UserThird::setDingTalkId); - String thirdUserId = dingUserService.getUserIdByUnionId(authUser.getUuid()); - - // 检查是否允许不在组织中的钉钉人员进行绑定 - if (!authProperties.getThirdLogin().getDingTalk().isCheckBelongOrg() && Objects.isNull(thirdUserId)) { - throw new BizException("未在钉钉组织找到该用户,无法进行绑定"); - } - - UserThirdInfo userThirdInfo = new UserThirdInfo().setUserId(userId) - .setClientCode(AuthLoginTypeCode.DING_TALK) - .setUsername(authUser.getUsername()) - .setNickname(authUser.getNickname()) - .setAvatar(authUser.getAvatar()) - .setThirdUserId(thirdUserId); - userTiredOperateService.bindOpenInfo(userThirdInfo); - } - - /** - * 获取钉钉认证请求 - */ - private AuthDingTalkRequest getAuthRequest() { - val thirdLogin = authProperties.getThirdLogin().getDingTalk(); - if (Objects.isNull(thirdLogin)) { - throw new LoginFailureException("钉钉开放登录配置有误"); - } - return new AuthDingTalkRequest(AuthConfig.builder() - .clientId(thirdLogin.getClientId()) - .clientSecret(thirdLogin.getClientSecret()) - .redirectUri(thirdLogin.getRedirectUri()) - .build()); - } - -} diff --git a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java b/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java deleted file mode 100644 index ebd68be00d56fb7ec32fdabf452e2f9931e8037e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatAppletLoginHandler.java +++ /dev/null @@ -1,98 +0,0 @@ -package cn.bootx.platform.iam.core.auth.login; - -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.iam.core.third.dao.UserThirdManager; -import cn.bootx.platform.iam.core.third.entity.UserThird; -import cn.bootx.platform.iam.core.third.entity.UserThirdInfo; -import cn.bootx.platform.iam.core.third.service.UserTiredOperateService; -import cn.bootx.platform.iam.core.user.dao.UserInfoManager; -import cn.bootx.platform.iam.core.user.entity.UserInfo; -import cn.bootx.platform.starter.auth.authentication.OpenIdAuthentication; -import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; -import cn.bootx.platform.starter.auth.entity.AuthInfoResult; -import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.exception.LoginFailureException; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.wechat.core.user.service.WeChatUserService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.error.WxErrorException; -import me.zhyd.oauth.model.AuthUser; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatAppletLoginHandler implements OpenIdAuthentication { - - - private final UserTiredOperateService userTiredOperateService; - private final WxMaService wxMaService; - - private final UserThirdManager userThirdManager; - - private final UserInfoManager userInfoManager; - - - private final WeChatUserService weChatUserService; - - @Override - public String getLoginType() { - return AuthLoginTypeCode.WE_CHAT_APPLET; - } - - @Override - public AuthInfoResult attemptAuthentication(LoginAuthContext context) { - - String authCode = context.getRequest().getParameter(AuthLoginTypeCode.WE_CHAT_APPLET); - - AuthUser authUser = this.getAuthUser(authCode, null); - - // 获取企微关联的用户id - UserThird userThird = userThirdManager.findByField(UserThird::getWeChatId, authUser.getUuid()) - .orElseThrow(() -> new LoginFailureException("微信没有找到绑定的用户")); - - // 获取用户信息 - UserInfo userInfo = userInfoManager.findById(userThird.getUserId()) - .orElseThrow(() -> new LoginFailureException("用户不存在")); - - return new AuthInfoResult().setUserDetail(userInfo.toUserDetail()).setId(userInfo.getId()); - } - - @Override - public AuthUser getAuthUser(String authCode, String state) { - try { - WxMaJscode2SessionResult result = wxMaService.getUserService().getSessionInfo(authCode); - log.debug("微信服务器返回的用户信息:{}", JacksonUtil.toJson(result)); - return AuthUser.builder() - .avatar("") - .uuid(result.getOpenid()). - nickname("未知") - .username("未知") - .avatar("未知") - .build(); - } catch (WxErrorException e) { - log.error("请求微信服务器异常:{}", e.getError()); - throw new RuntimeException(e); - } - - } - - @Override - public void bindUser(String authCode, String state) { - Long userId = SecurityUtil.getUserId(); - AuthUser authUser = this.getAuthUser(authCode, state); - userTiredOperateService.checkOpenIdBind(authUser.getUuid(), UserThird::getWeChatId); - userTiredOperateService.bindOpenId(userId, authUser.getUuid(), UserThird::setWeChatId); - - UserThirdInfo userThirdInfo = new UserThirdInfo().setUserId(userId) - .setClientCode(AuthLoginTypeCode.WE_CHAT) - .setUsername(authUser.getUsername()) - .setNickname(authUser.getNickname()) - .setAvatar(authUser.getAvatar()) - .setThirdUserId(authUser.getUuid()); - userTiredOperateService.bindOpenInfo(userThirdInfo); - } -} diff --git a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatLoginHandler.java b/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatLoginHandler.java deleted file mode 100644 index 9c3be64e75e818c91249189f8a1e64e8a9a06667..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-iam/src/main/java/cn/bootx/platform/iam/core/auth/login/WeChatLoginHandler.java +++ /dev/null @@ -1,92 +0,0 @@ -package cn.bootx.platform.iam.core.auth.login; - -import cn.bootx.platform.iam.core.third.dao.UserThirdManager; -import cn.bootx.platform.iam.core.third.entity.UserThird; -import cn.bootx.platform.iam.core.third.service.UserTiredOperateService; -import cn.bootx.platform.iam.core.user.dao.UserInfoManager; -import cn.bootx.platform.iam.core.user.entity.UserInfo; -import cn.bootx.platform.starter.auth.authentication.OpenIdAuthentication; -import cn.bootx.platform.starter.auth.code.AuthLoginTypeCode; -import cn.bootx.platform.starter.auth.entity.AuthInfoResult; -import cn.bootx.platform.starter.auth.entity.LoginAuthContext; -import cn.bootx.platform.starter.auth.exception.LoginFailureException; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.starter.wechat.core.login.service.WeChatQrLoginService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.zhyd.oauth.model.AuthUser; -import org.springframework.stereotype.Component; - -/** - * 微信登录(公众号) - * - * @author xxm - * @since 2021/8/2 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class WeChatLoginHandler implements OpenIdAuthentication { - - private final UserTiredOperateService userTiredOperateService; - - private final WeChatQrLoginService weChatQrLoginService; - - private final UserThirdManager userThirdManager; - - private final UserInfoManager userInfoManager; - - @Override - public String getLoginType() { - return AuthLoginTypeCode.WE_CHAT; - } - - /** - * 认证 - */ - @Override - public AuthInfoResult attemptAuthentication(LoginAuthContext context) { - String authCode = context.getRequest().getParameter(AuthLoginTypeCode.AUTH_CODE); - AuthUser authUser = this.getAuthUser(authCode, null); - - // 获取微信公众号关联的用户id - UserThird userThird = userThirdManager.findByField(UserThird::getWeChatId, authUser.getUuid()) - .orElseThrow(() -> new LoginFailureException("没有找到绑定的微信公众号用户")); - - // 获取用户信息 - UserInfo userInfo = userInfoManager.findById(userThird.getUserId()) - .orElseThrow(() -> new LoginFailureException("用户不存在")); - - return new AuthInfoResult().setUserDetail(userInfo.toUserDetail()).setId(userInfo.getId()); - } - - /** - * 获取关联的的第三方平台用户信息 - * @param authCode key 值, 可以用来拿用户信息 - */ - @Override - public AuthUser getAuthUser(String authCode, String state) { - // 根据微信二维码的值获取关联扫码的微信信息 - String uuid = weChatQrLoginService.getOpenId(authCode); - AuthUser authUser = new AuthUser(); - authUser.setNickname("未知"); - authUser.setUsername("未知"); - authUser.setAvatar("未知"); - authUser.setUuid(uuid); - weChatQrLoginService.clear(authCode); - return authUser; - } - - /** - * 绑定用户 - */ - @Override - public void bindUser(String authCode, String state) { - Long userId = SecurityUtil.getUserId(); - AuthUser authUser = this.getAuthUser(authCode, state); - userTiredOperateService.checkOpenIdBind(authUser.getUuid(), UserThird::getWeChatId); - userTiredOperateService.bindOpenId(userId, authUser.getUuid(), UserThird::setWeChatId); - userTiredOperateService.bindOpenInfo(userId, authUser, AuthLoginTypeCode.WE_CHAT); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/pom.xml b/bootx-platform/bootx-services/service-notice/pom.xml deleted file mode 100644 index 9b9c194a4582bd0e5309b49ae71e24b311194a40..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/pom.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>bootx-services</artifactId> - <groupId>cn.bootx.platform</groupId> - <version>1.3.6.2</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <artifactId>service-notice</artifactId> - - <dependencies> - <!-- mysql --> - <dependency> - <groupId>com.mysql</groupId> - <artifactId>mysql-connector-j</artifactId> - <scope>runtime</scope> - </dependency> - - <!-- mp --> - <dependency> - <groupId>com.baomidou</groupId> - <artifactId>mybatis-plus-boot-starter</artifactId> - </dependency> - - <!-- 邮件 --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-mail</artifactId> - </dependency> - - <!-- 模板引擎 --> - <dependency> - <groupId>org.apache.velocity</groupId> - <artifactId>velocity-engine-core</artifactId> - </dependency> - - <!-- 认证模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-auth</artifactId> - </dependency> - - <!-- 基础功能模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>service-baseapi</artifactId> - <version>${bootx-platform.version}</version> - </dependency> - - <!-- ws --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-websocket</artifactId> - </dependency> - - <!-- 钉钉 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-dingtalk</artifactId> - </dependency> - - <!-- 微信 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wechat</artifactId> - </dependency> - - <!-- 企业微信 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wecom</artifactId> - </dependency> - - <!-- SMS4J 短信发送--> - <dependency> - <groupId>org.dromara.sms4j</groupId> - <artifactId>sms4j-spring-boot-starter</artifactId> - </dependency> - </dependencies> -</project> diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/NoticeApplication.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/NoticeApplication.java deleted file mode 100644 index 89ee0ab17b964245c4a2b9803f599fbf44c6279f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/NoticeApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -package cn.bootx.platform.notice; - -import org.apache.ibatis.annotations.Mapper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.context.annotation.ComponentScan; - -/** - * 通知中心 - * - * @author xxm - * @since 2021/8/5 - */ -@ComponentScan -@MapperScan(annotationClass = Mapper.class) -public class NoticeApplication { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MailCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MailCode.java deleted file mode 100644 index 365467142107cd4ea277dd5deab3fb2b83bc5f73..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MailCode.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 邮箱常量 - * - * @author xxm - * @since 2021/8/5 - */ -public interface MailCode { - - /** - * 普通方式 - */ - Integer SECURITY_TYPE_PLAIN = 1; - - /** - * TLS方式 - */ - Integer SECURITY_TYPE_TLS = 2; - - /** - * SSL方式 - */ - Integer SECURITY_TYPE_SSL = 3; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MessageTemplateCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MessageTemplateCode.java deleted file mode 100644 index a8e24118f2cf3da6068b4da7bf17e05894cb039b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/MessageTemplateCode.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 消息模板类型 - * - * @author xxm - * @since 2021/8/10 - */ -public interface MessageTemplateCode { - - /** 站内信 */ - String SITE = "site"; - - /** 钉钉 */ - String DING_TALK = "ding_talk"; - - /** 钉钉机器人 */ - String DING_TALK_ROBOT = "ding_talk_robot"; - - /** Email */ - String EMAIL = "email"; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/NoticeCenterErrorCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/NoticeCenterErrorCode.java deleted file mode 100644 index 7cabadf0bbec8b66bfba217cf66bccda529ae29b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/NoticeCenterErrorCode.java +++ /dev/null @@ -1,61 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 通知中心错误码 - * - * @author xxm - * @since 2021/8/5 - */ -public interface NoticeCenterErrorCode { - - /** - * 邮箱配置编号已存在 - */ - int MAIL_CONFIG_CODE_ALREADY_EXISTED = 24010; - - /** - * 邮箱配置不存在 - */ - int MAIL_CONFIG_NOT_EXIST = 24011; - - /** - * 默认邮箱配置已存在 - */ - int DEFAULT_MAIL_CONFIG_ALREADY_EXISTED = 24012; - - /** - * 短信配置编号已存在 - */ - int SMS_CONFIG_CODE_ALREADY_EXISTED = 24020; - - /** - * 短信配置不存在 - */ - int SMS_CONFIG_NOT_EXIST = 24021; - - /** - * 默认短信配置已存在 - */ - int DEFAULT_SMS_CONFIG_ALREADY_EXISTED = 24022; - - /** - * Bandwidth 短信发送失败 - */ - int BANDWIDTH_SMS_SEND_ERROR = 24023; - - /** - * WeChat配置编号已存在 - */ - int WECHAT_CONFIG_CODE_ALREADY_EXISTED = 24030; - - /** - * WeChat配置不存在 - */ - int WECHAT_CONFIG_NOT_EXIST = 24031; - - /** - * 邮箱配置不存在 - */ - int MAIL_TEMPLATE_NOT_EXIST = 24041; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SiteMessageCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SiteMessageCode.java deleted file mode 100644 index 44887d5540af4b779ccfbe0f4dbf3ccb79fa5764..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SiteMessageCode.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 站内信编码 - * - * @author xxm - * @since 2022/8/14 - */ -public interface SiteMessageCode { - - /* 接收类型 */ - /** 指定用户 */ - String RECEIVE_USER = "user"; - - /** 全部用户 */ - String RECEIVE_ALL = "all"; - - /* 发布状态 */ - /** 草稿 */ - String STATE_DRAFT = "draft"; - - /** 已发送 */ - String STATE_SENT = "sent"; - - /** 撤销 */ - String STATE_CANCEL = "cancel"; - - /* 事件 */ - /** 消息更新 */ - String EVENT_MESSAGE_UPDATE = "notice_message_update"; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SmsChannelStatusCode.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SmsChannelStatusCode.java deleted file mode 100644 index ae6a7b9d5b66dd2eedede867283b34256ec331af..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/code/SmsChannelStatusCode.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.notice.code; - -/** - * 短信渠道商配置状态 - * @author xxm - * @since 2023/8/3 - */ -public interface SmsChannelStatusCode { - /** 正常 */ - String NORMAL = "normal"; - - /** 停用 */ - String FORBIDDEN = "forbidden"; -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MailConfigController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MailConfigController.java deleted file mode 100644 index 8160bd4afa53652d34322ae4fe3cab5c2491c4a0..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MailConfigController.java +++ /dev/null @@ -1,83 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.bootx.platform.notice.core.mail.service.MailConfigService; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; - -/** - * @author xxm - * @since 2020/5/2 14:38 - */ -@Tag(name = "邮箱配置") -@RestController -@RequestMapping("/mail/config") -@AllArgsConstructor -public class MailConfigController { - - private final MailConfigService mailConfigService; - - @Operation(summary = "通过 id 获取指定邮箱配置") - @GetMapping("/findById") - public ResResult<MailConfigDto> findById(Long id) { - MailConfigDto mailConfig = mailConfigService.findById(id); - return Res.ok(mailConfig); - } - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<MailConfigDto>> page(PageParam pageParam, MailConfigParam param) { - return Res.ok(mailConfigService.page(pageParam, param)); - } - - @Operation(summary = "增加新邮箱配置") - @PostMapping("/add") - public ResResult<MailConfigDto> add(@RequestBody MailConfigParam param) { - ValidationUtil.validateParam(param); - MailConfigDto mailConfig = mailConfigService.add(param); - return Res.ok(mailConfig); - } - - @Operation(summary = "更新邮箱配置") - @PostMapping("/update") - public ResResult<MailConfigDto> updateMailConfig(@RequestBody MailConfigParam param) { - ValidationUtil.validateParam(param); - MailConfigDto update = mailConfigService.update(param); - return Res.ok(update); - } - - @Operation(summary = "删除") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - mailConfigService.delete(id); - return Res.ok(); - } - - @Operation(summary = "设置启用的邮箱配置") - @PostMapping("/setUpActivity") - public ResResult<Void> setUpActivity(Long id) { - mailConfigService.setUpActivity(id); - return Res.ok(); - } - - @Operation(summary = "编码是否被使用") - @GetMapping("/existsByCode") - public ResResult<Boolean> existsByCode(String code) { - return Res.ok(mailConfigService.existsByCode(code)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(mailConfigService.existsByCode(code, id)); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MessageTemplateController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MessageTemplateController.java deleted file mode 100644 index 91351250616e1e5a768f67ae9117db4dea7c3877..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/MessageTemplateController.java +++ /dev/null @@ -1,80 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.notice.core.template.service.MessageTemplateService; -import cn.bootx.platform.notice.dto.template.MessageTemplateDto; -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** - * 消息模板 - * - * @author xxm - * @since 2021/8/10 - */ -@Tag(name = "消息模板") -@RestController -@RequestMapping("/message/template") -@RequiredArgsConstructor -public class MessageTemplateController { - - private final MessageTemplateService messageTemplateService; - - @Operation(summary = "添加") - @PostMapping("/add") - public ResResult<MessageTemplateDto> add(@RequestBody MessageTemplateParam param) { - return Res.ok(messageTemplateService.add(param)); - } - - @Operation(summary = "更新") - @PostMapping("/update") - public ResResult<MessageTemplateDto> update(@RequestBody MessageTemplateParam param) { - return Res.ok(messageTemplateService.update(param)); - } - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<MessageTemplateDto>> page(PageParam pageParam, MessageTemplateParam query) { - return Res.ok(messageTemplateService.page(pageParam, query)); - } - - @Operation(summary = "获取详情") - @GetMapping("/findById") - public ResResult<MessageTemplateDto> findById(Long id) { - return Res.ok(messageTemplateService.findById(id)); - } - - @Operation(summary = "删除") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - messageTemplateService.delete(id); - return Res.ok(); - } - - @Operation(summary = "编码是否被使用") - @GetMapping("/existsByCode") - public ResResult<Boolean> existsByCode(String code) { - return Res.ok(messageTemplateService.existsByCode(code)); - } - - @Operation(summary = "编码是否被使用(不包含自己)") - @GetMapping("/existsByCodeNotId") - public ResResult<Boolean> existsByCode(String code, Long id) { - return Res.ok(messageTemplateService.existsByCode(code, id)); - } - - @Operation(summary = "渲染模板") - @PostMapping("/rendering") - public ResResult<String> rendering(@RequestParam String code, @RequestBody Map<String, Object> paramMap) { - return Res.ok(messageTemplateService.rendering(code, paramMap)); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SiteMessageController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SiteMessageController.java deleted file mode 100644 index 0c173b26151d08a04b2966884dcfb60eb168e0a0..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SiteMessageController.java +++ /dev/null @@ -1,99 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.notice.core.site.domain.SiteMessageInfo; -import cn.bootx.platform.notice.core.site.service.SiteMessageService; -import cn.bootx.platform.notice.dto.site.SiteMessageDto; -import cn.bootx.platform.notice.param.site.SendSiteMessageParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * @author xxm - * @since 2021/8/8 - */ -@Tag(name = "站内信") -@RestController -@RequestMapping("/site/message") -@RequiredArgsConstructor -public class SiteMessageController { - - private final SiteMessageService siteMessageService; - - @Operation(summary = "保存站内信草稿") - @PostMapping("/saveOrUpdate") - public ResResult<Void> saveOrUpdate(@RequestBody SendSiteMessageParam param) { - siteMessageService.saveOrUpdate(param); - return Res.ok(); - } - - @Operation(summary = "发送站内信") - @PostMapping("/send") - public ResResult<Void> send(Long id) { - siteMessageService.send(id); - return Res.ok(); - } - - @Operation(summary = "消息详情") - @GetMapping("/findById") - public ResResult<SiteMessageDto> findById(Long id) { - return Res.ok(siteMessageService.findById(id)); - } - - @IgnoreAuth - @Operation(summary = "获取未读的接收消息条数") - @GetMapping("/countByReceiveNotRead") - public ResResult<Integer> countByReceiveNotRead(SiteMessageInfo query) { - return Res.ok(siteMessageService.countByReceiveNotRead(query)); - } - - @IgnoreAuth - @Operation(summary = "接收消息分页") - @GetMapping("/pageByReceive") - public ResResult<PageResult<SiteMessageInfo>> pageByReceive(PageParam pageParam, SiteMessageInfo query) { - return Res.ok(siteMessageService.pageByReceive(pageParam, query)); - } - - @Operation(summary = "发送消息分页") - @GetMapping("/pageBySender") - public ResResult<PageResult<SiteMessageDto>> pageBySender(PageParam pageParam, SiteMessageInfo query) { - return Res.ok(siteMessageService.pageBySender(pageParam, query)); - } - - @Operation(summary = "撤回消息") - @PostMapping("/cancel") - public ResResult<Void> cancel(Long id) { - siteMessageService.cancel(id); - return Res.ok(); - } - - @Operation(summary = "删除消息") - @DeleteMapping("/delete") - public ResResult<Void> delete(Long id) { - siteMessageService.delete(id); - return Res.ok(); - } - - @IgnoreAuth - @Operation(summary = "标为已读") - @PostMapping("/read") - public ResResult<Void> read(Long id) { - siteMessageService.read(id); - return Res.ok(); - } - - @IgnoreAuth - @Operation(summary = "小程序获取未读的接收消息标题列表") - @GetMapping("/listByReceiveNotRead") - public ResResult<List<String>> listByReceiveNotRead(SiteMessageInfo query) { - return Res.ok(siteMessageService.listByReceiveNotRead(query)); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsChannelConfigController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsChannelConfigController.java deleted file mode 100644 index 5ed30259e2b01d8525a944eb1a49201bcfa48c50..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsChannelConfigController.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.notice.core.sms.service.SmsChannelConfigService; -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * - * @author xxm - * @since 2023/8/5 - */ -@Tag(name = "短信渠道配置") -@RestController -@RequestMapping("/sms/config") -@RequiredArgsConstructor -public class SmsChannelConfigController { - private final SmsChannelConfigService configService; - - @Operation(summary = "添加") - @PostMapping(value = "/add") - public ResResult<Void> add(@RequestBody Map<String,Object> map) { - configService.add(map); - return Res.ok(); - } - - @Operation(summary = "修改") - @PostMapping(value = "/update") - public ResResult<Void> update(@RequestBody Map<String,Object> map) { - configService.update(map); - return Res.ok(); - } - - @Operation(summary = "通过ID查询") - @GetMapping(value = "/findById") - public ResResult<SmsChannelConfigDto> findById(Long id) { - return Res.ok(configService.findById(id)); - } - - @Operation(summary = "通过Code查询") - @GetMapping(value = "/findByCode") - public ResResult<SmsChannelConfigDto> findByCode(String code) { - return Res.ok(configService.findByCode(code)); - } - - @Operation(summary = "查询所有") - @GetMapping(value = "/findAll") - public ResResult<List<SmsChannelConfigDto>> findAll() { - return Res.ok(configService.findAll()); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsTemplateController.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsTemplateController.java deleted file mode 100644 index 3f6075305103b48ec2a1e38f0038c9eb4a42ce75..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/controller/SmsTemplateController.java +++ /dev/null @@ -1,67 +0,0 @@ -package cn.bootx.platform.notice.controller; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.notice.core.sms.service.SmsTemplateService; -import cn.bootx.platform.notice.dto.sms.SmsTemplateDto; -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Tag(name ="短信模板配置") -@RestController -@RequestMapping("/sms/template") -@RequiredArgsConstructor -public class SmsTemplateController { - private final SmsTemplateService smsTemplateService; - - @Operation( summary = "添加") - @PostMapping(value = "/add") - public ResResult<Void> add(@RequestBody SmsTemplateParam param){ - smsTemplateService.add(param); - return Res.ok(); - } - - @Operation( summary = "修改") - @PostMapping(value = "/update") - public ResResult<Void> update(@RequestBody SmsTemplateParam param){ - smsTemplateService.update(param); - return Res.ok(); - } - - @Operation( summary = "删除") - @DeleteMapping(value = "/delete") - public ResResult<Void> delete(Long id){ - smsTemplateService.delete(id); - return Res.ok(); - } - - @Operation( summary = "通过ID查询") - @GetMapping(value = "/findById") - public ResResult<SmsTemplateDto> findById(Long id){ - return Res.ok(smsTemplateService.findById(id)); - } - - @Operation( summary = "查询所有") - @GetMapping(value = "/findAll") - public ResResult<List<SmsTemplateDto>> findAll(){ - return Res.ok(smsTemplateService.findAll()); - } - - @Operation( summary = "分页查询") - @GetMapping(value = "/page") - public ResResult<PageResult<SmsTemplateDto>> page(PageParam pageParam, SmsTemplateParam smsTemplateParam){ - return Res.ok(smsTemplateService.page(pageParam,smsTemplateParam)); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/chat/DingChatNoticeParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/chat/DingChatNoticeParam.java deleted file mode 100644 index e900fc2e5e4b4b36096ffb844081eef28ab438b2..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/chat/DingChatNoticeParam.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.chat; - -import cn.bootx.platform.starter.dingtalk.param.notice.ChatNotice; -import cn.bootx.platform.notice.core.dingtalk.entity.msg.DingMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 企业群消息参数 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企业群消息参数") -public class DingChatNoticeParam { - - @Schema(description = "群Id") - private String chatId; - - @Schema(description = "钉钉消息内容") - private DingMsg dingMsg; - - public ChatNotice toDingChatNotice() { - return new ChatNotice().setChatId(chatId).setMsg(dingMsg.toDingMsg()); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeParam.java deleted file mode 100644 index ad83dc652119ebf332d7f7a1a72640141e6a3764..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeParam.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.corp; - -import cn.bootx.platform.starter.dingtalk.param.notice.CorpNotice; -import cn.bootx.platform.notice.core.dingtalk.entity.msg.DingMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉企业通知消息父类 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉企业通知消息父类") -@AllArgsConstructor -@NoArgsConstructor -public class DingCorpNoticeParam { - - @Schema(description = "接收人配置") - private DingCorpNoticeReceive receive; - - @Schema(description = "钉钉消息内容") - private DingMsg dingMsg; - - /** - * 转换成钉钉消息发送参数 - */ - public CorpNotice toDingCorpNotice() { - return new CorpNotice().setToAllUser(receive.isToAllUser()) - .setDeptIdList(receive.getDeptIdList()) - .setUseridList(receive.getUseridList()) - .setMsg(dingMsg.toDingMsg()); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeReceive.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeReceive.java deleted file mode 100644 index b2f5b33ad4c25afe370f484d3a9d82b445112186..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeReceive.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.corp; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.List; - -/** - * 企业通知接收人配置 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企业通知接收人配置") -public class DingCorpNoticeReceive { - - @Schema(description = "接收者的userid列表,最大用户列表长度100") - private List<String> useridList; - - @Schema(description = "接收者的部门id列表,最大列表长度20") - private List<String> deptIdList; - - @Schema(description = "是否发送给企业全部用户") - private boolean toAllUser; - - /** - * 发送给全部用户 - */ - public static DingCorpNoticeReceive toAll() { - return new DingCorpNoticeReceive().setToAllUser(true); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeUpdate.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeUpdate.java deleted file mode 100644 index 78e51a4ba66f1afe2af8eb549ef5129319ab35a3..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/corp/DingCorpNoticeUpdate.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.corp; - -import cn.bootx.platform.starter.dingtalk.param.notice.UpdateCorpNotice; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 企业通知(OA消息)更新 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企业通知(OA消息)更新") -public class DingCorpNoticeUpdate { - - @Schema(description = "发送消息时使用的微应用的AgentID") - private Long taskId; - - @Schema(description = "状态栏值") - private String statusValue; - - @Schema(description = "状态栏背景色,推荐0xFF加六位颜色值") - private String statusBg; - - /** - * 转换为钉钉参数对象 - */ - public UpdateCorpNotice toDingUpdateCorpNotice() { - return new UpdateCorpNotice().setTaskId(taskId).setStatusValue(statusValue).setStatusBg(statusBg); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingActionCardMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingActionCardMsg.java deleted file mode 100644 index c5638a13834229db0e6a98d10befb93cc0d68946..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingActionCardMsg.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.common.core.util.CollUtil; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.ActionCardMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 钉钉卡片工作通知消息 - * - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉卡片工作通知消息") -public class DingActionCardMsg implements DingMsg { - - @Schema(description = "透出到会话列表和通知的文案") - private String title; - - @Schema(description = "消息内容") - private String markdown; - - @Schema(description = "标题") - private String singleTitle; - - @Schema(description = "消息点击链接地址") - private String singleUrl; - - @Schema(description = "使用独立跳转ActionCard样式时的按钮排列方式(1竖直排列/2横向排列)") - private String btnOrientation; - - @Schema(description = "独立跳转ActionCard样式时的按钮列表") - private List<OrientationBtn> orientationBtnList; - - @Data - @Accessors(chain = true) - @Schema(title = "独立跳转ActionCard样式时的按钮列表") - public static class OrientationBtn { - - @Schema(description = "按钮的标题") - private String title; - - @JsonProperty("action_url") - @Schema(description = "跳转链接") - private String actionUrl; - - } - - /** - * 转换成钉钉消息 - */ - public Msg toDingMsg() { - ActionCardMsg.ActionCard actionCard = new ActionCardMsg.ActionCard().setTitle(title) - .setMarkdown(markdown) - .setSingleTitle(singleTitle) - .setSingleUrl(singleUrl) - .setBtnOrientation(btnOrientation); - if (CollUtil.isNotEmpty(orientationBtnList)) { - List<ActionCardMsg.ActionCard.BtnJson> btnJsons = orientationBtnList.stream() - .map(o -> new ActionCardMsg.ActionCard.BtnJson().setTitle(o.title).setActionUrl(o.actionUrl)) - .collect(Collectors.toList()); - actionCard.setBtnJsonList(btnJsons); - } - - return new ActionCardMsg().setActionCard(actionCard); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingFileMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingFileMsg.java deleted file mode 100644 index 50dca7a730ff0bb3c6af9f9c18df94c11e810e13..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingFileMsg.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.FileMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉文件工作通知消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "钉钉图片工作通知消息") -public class DingFileMsg implements DingMsg { - - @Schema(description = "媒体文件id") - private String mediaId; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - return new FileMsg(mediaId); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingImageMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingImageMsg.java deleted file mode 100644 index 9d88fcdc1ec89efa93797c5624876e3dcdf88aa6..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingImageMsg.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.ImageMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.RequiredArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉图片工作通知消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@RequiredArgsConstructor -@Schema(title = "钉钉图片工作通知消息") -public class DingImageMsg implements DingMsg { - - @Schema(description = "媒体文件id") - private String mediaId; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - return new ImageMsg(mediaId); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingLinkMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingLinkMsg.java deleted file mode 100644 index 3bcb6bac33c29796b5f7b4b5dd36b5357b5de0b0..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingLinkMsg.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.LinkMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 钉钉链接信息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉链接信息") -public class DingLinkMsg implements DingMsg { - - @Schema(description = "标题") - private String title; - - @Schema(description = "内容") - private String text; - - @Schema(description = "点击消息跳转的URL") - private String messageUrl; - - @Schema(description = "图片URL") - private String picUrl; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - return new LinkMsg(title, text, messageUrl, picUrl); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMarkDownMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMarkDownMsg.java deleted file mode 100644 index 36bc79ec1ac0c9157bbe9a9b53663ae807d30450..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMarkDownMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.MarkdownMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/7/20 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉MarkDown工作通知消息") -public class DingMarkDownMsg implements DingMsg { - - @Schema(description = "标题") - private String title; - - @Schema(description = "内容") - private String text; - - @Override - public Msg toDingMsg() { - return new MarkdownMsg(title, text); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMsg.java deleted file mode 100644 index 2c85da3994323e39aa8695742d8e281f13ec52ee..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingMsg.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; - -/** - * 钉钉消息接口 - * - * @author xxm - * @since 2022/7/20 - */ -public interface DingMsg { - - /** - * 转换成钉钉消息 - */ - Msg toDingMsg(); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingOaMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingOaMsg.java deleted file mode 100644 index 24e582f1ddd0905113872377787f48a6f083e28b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingOaMsg.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.OaMsg; -import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@Schema(title = "钉钉OA消息") -public class DingOaMsg implements DingMsg { - - @JsonProperty("message_url") - @Schema(description = "消息点击链接地址") - private String messageUrl; - - @JsonProperty("pc_message_url") - @Schema(description = "PC端点击消息时跳转到的地址") - private String pcMessageUrl; - - @Schema(description = "消息头部内容") - private OaMsg.Oa.Head head; - - @Schema(description = "消息体") - private OaMsg.Oa.Body body; - - @JsonProperty("status_bar") - @Schema(description = "消息状态栏") - private OaMsg.Oa.StatusBar statusBar; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - OaMsg.Oa oa = new OaMsg.Oa().setMessageUrl(messageUrl) - .setPcMessageUrl(pcMessageUrl) - .setHead(head) - .setBody(body) - .setStatusBar(statusBar); - - return new OaMsg(oa); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingTextMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingTextMsg.java deleted file mode 100644 index c0956a14dbc65e30ff747bff48978e0a01977447..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingTextMsg.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.TextMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 钉钉工作通知消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@NoArgsConstructor -@AllArgsConstructor -@Schema(title = "钉钉文本工作通知消息") -public class DingTextMsg implements DingMsg { - - @Schema(description = "文本内容") - private String content; - - /** - * 转换成钉钉消息 - */ - public Msg toDingMsg() { - return new TextMsg(content); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingVoiceMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingVoiceMsg.java deleted file mode 100644 index 879b95cb88bd9873a0e9971f27e6d3a9b5b5fa7a..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/entity/msg/DingVoiceMsg.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.entity.msg; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.Msg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.VoiceMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - * 声音消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "声音工作通知消息") -public class DingVoiceMsg implements DingMsg { - - @Schema(description = "媒体文件id") - private String mediaId; - - @Schema(description = "音频时长") - private String duration; - - /** - * 转换成钉钉消息 - */ - @Override - public Msg toDingMsg() { - return new VoiceMsg(mediaId, duration); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingRobotNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingRobotNoticeSenderImpl.java deleted file mode 100644 index f5adfe92936d91803487240ee421776554e2fdc3..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingRobotNoticeSenderImpl.java +++ /dev/null @@ -1,46 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.service; - -import cn.bootx.platform.notice.service.DingRobotNoticeSender; -import cn.bootx.platform.starter.dingtalk.core.robot.service.DingRobotSendService; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.LinkMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.MarkdownMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.TextMsg; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * 钉钉机器人消息 - * - * @author xxm - * @since 2022/7/19 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingRobotNoticeSenderImpl implements DingRobotNoticeSender { - - private final DingRobotSendService dingRobotSendService; - - @Override - public void sendSimpleText(String code, String msg) { - TextMsg dingTalkTextNotice = new TextMsg(msg); - dingRobotSendService.sendNotice(code, dingTalkTextNotice); - } - - @Override - public void sendText(String code, TextMsg dingTalkTextNotice) { - dingRobotSendService.sendNotice(code, dingTalkTextNotice); - } - - @Override - public void sendLink(String code, LinkMsg notice) { - dingRobotSendService.sendNotice(code, notice); - } - - @Override - public void sendMarkdown(String code, MarkdownMsg notice) { - dingRobotSendService.sendNotice(code, notice); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingTalkNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingTalkNoticeSenderImpl.java deleted file mode 100644 index 692a424639f4427cf8575dffb4e137cffca40e21..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/dingtalk/service/DingTalkNoticeSenderImpl.java +++ /dev/null @@ -1,315 +0,0 @@ -package cn.bootx.platform.notice.core.dingtalk.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.notice.core.dingtalk.entity.msg.*; -import cn.bootx.platform.notice.service.DingTalkNoticeSender; -import cn.bootx.platform.starter.dingtalk.code.DingTalkCode; -import cn.bootx.platform.starter.dingtalk.configuration.DingTalkProperties; -import cn.bootx.platform.starter.dingtalk.core.base.result.DingTalkResult; -import cn.bootx.platform.starter.dingtalk.core.media.service.DingMediaService; -import cn.bootx.platform.starter.dingtalk.core.notice.result.ChatNoticeResult; -import cn.bootx.platform.starter.dingtalk.core.notice.result.CorpNoticeResult; -import cn.bootx.platform.starter.dingtalk.core.notice.service.DingNoticeService; -import cn.bootx.platform.starter.dingtalk.param.notice.ChatNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.CorpNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.RecallCorpNotice; -import cn.bootx.platform.starter.dingtalk.param.notice.UpdateCorpNotice; -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeParam; -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeReceive; -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeUpdate; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.io.InputStream; -import java.util.Objects; - -/** - * 钉钉消息通知 - * - * @author xxm - * @since 2022/7/16 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class DingTalkNoticeSenderImpl implements DingTalkNoticeSender { - - private final DingNoticeService dingNoticeService; - - private final DingMediaService dingMediaService; - - private final DingTalkProperties dingTalkProperties; - - /** - * 发送文本消息 - * @return 发布消息任务ID - */ - @Override - public Long sendTextCorpNotice(DingTextMsg dingTextMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingTextMsg, receive); - } - - /** - * 发送图片消息 - * @return 发布消息任务ID - */ - @Override - public Long sendImageCorpNotice(DingImageMsg dingImageMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingImageMsg, receive); - } - - /** - * 发送图片消息 (文件方式) - * @return 发布消息任务ID - */ - @Override - public Long sendImageCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, DingTalkCode.MEDIA_IMAGE); - DingImageMsg dingImageMsg = new DingImageMsg(mediaId); - return this.sendCorpNotice(dingImageMsg, receive); - } - - /** - * 发送图片消息 (文件方式) - * @return 发布消息任务ID - */ - @Override - public Long sendImageCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, filename, DingTalkCode.MEDIA_IMAGE); - DingImageMsg dingImageMsg = new DingImageMsg(mediaId); - return this.sendCorpNotice(dingImageMsg, receive); - } - - /** - * 发送语音消息 - * @return 发布消息任务ID - */ - @Override - public Long sendVoiceCorpNotice(DingVoiceMsg dingVoiceMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingVoiceMsg, receive); - } - - /** - * 发送语音消息 (文件) - * @return 发布消息任务ID - */ - @Override - public Long sendVoiceCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, DingTalkCode.MEDIA_VOICE); - DingVoiceMsg dingVoiceMsg = new DingVoiceMsg(mediaId, "10"); - return this.sendCorpNotice(dingVoiceMsg, receive); - } - - /** - * 发送语音消息 (文件) - * @return 发布消息任务ID - */ - @Override - public Long sendVoiceCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, filename, DingTalkCode.MEDIA_VOICE); - DingVoiceMsg dingVoiceMsg = new DingVoiceMsg(mediaId, "10"); - return this.sendCorpNotice(dingVoiceMsg, receive); - } - - /** - * 发送文件消息 - * @return 发布消息任务ID - */ - @Override - public Long sendFileCorpNotice(DingFileMsg dingFileMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingFileMsg, receive); - } - - /** - * 发送文件消息(文件) - * @return 发布消息任务ID - */ - @Override - public Long sendFileCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, DingTalkCode.MEDIA_FILE); - DingFileMsg dingFileMsg = new DingFileMsg(mediaId); - return this.sendCorpNotice(dingFileMsg, receive); - } - - /** - * 发送文件消息(文件) - * @return 发布消息任务ID - */ - @Override - public Long sendFileCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive) { - String mediaId = dingMediaService.uploadMedia(inputStream, filename, DingTalkCode.MEDIA_FILE); - DingFileMsg dingFileMsg = new DingFileMsg(mediaId); - return this.sendCorpNotice(dingFileMsg, receive); - } - - /** - * 发送链接消息 - * @return 发布消息任务ID - */ - @Override - public Long sendLinkCorpNotice(DingLinkMsg dingLinkMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingLinkMsg, receive); - } - - /** - * 发送OA消息 - * @return 发布消息任务ID - */ - @Override - public Long sendOaCorpNotice(DingOaMsg dingOaMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingOaMsg, receive); - } - - /** - * 发送markdown消息 - */ - @Override - public Long sendMarkDownCorpNotice(DingMarkDownMsg dingMarkDownMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingMarkDownMsg, receive); - } - - /** - * 发送卡片消息 - */ - @Override - public Long sendActionCardCorpNotice(DingActionCardMsg dingActionCardMsg, DingCorpNoticeReceive receive) { - return this.sendCorpNotice(dingActionCardMsg, receive); - } - - /** - * 返回任务id(OA消息更新状态使用) - */ - private Long sendCorpNotice(DingMsg dingMsg, DingCorpNoticeReceive receive) { - DingCorpNoticeParam dingCorpNoticeParam = new DingCorpNoticeParam(receive, dingMsg); - CorpNotice corpNotice = dingCorpNoticeParam.toDingCorpNotice(); - corpNotice.setAgentId(dingTalkProperties.getAgentId()); - CorpNoticeResult result = dingNoticeService.sendCorpNotice(corpNotice); - - if (!Objects.equals(result.getCode(), DingTalkCode.SUCCESS_CODE)) { - throw new BizException(result.getMsg()); - } - return result.getTaskId(); - } - - /** - * 更新OA工作通知消息 - */ - @Override - public void updateOaCorpNotice(DingCorpNoticeUpdate updateCorpNotice) { - UpdateCorpNotice dingUpdateCorpNotice = updateCorpNotice.toDingUpdateCorpNotice(); - dingUpdateCorpNotice.setAgentId(dingTalkProperties.getAgentId()); - CorpNoticeResult result = dingNoticeService.updateCorpNotice(dingUpdateCorpNotice); - if (!Objects.equals(result.getCode(), DingTalkCode.SUCCESS_CODE)) { - throw new BizException(result.getMsg()); - } - } - - /** - * 撤回工作通知消息 - */ - @Override - public void recallCorpNotice(Long msgTaskId) { - RecallCorpNotice recallCorpNotice = new RecallCorpNotice(dingTalkProperties.getAgentId(), msgTaskId); - DingTalkResult<?> result = dingNoticeService.recallCorpNotice(recallCorpNotice); - if (!Objects.equals(result.getCode(), DingTalkCode.SUCCESS_CODE)) { - throw new BizException(result.getMsg()); - } - } - - /** - * 发送文本企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendTextChatNotice(DingTextMsg dingTextMsg, String chatId) { - return this.sendChatNotice(dingTextMsg, chatId); - } - - /** - * 发送图片企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendImageChatNotice(DingImageMsg dingImageMsg, String chatId) { - return this.sendChatNotice(dingImageMsg, chatId); - } - - /** - * 发送语音企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendVoiceChatNotice(DingVoiceMsg dingVoiceMsg, String chatId) { - return this.sendChatNotice(dingVoiceMsg, chatId); - } - - /** - * 发送文件企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendFileChatNotice(DingFileMsg dingFileMsg, String chatId) { - return this.sendChatNotice(dingFileMsg, chatId); - } - - /** - * 发送链接企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendLinkChatNotice(DingLinkMsg dingLinkMsg, String chatId) { - return this.sendChatNotice(dingLinkMsg, chatId); - } - - /** - * 发送OA企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendOaChatNotice(DingOaMsg dingOaMsg, String chatId) { - return this.sendChatNotice(dingOaMsg, chatId); - } - - /** - * 发送markdown企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendMarkDownChatNotice(DingMarkDownMsg dingMarkDownMsg, String chatId) { - return this.sendChatNotice(dingMarkDownMsg, chatId); - } - - /** - * 发送卡片企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - @Override - public String sendActionCardChatNotice(DingActionCardMsg dingActionCardMsg, String chatId) { - return this.sendChatNotice(dingActionCardMsg, chatId); - } - - /** - * 发送企业群消息 - * @param chatId 群Id - * @return 发布企业群消息ID - */ - private String sendChatNotice(DingMsg dingMsg, String chatId) { - - ChatNotice chatNotice = new ChatNotice(chatId, dingMsg.toDingMsg()); - ChatNoticeResult result = dingNoticeService.sendChatNotice(chatNotice); - if (!Objects.equals(result.getCode(), DingTalkCode.SUCCESS_CODE)) { - throw new BizException(result.getMsg()); - } - return result.getMessageId(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/convert/MailConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/convert/MailConvert.java deleted file mode 100644 index 6cb7e1e0b40c2255088681a4dd6df499807cb3ef..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/convert/MailConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.core.mail.convert; - -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import cn.bootx.platform.notice.core.mail.entity.MailConfig; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 钉钉相关类转换 - * - * @author xxm - * @since 2021/8/5 - */ -@Mapper -public interface MailConvert { - - MailConvert CONVERT = Mappers.getMapper(MailConvert.class); - - MailConfig convert(MailConfigDto in); - - MailConfig convert(MailConfigParam in); - - MailConfigDto convert(MailConfig in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigManager.java deleted file mode 100644 index 8fa429669210b44ede5989eca3331b9e2b39f5e1..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigManager.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.bootx.platform.notice.core.mail.dao; - -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.core.mail.entity.MailConfig; -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * @author xxm - * @since 2020/4/8 13:27 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class MailConfigManager extends BaseManager<MailConfigMapper, MailConfig> { - - public Optional<MailConfig> findByActivity() { - return findByField(MailConfig::getActivity, Boolean.TRUE); - } - - public Optional<MailConfig> findByCode(String code) { - return findByField(MailConfig::getCode, code); - } - - public Page<MailConfig> page(PageParam pageParam, MailConfigParam param) { - Page<MailConfig> mpPage = MpUtil.getMpPage(pageParam, MailConfig.class); - return this.lambdaQuery() - .orderByDesc(MpIdEntity::getId) - .like(StrUtil.isNotBlank(param.getCode()), MailConfig::getCode, param.getCode()) - .like(StrUtil.isNotBlank(param.getName()), MailConfig::getName, param.getName()) - .page(mpPage); - } - - public boolean existsByCode(String code) { - return existedByField(MailConfig::getCode, code); - } - - public boolean existsByCode(String code, Long id) { - return existedByField(MailConfig::getCode, code, id); - } - - public void removeAllActivity() { - lambdaUpdate().eq(MailConfig::getActivity, Boolean.TRUE).set(MailConfig::getActivity, Boolean.FALSE).update(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigMapper.java deleted file mode 100644 index 614327ef6a261deaee42930d7658f4d43f8bfd72..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/dao/MailConfigMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.notice.core.mail.dao; - -import cn.bootx.platform.notice.core.mail.entity.MailConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 邮件[配置 - * - * @author xxm - * @since 2020/4/8 13:22 - */ -@Mapper -public interface MailConfigMapper extends BaseMapper<MailConfig> { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/entity/MailConfig.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/entity/MailConfig.java deleted file mode 100644 index 8f71bc3ee1ca6e9ca8a3c2ba3f8089c3bae0c149..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/entity/MailConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -package cn.bootx.platform.notice.core.mail.entity; - -import cn.bootx.platform.common.core.annotation.EncryptionField; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.mail.convert.MailConvert; -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 邮件配置 - * - * @author xxm - * @since 2020/4/8 11:14 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName("notice_mail_config") -public class MailConfig extends MpBaseEntity implements EntityBaseFunction<MailConfigDto> { - - /** 编号 */ - private String code; - - /** 名称 */ - private String name; - - /** 邮箱服务器 host */ - private String host; - - /** 邮箱服务器 端口 */ - private Integer port; - - /** 邮箱服务器 账号 */ - @EncryptionField - private String username; - - /** 邮箱服务器 密码 */ - @EncryptionField - private String password; - - /** 邮箱服务器 发送人名称 */ - private String sender; - - /** 邮箱服务器 发送人邮箱账号 */ - @TableField("from_") - private String from; - - /** 是否默认配置 */ - private Boolean activity; - - /** 安全方式 */ - private Integer securityType; - - public static MailConfig init(MailConfigParam in) { - return MailConvert.CONVERT.convert(in); - } - - @Override - public MailConfigDto toDto() { - return MailConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/EmailNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/EmailNoticeSenderImpl.java deleted file mode 100644 index 9d49534a8da2ff369a250d4e711778d901c97b64..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/EmailNoticeSenderImpl.java +++ /dev/null @@ -1,242 +0,0 @@ -package cn.bootx.platform.notice.core.mail.service; - -import cn.bootx.platform.notice.exception.MailConfigNotExistException; -import cn.bootx.platform.notice.service.EmailNoticeSender; -import cn.bootx.platform.notice.code.MailCode; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import cn.bootx.platform.notice.dto.mail.MailFileParam; -import cn.bootx.platform.notice.dto.mail.SendMailParam; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.extra.spring.SpringUtil; -import com.google.common.collect.Sets; -import lombok.AllArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.springframework.mail.javamail.JavaMailSenderImpl; -import org.springframework.mail.javamail.MimeMessageHelper; -import org.springframework.stereotype.Service; - -import javax.activation.DataHandler; -import javax.activation.DataSource; -import javax.mail.BodyPart; -import javax.mail.MessagingException; -import javax.mail.Multipart; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeMultipart; -import javax.mail.util.ByteArrayDataSource; -import java.io.UnsupportedEncodingException; -import java.util.*; - -/** - * 邮件发送服务 - * - * @author xxm - * @since 2020/5/2 16:06 - */ -@Slf4j -@Service -@AllArgsConstructor -public class EmailNoticeSenderImpl implements EmailNoticeSender { - - /** - * 默认 MIME Type - */ - private static final String MIME_TYPE_DEFAULT = "text/html; charset=utf-8"; - - private final MailConfigService mailConfigService; - - /** - * 简单邮件发送 - * @param email 邮件地址 - * @param subject 邮件标题 - * @param msg 邮件消息 - */ - @Override - public void sentSimpleMail(String email, String subject, String msg) { - SendMailParam mailParam = new SendMailParam(); - mailParam.setTo(Collections.singletonList(email)); - mailParam.setSubject(subject); - mailParam.setMessage(msg); - SpringUtil.getBean(getClass()).sendMail(mailParam); - } - - /** - * 标准邮件发送 - */ - @SneakyThrows - @Override - public void sendMail(SendMailParam mailParam) { - log.info("开始发送邮件"); - MailConfigDto mailConfig = this.getMailConfig(mailParam.getConfigCode()); - JavaMailSenderImpl mailSender = this.getMailSender(mailConfig); - List<MimeMessage> mimeMessageList = new ArrayList<>(); - - if (CollUtil.isEmpty(mailParam.getTo())) { - return; - } - // 获取to cc bcc 中所有允许发送的receiver - HashSet<String> allReceivers = Sets.newHashSet(mailParam.getTo()); - // 密送 - if (CollUtil.isNotEmpty(mailParam.getBccList())) { - allReceivers.addAll(mailParam.getBccList()); - } - // 抄送 - if (CollUtil.isNotEmpty(mailParam.getCcList())) { - allReceivers.addAll(mailParam.getCcList()); - } - // 设置接收人 - Set<String> receivers = Sets.intersection(allReceivers, new HashSet<>(mailParam.getTo())); - if (CollUtil.isEmpty(receivers)) { - return; - } - // 是否单条发送(拆分收件人) - if (mailParam.getSingleSend()) { - for (String to : receivers) { - this.buildMailParam(mailParam, mailConfig, mailSender, mimeMessageList, allReceivers, to); - } - } - else { - this.buildMailParam(mailParam, mailConfig, mailSender, mimeMessageList, allReceivers, - ArrayUtil.toArray(receivers, String.class)); - } - - // 调用发送 - mailSender.send(ArrayUtil.toArray(mimeMessageList, MimeMessage.class)); - log.info("SendMail结束"); - } - - /** - * 构建邮件参数 - * @param mailParam 发邮件的参数 - * @param mailConfig 邮箱配置 - * @param mailSender 邮件发送器 - * @param mimeMessageList 多媒体信息 - * @param allReceivers 接收人 - * @param to 发送人 - * @throws MessagingException 消息异常 - * @throws UnsupportedEncodingException 不支持的编码异常 - */ - private void buildMailParam(SendMailParam mailParam, MailConfigDto mailConfig, JavaMailSenderImpl mailSender, - List<MimeMessage> mimeMessageList, Set<String> allReceivers, String... to) - throws MessagingException, UnsupportedEncodingException { - MimeMessage mimeMessage = mailSender.createMimeMessage(); - MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); - mimeMessageHelper.setFrom(new InternetAddress(mailConfig.getFrom(), mailConfig.getSender())); - mimeMessageHelper.setTo(to); - mimeMessageHelper.setSubject(mailParam.getSubject()); - - // 处理抄送 - List<String> ccList = mailParam.getCcList(); - if (CollUtil.isNotEmpty(ccList)) { - Set<String> ccReceivers = Sets.intersection(allReceivers, Sets.newHashSet(ccList)); - if (!CollectionUtil.isEmpty(ccReceivers)) { - String[] ccReceiverArray = new String[ccReceivers.size()]; - ccReceivers.toArray(ccReceiverArray); - mimeMessageHelper.setCc(ccReceiverArray); - } - } - - // 处理密送 - List<String> bccList = mailParam.getBccList(); - if (CollUtil.isNotEmpty(bccList)) { - Set<String> bccReceivers = Sets.intersection(allReceivers, Sets.newHashSet(mailParam.getBccList())); - if (!CollectionUtil.isEmpty(bccReceivers)) { - String[] bccReceiverArray = new String[bccReceivers.size()]; - bccReceivers.toArray(bccReceiverArray); - mimeMessageHelper.setBcc(ArrayUtil.toArray(bccList, String.class)); - } - } - - // 创建一个消息部分来代表正文 - BodyPart messageBodyPart = new MimeBodyPart(); - messageBodyPart.setContent(mailParam.getMessage(), MIME_TYPE_DEFAULT); - // 使用MimeMultipart,因为我们需要处理文件附件 - Multipart multipart = new MimeMultipart(); - - // 判断是否包含附件 - if (mailParam.isSendAttachment()) { - this.buildAttachmentParam(mailParam, multipart); - } - - // 添加正文 - multipart.addBodyPart(messageBodyPart); - // 将所有消息部分放入消息中 - mimeMessage.setContent(multipart); - mimeMessageList.add(mimeMessage); - - } - - /** - * 构建附件参数 - */ - private void buildAttachmentParam(SendMailParam mailParam, Multipart multipart) throws MessagingException { - // 获得附件集合 进行发送附件 - List<MailFileParam> files = mailParam.getFileList(); - if (!CollectionUtil.isEmpty(files)) { - for (MailFileParam f : files) { - - MimeBodyPart mimeBodyPart = new MimeBodyPart(); - // 附件数据源:根据文件字节放入数据源 - DataSource dss = new ByteArrayDataSource(f.getFileInputStream(), "application/png"); - // 数据处理器 - DataHandler dh = new DataHandler(dss); - mimeBodyPart.setFileName(f.getFileName()); - mimeBodyPart.setDataHandler(dh); - multipart.addBodyPart(mimeBodyPart); - } - } - } - - /** - * 获取邮件配置 - */ - private MailConfigDto getMailConfig(String configCode) { - MailConfigDto mailConfig; - - // 无code获取默认 - if (StrUtil.isEmpty(configCode)) { - mailConfig = mailConfigService.getDefaultConfig(); - } - else { - mailConfig = mailConfigService.getByCode(configCode); - } - if (mailConfig == null) { - throw new MailConfigNotExistException(); - } - return mailConfig; - } - - /** - * 获取邮件发件器 - */ - private JavaMailSenderImpl getMailSender(MailConfigDto mailConfig) { - JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); - mailSender.setHost(mailConfig.getHost()); - mailSender.setPort(mailConfig.getPort()); - mailSender.setUsername(mailConfig.getUsername()); - mailSender.setPassword(mailConfig.getPassword()); - - Properties props = new Properties(); - // 判断是否是TLS - if (Objects.equals(Optional.ofNullable(mailConfig.getSecurityType()).orElse(0), MailCode.SECURITY_TYPE_TLS)) { - props.setProperty("mail.smtp.starttls.enable", "true"); - } - else if (Objects.equals(Optional.ofNullable(mailConfig.getSecurityType()).orElse(0), - MailCode.SECURITY_TYPE_SSL)) { - props.setProperty("mail.smtp.starttls.enable", "true"); - props.setProperty("mail.smtp.auth", "true"); - props.setProperty("mail.smtp.socketFactory.port", mailConfig.getPort() + ""); - props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); - props.setProperty("mail.smtp.socketFactory.fallback", "false"); - } - mailSender.setJavaMailProperties(props); - - return mailSender; - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/MailConfigService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/MailConfigService.java deleted file mode 100644 index ca7bf74dcb484e83ff8fa0953dab4daad8930fc8..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/mail/service/MailConfigService.java +++ /dev/null @@ -1,119 +0,0 @@ -package cn.bootx.platform.notice.core.mail.service; - -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.exception.MailConfigCodeAlreadyExistedException; -import cn.bootx.platform.notice.exception.MailConfigNotExistException; -import cn.bootx.platform.notice.param.mail.MailConfigParam; -import cn.bootx.platform.notice.core.mail.dao.MailConfigManager; -import cn.bootx.platform.notice.core.mail.entity.MailConfig; -import cn.bootx.platform.notice.dto.mail.MailConfigDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 邮件配置 - * - * @author xxm - * @since 2020/4/8 13:29 - */ -@Service -@AllArgsConstructor -public class MailConfigService { - - private final MailConfigManager mailConfigManager; - - /** - * 添加新邮箱配置 - */ - @Transactional(rollbackFor = Exception.class) - public MailConfigDto add(MailConfigParam param) { - if (mailConfigManager.existsByCode(param.getCode())) { - throw new MailConfigCodeAlreadyExistedException(); - } - - MailConfig mailConfig = MailConfig.init(param); - return mailConfigManager.save(mailConfig).toDto(); - } - - /** - * 更新邮箱配置 - */ - @Transactional(rollbackFor = Exception.class) - public MailConfigDto update(MailConfigParam param) { - MailConfig mailConfig = mailConfigManager.findById(param.getId()).orElseThrow(MailConfigNotExistException::new); - - if (mailConfigManager.existsByCode(param.getCode(), param.getId())) { - throw new MailConfigCodeAlreadyExistedException(); - } - - BeanUtil.copyProperties(param, mailConfig, CopyOptions.create().ignoreNullValue()); - return mailConfigManager.updateById(mailConfig).toDto(); - } - - /** - * 根据 id 获取相应的邮箱配置 - */ - public MailConfigDto findById(Long id) { - return ResultConvertUtil.dtoConvert(mailConfigManager.findById(id)); - } - - /** - * 获取 默认邮箱配置 - */ - public MailConfigDto getDefaultConfig() { - return ResultConvertUtil.dtoConvert(mailConfigManager.findByActivity()); - } - - /** - * 分页 - */ - public PageResult<MailConfigDto> page(PageParam pageParam, MailConfigParam param) { - return MpUtil.convert2DtoPageResult(mailConfigManager.page(pageParam, param)); - } - - /** - * 根据 code 获取相应的邮箱配置 - */ - public MailConfigDto getByCode(String code) { - return ResultConvertUtil.dtoConvert(mailConfigManager.findByCode(code)); - } - - /** - * 编码是否已经存在 - */ - public boolean existsByCode(String code) { - return mailConfigManager.existsByCode(code); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return mailConfigManager.existsByCode(code, id); - } - - /** - * 设置活动邮箱 - */ - @Transactional(rollbackFor = Exception.class) - public void setUpActivity(Long id) { - MailConfig mailConfig = mailConfigManager.findById(id).orElseThrow(MailConfigNotExistException::new); - mailConfig.setActivity(true); - mailConfigManager.removeAllActivity(); - mailConfigManager.updateById(mailConfig); - } - - /** - * 根据 id 删除相应的邮箱配置 - */ - public void delete(Long id) { - mailConfigManager.deleteById(id); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/convert/SiteMessageConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/convert/SiteMessageConvert.java deleted file mode 100644 index 6b27d1cfc064ab71ed02966b46429109fbf5b2d5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/convert/SiteMessageConvert.java +++ /dev/null @@ -1,21 +0,0 @@ -package cn.bootx.platform.notice.core.site.convert; - -import cn.bootx.platform.notice.core.site.entity.SiteMessage; -import cn.bootx.platform.notice.dto.site.SiteMessageDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 站内信转换 - * - * @author xxm - * @since 2021/8/7 - */ -@Mapper -public interface SiteMessageConvert { - - SiteMessageConvert CONVERT = Mappers.getMapper(SiteMessageConvert.class); - - SiteMessageDto convert(SiteMessage in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageManager.java deleted file mode 100644 index 7df9a5dde7d0e2a41d3b19a2e2ff7393485f3442..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageManager.java +++ /dev/null @@ -1,112 +0,0 @@ -package cn.bootx.platform.notice.core.site.dao; - -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.core.site.domain.SiteMessageInfo; -import cn.bootx.platform.notice.core.site.entity.SiteMessage; -import cn.bootx.platform.notice.code.SiteMessageCode; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.stereotype.Repository; - -import java.time.LocalDate; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import static cn.bootx.platform.notice.code.SiteMessageCode.STATE_SENT; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class SiteMessageManager extends BaseManager<SiteMessageMapper, SiteMessage> { - - /** - * 接收用户消息分页 - */ - public Page<SiteMessageInfo> pageByReceive(PageParam pageParam, SiteMessageInfo query, Long userId) { - val mpPage = MpUtil.getMpPage(pageParam, SiteMessageInfo.class); - - val wrapper = new LambdaQueryWrapper<SiteMessageInfo>() - .and(o -> o - .and(p -> p.eq(SiteMessageInfo::getReceiveType, SiteMessageCode.RECEIVE_ALL) - .gt(SiteMessageInfo::getEfficientTime, LocalDate.now())) - .or() - .eq(SiteMessageInfo::getReceiveId, userId)) - .eq(SiteMessageInfo::getSendState, STATE_SENT) - .eq(StrUtil.isNotBlank(query.getTitle()), SiteMessageInfo::getTitle, query.getTitle()) - .orderByAsc(SiteMessageInfo::getHaveRead) - .orderByDesc(SiteMessageInfo::getReadTime); - if (Objects.equals(query.getHaveRead(), true)) { - wrapper.eq(SiteMessageInfo::getHaveRead, query.getHaveRead()); - } - // 已读为空也视为未读 - if (Objects.equals(query.getHaveRead(), false)) { - wrapper.and(o -> o.eq(SiteMessageInfo::getHaveRead, false).or().isNull(SiteMessageInfo::getHaveRead)); - - } - - return baseMapper.pageMassage(mpPage, wrapper); - } - - /** - * 查询未读的消息数量 - */ - public Integer countByReceiveNotRead(Long userId) { - val wrapper = new LambdaQueryWrapper<SiteMessageInfo>() - .and(o -> o - .and(p -> p.eq(SiteMessageInfo::getReceiveType, SiteMessageCode.RECEIVE_ALL) - .gt(SiteMessageInfo::getEfficientTime, LocalDate.now())) - .or() - .eq(SiteMessageInfo::getReceiveId, userId)) - .and(o -> o.eq(SiteMessageInfo::getHaveRead, false).or().isNull(SiteMessageInfo::getHaveRead)) - .eq(SiteMessageInfo::getSendState, STATE_SENT) - .orderByAsc(SiteMessageInfo::getHaveRead) - .orderByDesc(SiteMessageInfo::getReadTime); - return baseMapper.countMassage(wrapper); - } - - public List<String> listByReceiveNotRead(Long userId) { - Page<SiteMessageInfo> page = new Page<>(); - page.setSize(5); - page.setSize(1); - val wrapper = new LambdaQueryWrapper<SiteMessageInfo>() - .and(o -> o - .and(p -> p.eq(SiteMessageInfo::getReceiveType, SiteMessageCode.RECEIVE_ALL) - .gt(SiteMessageInfo::getEfficientTime, LocalDate.now())) - .or() - .eq(SiteMessageInfo::getReceiveId, userId)) - .and(o -> o.eq(SiteMessageInfo::getHaveRead, false).or().isNull(SiteMessageInfo::getHaveRead)) - .eq(SiteMessageInfo::getSendState, STATE_SENT) - .orderByAsc(SiteMessageInfo::getHaveRead) - .orderByDesc(SiteMessageInfo::getReadTime); - return baseMapper.pageMassage(page, wrapper).getRecords().stream() - .map(SiteMessageInfo::getTitle).collect(Collectors.toList()); - } - - /** - * 发送人消息分页 - */ - public Page<SiteMessage> pageBySender(PageParam pageParam, SiteMessageInfo query, Long userId) { - Page<SiteMessage> mpPage = MpUtil.getMpPage(pageParam, SiteMessage.class); - return lambdaQuery().select(SiteMessage.class, MpUtil::excludeBigField) - .eq(SiteMessage::getSenderId, userId) - .like(StrUtil.isNotBlank(query.getTitle()), SiteMessage::getSenderId, query.getTitle()) - .eq(StrUtil.isNotBlank(query.getSendState()), SiteMessage::getSendState, query.getSendState()) - .eq(StrUtil.isNotBlank(query.getReceiveType()), SiteMessage::getReceiveType, query.getReceiveType()) - .orderByDesc(SiteMessage::getId) - .page(mpPage); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageMapper.java deleted file mode 100644 index 2ce415b49e8b46d87a73161c71aacfd16d5d90c8..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.core.site.dao; - -import cn.bootx.platform.notice.core.site.domain.SiteMessageInfo; -import cn.bootx.platform.notice.core.site.entity.SiteMessage; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@Mapper -public interface SiteMessageMapper extends BaseMapper<SiteMessage> { - - Page<SiteMessageInfo> pageMassage(Page<SiteMessageInfo> page, - @Param(Constants.WRAPPER) Wrapper<SiteMessageInfo> wrapper); - - Integer countMassage(@Param(Constants.WRAPPER) Wrapper<SiteMessageInfo> wrapper); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserManager.java deleted file mode 100644 index 3620ed892f52a6b5f161c0dbef47da80c99fe16b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserManager.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.bootx.platform.notice.core.site.dao; - -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.notice.core.site.entity.SiteMessageUser; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.time.LocalDateTime; -import java.util.Optional; - -/** - * @author xxm - * @since 2022/8/14 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class SiteMessageUserManager extends BaseManager<SiteMessageUserMapper, SiteMessageUser> { - - /** - * 根据消息ID查询 - */ - public Optional<SiteMessageUser> findByMessageId(Long messageId) { - return findByField(SiteMessageUser::getMessageId, messageId); - } - - /** - * 阅读 - */ - public void readById(Long id) { - lambdaUpdate().eq(MpIdEntity::getId, id) - .set(SiteMessageUser::isHaveRead, Boolean.TRUE) - .set(SiteMessageUser::getReadTime, LocalDateTime.now()) - .update(); - } - - /** - * 根据消息ID删除 - */ - public void deleteByMessageId(Long messageId) { - deleteByField(SiteMessageUser::getMessageId, messageId); - - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserMapper.java deleted file mode 100644 index b8917594db67efefd8f89fcf9433e42a39e730f5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/dao/SiteMessageUserMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.notice.core.site.dao; - -import cn.bootx.platform.notice.core.site.entity.SiteMessageUser; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2022/8/14 - */ -@Mapper -public interface SiteMessageUserMapper extends BaseMapper<SiteMessageUser> { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfo.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfo.java deleted file mode 100644 index 5e41cdf14481fd0dd8656fa8b0bbcb2304dbc49c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfo.java +++ /dev/null @@ -1,59 +0,0 @@ -package cn.bootx.platform.notice.core.site.domain; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import lombok.experimental.FieldNameConstants; - -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * 站内信信息详情 - * - * @author xxm - * @since 2022/8/14 - */ -@Data -@Accessors(chain = true) -@FieldNameConstants -@Schema(title = "站内信信息详情") -public class SiteMessageInfo { - - @Schema(description = "消息id") - private Long id; - - @Schema(description = "标题") - private String title; - - @Schema(description = "发送人id") - private Long senderId; - - @Schema(description = "发送人姓名") - private String senderName; - - @Schema(description = "接收类型") - private String receiveType; - - @Schema(description = "发送时间") - private LocalDateTime senderTime; - - @Schema(description = "发送状态") - private String sendState; - - @Schema(description = "撤回时间") - private LocalDateTime cancelTime; - - @Schema(description = "接收人id") - private Long receiveId; - - @Schema(description = "是否已读") - private Boolean haveRead; - - @Schema(description = "读取时间") - private LocalDateTime readTime; - - @Schema(description = "截至有效期") - private LocalDate efficientTime; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfoMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfoMapper.java deleted file mode 100644 index 26e909a109e399fdb9b7fccc847e185e2d24d259..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/domain/SiteMessageInfoMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.bootx.platform.notice.core.site.domain; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 只用来生成字段缓存 - * - * @author xxm - * @since 2022/8/14 - */ -@Mapper -public interface SiteMessageInfoMapper extends BaseMapper<SiteMessageInfo> { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessage.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessage.java deleted file mode 100644 index 7102e54128cb0fea1036cde91d7275a1b1962595..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessage.java +++ /dev/null @@ -1,68 +0,0 @@ -package cn.bootx.platform.notice.core.site.entity; - -import cn.bootx.platform.common.core.annotation.BigField; -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.site.convert.SiteMessageConvert; -import cn.bootx.platform.notice.code.SiteMessageCode; -import cn.bootx.platform.notice.dto.site.SiteMessageDto; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("notice_site_message") -public class SiteMessage extends MpBaseEntity implements EntityBaseFunction<SiteMessageDto> { - - /** 消息标题 */ - private String title; - - /** 消息内容 */ - @BigField - private String content; - - /** - * 接收对象类型 全体/指定用户 - * @see SiteMessageCode#RECEIVE_ALL - */ - private String receiveType; - - /** - * 发布状态 - * @see SiteMessageCode#STATE_SENT - */ - private String sendState; - - /** 发送者id */ - private Long senderId; - - /** 发送者姓名 */ - private String senderName; - - /** 发送时间 */ - private LocalDateTime senderTime; - - /** 撤销时间 */ - private LocalDateTime cancelTime; - - /** 截至有效期 有效超过有效期后全体通知将无法看到 */ - private LocalDate efficientTime; - - @Override - public SiteMessageDto toDto() { - return SiteMessageConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessageUser.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessageUser.java deleted file mode 100644 index 7539feb030d2ced63c4a7d062f53fdd41298b3c4..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/entity/SiteMessageUser.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.site.entity; - -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 消息用户关联信息 - * - * @author xxm - * @since 2022/8/13 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("notice_site_message_user") -public class SiteMessageUser extends MpCreateEntity { - - /** 消息id */ - private Long messageId; - - /** 接收者id */ - private Long receiveId; - - /** 已读/未读 */ - private boolean haveRead; - - /** 已读时间 */ - private LocalDateTime readTime; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/service/SiteMessageService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/service/SiteMessageService.java deleted file mode 100644 index d8312a70aa27cc40078b435c872421900f961276..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/site/service/SiteMessageService.java +++ /dev/null @@ -1,235 +0,0 @@ -package cn.bootx.platform.notice.core.site.service; - -import cn.bootx.platform.common.core.code.CommonCode; -import cn.bootx.platform.common.core.entity.UserDetail; -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.common.websocket.entity.WsRes; -import cn.bootx.platform.common.websocket.service.UserWsNoticeService; -import cn.bootx.platform.notice.param.site.SendSiteMessageParam; -import cn.bootx.platform.starter.auth.util.SecurityUtil; -import cn.bootx.platform.notice.core.site.dao.SiteMessageManager; -import cn.bootx.platform.notice.core.site.dao.SiteMessageUserManager; -import cn.bootx.platform.notice.core.site.domain.SiteMessageInfo; -import cn.bootx.platform.notice.core.site.entity.SiteMessage; -import cn.bootx.platform.notice.core.site.entity.SiteMessageUser; -import cn.bootx.platform.notice.dto.site.SiteMessageDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.util.DesensitizedUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import static cn.bootx.platform.notice.code.SiteMessageCode.*; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class SiteMessageService { - - private final SiteMessageManager siteMessageManager; - - private final SiteMessageUserManager siteMessageUserManager; - - private final UserWsNoticeService userWsNoticeService; - - /** - * 保存或更新草稿 - */ - @Transactional(rollbackFor = Exception.class) - public void saveOrUpdate(SendSiteMessageParam param) { - SiteMessage siteMessage; - if (Objects.nonNull(param.getId())) { - siteMessage = siteMessageManager.findById(param.getId()) - .orElseThrow(() -> new DataNotExistException("站内信信息不存在")); - BeanUtil.copyProperties(param, siteMessage, CopyOptions.create().ignoreNullValue()); - } else { - siteMessage = new SiteMessage().setTitle(param.getTitle()) - .setSendState(STATE_DRAFT) - .setContent(param.getContent()) - .setReceiveType(param.getReceiveType()) - .setEfficientTime(param.getEfficientTime()) - .setSenderTime(LocalDateTime.now()); - // 添加消息关联人信息 暂时这段逻辑用不到, 现在发布的都是全体用户信心 - if (Objects.equals(RECEIVE_USER, param.getReceiveType())) { - List<SiteMessageUser> siteMessageUsers = param.getReceiveIds() - .stream() - .map(userId -> new SiteMessageUser().setMessageId(param.getId()).setReceiveId(userId)) - .collect(Collectors.toList()); - siteMessageUserManager.saveAll(siteMessageUsers); - } - } - // 新增或更新站内信内容 - val userDetail = SecurityUtil.getCurrentUser(); - siteMessage.setTitle(param.getTitle()) - .setSenderId(userDetail.map(UserDetail::getId).orElse(DesensitizedUtil.userId())) - .setSenderName(userDetail.map(UserDetail::getName).orElse("未知")); - siteMessageManager.saveOrUpdate(siteMessage); - - } - - /** - * 站内信发送消息 - */ - @Transactional(rollbackFor = Exception.class) - public void send(Long id) { - SiteMessage siteMessage = siteMessageManager.findById(id) - .orElseThrow(() -> new DataNotExistException("站内信信息不存在")); - val userDetail = SecurityUtil.getCurrentUser(); - - // 新增站内信内容 - siteMessage.setSenderId(userDetail.map(UserDetail::getId).orElse(DesensitizedUtil.userId())) - .setSendState(STATE_SENT) - .setSenderName(userDetail.map(UserDetail::getName).orElse("未知")) - .setSenderTime(LocalDateTime.now()); - siteMessageManager.updateById(siteMessage); - userWsNoticeService.sendMessageByAll(WsRes.eventNotice(EVENT_MESSAGE_UPDATE)); - } - - /** - * 发送站内信 - */ - @Transactional(rollbackFor = Exception.class) - public void send(SendSiteMessageParam param) { - - // 新增站内信内容 - SiteMessage siteMessage = new SiteMessage().setTitle(param.getTitle()) - .setContent(param.getContent()) - .setSendState(STATE_SENT) - .setReceiveType(param.getReceiveType()) - .setEfficientTime(param.getEfficientTime()) - .setSenderId(param.getSenderId()) - .setSenderName(param.getSenderName()) - .setSenderTime(LocalDateTime.now()); - siteMessageManager.save(siteMessage); - // 添加消息关联人信息 - if (Objects.equals(RECEIVE_USER, param.getReceiveType())) { - - List<SiteMessageUser> siteMessageUsers = param.getReceiveIds() - .stream() - .map(userId -> new SiteMessageUser().setMessageId(siteMessage.getId()).setReceiveId(userId)) - .collect(Collectors.toList()); - siteMessageUserManager.saveAll(siteMessageUsers); - userWsNoticeService.sendMessageByUsers(WsRes.eventNotice(EVENT_MESSAGE_UPDATE), param.getReceiveIds()); - } - } - - /** - * 发送给单个用户信息, 发送人为系统 - */ - public void sendSingleUserBySystem(String title, String content, Long userId) { - val param = new SendSiteMessageParam().setTitle(title) - .setContent(content) - .setSenderId(CommonCode.SYSTEM_DEFAULT_USERID) - .setSenderName(CommonCode.SYSTEM_DEFAULT_USERNAME) - .setReceiveType(RECEIVE_USER) - .setReceiveIds(Collections.singletonList(userId)); - this.send(param); - } - - /** - * 发送给多个用户信息, 发送人为系统 - */ - public void sendMultiUserBySystem(String title, String content, List<Long> userIds) { - val param = new SendSiteMessageParam().setTitle(title) - .setContent(content) - .setSenderId(CommonCode.SYSTEM_DEFAULT_USERID) - .setSenderName(CommonCode.SYSTEM_DEFAULT_USERNAME) - .setReceiveType(RECEIVE_USER) - .setReceiveIds(userIds); - this.send(param); - } - - /** - * 撤回消息 - */ - @Transactional(rollbackFor = Exception.class) - public void cancel(Long messageId) { - SiteMessage siteMessage = siteMessageManager.findById(messageId) - .orElseThrow(() -> new DataNotExistException("站内信不存在")); - siteMessage.setCancelTime(LocalDateTime.now()).setSendState(STATE_CANCEL); - siteMessageManager.updateById(siteMessage); - userWsNoticeService.sendMessageByAll(WsRes.eventNotice(EVENT_MESSAGE_UPDATE)); - } - - /** - * 删除消息 - */ - @Transactional(rollbackFor = Exception.class) - public void delete(Long messageId) { - SiteMessage siteMessage = siteMessageManager.findById(messageId) - .orElseThrow(() -> new DataNotExistException("站内信不存在")); - if (!CollUtil.toList(STATE_CANCEL, STATE_DRAFT).contains(siteMessage.getSendState())) { - throw new BizException("站内信不是撤回或草稿状态,无法被删除"); - } - siteMessageManager.deleteById(messageId); - siteMessageUserManager.deleteByMessageId(messageId); - } - - /** - * 未读消息数量 - */ - public Integer countByReceiveNotRead(SiteMessageInfo query) { - Long userId = SecurityUtil.getUserId(); - // Long userId = 0L; - return siteMessageManager.countByReceiveNotRead(userId); - } - - /** - * 接收消息分页 - */ - public PageResult<SiteMessageInfo> pageByReceive(PageParam pageParam, SiteMessageInfo query) { - Long userId = SecurityUtil.getUserId(); - return MpUtil.convert2PageResult(siteMessageManager.pageByReceive(pageParam, query, userId)); - } - - /** - * 发送消息分页 - */ - public PageResult<SiteMessageDto> pageBySender(PageParam pageParam, SiteMessageInfo query) { - Long userId = SecurityUtil.getUserId(); - return MpUtil.convert2DtoPageResult(siteMessageManager.pageBySender(pageParam, query, userId)); - } - - /** - * 查询详情 - */ - public SiteMessageDto findById(Long id) { - return siteMessageManager.findById(id).map(SiteMessage::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 阅读 - */ - public void read(Long messageId) { - Long userId = SecurityUtil.getUserId(); - SiteMessageUser siteMessageUser = siteMessageUserManager.findByMessageId(messageId) - .orElse(new SiteMessageUser().setReceiveId(userId).setMessageId(messageId)); - siteMessageUser.setHaveRead(true).setReadTime(LocalDateTime.now()); - siteMessageUserManager.saveOrUpdate(siteMessageUser); - } - - public List<String> listByReceiveNotRead(SiteMessageInfo query) { - Long userId = SecurityUtil.getUserId(); - return siteMessageManager.listByReceiveNotRead(userId); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsChannelConfigConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsChannelConfigConvert.java deleted file mode 100644 index ccfdf66da4deb7b2e0c09599643584cd367ba424..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsChannelConfigConvert.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.bootx.platform.notice.core.sms.convert; - -import cn.bootx.platform.notice.core.sms.entity.SmsChannelConfig; -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 短信渠道配置 - * @author xxm - * @since 2023-08-03 - */ -@Mapper -public interface SmsChannelConfigConvert { - SmsChannelConfigConvert CONVERT = Mappers.getMapper(SmsChannelConfigConvert.class); - - SmsChannelConfig convert(SmsChannelConfigParam in); - - SmsChannelConfigDto convert(SmsChannelConfig in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsTemplateConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsTemplateConvert.java deleted file mode 100644 index e65f82fd6558435d963e340354419140bda302ea..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/convert/SmsTemplateConvert.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.bootx.platform.notice.core.sms.convert; - -import cn.bootx.platform.notice.core.sms.entity.SmsTemplate; -import cn.bootx.platform.notice.dto.sms.SmsTemplateDto; -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Mapper -public interface SmsTemplateConvert { - SmsTemplateConvert CONVERT = Mappers.getMapper(SmsTemplateConvert.class); - - SmsTemplate convert(SmsTemplateParam in); - - SmsTemplateDto convert(SmsTemplate in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigManager.java deleted file mode 100644 index 918a328d6133c0f3222c50eeba2ad7ddd771d386..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigManager.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.bootx.platform.notice.core.sms.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.notice.core.sms.entity.SmsChannelConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Optional; - -@Slf4j -@Service -@RequiredArgsConstructor -public class SmsChannelConfigManager extends BaseManager<SmsChannelConfigMapper, SmsChannelConfig> { - - - public boolean existsByCode(String code){ - return existedByField(SmsChannelConfig::getCode,code); - } - public boolean existsByCode(String code,Long id){ - return existedByField(SmsChannelConfig::getCode,code,id); - } - - public Optional<SmsChannelConfig> findByCode(String code){ - return findByField(SmsChannelConfig::getCode,code); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigMapper.java deleted file mode 100644 index 63cde28882212d22566b6766deb76e8acb5a47ff..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsChannelConfigMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.bootx.platform.notice.core.sms.dao; - -import cn.bootx.platform.notice.core.sms.entity.SmsChannelConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2023/3/28 - */ -@Mapper -public interface SmsChannelConfigMapper extends BaseMapper<SmsChannelConfig> { -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateManager.java deleted file mode 100644 index 81212869263033e16adf2fcaf5c1f6fcb2ac1c81..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateManager.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.sms.dao; - -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import cn.bootx.platform.notice.core.sms.entity.SmsTemplate; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.common.query.generator.QueryGenerator; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Repository -@RequiredArgsConstructor -public class SmsTemplateManager extends BaseManager<SmsTemplateMapper, SmsTemplate> { - - /** - * 分页 - */ - public Page<SmsTemplate> page(PageParam pageParam, SmsTemplateParam param) { - Page<SmsTemplate> mpPage = MpUtil.getMpPage(pageParam, SmsTemplate.class); - QueryWrapper<SmsTemplate> wrapper = QueryGenerator.generator(param, this.getEntityClass()); - wrapper.select(this.getEntityClass(),MpUtil::excludeBigField) - .orderByDesc(MpUtil.getColumnName(SmsTemplate::getId)); - return this.page(mpPage,wrapper); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateMapper.java deleted file mode 100644 index 09ee2fbe31d57a3b1168a2051962fcc8b7e2a617..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/dao/SmsTemplateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.notice.core.sms.dao; - -import cn.bootx.platform.notice.core.sms.entity.SmsTemplate; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Mapper -public interface SmsTemplateMapper extends BaseMapper<SmsTemplate> { -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java deleted file mode 100644 index bea4b69589431c26c155991c9ce4553791c8de4e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsChannelConfig.java +++ /dev/null @@ -1,91 +0,0 @@ -package cn.bootx.platform.notice.core.sms.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.sms.convert.SmsChannelConfigConvert; -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; -import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import org.dromara.sms4j.provider.enumerate.SupplierType; - -import static com.baomidou.mybatisplus.annotation.FieldStrategy.ALWAYS; -import static com.baomidou.mybatisplus.annotation.FieldStrategy.NEVER; - -/** - * 短信渠道配置 - * @author xxm - * @since 2023/3/28 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("notice_sms_channel_config") -public class SmsChannelConfig extends MpBaseEntity implements EntityBaseFunction<SmsChannelConfigDto> { - - /** - * 渠道类型编码 - * @see SupplierType#name() - */ - @DbColumn(comment = "渠道类型编码") - @TableField(updateStrategy = NEVER) - private String code; - - /** - * 渠道类型名称 - * @see SupplierType#getName() - */ - @DbColumn(comment = "渠道类型名称") - private String name; - - /** - * 状态 - * @see cn.bootx.platform.notice.code.SmsChannelStatusCode - */ - @DbColumn(comment = "状态") - private String state; - - /** AccessKey */ - @DbColumn(comment = "AccessKey") - private String accessKey; - - /** AccessSecret */ - @DbColumn(comment = "AccessSecret") - private String accessSecret; - - /** 配置字符串 */ - @DbMySqlFieldType(MySqlFieldTypeEnum.TEXT) - @DbColumn(comment = "配置字符串") - @TableField(updateStrategy = ALWAYS) - private String config; - - /** 图片 */ - @TableField(updateStrategy = ALWAYS) - @DbColumn(comment = "图片") - private Long image; - - /** 排序 */ - @DbColumn(comment = "排序") - private Double sortNo; - - /** 备注 */ - @DbColumn(comment = "备注") - private String remark; - - /** 创建对象 */ - public static SmsChannelConfig init(SmsChannelConfigParam in) { - return SmsChannelConfigConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public SmsChannelConfigDto toDto() { - return SmsChannelConfigConvert.CONVERT.convert(this); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsTemplate.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsTemplate.java deleted file mode 100644 index 38b6fcfc69dabd0227d59610d76697c39497c0b9..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/entity/SmsTemplate.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.bootx.platform.notice.core.sms.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.sms.convert.SmsTemplateConvert; -import cn.bootx.platform.notice.dto.sms.SmsTemplateDto; -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** -* 短信模板配置 -* @author xxm -* @since 2023-08-03 -*/ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("notice_sms_template") -public class SmsTemplate extends MpBaseEntity implements EntityBaseFunction<SmsTemplateDto>{ - - /** 短信渠道商类型 */ - private String supplierType; - /** 短信模板id */ - private String templateId; - /** 短信模板名称 */ - private String name; - /** 短信模板内容 */ - private String content; - - /** 创建对象 */ - public static SmsTemplate init(SmsTemplateParam in) { - return SmsTemplateConvert.CONVERT.convert(in); - } - - /** 转换成dto */ - @Override - public SmsTemplateDto toDto() { - return SmsTemplateConvert.CONVERT.convert(this); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsChannelConfigService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsChannelConfigService.java deleted file mode 100644 index 8720228d9b088d3742d8f8009aa661cee6260ae4..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsChannelConfigService.java +++ /dev/null @@ -1,246 +0,0 @@ -package cn.bootx.platform.notice.core.sms.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.function.CollectorsFunction; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.bootx.platform.common.jackson.util.JacksonUtil; -import cn.bootx.platform.notice.core.sms.dao.SmsChannelConfigManager; -import cn.bootx.platform.notice.core.sms.entity.SmsChannelConfig; -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import cn.bootx.platform.notice.event.sms.SmsChannelAddEvent; -import cn.bootx.platform.notice.event.sms.SmsChannelUpdateEvent; -import cn.bootx.platform.notice.param.sms.SmsChannelConfigParam; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.dromara.sms4j.aliyun.config.AlibabaConfig; -import org.dromara.sms4j.api.universal.SupplierConfig; -import org.dromara.sms4j.cloopen.config.CloopenConfig; -import org.dromara.sms4j.comm.exception.SmsBlendException; -import org.dromara.sms4j.core.config.SupplierFactory; -import org.dromara.sms4j.ctyun.config.CtyunConfig; -import org.dromara.sms4j.emay.config.EmayConfig; -import org.dromara.sms4j.huawei.config.HuaweiConfig; -import org.dromara.sms4j.jdcloud.config.JdCloudConfig; -import org.dromara.sms4j.netease.config.NeteaseConfig; -import org.dromara.sms4j.provider.enumerate.SupplierType; -import org.dromara.sms4j.tencent.config.TencentConfig; -import org.dromara.sms4j.unisms.config.UniConfig; -import org.dromara.sms4j.yunpian.config.YunpianConfig; -import org.springframework.boot.web.context.WebServerInitializedEvent; -import org.springframework.context.ApplicationEventPublisher; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; - -@Slf4j -@Service -@RequiredArgsConstructor -public class SmsChannelConfigService { - - private final SmsChannelConfigManager configManager; - - private final ApplicationEventPublisher eventPublisher; - - /** - * 添加 - */ - @Transactional(rollbackFor = Exception.class) - public void add(Map<String,Object> map){ - SmsChannelConfigParam param = BeanUtil.toBean(map, SmsChannelConfigParam.class); - SmsChannelConfig channelConfig = SmsChannelConfig.init(param); - // 编码不能重复 - if (configManager.existsByCode(param.getCode())) { - throw new BizException("编码已存在"); - } - String supplierConfig = getSupplierConfig(channelConfig, map); - channelConfig.setConfig(supplierConfig); - configManager.save(channelConfig); - this.initChannelConfig(channelConfig); - eventPublisher.publishEvent(new SmsChannelAddEvent(this,channelConfig.toDto())); - } - - /** - * 更新 - */ - @Transactional(rollbackFor = Exception.class) - public void update(Map<String,Object> map){ - SmsChannelConfigParam param = BeanUtil.toBean(map, SmsChannelConfigParam.class); - SmsChannelConfig channelConfig = configManager.findById(param.getId()) - .orElseThrow(DataNotExistException::new); - // 编码不能重复 - if (configManager.existsByCode(param.getCode(), param.getId())) { - throw new BizException("编码已存在"); - } - BeanUtil.copyProperties(param, channelConfig, CopyOptions.create().ignoreNullValue()); - String supplierConfig = getSupplierConfig(channelConfig, map); - channelConfig.setConfig(supplierConfig); - configManager.updateById(channelConfig); - this.initChannelConfig(channelConfig); - eventPublisher.publishEvent(new SmsChannelUpdateEvent(this,channelConfig.toDto())); - } - - - /** - * 查询全部配置 - */ - public List<SmsChannelConfigDto> findAll(){ - // 遍历数据库 - Map<String, SmsChannelConfig> map = configManager.findAll() - .stream() - .collect(Collectors.toMap(SmsChannelConfig::getCode, Function.identity(), CollectorsFunction::retainLatest)); - return Arrays.stream(SupplierType.values()) - .map(type-> Optional.ofNullable(map.get(type.name().toLowerCase())) - .orElse(new SmsChannelConfig() - .setCode(type.name().toLowerCase()) - .setSortNo(0.0) - .setName(type.getName()))) - .sorted(Comparator.comparing(SmsChannelConfig::getSortNo)) - .map(SmsChannelConfig::toDto) - .collect(Collectors.toList()); - } - - /** - * 根据ID查询 - */ - public SmsChannelConfigDto findById(Long id) { - return configManager.findById(id).map(SmsChannelConfig::toDto) - .orElseThrow(DataNotExistException::new); - } - - /** - * 根据code查询 - */ - public SmsChannelConfigDto findByCode(String code) { - return configManager.findByCode(code).map(SmsChannelConfig::toDto) - .orElseThrow(DataNotExistException::new); - } - - /** - * 启动成功后初始化所有的短信通道配置 - */ - @EventListener(WebServerInitializedEvent.class) - public void initChannelConfig(){ - List<SmsChannelConfig> smsChannelConfigs = configManager.findAll(); - smsChannelConfigs.forEach(this::initChannelConfig); - } - - /** - * 启动成功后初始化所有的短信通道配置 - */ - public void initChannelConfig(SmsChannelConfig channelConfig){ - SupplierType supplierType = getSupplierType(channelConfig.getCode()); - String config = channelConfig.getConfig(); - if (StrUtil.isBlank(config)){ - return; - } - SupplierConfig bean; - if (supplierType == SupplierType.ALIBABA) { - bean = JacksonUtil.toBean(config, AlibabaConfig.class); - } else if (supplierType == SupplierType.HUAWEI) { - bean = JacksonUtil.toBean(config, HuaweiConfig.class); - } else if (supplierType == SupplierType.UNI_SMS) { - bean = JacksonUtil.toBean(config, UniConfig.class); - } else if (supplierType == SupplierType.TENCENT) { - bean = JacksonUtil.toBean(config, TencentConfig.class); - } else if (supplierType == SupplierType.YUNPIAN) { - bean = JacksonUtil.toBean(config, YunpianConfig.class); - } else if (supplierType == SupplierType.JD_CLOUD) { - bean = JacksonUtil.toBean(config, JdCloudConfig.class); - } else if (supplierType == SupplierType.CLOOPEN) { - bean = JacksonUtil.toBean(config, CloopenConfig.class); - } else if (supplierType == SupplierType.EMAY) { - bean = JacksonUtil.toBean(config, EmayConfig.class); - } else if (supplierType == SupplierType.CTYUN) { - bean = JacksonUtil.toBean(config, CtyunConfig.class); - } else if (supplierType == SupplierType.NETEASE) { - bean = JacksonUtil.toBean(config, NeteaseConfig.class); - } else { - throw new SmsBlendException("短信加载失败!请检查配置类型."); - } - SupplierFactory.setSupplierConfig(bean); - } - - /** - * 获取供应商配置的序列化 - */ - private String getSupplierConfig(SmsChannelConfig channelConfig, Map<String,Object> map){ - SupplierType supplierType = getSupplierType(channelConfig.getCode()); - if (CollUtil.isEmpty(map)){ - return null; - } - if (supplierType == SupplierType.ALIBABA) { - val bean = BeanUtil.toBean(map, AlibabaConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.HUAWEI) { - val bean = BeanUtil.toBean(map, HuaweiConfig.class); - bean.setAppKey(channelConfig.getAccessKey()); - bean.setAppSecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.UNI_SMS) { - val bean = BeanUtil.toBean(map, UniConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.TENCENT) { - val bean = BeanUtil.toBean(map, TencentConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.YUNPIAN) { - val bean = BeanUtil.toBean(map, YunpianConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.JD_CLOUD) { - val bean = BeanUtil.toBean(map, JdCloudConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.CLOOPEN) { - val bean = BeanUtil.toBean(map, CloopenConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.EMAY) { - val bean = BeanUtil.toBean(map, EmayConfig.class); - bean.setAppId(channelConfig.getAccessKey()); - bean.setSecretKey(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.CTYUN) { - val bean = BeanUtil.toBean(map, CtyunConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else if (supplierType == SupplierType.NETEASE) { - val bean = BeanUtil.toBean(map, NeteaseConfig.class); - bean.setAccessKeyId(channelConfig.getAccessKey()); - bean.setAccessKeySecret(channelConfig.getAccessSecret()); - return JacksonUtil.toJson(bean); - } else { - throw new SmsBlendException("短信加载失败!请检查配置类型."); - } - - } - - /** - * 获取 短信供应商 枚举 - */ - public SupplierType getSupplierType(String code){ - return Arrays.stream(SupplierType.values()) - .filter(supplierType -> supplierType.name().equalsIgnoreCase(code)) - .findFirst() - .orElseThrow(() -> new BizException("短信供应商未找到")); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsTemplateService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsTemplateService.java deleted file mode 100644 index 22c1c354d822daa59e251f57aedc68b75afc7d56..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/sms/service/SmsTemplateService.java +++ /dev/null @@ -1,75 +0,0 @@ -package cn.bootx.platform.notice.core.sms.service; - -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.core.sms.dao.SmsTemplateManager; -import cn.bootx.platform.notice.core.sms.entity.SmsTemplate; -import cn.bootx.platform.notice.dto.sms.SmsTemplateDto; -import cn.bootx.platform.notice.param.sms.SmsTemplateParam; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class SmsTemplateService { - private final SmsTemplateManager smsTemplateManager; - - /** - * 添加 - */ - public void add(SmsTemplateParam param){ - SmsTemplate smsTemplate = SmsTemplate.init(param); - smsTemplateManager.save(smsTemplate); - } - - /** - * 修改 - */ - public void update(SmsTemplateParam param){ - SmsTemplate smsTemplate = smsTemplateManager.findById(param.getId()).orElseThrow(DataNotExistException::new); - BeanUtil.copyProperties(param,smsTemplate, CopyOptions.create().ignoreNullValue()); - smsTemplateManager.updateById(smsTemplate); - } - - /** - * 分页 - */ - public PageResult<SmsTemplateDto> page(PageParam pageParam,SmsTemplateParam smsTemplateParam){ - return MpUtil.convert2DtoPageResult(smsTemplateManager.page(pageParam,smsTemplateParam)); - } - - /** - * 获取单条 - */ - public SmsTemplateDto findById(Long id){ - return smsTemplateManager.findById(id).map(SmsTemplate::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 获取全部 - */ - public List<SmsTemplateDto> findAll(){ - return ResultConvertUtil.dtoListConvert(smsTemplateManager.findAll()); - } - - /** - * 删除 - */ - public void delete(Long id){ - smsTemplateManager.deleteById(id); - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/convert/MessageTemplateConvert.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/convert/MessageTemplateConvert.java deleted file mode 100644 index cdaf3044b71f07e5cc94384e79cec10ba0715572..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/convert/MessageTemplateConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.core.template.convert; - -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import cn.bootx.platform.notice.core.template.entity.MessageTemplate; -import cn.bootx.platform.notice.dto.template.MessageTemplateDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 消息模板转换 - * - * @author xxm - * @since 2021/8/10 - */ -@Mapper -public interface MessageTemplateConvert { - - MessageTemplateConvert CONVERT = Mappers.getMapper(MessageTemplateConvert.class); - - MessageTemplateDto convert(MessageTemplate in); - - MessageTemplate convert(MessageTemplateDto in); - - MessageTemplate convert(MessageTemplateParam in); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateManager.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateManager.java deleted file mode 100644 index 0fb1fb91417dbd5be1a118e1e99901c6597fcefa..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateManager.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.bootx.platform.notice.core.template.dao; - -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.core.template.entity.MessageTemplate; -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -import java.util.Optional; - -/** - * 消息模板 - * - * @author xxm - * @since 2021/8/9 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class MessageTemplateManager extends BaseManager<MessageTemplateMapper, MessageTemplate> { - - public Optional<MessageTemplate> findByCode(String code) { - return findByField(MessageTemplate::getCode, code); - } - - public boolean existsByCode(String code) { - return existedByField(MessageTemplate::getCode, code); - } - - public boolean existsByCode(String code, Long id) { - return existedByField(MessageTemplate::getCode, code, id); - } - - public Page<MessageTemplate> page(PageParam pageParam, MessageTemplateParam query) { - Page<MessageTemplate> mpPage = MpUtil.getMpPage(pageParam, MessageTemplate.class); - return lambdaQuery().like(StrUtil.isNotBlank(query.getCode()), MessageTemplate::getCode, query.getCode()) - .like(StrUtil.isNotBlank(query.getName()), MessageTemplate::getName, query.getName()) - .orderByDesc(MpIdEntity::getId) - .page(mpPage); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateMapper.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateMapper.java deleted file mode 100644 index 038c07bec8a673f61eb2c0b1c21f53a41da1b094..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/dao/MessageTemplateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.bootx.platform.notice.core.template.dao; - -import cn.bootx.platform.notice.core.template.entity.MessageTemplate; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * @author xxm - * @since 2021/8/9 - */ -@Mapper -public interface MessageTemplateMapper extends BaseMapper<MessageTemplate> { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/entity/MessageTemplate.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/entity/MessageTemplate.java deleted file mode 100644 index 931748f4aae846f27674f31bc98f15062c365764..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/entity/MessageTemplate.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.bootx.platform.notice.core.template.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.platform.notice.core.template.convert.MessageTemplateConvert; -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import cn.bootx.platform.notice.code.MessageTemplateCode; -import cn.bootx.platform.notice.dto.template.MessageTemplateDto; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -@EqualsAndHashCode(callSuper = true) -@Data -@TableName("notice_message_template") -@Accessors(chain = true) -public class MessageTemplate extends MpBaseEntity implements EntityBaseFunction<MessageTemplateDto> { - - /** 编码 */ - private String code; - - /** 名称 */ - private String name; - - /** 内容 */ - private String data; - - /** 备注 */ - private String remark; - - /** - * 模板类型 - * @see MessageTemplateCode - */ - private String type; - - public static MessageTemplate init(MessageTemplateParam in) { - return MessageTemplateConvert.CONVERT.convert(in); - } - - @Override - public MessageTemplateDto toDto() { - return MessageTemplateConvert.CONVERT.convert(this); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/service/MessageTemplateService.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/service/MessageTemplateService.java deleted file mode 100644 index 609f040c0bc82bf64f0fde5f437dbe54e44b41d2..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/template/service/MessageTemplateService.java +++ /dev/null @@ -1,110 +0,0 @@ -package cn.bootx.platform.notice.core.template.service; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.rest.PageResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.bootx.platform.notice.param.template.MessageTemplateParam; -import cn.bootx.platform.notice.core.template.dao.MessageTemplateManager; -import cn.bootx.platform.notice.core.template.entity.MessageTemplate; -import cn.bootx.platform.notice.dto.template.MessageTemplateDto; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.extra.template.Template; -import cn.hutool.extra.template.TemplateEngine; -import cn.hutool.extra.template.TemplateUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Map; - -/** - * 消息模板 - * - * @author xxm - * @since 2021/8/9 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class MessageTemplateService { - - private final MessageTemplateManager messageTemplateManager; - - /** - * 添加 - */ - public MessageTemplateDto add(MessageTemplateParam param) { - MessageTemplate messageTemplate = MessageTemplate.init(param); - // code 不重复 - if (messageTemplateManager.existsByCode(messageTemplate.getCode())) { - throw new BizException("模板编码不可重复"); - } - return messageTemplateManager.save(messageTemplate).toDto(); - - } - - /** - * 更新 - */ - public MessageTemplateDto update(MessageTemplateParam param) { - // code 不重复 - if (messageTemplateManager.existsByCode(param.getCode(), param.getId())) { - throw new BizException("模板编码不可重复"); - } - MessageTemplate messageTemplate = messageTemplateManager.findById(param.getId()) - .orElseThrow(() -> new BizException("消息模板不存在")); - BeanUtil.copyProperties(param, messageTemplate, CopyOptions.create().ignoreNullValue()); - return messageTemplateManager.updateById(messageTemplate).toDto(); - } - - /** - * 分页 - */ - public PageResult<MessageTemplateDto> page(PageParam pageParam, MessageTemplateParam query) { - return MpUtil.convert2DtoPageResult(messageTemplateManager.page(pageParam, query)); - } - - /** - * 获取详情 - */ - public MessageTemplateDto findById(Long id) { - return messageTemplateManager.findById(id).map(MessageTemplate::toDto).orElseThrow(DataNotExistException::new); - } - - /** - * 编码是否已经存在 - */ - public boolean existsByCode(String code) { - return messageTemplateManager.existsByCode(code); - } - - /** - * 编码是否已经存在(不包含自身) - */ - public boolean existsByCode(String code, Long id) { - return messageTemplateManager.existsByCode(code, id); - } - - /** - * 删除 - */ - public void delete(Long id) { - messageTemplateManager.deleteById(id); - } - - /** - * 渲染 - */ - public String rendering(String code, Map<String, Object> paramMap) { - MessageTemplate messageTemplate = messageTemplateManager.findByCode(code) - .orElseThrow(() -> new BizException("消息模板不存在")); - String date = messageTemplate.getData(); - TemplateEngine engine = TemplateUtil.createEngine(); - Template template = engine.getTemplate(date); - return template.render(paramMap); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeParam.java deleted file mode 100644 index 4466a9a8667f314839125c72fb3701a50f709b6c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeParam.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity; - -import cn.bootx.platform.notice.core.wecom.entity.msg.WeComMsg; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * 企业微信发送消息参数 - * - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@AllArgsConstructor -@NoArgsConstructor -@Schema(title = "企业微信发送消息参数") -public class WeComNoticeParam { - - @Schema(description = "接收人配置") - private WeComNoticeReceive receive; - - @Schema(description = "消息内容") - private WeComMsg msg; - - /** - * 转换成钉钉消息发送参数 - */ - public WxCpMessage toWeComNotice() { - WxCpMessage wxCpMessage = msg.toMsg(); - receive.process(wxCpMessage); - return wxCpMessage; - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeReceive.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeReceive.java deleted file mode 100644 index 2dcff4128df4b30b79f3eb3cdfc7fa47d2c48c31..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/WeComNoticeReceive.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity; - -import cn.bootx.platform.common.core.util.CollUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -import java.util.List; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企业微信接收人参数") -public class WeComNoticeReceive { - - @Schema(description = "是否发送给全部用户") - private boolean toAllUser; - - @Schema(description = "接收者的userid列表,最大用户列表长度1000") - private List<String> useridList; - - @Schema(description = "接收者的部门id列表,最大列表长度100") - private List<String> deptIdList; - - @Schema(description = "接收者的部门id列表,最大列表长度100") - private List<String> tagList; - - @Schema(description = "是否是保密消息") - private boolean safe; - - public void process(WxCpMessage wxCpMessage) { - wxCpMessage.setSafe(safe ? "1" : "0"); - if (toAllUser) { - wxCpMessage.setToUser("@all"); - return; - } - if (CollUtil.isNotEmpty(useridList)) { - wxCpMessage.setToUser(String.join("|", useridList)); - } - if (CollUtil.isNotEmpty(deptIdList)) { - wxCpMessage.setToParty(String.join("|", deptIdList)); - } - if (CollUtil.isNotEmpty(tagList)) { - wxCpMessage.setToTag(String.join("|", tagList)); - } - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComFileMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComFileMsg.java deleted file mode 100644 index 41b16ca2eafc75ad283dcd828248eff4cab6f9bb..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComFileMsg.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企微文件消息") -public class WeComFileMsg implements WeComMsg { - - @Schema(description = "资源id") - private String mediaId; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.FILE().mediaId(mediaId).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComImageMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComImageMsg.java deleted file mode 100644 index 7dbc5189e4c917abe0a1ad6850629463380728eb..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComImageMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@Accessors(chain = true) -@Schema(title = "企微图片消息") -public class WeComImageMsg implements WeComMsg { - - @Schema(description = "资源id") - private String mediaId; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.IMAGE().mediaId(mediaId).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMarkdownMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMarkdownMsg.java deleted file mode 100644 index cfd8f6d44f1c90d975a82596a8e9578300647475..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMarkdownMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Schema(title = "企微markdown消息") -public class WeComMarkdownMsg implements WeComMsg { - - @Schema(description = "markdown消息") - private String content; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.MARKDOWN().content(content).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMpNewsMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMpNewsMsg.java deleted file mode 100644 index 27663e7c3b587f62b3ae354db5635bffa07a891a..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMpNewsMsg.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.hutool.core.util.ArrayUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.article.MpnewsArticle; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -import java.util.List; - -/** - * mpnews类型的图文消息,跟普通的图文消息一致,唯一的差异是图文内容存储在企业微信。 多次发送mpnews,会被认为是不同的图文,阅读、点赞的统计会被分开计算。 - * - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "图文消息(mpnews)") -public class WeComMpNewsMsg implements WeComMsg { - - @Schema(description = "图文内容列表") - private List<MpnewsArticle> articles; - - @Override - public WxCpMessage toMsg() { - if (CollUtil.isEmpty(articles)) { - throw new BizException("图文内容列表不可为空"); - } - MpnewsArticle[] newArticles = ArrayUtil.toArray(articles, MpnewsArticle.class); - return WxCpMessage.MPNEWS().addArticle(newArticles).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMsg.java deleted file mode 100644 index 7f4a58251b8f53a237bd370205c1221104ac353e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComMsg.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * 企业微信通知消息 - * - * @author xxm - * @since 2022/7/23 - */ -public interface WeComMsg { - - /** - * 转换成企业微信格式的消息 - * @return - */ - WxCpMessage toMsg(); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComNewsMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComNewsMsg.java deleted file mode 100644 index b74b443dcd0e881dfc1457f889580e139c601f5f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComNewsMsg.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.bootx.platform.common.core.util.CollUtil; -import cn.hutool.core.util.ArrayUtil; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.article.NewArticle; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -import java.util.List; - -/** - * 暂未支持 - * - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "图文消息") -public class WeComNewsMsg implements WeComMsg { - - @Schema(description = "图文内容列表") - private List<NewArticle> articles; - - @Override - public WxCpMessage toMsg() { - if (CollUtil.isEmpty(articles)) { - throw new BizException("图文内容列表不可为空"); - } - NewArticle[] newArticles = ArrayUtil.toArray(articles, NewArticle.class); - return WxCpMessage.NEWS().addArticle(newArticles).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComRobotReceive.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComRobotReceive.java deleted file mode 100644 index ddad5674abed17a5cbca7d63a71444c6235ac10e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComRobotReceive.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.List; - -/** - * 企微机器人接收人配置 - * - * @author xxm - * @since 2022/7/24 - */ -@Data -@Accessors(chain = true) -@Schema(title = "企微机器人接收人配置") -public class WeComRobotReceive { - - List<String> mentionedList; - - List<String> mobileList; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextCardMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextCardMsg.java deleted file mode 100644 index cf5e7295481a7fbea1a1b7af4f06efd789e71c9f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextCardMsg.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@Accessors(chain = true) -@Schema(title = "文本卡片消息") -public class WeComTextCardMsg implements WeComMsg { - - @Schema(description = "标题") - private String title; - - @Schema(description = "描述") - private String description; - - @Schema(description = "点击后跳转的链接") - private String url; - - @Schema(description = "按钮文字") - private String btnTxt; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.TEXTCARD().title(title).description(description).url(url).btnTxt(btnTxt).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextMsg.java deleted file mode 100644 index 0bf517c0b397adae800673dfbe79027f66266f83..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComTextMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Schema(title = "文本消息") -public class WeComTextMsg implements WeComMsg { - - @Schema(description = "文本内容") - private String content; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.TEXT().content(content).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVideoMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVideoMsg.java deleted file mode 100644 index 662a419d6952c5a8d216635474e8b6090078b1be..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVideoMsg.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@Accessors(chain = true) -@Schema(title = "企微视频消息") -public class WeComVideoMsg implements WeComMsg { - - @Schema(description = "视频消息的标题") - private String title; - - @Schema(description = "资源id") - private String mediaId; - - @Schema(description = "视频消息的描述") - private String description; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.VIDEO().title(title).mediaId(mediaId).description(description).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVoiceMsg.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVoiceMsg.java deleted file mode 100644 index 04d7def47e0c37442d0480de3319006647d2ef9e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/entity/msg/WeComVoiceMsg.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.entity.msg; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import me.chanjar.weixin.cp.bean.message.WxCpMessage; - -/** - * @author xxm - * @since 2022/7/23 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Schema(title = "企微语音消息") -public class WeComVoiceMsg implements WeComMsg { - - @Schema(description = "资源id") - private String mediaId; - - @Override - public WxCpMessage toMsg() { - return WxCpMessage.VOICE().mediaId(mediaId).build(); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComNoticeSenderImpl.java deleted file mode 100644 index 0454ec561eb4b1d0a284b3beda5aee485cac57fe..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComNoticeSenderImpl.java +++ /dev/null @@ -1,139 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.service; - -import cn.bootx.platform.notice.core.wecom.entity.msg.*; -import cn.bootx.platform.notice.service.WeComNoticeSender; -import cn.bootx.platform.starter.wecom.core.notice.service.WeComNoticeService; -import cn.bootx.platform.notice.core.wecom.entity.WeComNoticeParam; -import cn.bootx.platform.notice.core.wecom.entity.WeComNoticeReceive; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.common.api.WxConsts; -import org.springframework.stereotype.Service; - -import java.io.InputStream; - -/** - * 实现类 - * - * @author xxm - * @since 2022/7/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeComNoticeSenderImpl implements WeComNoticeSender { - - private final WeComNoticeService weComNoticeService; - - /** - * 发送文本消息 - */ - @Override - public String sendTextNotice(WeComTextMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送图片消息 - */ - @Override - public String sendImageNotice(WeComImageMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送图片消息 (传入文件) - */ - @Override - public String sendImageNotice(InputStream inputStream, WeComNoticeReceive receive) { - String media = weComNoticeService.updatedMedia(inputStream, WxConsts.MediaFileType.IMAGE); - WeComImageMsg msg = new WeComImageMsg(media); - return this.sendNotice(msg, receive); - } - - /** - * 发送语音消息 - */ - @Override - public String sendVoiceNotice(WeComVoiceMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送语音消息(传入文件) - */ - @Override - public String sendVoiceNotice(InputStream inputStream, WeComNoticeReceive receive) { - String media = weComNoticeService.updatedMedia(inputStream, WxConsts.MediaFileType.VOICE); - WeComVoiceMsg msg = new WeComVoiceMsg(media); - return this.sendNotice(msg, receive); - } - - /** - * 发送视频消息 (传入文件) - */ - @Override - public String sendVideoNotice(String title, String description, InputStream inputStream, - WeComNoticeReceive receive) { - String media = weComNoticeService.updatedMedia(inputStream, WxConsts.MediaFileType.VIDEO); - WeComVideoMsg msg = new WeComVideoMsg(title, media, description); - return this.sendNotice(msg, receive); - } - - /** - * 发送视频消息 - */ - @Override - public String sendVideoNotice(WeComVideoMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送文本卡片消息 - */ - @Override - public String sendTextCardNotice(WeComTextCardMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送图文消息 - */ - @Override - public String sendNewsNotice(WeComNewsMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送图文消息(mpnews) - */ - @Override - public String sendMpNewsNotice(WeComMpNewsMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送markdown消息 - */ - @Override - public String sendMarkdownNotice(WeComMarkdownMsg msg, WeComNoticeReceive receive) { - return this.sendNotice(msg, receive); - } - - /** - * 发送企微信息 - */ - private String sendNotice(WeComMsg msg, WeComNoticeReceive receive) { - WeComNoticeParam weComNoticeParam = new WeComNoticeParam(receive, msg); - return weComNoticeService.sendNotice(weComNoticeParam.toWeComNotice()); - } - - /** - * 撤回企微消息 - */ - @Override - public void recallNotice(String msgId) { - weComNoticeService.recallNotice(msgId); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComRobotNoticeSenderImpl.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComRobotNoticeSenderImpl.java deleted file mode 100644 index ae141917bd5ed63f474ef8cbb637033d779320a8..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/core/wecom/service/WeComRobotNoticeSenderImpl.java +++ /dev/null @@ -1,101 +0,0 @@ -package cn.bootx.platform.notice.core.wecom.service; - -import cn.bootx.platform.notice.service.WeComRobotNoticeSender; -import cn.bootx.platform.starter.wecom.core.robot.service.WeComRobotNoticeService; -import cn.hutool.core.codec.Base64; -import cn.hutool.core.io.IoUtil; -import cn.hutool.crypto.digest.DigestUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import me.chanjar.weixin.cp.bean.article.NewArticle; -import org.springframework.stereotype.Service; - -import java.io.InputStream; -import java.util.List; - -/** - * 微信机器人消息发送 - * - * @author xxm - * @since 2022/7/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WeComRobotNoticeSenderImpl implements WeComRobotNoticeSender { - - private final WeComRobotNoticeService robotNoticeService; - - /** - * 发送文本消息 - */ - @Override - public void sendTextNotice(String code, String content, List<String> mentionedList, List<String> mobileList) { - robotNoticeService.sendTextNotice(code, content, mentionedList, mobileList); - } - - /** - * 发送markdown消息 - */ - @Override - public void sendMarkdownNotice(String code, String content) { - robotNoticeService.sendMarkdownNotice(code, content); - } - - /** - * 发送图片消息 - */ - @Override - public void sendImageNotice(String code, String imageBase64, String md5) { - robotNoticeService.sendImageNotice(code, imageBase64, md5); - } - - /** - * 发送图片消息 - */ - @Override - public void sendImageNotice(String code, InputStream imageIs) { - byte[] bytes = IoUtil.readBytes(imageIs); - String md5 = DigestUtil.md5Hex(bytes); - String imageBase64 = Base64.encode(bytes); - robotNoticeService.sendImageNotice(code, imageBase64, md5); - } - - /** - * 发送图文消息 - */ - @Override - public void sendNewsNotice(String code, List<NewArticle> articleList) { - robotNoticeService.sendNewsNotice(code, articleList); - } - - /** - * 发送文件消息 - */ - @Override - public void sendFIleNotice(String code, String mediaId) { - robotNoticeService.sendFIleNotice(code, mediaId); - } - - /** - * 发送文件消息 - */ - @SneakyThrows - @Override - public void sendFIleNotice(String code, InputStream fileIs) { - String mediaId = robotNoticeService.updatedMedia(code, fileIs); - robotNoticeService.sendFIleNotice(code, mediaId); - } - - /** - * 发送文件消息 - */ - @SneakyThrows - @Override - public void sendFIleNotice(String code, InputStream inputStream, String filename) { - String mediaId = robotNoticeService.updatedMedia(code, inputStream, filename); - robotNoticeService.sendFIleNotice(code, mediaId); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/BaseMailParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/BaseMailParam.java deleted file mode 100644 index acd5b20ba598cc14e7185eca4aaa4618bc626e19..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/BaseMailParam.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 基础通知参数 - * - * @author xxm - * @since 2020/5/2 20:32 - */ -@Data -@Accessors(chain = true) -public class BaseMailParam implements Serializable { - - private static final long serialVersionUID = 5270841506064102447L; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailConfigDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailConfigDto.java deleted file mode 100644 index 61a088ba858de09237af9c8ccd3e05f68b700700..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailConfigDto.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.notice.code.MailCode; -import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2020/5/2 14:42 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "邮箱配置") -@Accessors(chain = true) -public class MailConfigDto extends BaseDto implements Serializable { - - private static final long serialVersionUID = 2322690493233843789L; - - @Schema(description = "名称") - private String name; - - @Schema(description = "编号") - private String code; - - @Schema(description = "地址") - private String host; - - @Schema(description = "端口") - private Integer port; - - @Schema(description = "账号") - @SensitiveInfo - private String username; - - @Schema(description = "password") - @SensitiveInfo(SensitiveInfo.SensitiveType.PASSWORD) - private String password; - - @Schema(description = "sender") - private String sender; - - @Schema(description = "from") - private String from; - - @Schema(description = "是否默认配置") - private Boolean activity = false; - - /** - * @see MailCode - */ - @Schema(description = "安全方式") - private Integer securityType; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailFileParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailFileParam.java deleted file mode 100644 index 92c715905e08ffd41cc85f164a9c67fa48153e5c..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailFileParam.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 邮件附件参数 - * - * @author xxm - * @since 2020/5/2 20:33 - */ -@Data -@Accessors(chain = true) -public class MailFileParam { - - /** - * 文件名称 - */ - private String fileName; - - /** - * 文件后缀 - */ - private String fileExtend; - - /** - * 文件大小 - */ - private int fileSize; - - /** - * 文件流 - */ - private byte[] fileInputStream; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailTemplateDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailTemplateDto.java deleted file mode 100644 index 2344a3d6142a47d2580a8d92189956f83c7c8031..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/MailTemplateDto.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "邮件模板") -public class MailTemplateDto extends BaseDto { - - @Schema(description = "编码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "内容") - private String date; - - @Schema(description = "路径") - private String path; - - @Schema(description = "类型") - private Integer type; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/NoticeReceiverDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/NoticeReceiverDto.java deleted file mode 100644 index 9ae7938466a6d6c926575961687b9d7cd2235ca7..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/NoticeReceiverDto.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - -/** - * 测试通知接收者管理 - * - * @author xxm - * @since 2020/5/3 10:56 - */ -@EqualsAndHashCode(callSuper = true) -@Schema(title = "通知接收者配置dto") -@Data -@Accessors(chain = true) -public class NoticeReceiverDto extends BaseDto { - - /** - * 通知类型常量 - */ - public static final int NOTICE_TYPE_PHONE = 1; - - public static final int NOTICE_TYPE_EMAIL = 2; - - public static final int NOTICE_TYPE_WECHAT = 3; - - @Schema(description = "联系方式类型,(1:电话,2:邮件,3:微信)") - @NotNull - private Integer type; - - @Schema(description = "联系方式") - @NotNull - @Size(max = 255, message = "value max length is 255") - private String value; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/SendMailParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/SendMailParam.java deleted file mode 100644 index b4a163191fc3e508821f40cbfb688ef7b9fdf3a3..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/SendMailParam.java +++ /dev/null @@ -1,54 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.util.List; - -/** - * 发邮件的参数 - * - * @author xxm - * @since 2020/5/2 20:31 - */ -@Schema(title = "发邮件的参数") -@Data -@Accessors(chain = true) -public class SendMailParam implements Serializable { - - private static final long serialVersionUID = 7472189938984313186L; - - @Schema(description = "配置编号") - private String configCode; - - @Schema(description = "标题") - @NotNull(message = "主题不能为空") - private String subject; - - @Schema(description = "消息") - @NotNull(message = "消息不能为空") - private String message; - - @Schema(description = "接收人") - @NotNull(message = "接收人不能为空") - private List<String> to; - - @Schema(description = "抄送人列表") - private List<String> ccList; - - @Schema(description = "密送") - private List<String> bccList; - - @Schema(description = "是否单条发送(拆分收件人) 默认true") - private Boolean singleSend = true; - - @Schema(description = "是否包含附件") - private boolean sendAttachment; - - @Schema(description = "附件列表") - private List<MailFileParam> fileList; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/ToUserRequiredMailParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/ToUserRequiredMailParam.java deleted file mode 100644 index 0b3a85d289f320e099ce53e288eddca338d2efd3..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/mail/ToUserRequiredMailParam.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bootx.platform.notice.dto.mail; - -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * touser 必需时使用的参数 - * - * @author xxm - * @since 2020/5/2 20:32 - */ -@Data -@Accessors(chain = true) -public abstract class ToUserRequiredMailParam implements Serializable { - - private static final long serialVersionUID = 248630938901130468L; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/site/SiteMessageDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/site/SiteMessageDto.java deleted file mode 100644 index 46b3cdf9cf206d7220754b3788e06cc06dc2b779..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/site/SiteMessageDto.java +++ /dev/null @@ -1,58 +0,0 @@ -package cn.bootx.platform.notice.dto.site; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.notice.code.SiteMessageCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * 站内信 - * - * @author xxm - * @since 2021/8/7 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "站内信") -public class SiteMessageDto extends BaseDto { - - @Schema(description = "消息标题") - private String title; - - @Schema(description = "消息内容") - private String content; - - /** - * @see SiteMessageCode#RECEIVE_ALL - */ - @Schema(description = "接收对象类型 全体/指定用户") - private String receiveType; - - /** - * @see SiteMessageCode#STATE_SENT - */ - @Schema(description = "发布状态") - private String sendState; - - @Schema(description = "发送者id") - private Long senderId; - - @Schema(description = "发送者姓名") - private String senderName; - - @Schema(description = "发送时间") - private LocalDateTime senderTime; - - @Schema(description = "撤销时间") - private LocalDateTime cancelTime; - - @Schema(description = "截至有效期 有效超过有效期后全体通知将无法看到") - private LocalDate efficientTime; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsChannelConfigDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsChannelConfigDto.java deleted file mode 100644 index 495b06594b825c609f101e062a234feedc22a27b..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsChannelConfigDto.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.notice.dto.sms; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 短信渠道配置 - * @author xxm - * @since 2023-08-04 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "短信渠道配置") -@Accessors(chain = true) -public class SmsChannelConfigDto extends BaseDto { - - @Schema(description = "渠道类型编码") - private String code; - @Schema(description = "渠道类型名称") - private String name; - @Schema(description = "状态") - private String state; - @Schema(description = "AccessKey") - private String accessKey; - @Schema(description = "AccessSecret") - private String accessSecret; - @Schema(description = "配置") - private String config; - @Schema(description = "排序") - private Double sortNo; - @Schema(description = "图片") - private Long image; - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsTemplateDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsTemplateDto.java deleted file mode 100644 index 5dd0d135a152accbcd8a26f4c37161621194c631..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/sms/SmsTemplateDto.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.dto.sms; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Schema(title = "短信模板配置") -@Accessors(chain = true) -public class SmsTemplateDto extends BaseDto { - - @Schema(description = "短信渠道商类型") - private String supplierType; - @Schema(description = "短信模板id") - private String templateId; - @Schema(description = "短信模板名称") - private String name; - @Schema(description = "短信模板内容") - private String content; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/template/MessageTemplateDto.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/template/MessageTemplateDto.java deleted file mode 100644 index e330b29232cc234fa397f577de6aa6d748156828..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/template/MessageTemplateDto.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.bootx.platform.notice.dto.template; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.platform.notice.code.MessageTemplateCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * 消息模板 - * - * @author xxm - * @since 2021/8/10 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "消息模板") -public class MessageTemplateDto extends BaseDto implements Serializable { - - private static final long serialVersionUID = -1377790220501836009L; - - /** 编码 */ - private String code; - - /** 名称 */ - private String name; - - /** 内容 */ - private String data; - - /** 备注 */ - private String remark; - - /** - * 模板类型 - * @see MessageTemplateCode - */ - private String type; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelAddEvent.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelAddEvent.java deleted file mode 100644 index dcbedc55e24f003b1283e03f2157d4ff79c45dcb..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelAddEvent.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bootx.platform.notice.event.sms; - -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 短信渠道添加事件 - * @author xxm - * @since 2023/8/5 - */ -@Getter -public class SmsChannelAddEvent extends ApplicationEvent { - private final SmsChannelConfigDto channelConfig; - - public SmsChannelAddEvent(Object source, SmsChannelConfigDto channelConfig) { - super(source); - this.channelConfig = channelConfig; - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelDisableEnableEvent.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelDisableEnableEvent.java deleted file mode 100644 index 81261da416ffaaeb72c8250191687d3f93eca972..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelDisableEnableEvent.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.notice.event.sms; - -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 短信通道停用事件 - * @author xxm - * @since 2023/8/5 - */ -@Getter -public class SmsChannelDisableEnableEvent extends ApplicationEvent { - private final String code; - - public SmsChannelDisableEnableEvent(Object source, String code) { - super(source); - this.code = code; - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelEnableEvent.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelEnableEvent.java deleted file mode 100644 index 21fd75b8e670dd45571147dcf6141b5e55e2aac5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelEnableEvent.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.notice.event.sms; - -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 短信通道启用事件 - * @author xxm - * @since 2023/8/5 - */ -@Getter -public class SmsChannelEnableEvent extends ApplicationEvent { - private final String code; - - public SmsChannelEnableEvent(Object source, String code) { - super(source); - this.code = code; - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelUpdateEvent.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelUpdateEvent.java deleted file mode 100644 index 44b2102c529a8693f7fff65b810c78083ec86c36..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/event/sms/SmsChannelUpdateEvent.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bootx.platform.notice.event.sms; - -import cn.bootx.platform.notice.dto.sms.SmsChannelConfigDto; -import lombok.Getter; -import org.springframework.context.ApplicationEvent; - -/** - * 短信渠道更新事件 - * @author xxm - * @since 2023/8/5 - */ -@Getter -public class SmsChannelUpdateEvent extends ApplicationEvent { - private final SmsChannelConfigDto channelConfig; - - public SmsChannelUpdateEvent(Object source, SmsChannelConfigDto channelConfig) { - super(source); - this.channelConfig = channelConfig; - } -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/CodeTemplateExistedException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/CodeTemplateExistedException.java deleted file mode 100644 index df47db0752213ee696ad9d70fdd5b95b9f532ed4..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/CodeTemplateExistedException.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.BizException; - -import java.io.Serializable; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.MAIL_CONFIG_CODE_ALREADY_EXISTED; - -/** - * 邮箱代码已经存在 - * - * @author xxm - * @since 2020/6/10 16:21 - */ -public class CodeTemplateExistedException extends BizException implements Serializable { - - private static final long serialVersionUID = 6804308428872546951L; - - public CodeTemplateExistedException() { - super(MAIL_CONFIG_CODE_ALREADY_EXISTED, "邮箱代码已经存在."); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/DefaultMailConfigAlreadyExistedException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/DefaultMailConfigAlreadyExistedException.java deleted file mode 100644 index 4aac9e62b5e8f16c68c0d74c674bf55b368b88e1..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/DefaultMailConfigAlreadyExistedException.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.BizException; - -import java.io.Serializable; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.DEFAULT_MAIL_CONFIG_ALREADY_EXISTED; - -/** - * 默认邮箱配置 已存在异常 - * - * @author xxm - * @since 2020/5/2 14:43 - */ -public class DefaultMailConfigAlreadyExistedException extends BizException implements Serializable { - - private static final long serialVersionUID = 2775127389987392832L; - - public DefaultMailConfigAlreadyExistedException() { - super(DEFAULT_MAIL_CONFIG_ALREADY_EXISTED, "默认邮箱配置已存在"); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigCodeAlreadyExistedException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigCodeAlreadyExistedException.java deleted file mode 100644 index 100424133775f660981e45fcc65a89525cfd3e12..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigCodeAlreadyExistedException.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.BizException; - -import java.io.Serializable; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.MAIL_CONFIG_CODE_ALREADY_EXISTED; - -/** - * 邮箱配置编号 已存在异常 - * - * @author xxm - * @since 2020/5/2 14:12 - */ -public class MailConfigCodeAlreadyExistedException extends BizException implements Serializable { - - private static final long serialVersionUID = 6572063368550031815L; - - public MailConfigCodeAlreadyExistedException() { - super(MAIL_CONFIG_CODE_ALREADY_EXISTED, "邮箱配置编号 已存在异常"); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigNotExistException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigNotExistException.java deleted file mode 100644 index a1ee1c4b1315c35d1512cce0b4da2b733d427a9e..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailConfigNotExistException.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.FatalException; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.MAIL_CONFIG_NOT_EXIST; - -/** - * 邮箱配置不存在异常 - */ -public class MailConfigNotExistException extends FatalException { - - public MailConfigNotExistException() { - super(MAIL_CONFIG_NOT_EXIST, "邮箱配置不存在异常"); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailTemplateNotExistException.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailTemplateNotExistException.java deleted file mode 100644 index 1e58621b04a16d83366e843276523b5089f96432..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/exception/MailTemplateNotExistException.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.bootx.platform.notice.exception; - -import cn.bootx.platform.common.core.exception.FatalException; - -import static cn.bootx.platform.notice.code.NoticeCenterErrorCode.MAIL_TEMPLATE_NOT_EXIST; - -/** - * 模板不存在 - * - * @author xxm - * @since 2020/11/18 - */ -public class MailTemplateNotExistException extends FatalException { - - public MailTemplateNotExistException() { - super(MAIL_TEMPLATE_NOT_EXIST, "邮箱模板不存在异常"); - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailConfigParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailConfigParam.java deleted file mode 100644 index 594e8e8bf1b35edba016d457ab6ca226e8b8b002..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailConfigParam.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.bootx.platform.notice.param.mail; - -import cn.bootx.platform.notice.code.MailCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2020/5/2 14:42 - */ -@Data -@Schema(title = "邮箱配置 DTO") -public class MailConfigParam implements Serializable { - - private static final long serialVersionUID = 2322690493233843789L; - - @Schema(description = "主键") - private Long id; - - @Schema(description = "名称") - private String name; - - @Schema(description = "编号") - private String code; - - @Schema(description = "邮箱服务器 host") - private String host; - - @Schema(description = "邮箱服务器 port") - private Integer port; - - @Schema(description = "邮箱服务器 username") - private String username; - - @Schema(description = "邮箱服务器 password") - private String password; - - @Schema(description = "邮箱服务器 sender") - private String sender; - - @Schema(description = "邮箱服务器 from") - private String from; - - @Schema(description = "是否默认配置") - private Boolean activity = false; - - @Schema(description = "安全方式") - private Integer securityType = MailCode.SECURITY_TYPE_PLAIN; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailTemplateParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailTemplateParam.java deleted file mode 100644 index e213359609319bbb79b7ed3cbf9aa76f9f16936a..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/mail/MailTemplateParam.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.bootx.platform.notice.param.mail; - -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 邮件模板 - * - * @author xxm - * @since 2021/8/5 - */ -@Data -@Accessors(chain = true) -@Schema(title = "邮件模板") -public class MailTemplateParam { - - @Schema(description = "主键") - private Long id; - - @Schema(description = "编码") - private String code; - - @Schema(description = "名称") - private String name; - - @Schema(description = "内容") - private String date; - - @Schema(description = "路径") - private String path; - - @Schema(description = "类型") - private Integer type; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/site/SendSiteMessageParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/site/SendSiteMessageParam.java deleted file mode 100644 index 152df426851f553a0134af3490a9d2f0caa3bdc1..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/site/SendSiteMessageParam.java +++ /dev/null @@ -1,65 +0,0 @@ -package cn.bootx.platform.notice.param.site; - -import cn.bootx.platform.notice.code.SiteMessageCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.time.LocalDate; -import java.util.List; - -/** - * 站内信发送参数 - * - * @author xxm - * @since 2021/8/8 - */ -@Data -@Accessors(chain = true) -@Schema(title = "站内信发送参数") -public class SendSiteMessageParam { - - /** 主键 */ - private Long id; - - /** 消息标题 */ - private String title; - - /** 消息内容 */ - private String content; - - /** 发送者id */ - private Long senderId; - - /** 发送者姓名 */ - private String senderName; - - /** - * 接收者类型 - * @see SiteMessageCode#RECEIVE_ALL - */ - private String receiveType; - - /** 接收者id */ - private List<Long> receiveIds; - - /** 截至有效期 接收值为全体的时候必填写, 超过有效期后 */ - private LocalDate efficientTime; - - /** 用户处理方式 跳转路由/跳转链接/打开组件 */ - private String handleType; - - @Data - @Accessors(chain = true) - @Schema(title = "接收用户信息") - public static class User { - - /** 接收者id */ - private Long receiveId; - - /** 接收者姓名 */ - private String receiveName; - - } - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsChannelConfigParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsChannelConfigParam.java deleted file mode 100644 index 960b701993ceea40fe6e157989964b2a3cc7c671..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsChannelConfigParam.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.bootx.platform.notice.param.sms; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 短信渠道配置 - * @author xxm - * @since 2023-08-04 - */ -@Data -@Schema(title = "短信渠道配置") -@Accessors(chain = true) -public class SmsChannelConfigParam { - - @Schema(description= "主键") - private Long id; - - @Schema(description = "渠道类型编码") - private String code; - @Schema(description = "渠道类型名称") - private String name; - @Schema(description = "状态") - private String state; - @Schema(description = "AccessKey") - private String accessKey; - @Schema(description = "AccessSecret") - private String accessSecret; - @Schema(description = "图片") - private Long image; - @Schema(description = "排序") - private Double sortNo; - @Schema(description = "配置") - private String config; - @Schema(description = "备注") - private String remark; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsTemplateParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsTemplateParam.java deleted file mode 100644 index 2b88b36ed5cc9b7d616afce6509ca994678791a6..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/sms/SmsTemplateParam.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.bootx.platform.notice.param.sms; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 短信模板配置 - * @author xxm - * @since 2023-08-03 - */ -@Data -@Schema(title = "短信模板配置") -@Accessors(chain = true) -public class SmsTemplateParam { - - @Schema(description= "主键") - private Long id; - - @Schema(description = "短信渠道商类型") - private String supplierType; - @Schema(description = "短信模板id") - private String templateId; - @Schema(description = "短信模板名称") - private String name; - @Schema(description = "短信模板内容") - private String content; - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/template/MessageTemplateParam.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/template/MessageTemplateParam.java deleted file mode 100644 index 3002ff1f17cd592382c1e9307549ab17697728e5..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/param/template/MessageTemplateParam.java +++ /dev/null @@ -1,49 +0,0 @@ -package cn.bootx.platform.notice.param.template; - -import cn.bootx.platform.notice.code.MessageTemplateCode; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; - -/** - * @author xxm - * @since 2021/8/10 - */ -@Data -@Accessors(chain = true) -@Schema(title = "消息模板") -public class MessageTemplateParam implements Serializable { - - private static final long serialVersionUID = 593034193370220643L; - - @Schema(description = "主键") - private Long id; - - /** - * 编码 - */ - private String code; - - /** - * 名称 - */ - private String name; - - /** - * 内容 - */ - private String data; - - /** - * 备注 - */ - private String remark; - - /** - * 模板类型 - * @see MessageTemplateCode - */ - private String type; -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingRobotNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingRobotNoticeSender.java deleted file mode 100644 index c8efdb2e7665372b07601f2aad05ceea71c8d638..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingRobotNoticeSender.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.bootx.platform.notice.service; - -import cn.bootx.platform.starter.dingtalk.param.notice.msg.LinkMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.MarkdownMsg; -import cn.bootx.platform.starter.dingtalk.param.notice.msg.TextMsg; - -/** - * 钉钉机器人消息通知 - * - * @author xxm - * @since 2022/7/16 - */ -public interface DingRobotNoticeSender { - - /** - * 简单文本消息发送 - */ - void sendSimpleText(String code, String msg); - - /** - * 文本消息发送 - */ - void sendText(String code, TextMsg dingTalkTextNotice); - - /** - * 发送链接消息 - */ - void sendLink(String code, LinkMsg notice); - - /** - * 发送Markdown消息 - */ - void sendMarkdown(String code, MarkdownMsg notice); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingTalkNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingTalkNoticeSender.java deleted file mode 100644 index 5041b6b9c1fc0789e02aa96c083cf66b3e4cc487..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/DingTalkNoticeSender.java +++ /dev/null @@ -1,155 +0,0 @@ -package cn.bootx.platform.notice.service; - -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeReceive; -import cn.bootx.platform.notice.core.dingtalk.entity.corp.DingCorpNoticeUpdate; -import cn.bootx.platform.notice.core.dingtalk.entity.msg.*; - -import java.io.InputStream; - -/** - * 钉钉消息通知服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface DingTalkNoticeSender { - - /** - * 发送文本消息 - * @return 发布消息任务ID - */ - Long sendTextCorpNotice(DingTextMsg dingTextMsg, DingCorpNoticeReceive receive); - - /** - * 发送图片消息 - * @return 发布消息任务ID - */ - Long sendImageCorpNotice(DingImageMsg dingImageMsg, DingCorpNoticeReceive receive); - - /** - * 发送图片消息 (文件方式) - * @return 发布消息任务ID - */ - Long sendImageCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive); - - /** - * 发送图片消息 (文件方式) - * @return 发布消息任务ID - */ - Long sendImageCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive); - - /** - * 发送语音消息 - * @return 发布消息任务ID - */ - Long sendVoiceCorpNotice(DingVoiceMsg dingVoiceMsg, DingCorpNoticeReceive receive); - - /** - * 发送语音消息 (文件) - * @return 发布消息任务ID - */ - Long sendVoiceCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive); - - /** - * 发送语音消息 (文件) - * @return 发布消息任务ID - */ - Long sendVoiceCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive); - - /** - * 发送文件消息 - * @return 发布消息任务ID - */ - Long sendFileCorpNotice(DingFileMsg dingFileMsg, DingCorpNoticeReceive receive); - - /** - * 发送文件消息(文件) - * @return 发布消息任务ID - */ - Long sendFileCorpNotice(InputStream inputStream, DingCorpNoticeReceive receive); - - /** - * 发送文件消息(文件) - * @return 发布消息任务ID - */ - Long sendFileCorpNotice(InputStream inputStream, String filename, DingCorpNoticeReceive receive); - - /** - * 发送链接消息 - * @return 发布消息任务ID - */ - Long sendLinkCorpNotice(DingLinkMsg dingLinkMsg, DingCorpNoticeReceive receive); - - /** - * 发送OA消息 - * @return 发布消息任务ID - */ - Long sendOaCorpNotice(DingOaMsg dingOaMsg, DingCorpNoticeReceive receive); - - /** - * 发送markdown消息 - */ - Long sendMarkDownCorpNotice(DingMarkDownMsg dingMarkDownMsg, DingCorpNoticeReceive receive); - - /** - * 发送卡片消息 - */ - Long sendActionCardCorpNotice(DingActionCardMsg dingActionCardMsg, DingCorpNoticeReceive receive); - - /** - * 更新OA工作通知消息 - */ - void updateOaCorpNotice(DingCorpNoticeUpdate updateCorpNotice); - - /** - * 撤回工作通知消息 - */ - void recallCorpNotice(Long msgTaskId); - - /** - * 发送文本企业群消息 - * @return 发布企业群消息ID - */ - String sendTextChatNotice(DingTextMsg dingTextMsg, String chatId); - - /** - * 发送图片企业群消息 - * @return 发布企业群消息ID - */ - String sendImageChatNotice(DingImageMsg dingImageMsg, String chatId); - - /** - * 发送语音企业群消息 - * @return 发布企业群消息ID - */ - String sendVoiceChatNotice(DingVoiceMsg dingVoiceMsg, String chatId); - - /** - * 发送文件企业群消息 - * @return 发布企业群消息ID - */ - String sendFileChatNotice(DingFileMsg dingFileMsg, String chatId); - - /** - * 发送链接企业群消息 - * @return 发布企业群消息ID - */ - String sendLinkChatNotice(DingLinkMsg dingLinkMsg, String chatId); - - /** - * 发送OA企业群消息 - * @return 发布企业群消息ID - */ - String sendOaChatNotice(DingOaMsg dingOaMsg, String chatId); - - /** - * 发送markdown企业群消息 - */ - String sendMarkDownChatNotice(DingMarkDownMsg dingMarkDownMsg, String chatId); - - /** - * 发送卡片企业群消息 - */ - String sendActionCardChatNotice(DingActionCardMsg dingActionCardMsg, String chatId); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/EmailNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/EmailNoticeSender.java deleted file mode 100644 index 49d50ffdba8be9d2a5a326ad7a2b34050f140e10..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/EmailNoticeSender.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.bootx.platform.notice.service; - -import cn.bootx.platform.notice.dto.mail.SendMailParam; - -/** - * 邮件发送服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface EmailNoticeSender { - - /** - * 简单邮件发送 - * @param email 邮件地址 - * @param subject 邮件标题 - * @param msg 邮件消息 - */ - void sentSimpleMail(String email, String subject, String msg); - - /** - * 标准邮件发送方式 - */ - void sendMail(SendMailParam mailParam); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/SmsNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/SmsNoticeSender.java deleted file mode 100644 index bddc1765c050f4d49dc09eb8e392a020bb45c5f2..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/SmsNoticeSender.java +++ /dev/null @@ -1,11 +0,0 @@ -package cn.bootx.platform.notice.service; - -/** - * 短信通知服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface SmsNoticeSender { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeChatNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeChatNoticeSender.java deleted file mode 100644 index ccdf917c48bdb20f968cd858f694a7abe1074bd0..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeChatNoticeSender.java +++ /dev/null @@ -1,11 +0,0 @@ -package cn.bootx.platform.notice.service; - -/** - * 微信消息服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface WeChatNoticeSender { - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComNoticeSender.java deleted file mode 100644 index ff028d87d88151b4e7c53b21f9cac6cdbb93c783..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComNoticeSender.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.bootx.platform.notice.service; - -import cn.bootx.platform.notice.core.wecom.entity.WeComNoticeReceive; -import cn.bootx.platform.notice.core.wecom.entity.msg.*; - -import java.io.InputStream; - -/** - * 企业微信通知服务 - * - * @author xxm - * @since 2022/7/16 - */ -public interface WeComNoticeSender { - - /** - * 发送文本消息 - */ - String sendTextNotice(WeComTextMsg msg, WeComNoticeReceive receive); - - /** - * 发送图片消息 - */ - String sendImageNotice(WeComImageMsg msg, WeComNoticeReceive receive); - - /** - * 发送图片消息 (传入文件) - */ - String sendImageNotice(InputStream inputStream, WeComNoticeReceive receive); - - /** - * 发送语音消息 - */ - String sendVoiceNotice(WeComVoiceMsg msg, WeComNoticeReceive receive); - - /** - * 发送语音消息(传入文件) - */ - String sendVoiceNotice(InputStream inputStream, WeComNoticeReceive receive); - - /** - * 发送视频消息 (传入文件) - */ - String sendVideoNotice(String title, String description, InputStream inputStream, WeComNoticeReceive receive); - - /** - * 发送视频消息 - */ - String sendVideoNotice(WeComVideoMsg msg, WeComNoticeReceive receive); - - /** - * 发送文本卡片消息 - */ - String sendTextCardNotice(WeComTextCardMsg msg, WeComNoticeReceive receive); - - /** - * 发送图文消息 - */ - String sendNewsNotice(WeComNewsMsg msg, WeComNoticeReceive receive); - - /** - * 发送图文消息(mpnews) - */ - String sendMpNewsNotice(WeComMpNewsMsg msg, WeComNoticeReceive receive); - - /** - * 发送markdown消息 - */ - String sendMarkdownNotice(WeComMarkdownMsg msg, WeComNoticeReceive receive); - - /** - * 撤回企微消息 - */ - void recallNotice(String msgId); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComRobotNoticeSender.java b/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComRobotNoticeSender.java deleted file mode 100644 index acde17ea59c165619520138736b547dd255a64a1..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/service/WeComRobotNoticeSender.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.bootx.platform.notice.service; - -import me.chanjar.weixin.cp.bean.article.NewArticle; - -import java.io.InputStream; -import java.util.List; - -/** - * 企业微信机器人配置 - * - * @author xxm - * @since 2022/7/16 - */ -public interface WeComRobotNoticeSender { - - /** - * 发送文本消息 - */ - void sendTextNotice(String code, String content, List<String> mentionedList, List<String> mobileList); - - /** - * 发送markdown消息 - */ - void sendMarkdownNotice(String code, String content); - - /** - * 发送图片消息 - */ - void sendImageNotice(String code, String imageBase64, String md5); - - /** - * 发送图片消息 - */ - - void sendImageNotice(String code, InputStream imageIs); - - /** - * 发送图文消息 - */ - void sendNewsNotice(String code, List<NewArticle> articleList); - - /** - * 发送文件消息 - */ - void sendFIleNotice(String code, String mediaId); - - /** - * 发送文件消息 - */ - void sendFIleNotice(String code, InputStream fileIs); - - /** - * 发送文件消息 - */ - void sendFIleNotice(String code, InputStream inputStream, String filename); - -} diff --git a/bootx-platform/bootx-services/service-notice/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/bootx-platform/bootx-services/service-notice/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index ffdfb163ca8278e41a02ae852563e211d8c6549f..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -cn.bootx.platform.notice.NoticeApplication diff --git a/bootx-platform/bootx-services/service-notice/src/main/resources/mapper/SiteMessageMapper.xml b/bootx-platform/bootx-services/service-notice/src/main/resources/mapper/SiteMessageMapper.xml deleted file mode 100644 index 2dedc17d5383bc02e62e30171950a6bd1ed23dd9..0000000000000000000000000000000000000000 --- a/bootx-platform/bootx-services/service-notice/src/main/resources/mapper/SiteMessageMapper.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="cn.bootx.platform.notice.core.site.dao.SiteMessageMapper"> - - <select id="pageMassage" resultType="cn.bootx.platform.notice.core.site.domain.SiteMessageInfo"> - select - nsm.id as id, - nsm.title as title, - nsm.sender_id as senderId, - nsm.sender_name as senderName, - nsm.sender_time as senderTime, - nsm.receive_type as receiveType, - nsm.efficient_time as efficientTime, - nsm.send_state as sendState, - nsm.cancel_time as cancelTime, - nsmu.receive_id as receiveId, - nsmu.have_read as haveRead, - nsmu.read_time as readTime - from notice_site_message nsm - left join notice_site_message_user nsmu on nsm.id = nsmu.message_id - ${ew.customSqlSegment} - </select> - - <select id="countMassage" resultType="java.lang.Integer"> - select count(*) - from notice_site_message nsm - left join notice_site_message_user nsmu on nsm.id = nsmu.message_id - ${ew.customSqlSegment} - </select> - -</mapper> diff --git a/bootx-platform/pom.xml b/bootx-platform/pom.xml index 1eac75949ab73d73d0e49d45e4d13eac7ad04090..43fb53fb11dc7ea0119ba4400d965fddcb0eef27 100644 --- a/bootx-platform/pom.xml +++ b/bootx-platform/pom.xml @@ -41,7 +41,7 @@ <!-- 二方库版本 --> <bootx-platform.version>1.3.6.2</bootx-platform.version> <!-- 三方库 --> - <hutool.version>5.8.24</hutool.version> + <hutool.version>5.8.27</hutool.version> <oshi.version>6.4.4</oshi.version> <jackson.version>2.12.3</jackson.version> <lang3.version>3.11</lang3.version> @@ -61,7 +61,6 @@ <plumelog.version>3.5.3</plumelog.version> <easyexcel.version>3.3.2</easyexcel.version> <xxl-job.version>2.4.0</xxl-job.version> - <IJPay.version>2.9.7</IJPay.version> <sa-token.version>1.36.0</sa-token.version> <justauth.version>1.16.6</justauth.version> <minio.version>8.5.4</minio.version> @@ -315,30 +314,12 @@ <artifactId>common-starter-quartz</artifactId> <version>${bootx-platform.version}</version> </dependency> - <!-- 钉钉对接模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-dingtalk</artifactId> - <version>${bootx-platform.version}</version> - </dependency> <!-- 系统监控信息 --> <dependency> <groupId>cn.bootx.platform</groupId> <artifactId>common-starter-monitor</artifactId> <version>${bootx-platform.version}</version> </dependency> - <!-- 微信对接模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wechat</artifactId> - <version>${bootx-platform.version}</version> - </dependency> - <!-- 企业微信对接模块 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>common-starter-wecom</artifactId> - <version>${bootx-platform.version}</version> - </dependency> <!-- SMS4J 短信发送--> <dependency> <groupId>org.dromara.sms4j</groupId> @@ -379,6 +360,7 @@ <configuration> <source>${java.version}</source> <target>${java.version}</target> + <compilerArgument>-parameters</compilerArgument> </configuration> </plugin> </plugins> diff --git a/daxpay-single-demo/pom.xml b/daxpay-single-demo/pom.xml index 7bd8428144d6a74481c7d6919671d2a040e3164e..ca5a0a3e79178ca76cb6beda22286e8d94fa8203 100644 --- a/daxpay-single-demo/pom.xml +++ b/daxpay-single-demo/pom.xml @@ -21,7 +21,7 @@ <!-- 二方库版本 --> <bootx-platform.version>1.3.6.2</bootx-platform.version> - <daxpay.version>2.0.7</daxpay.version> + <daxpay.version>2.0.8</daxpay.version> </properties> <dependencies> diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/configuration/DaxPayDemoProperties.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/configuration/DaxPayDemoProperties.java index 832a8875557dceca037a9ec20fcbb5c1baa87524..93895867c294e1d6f32cc2c0dff198da6278eeea 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/configuration/DaxPayDemoProperties.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/configuration/DaxPayDemoProperties.java @@ -1,6 +1,7 @@ package cn.daxpay.single.demo.configuration; import cn.daxpay.single.sdk.code.SignTypeEnum; +import cn.hutool.core.util.StrUtil; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -17,6 +18,9 @@ public class DaxPayDemoProperties { /** 服务地址 */ private String serverUrl; + /** 微信授权回调地址 */ + private String wxRedirectUrl; + /** 前端地址(h5) */ private String frontH5Url; @@ -28,4 +32,16 @@ public class DaxPayDemoProperties { /** 请求超时时间 */ private int reqTimeout = 30000; + + public String getServerUrl() { + return StrUtil.removeSuffix(serverUrl, "/"); + } + + public String getWxRedirectUrl() { + return StrUtil.removeSuffix(wxRedirectUrl, "/"); + } + + public String getFrontH5Url() { + return StrUtil.removeSuffix(frontH5Url, "/"); + } } diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/controller/CashierController.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/controller/CashierController.java index c64e49f0548595b62b5511ef3b1ed94ae5fe4f5f..348e13d2d2e8b6fe45d4769c00ff06a0cb53166c 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/controller/CashierController.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/controller/CashierController.java @@ -52,13 +52,13 @@ public class CashierController { return Res.ok(cashierService.getUniCashierUrl()); } - @Operation(summary = "获取微信授权链接") + @Operation(summary = "获取微信授权链接, 用于获取OpenId来发起JsApi支付") @GetMapping("getWxAuthUrl") public ResResult<String> getWxAuthUrl(){ return Res.ok(cashierService.getWxAuthUrl()); } - @Operation(summary = "微信授权回调页面") + @Operation(summary = "微信授权回调接收, 然后携带openid重定向到统一收银台中") @GetMapping("/wxAuthCallback") public ModelAndView wxAuthCallback(@RequestParam("code") String code){ return new ModelAndView("redirect:" + cashierService.wxAuthCallback(code)); diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java index 60a08de93dc785fbdd3491e86344d453904de805..38c384cab50ce109497d5d0eb4f335bd469c6f4d 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/AggregateService.java @@ -114,7 +114,7 @@ public class AggregateService { WxAuthUrlParam wxAuthUrlParam = new WxAuthUrlParam(); wxAuthUrlParam.setState(code); - String url = StrUtil.format("{}/demo/aggregate/wxAuthCallback", daxPayDemoProperties.getServerUrl()); + String url = StrUtil.format("{}/demo/aggregate/wxAuthCallback", daxPayDemoProperties.getWxRedirectUrl()); wxAuthUrlParam.setUrl(url); wxAuthUrlParam.setState(code); DaxPayResult<WxAuthUrlModel> execute = DaxPayKit.execute(wxAuthUrlParam); @@ -193,7 +193,6 @@ public class AggregateService { .orElse("127.0.0.1"); payParam.setClientIp(ip); // 异步回调地址 - payParam.setNotNotify(false); // 支付成功同步回调地址 payParam.setReturnUrl(StrUtil.format("{}/result/success", daxPayDemoProperties.getFrontH5Url())); // 中途退出 目前经测试不生效 @@ -293,5 +292,4 @@ public class AggregateService { } return result.getData().getOpenId(); } - } diff --git a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/CashierService.java b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/CashierService.java index db8741b470eb6054256ed4903b1719bfa416eeb2..f1714d589281692d2124aab0722d32749b9cd0c4 100644 --- a/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/CashierService.java +++ b/daxpay-single-demo/src/main/java/cn/daxpay/single/demo/service/CashierService.java @@ -168,7 +168,7 @@ public class CashierService { public String getWxAuthUrl() { // 回调地址为 结算台微信jsapi支付的回调地址 WxAuthUrlParam wxAuthUrlParam = new WxAuthUrlParam(); - String url = StrUtil.format("{}/demo/cashier/wxAuthCallback", daxPayDemoProperties.getServerUrl()); + String url = StrUtil.format("{}/demo/cashier/wxAuthCallback", daxPayDemoProperties.getWxRedirectUrl()); wxAuthUrlParam.setUrl(url); DaxPayResult<WxAuthUrlModel> execute = DaxPayKit.execute(wxAuthUrlParam); if (execute.getCode() != 0){ diff --git a/daxpay-single-sdk/pom.xml b/daxpay-single-sdk/pom.xml index 1a3151403f37c0aa4bf11061639d47160f9f1e21..e93ef03d5d5e5bcf1e438adeca6a4a68fbc832e2 100644 --- a/daxpay-single-sdk/pom.xml +++ b/daxpay-single-sdk/pom.xml @@ -6,7 +6,7 @@ <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single-sdk</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> <packaging>jar</packaging> <!-- 项目信息 --> @@ -85,6 +85,12 @@ <version>${junit.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>cn.daxpay.single</groupId> + <artifactId>daxpay-single-core</artifactId> + <version>2.0.8</version> + <scope>compile</scope> + </dependency> </dependencies> <build> @@ -93,10 +99,11 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.1</version> + <version>3.10.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> + <compilerArgument>-parameters</compilerArgument> </configuration> </plugin> <!--打包源码的插件--> diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java index 713345268862b225fa4e89da1f3acb2278d87125..c67b33d88deaf910b22c1ecb45a418c150d8053e 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/AllocReceiverTypeEnum.java @@ -16,9 +16,9 @@ import java.util.List; @AllArgsConstructor public enum AllocReceiverTypeEnum { /** 个人 */ - WX_PERSONAL("wx_personal", "个人"), + WX_PERSONAL("wx_personal", "openId"), /** 商户 */ - WX_MERCHANT("wx_merchant", "商户"), + WX_MERCHANT("wx_merchant", "商户号"), /** userId 以2088开头的纯16位数字 */ ALI_USER_ID("ali_user_id", "用户ID"), diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java new file mode 100644 index 0000000000000000000000000000000000000000..7d26196acb7c82bd216c725825e40fdfbf5ea912 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/DaxPayCommonErrorCode.java @@ -0,0 +1,77 @@ +package cn.daxpay.single.sdk.code; + +/** + * 公共错误码 + * @author xxm + * @since 2024/6/17 + */ +public interface DaxPayCommonErrorCode { + /** 未归类的错误 */ + int UNCLASSIFIED_ERROR = 20000; + + /** 不存在的支付通道 */ + int CHANNEL_NOT_EXIST = 20011; + + /** 不存在的支付方式 */ + int METHOD_NOT_EXIST = 20012; + + /** 不存在的状态 */ + int STATUS_NOT_EXIST = 20013; + + /** 支付通道未启用 */ + int CHANNEL_NOT_ENABLE = 20021; + + /** 支付方式未启用 */ + int METHOD_NOT_ENABLE = 20022; + + /** 配置未启用 */ + int CONFIG_NOT_ENABLE = 20023; + + /** 配置错误 */ + int CONFIG_ERROR = 20024; + + /** 不支持该能力 */ + int UNSUPPORTED_ABILITY = 20030; + + /** 交易不存在 */ + int TRADE_NOT_EXIST = 20041; + + /** 交易已关闭 */ + int TRADE_CLOSED = 20042; + + /** 交易处理中, 请勿重复操作 */ + int TRADE_PROCESSING = 20043; + + /** 交易状态错误 */ + int TRADE_STATUS_ERROR = 20044; + + /** 交易失败 */ + int TRADE_FAILE = 20045; + + /** 参数校验未通过 */ + int PARAM_VALIDATION_FAIL = 20051; + + /** 验签失败 */ + int VERIFY_SIGN_FAILED = 20052; + + /** 金额超过限额 */ + int AMOUNT_EXCEED_LIMIT = 20060; + + /** 对账失败 */ + int RECONCILE_FAIL = 20071; + + /** 操作失败 */ + int OPERATION_FAIL = 20080; + + /** 操作处理中, 请勿重复操作 */ + int OPERATION_PROCESSING = 20081; + + /** 不支持的操作 */ + int OPERATION_UNSUPPORTED = 20082; + + /** 数据错误 */ + int DATA_ERROR = 20091; + + /** 未知异常,系统无法处理 */ + int SYSTEM_UNKNOWN_ERROR = 30000; +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayChannelEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayChannelEnum.java index 51e1f56c608cba2ea0507c9de45854c47015c0bb..214e140d52979e9ff5d8d47f081c8c438aa93ab1 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayChannelEnum.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayChannelEnum.java @@ -3,9 +3,6 @@ package cn.daxpay.single.sdk.code; import lombok.Getter; import lombok.RequiredArgsConstructor; -import java.util.Arrays; -import java.util.Objects; - /** * 支付通道枚举 * @@ -26,15 +23,4 @@ public enum PayChannelEnum { /** 支付通道名称 */ private final String name; - - /** - * 根据编码获取枚举 - */ - public static PayChannelEnum findByCode(String code){ - return Arrays.stream(values()) - .filter(o -> Objects.equals(o.getCode(), code)) - .findFirst() - .orElseThrow(() -> new IllegalArgumentException("该枚举不存在")); - } - } diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayOrderRefundStatusEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayOrderRefundStatusEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..b3edddb31bd85ea4e16367296e6564c0d897a4f6 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/PayOrderRefundStatusEnum.java @@ -0,0 +1,21 @@ +package cn.daxpay.single.sdk.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 支付订单的退款状态 + * @author xxm + * @since 2024/6/7 + */ +@Getter +@AllArgsConstructor +public enum PayOrderRefundStatusEnum { + NO_REFUND("no_refund","未退款"), + REFUNDING("refunding","退款中"), + PARTIAL_REFUND("partial_refund","部分退款"), + REFUNDED("refunded","全部退款"), + ; + private final String code; + private final String name; +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..899ebcf65e466995bc31efad2ca4282eb4e629d5 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferPayeeTypeEnum.java @@ -0,0 +1,47 @@ +package cn.daxpay.single.sdk.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * 转账接收方类型 + * @author xxm + * @since 2024/4/1 + */ +@Getter +@AllArgsConstructor +public enum TransferPayeeTypeEnum { + /** 微信 个人 */ + WX_PERSONAL("wx_personal", "OpenId"), + /** 支付宝 userId 以2088开头的纯16位数字 */ + ALI_USER_ID("ali_user_id", "用户ID"), + /** 支付宝 openId */ + ALI_OPEN_ID("ali_open_id", "OpenId"), + /** 支付宝 账号 支持邮箱和手机号格式 */ + ALI_LOGIN_NAME("ali_login_name", "账号"); + + /** 编码 */ + private final String code; + /** 名称 */ + private final String name; + + /** + * 根据编码查找 + */ + public static TransferPayeeTypeEnum findByCode(String code) { + return Arrays.stream(TransferPayeeTypeEnum.values()) + .filter(e -> e.getCode().equals(code)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("未找到对应的分账接收方类型")); + } + + /** 微信支持类型 */ + public static final List<TransferPayeeTypeEnum> WECHAT_LIST = Collections.singletonList(WX_PERSONAL); + /** 支付宝支持类型 */ + public static final List<TransferPayeeTypeEnum> ALI_LIST = Collections.unmodifiableList(Arrays.asList(ALI_OPEN_ID, ALI_USER_ID, ALI_LOGIN_NAME)); + +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferStatusEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferStatusEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..ccc771c975976f305accacec5a046e50bde658b9 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferStatusEnum.java @@ -0,0 +1,23 @@ +package cn.daxpay.single.sdk.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 转账状态 + * @author xxm + * @since 2024/6/11 + */ +@Getter +@AllArgsConstructor +public enum TransferStatusEnum { + + TRANSFERRING("transferring", "转账中"), + SUCCESS("success", "转账成功"), + FAIL("fail", "转账失败"), + ; + + private final String code; + private final String name; + +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferTypeEnum.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..dca00ab30b3f8815371a155305d05445c5c83dc4 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/code/TransferTypeEnum.java @@ -0,0 +1,26 @@ +package cn.daxpay.single.sdk.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 转账类型注解 + * @author xxm + * @since 2024/6/6 + */ +@Getter +@AllArgsConstructor +public enum TransferTypeEnum { + /** 转账给用户 */ + USER("user", "转账给用户"), + /** 转账给员工 */ + EMPLOYEE("employee", "转账给员工"), + /** 转账给合作伙 */ + PARTNER("partner", "转账给合作伙"), + /** 转账给其他对象 */ + OTHER("other", "转账给其他对象"),; + + private final String code; + private final String name; + +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocOrderModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocOrderModel.java index 36b0e4ba1d1be8c509201e7f5a6146ace6ba1c51..996aabf0a0ba4b8f69db9dda17bcda07da224f91 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocOrderModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocOrderModel.java @@ -22,13 +22,13 @@ import java.util.List; public class AllocOrderModel extends DaxPayResponseModel { /** 分账单号 */ - private String allocationNo; + private String allocNo; /** 商户分账单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** 通道分账号 */ - private String outAllocationNo; + private String outAllocNo; /** 支付订单号 */ private String orderNo; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocationModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocationModel.java index 96ffbe808b542f6ba90381aacfef88eaf54e9409..ecd65e63630c2375e73d22182fa1df5257512907 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocationModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/allocation/AllocationModel.java @@ -17,10 +17,10 @@ import lombok.ToString; public class AllocationModel extends DaxPayResponseModel { /** 分账订单号 */ - private String allocationNo; + private String allocNo; /** 分账订单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** * 分账状态 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/assist/WxAccessTokenModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/assist/WxAccessTokenModel.java index bc4d13848a03d4e327c997338137e39578313bea..b3fdea8f216e6a0b4acd03d702bfa974d862680b 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/assist/WxAccessTokenModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/assist/WxAccessTokenModel.java @@ -15,7 +15,7 @@ import lombok.ToString; @ToString(callSuper = true) public class WxAccessTokenModel extends DaxPayResponseModel { - /** 微信AccessToken */ + /** 微信AccessToken, 目前无返回 */ private String accessToken; /** 微信用户唯一标识 */ diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/AllocNoticeModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/AllocNoticeModel.java index 0f0492a4a9fc849b2a53af957d68e7b9371e0aab..7b289e0aa0a19594412333a21ce8fd7618b530cc 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/AllocNoticeModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/AllocNoticeModel.java @@ -22,17 +22,17 @@ public class AllocNoticeModel extends DaxPayResponseModel { /** * 分账单号 */ - private String allocationNo; + private String allocNo; /** * 商户分账单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** * 通道分账号 */ - private String outAllocationNo; + private String outAllocNo; /** * 支付订单号 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/PayNoticeModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/PayNoticeModel.java index e17653e053597d3356f5df1defca3b7279c36d1b..f01747ef93400a845e602309cf4352e8bc63df0e 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/PayNoticeModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/PayNoticeModel.java @@ -2,6 +2,7 @@ package cn.daxpay.single.sdk.model.notice; import cn.daxpay.single.sdk.code.PayChannelEnum; import cn.daxpay.single.sdk.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.sdk.code.PayOrderRefundStatusEnum; import cn.daxpay.single.sdk.code.PayStatusEnum; import cn.daxpay.single.sdk.net.DaxPayResponseModel; import lombok.Getter; @@ -56,11 +57,18 @@ public class PayNoticeModel extends DaxPayResponseModel { */ private String status; + + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ - private String allocationStatus; + private String allocStatus; /** 支付成功时间 */ private Long payTime; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/RefundNoticeModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/RefundNoticeModel.java index 963bf8e639cae0f7a4345ebd30ef0637730b84f5..2b1f2319963d7755aba7aa4bee548c530ebd0a5a 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/RefundNoticeModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/notice/RefundNoticeModel.java @@ -1,5 +1,6 @@ package cn.daxpay.single.sdk.model.notice; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.sdk.code.PayChannelEnum; import cn.daxpay.single.sdk.net.DaxPayResponseModel; import lombok.Getter; @@ -57,6 +58,11 @@ public class RefundNoticeModel extends DaxPayResponseModel { /** 退款创建时间 */ private Long createTime; + /** + * 退款状态 + * @see RefundStatusEnum + */ + private String status; /** 商户扩展参数,回调时会原样返回 */ private String attach; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayCancelModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayCancelModel.java new file mode 100644 index 0000000000000000000000000000000000000000..427cd572e8b0d286c42bb29eace10c1ffe9080a6 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayCancelModel.java @@ -0,0 +1,17 @@ +package cn.daxpay.single.sdk.model.pay; + +import cn.daxpay.single.sdk.net.DaxPayResponseModel; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +/** + * 支付撤销 + * @author xxm + * @since 2024/2/2 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class PayCancelModel extends DaxPayResponseModel { +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayOrderModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayOrderModel.java index decf9c4ac0e8e1f7d38b3cd7147b2d6f3100becb..e035de888daea8abd8af3a3ce8e92f556cd054be 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayOrderModel.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/pay/PayOrderModel.java @@ -2,6 +2,7 @@ package cn.daxpay.single.sdk.model.pay; import cn.daxpay.single.sdk.code.PayChannelEnum; import cn.daxpay.single.sdk.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.sdk.code.PayOrderRefundStatusEnum; import cn.daxpay.single.sdk.code.PayStatusEnum; import cn.daxpay.single.sdk.net.DaxPayResponseModel; import lombok.Getter; @@ -18,7 +19,6 @@ import lombok.ToString; @ToString(callSuper = true) public class PayOrderModel extends DaxPayResponseModel { - /** 订单号 */ private String orderNo; @@ -63,11 +63,17 @@ public class PayOrderModel extends DaxPayResponseModel { */ private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ - private String allocationStatus; + private String allocStatus; /** 支付时间 */ diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferModel.java new file mode 100644 index 0000000000000000000000000000000000000000..72753a9cd790d2d4ab6ecdbf806efbf6ab2f1144 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferModel.java @@ -0,0 +1,30 @@ +package cn.daxpay.single.sdk.model.transfer; + +import cn.daxpay.single.sdk.code.TransferStatusEnum; +import cn.daxpay.single.sdk.net.DaxPayResponseModel; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +/** + * 转账结果 + * @author xxm + * @since 2024/6/19 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class TransferModel extends DaxPayResponseModel { + + /** 商户转账号 */ + private String bizTransferNo; + + /** 转账号 */ + private String transferNo; + + /** + * 状态 + * @see TransferStatusEnum + */ + private String status; +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java new file mode 100644 index 0000000000000000000000000000000000000000..ca1c908964a331e98cbd458daff86775cca16f2b --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/model/transfer/TransferOrderModel.java @@ -0,0 +1,97 @@ +package cn.daxpay.single.sdk.model.transfer; + +import cn.daxpay.single.sdk.code.PayChannelEnum; +import cn.daxpay.single.sdk.code.TransferPayeeTypeEnum; +import cn.daxpay.single.sdk.code.TransferStatusEnum; +import cn.daxpay.single.sdk.code.TransferTypeEnum; +import cn.daxpay.single.sdk.net.DaxPayResponseModel; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +import java.time.LocalDateTime; + +/** + * 转账订单 + * @author xxm + * @since 2024/6/20 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class TransferOrderModel extends DaxPayResponseModel { + + /** 商户转账号 */ + private String bizTransferNo; + + /** 转账号 */ + private String transferNo; + + /** 通道转账号 */ + private String outTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + private String channel; + + /** 转账金额 */ + private Integer amount; + + /** 标题 */ + private String title; + + /** 转账原因/备注 */ + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + private String transferType; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + private String payeeType; + + /** 收款人账号 */ + private String payeeAccount; + + /** 收款人姓名 */ + private String payeeName; + + /** + * 状态 + * @see TransferStatusEnum + */ + private String status; + + /** 成功时间 */ + private LocalDateTime successTime; + + + /** 异步通知地址 */ + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + private String attach; + + /** 请求时间,时间戳转时间 */ + private LocalDateTime reqTime; + + /** 终端ip */ + private String clientIp; + + /** + * 错误码 + */ + private String errorCode; + + /** + * 错误原因 + */ + private String errorMsg; +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/net/DaxPayRequest.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/net/DaxPayRequest.java index 6db868dfa1603fdf518031245a0333a4186a801f..22b15005bbdec29ce2fbe5c8865a27f9ee4bdf3a 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/net/DaxPayRequest.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/net/DaxPayRequest.java @@ -23,6 +23,9 @@ public abstract class DaxPayRequest<T extends DaxPayResponseModel> { /** 请求时间,传输时间戳 */ private Long reqTime = DateUtil.currentSeconds(); + /** 随机数 */ + private String nonceStr; + /** * 方法请求路径 * @return 请求路径 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocFinishParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocFinishParam.java index bb7e887c59bfef2aa40da4900ba95445ddb2586a..37253cf47b40a9d7b5196ffad38f36675964aa74 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocFinishParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocFinishParam.java @@ -17,11 +17,11 @@ import lombok.EqualsAndHashCode; @Data public class AllocFinishParam extends DaxPayRequest<AllocationModel> { - /** 商户分账单号 */ - private String bizAllocationNo; - /** 分账单号 */ - private String allocationNo; + private String allocNo; + + /** 商户分账单号 */ + private String bizAllocNo; /** * 方法请求路径 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocSyncParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocSyncParam.java index efda2cb37b116e58c3eaeb4593329debd97a962f..b61b37ab4a086c2fb5858b06ba965a555046b0ad 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocSyncParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocSyncParam.java @@ -18,10 +18,10 @@ import lombok.Setter; public class AllocSyncParam extends DaxPayRequest<AllocSyncModel> { /** 分账号 */ - private String allocationNo; + private String allocNo; /** 商户分账号 */ - private String bizAllocationNo; + private String bizAllocNo; @Override public String path() { diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java index 936294a0e2627fa472f5ad7c7fe15b645d10c2de..cfa95ce50ff5cb1151cb497eeef68f0f4590cc0e 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/AllocationParam.java @@ -20,7 +20,7 @@ import java.util.List; public class AllocationParam extends DaxPayRequest<AllocationModel> { /** 商户分账单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** 支付订单号 */ private String orderNo; @@ -39,9 +39,6 @@ public class AllocationParam extends DaxPayRequest<AllocationModel> { /** 分账接收方列表 */ private List<AllocReceiverParam> receivers; - /** 是否不启用异步通知 */ - private Boolean notNotify; - /** 回调通知地址 */ private String notifyUrl; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/QueryAllocOrderParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/QueryAllocOrderParam.java index ff482e8dec83108feafa9d7b16759ae6e939b4b3..d8f3efddc6836d4535f3b6de66d669ba71fb78e3 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/QueryAllocOrderParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/allocation/QueryAllocOrderParam.java @@ -18,10 +18,10 @@ import lombok.Setter; public class QueryAllocOrderParam extends DaxPayRequest<AllocOrderModel> { /** 分账单号 */ - private String allocationNo; + private String allocNo; /** 商户分账单号 */ - private String bizAllocationNo; + private String bizAllocNo; /** * 方法请求路径 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/channel/AliPayParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/channel/AliPayParam.java index 4e612c8fd99e3ad0462bfff3f30fc2b08a00164b..11881a18e7fa0331a5deb7cda4adb094ed7773bd 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/channel/AliPayParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/channel/AliPayParam.java @@ -13,7 +13,20 @@ import lombok.Setter; @Setter public class AliPayParam implements ChannelParam { - /** 授权码(主动扫描用户的付款码) */ + /** + * 授权码(主动扫描用户的付款码) + */ private String authCode; + /** + * 【描述】小程序支付中,商户实际经营主体的小程序应用的appid,也即最终唤起收银台支付所在的小程序的应用id + * 【注意事项】商户需要先在产品管理中心绑定该小程序appid,否则下单会失败 + */ + private String opAppId; + + /** + * 买家支付宝用户唯一标识 + */ + private String openId; + } diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCancelParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCancelParam.java new file mode 100644 index 0000000000000000000000000000000000000000..089994a1f02f5bb946618e4516dd342f10e4131f --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCancelParam.java @@ -0,0 +1,41 @@ +package cn.daxpay.single.sdk.param.pay; + +import cn.daxpay.single.sdk.model.pay.PayCancelModel; +import cn.daxpay.single.sdk.net.DaxPayRequest; +import cn.daxpay.single.sdk.response.DaxPayResult; +import cn.hutool.core.lang.TypeReference; +import cn.hutool.json.JSONUtil; +import lombok.Getter; +import lombok.Setter; + +/** + * 支付撤销参数 + * @author xxm + * @since 2023/12/17 + */ +@Getter +@Setter +public class PayCancelParam extends DaxPayRequest<PayCancelModel> { + + /** 订单号 */ + private String orderNo; + + /** 商户订单号 */ + private String bizOrderNo; + + /** + * 方法请求路径 + */ + @Override + public String path() { + return "/unipay/cancel"; + } + + /** + * 将请求返回结果反序列化为实体类 + */ + @Override + public DaxPayResult<PayCancelModel> toModel(String json) { + return JSONUtil.toBean(json, new TypeReference<DaxPayResult<PayCancelModel>>() {}, false); + } +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCloseParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCloseParam.java index f08834584cbb61b0ba88227ee023220758d01539..7d6e752e508a677d0a68047be864d253ae4fbc48 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCloseParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayCloseParam.java @@ -5,23 +5,22 @@ import cn.daxpay.single.sdk.net.DaxPayRequest; import cn.daxpay.single.sdk.response.DaxPayResult; import cn.hutool.core.lang.TypeReference; import cn.hutool.json.JSONUtil; -import lombok.Data; -import lombok.EqualsAndHashCode; +import lombok.*; /** * 支付关闭参数 * @author xxm * @since 2023/12/17 */ -@EqualsAndHashCode(callSuper = true) -@Data +@Getter +@Setter public class PayCloseParam extends DaxPayRequest<PayCloseModel> { /** 订单号 */ private String orderNo; /** 商户订单号 */ - private String bizTradeNo; + private String bizOrderNo; /** * 方法请求路径 diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java index 10f5555c97629abbc708dc4fcae6c4421f19b5f0..171f2e34278434009bca297b51b8e49c291e7006 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/pay/PayParam.java @@ -13,7 +13,6 @@ import cn.hutool.core.lang.TypeReference; import cn.hutool.json.JSONUtil; import lombok.Getter; import lombok.Setter; -import lombok.ToString; import java.time.LocalDateTime; @@ -24,7 +23,6 @@ import java.time.LocalDateTime; */ @Getter @Setter -@ToString(callSuper = true) public class PayParam extends DaxPayRequest<PayModel> { /** 商户订单号 */ @@ -80,9 +78,6 @@ public class PayParam extends DaxPayRequest<PayModel> { /** 异步通知地址 */ private String notifyUrl; - /** 是否不启用异步通知 */ - private Boolean notNotify; - /** * 方法请求路径 */ diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/refund/RefundParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/refund/RefundParam.java index 74090eb3153bc50b182de4c1996340978e5caef0..a5b73e6d423e7ef3389cee08ddcbe2cf7af60fa2 100644 --- a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/refund/RefundParam.java +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/refund/RefundParam.java @@ -57,9 +57,6 @@ public class RefundParam extends DaxPayRequest<RefundModel> { /** 商户扩展参数,回调时会原样返回 */ private String attach; - /** 是否不启用异步通知 */ - private Boolean notNotify; - /** 异步通知地址 */ private String notifyUrl; diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/QueryTransferParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/QueryTransferParam.java new file mode 100644 index 0000000000000000000000000000000000000000..483554da03c7c9743aaa90be3a1aa451a602c00e --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/QueryTransferParam.java @@ -0,0 +1,43 @@ +package cn.daxpay.single.sdk.param.transfer; + +import cn.daxpay.single.sdk.model.transfer.TransferOrderModel; +import cn.daxpay.single.sdk.net.DaxPayRequest; +import cn.daxpay.single.sdk.response.DaxPayResult; +import cn.hutool.core.lang.TypeReference; +import cn.hutool.json.JSONUtil; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +/** + * + * @author xxm + * @since 2024/6/20 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class QueryTransferParam extends DaxPayRequest<TransferOrderModel> { + + /** 商户转账号 */ + private String bizTransferNo; + + /** 转账号 */ + private String transferNo; + + /** + * 方法请求路径 + */ + @Override + public String path() { + return "/unipay/query/transfer"; + } + + /** + * 将请求返回结果反序列化为实体类 + */ + @Override + public DaxPayResult<TransferOrderModel> toModel(String json) { + return JSONUtil.toBean(json, new TypeReference<DaxPayResult<TransferOrderModel>>() {}, false); + } +} diff --git a/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java new file mode 100644 index 0000000000000000000000000000000000000000..8aa8db3e562a337cba5c81c5a53bd783e930277e --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/daxpay/single/sdk/param/transfer/TransferParam.java @@ -0,0 +1,82 @@ +package cn.daxpay.single.sdk.param.transfer; + +import cn.daxpay.single.sdk.code.PayChannelEnum; +import cn.daxpay.single.sdk.code.TransferPayeeTypeEnum; +import cn.daxpay.single.sdk.code.TransferTypeEnum; +import cn.daxpay.single.sdk.model.transfer.TransferModel; +import cn.daxpay.single.sdk.net.DaxPayRequest; +import cn.daxpay.single.sdk.response.DaxPayResult; +import cn.hutool.core.lang.TypeReference; +import cn.hutool.json.JSONUtil; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +/** + * 转账参数 + * @author xxm + * @since 2024/6/19 + */ +@Getter +@Setter +@ToString(callSuper = true) +public class TransferParam extends DaxPayRequest<TransferModel> { + + /** 商户转账号 */ + private String bizTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + private String channel; + + /** 转账金额 */ + private Integer amount; + + /** 标题 */ + private String title; + + /** 转账原因/备注 */ + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + private String transferType; + + /** + * 收款人账号类型 + * @see TransferPayeeTypeEnum + */ + private String payeeType; + + /** 收款人账号 */ + private String payeeAccount; + + /** 收款人姓名 */ + private String payeeName; + + /** 回调通知地址 */ + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回 */ + private String attach; + + /** + * 方法请求路径 + */ + @Override + public String path() { + return "/unipay/transfer"; + } + + /** + * 将请求返回结果反序列化为实体类 + */ + @Override + public DaxPayResult<TransferModel> toModel(String json) { + return JSONUtil.toBean(json, new TypeReference<DaxPayResult<TransferModel>>() {}, false); + } +} diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java index 4e9c6fdd378eb01da46d57aac9d14f8a66181a00..8bd96e0163b30e65da5e81145bc0e0453c1a0daa 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/allocation/AllocationTest.java @@ -46,7 +46,6 @@ public class AllocationTest { public void allocationOrder() { PayParam param = new PayParam(); param.setClientIp("127.0.0.1"); - param.setNotNotify(true); param.setBizOrderNo("SDK_"+ System.currentTimeMillis()); param.setTitle("测试手动分账"); @@ -69,7 +68,6 @@ public class AllocationTest { public void allocationAutoOrder() { PayParam param = new PayParam(); param.setClientIp("127.0.0.1"); - param.setNotNotify(true); param.setBizOrderNo("SDK_"+ System.currentTimeMillis()); param.setTitle("测试手动分账"); @@ -93,7 +91,7 @@ public class AllocationTest { public void allocationOpen() { // 分账参数 AllocationParam param = new AllocationParam(); - param.setBizAllocationNo("A"+ RandomUtil.randomNumbers(5)); + param.setBizAllocNo("A"+ RandomUtil.randomNumbers(5)); param.setAttach("88899"); param.setBizOrderNo("SDK_1717264053245"); param.setDescription("测试分账"); @@ -110,7 +108,7 @@ public class AllocationTest { public void allocationOpenByGroup() { // 分账参数 AllocationParam param = new AllocationParam(); - param.setBizAllocationNo("A"+ RandomUtil.randomNumbers(5)); + param.setBizAllocNo("A"+ RandomUtil.randomNumbers(5)); param.setAttach("88899"); param.setBizOrderNo("SDK_1717257064753"); param.setGroupNo("123"); @@ -128,7 +126,7 @@ public class AllocationTest { public void allocationOpenByReceivers() { // 分账参数 AllocationParam param = new AllocationParam(); - param.setBizAllocationNo("A"+ RandomUtil.randomNumbers(5)); + param.setBizAllocNo("A"+ RandomUtil.randomNumbers(5)); param.setAttach("88899"); param.setOrderNo("DEVP24060201473363000001"); AllocReceiverParam allocReceiverParam = new AllocReceiverParam(); @@ -149,7 +147,7 @@ public class AllocationTest { public void allocationFinish() { // 分账完结参数 AllocFinishParam param = new AllocFinishParam(); - param.setAllocationNo("DEVA24060117191963000003"); + param.setAllocNo("DEVA24060117191963000003"); DaxPayResult<AllocationModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); @@ -162,7 +160,7 @@ public class AllocationTest { public void allocationSync() { // 分账同步参数 AllocSyncParam param = new AllocSyncParam(); - param.setAllocationNo("DEVA24060117191963000003"); + param.setAllocNo("DEVA24060117191963000003"); DaxPayResult<AllocSyncModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayCloseOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayCloseOrderTest.java index 51592947bd798f9d71014c8531e9c82337647f87..8cb86723cfa4f9d922043fd81fecd9cc876331e1 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayCloseOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayCloseOrderTest.java @@ -1,9 +1,11 @@ package cn.daxpay.single.sdk.payment; import cn.daxpay.single.sdk.code.SignTypeEnum; +import cn.daxpay.single.sdk.model.pay.PayCancelModel; import cn.daxpay.single.sdk.model.pay.PayCloseModel; import cn.daxpay.single.sdk.net.DaxPayConfig; import cn.daxpay.single.sdk.net.DaxPayKit; +import cn.daxpay.single.sdk.param.pay.PayCancelParam; import cn.daxpay.single.sdk.param.pay.PayCloseParam; import cn.daxpay.single.sdk.response.DaxPayResult; import cn.hutool.json.JSONUtil; @@ -37,4 +39,13 @@ public class PayCloseOrderTest { DaxPayResult<PayCloseModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); } + + @Test + public void cancel(){ + PayCancelParam param = new PayCancelParam(); + param.setOrderNo("DEVP24060518083863000001"); + param.setClientIp("127.0.0.1"); + DaxPayResult<PayCancelModel> execute = DaxPayKit.execute(param); + System.out.println(JSONUtil.toJsonStr(execute)); + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java index 8136b0e102db97c5adf0856ba6d4bcc221541a57..6c7ee80c243746b3811f4fd5cec55f6cd92b9f1b 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderSyncTest.java @@ -34,7 +34,7 @@ public class PayOrderSyncTest { param.setBizOrderNo("SDK_1715341621498"); DaxPayResult<PaySyncModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java index 2f3f9c79326d54e3364e6b90240acb503dba4e1c..9ff9a2b547d31d04ba703e446da393e756fa0e1f 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/PayOrderTest.java @@ -51,6 +51,6 @@ public class PayOrderTest { DaxPayResult<PayModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java index cd4a16bb91891fc91c8615cfdc55cac45f90be73..b9a18270fa45d0a1984317c1f19494bd4d3559a8 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderSyncTest.java @@ -36,7 +36,7 @@ public class RefundOrderSyncTest { param.setClientIp("127.0.0.1"); DaxPayResult<RefundSyncModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java index cf5b2797ee81e5404824363bd39a2be1aed5cc0f..c8ade40facbe6c7e6c1972dfa0e306bbf8af6a9b 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/RefundOrderTest.java @@ -39,15 +39,14 @@ public class RefundOrderTest { public void refund(){ RefundParam param = new RefundParam(); param.setBizRefundNo("R" + RandomUtil.randomNumbers(5)); - param.setBizOrderNo("SDK_1715341621498"); + param.setBizOrderNo("P1719153314573"); param.setAmount(1); param.setAttach("{回调参数}"); - param.setNotifyUrl("https://abc.com/callback"); + param.setNotifyUrl("http://127.0.0.1:9000/demo/callback/refundObject"); param.setClientIp("127.0.0.1"); DaxPayResult<RefundModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - System.out.println(PaySignUtil.verifyHmacSha256Sign(execute.getData(), "123456", execute.getData().getSign())); } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java new file mode 100644 index 0000000000000000000000000000000000000000..8cd27a2131e5642ddde7f01ad8b6e2912ac872c3 --- /dev/null +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/payment/TransferOrderTest.java @@ -0,0 +1,54 @@ +package cn.daxpay.single.sdk.payment; + +import cn.daxpay.single.sdk.code.PayChannelEnum; +import cn.daxpay.single.sdk.code.SignTypeEnum; +import cn.daxpay.single.sdk.code.TransferPayeeTypeEnum; +import cn.daxpay.single.sdk.model.transfer.TransferModel; +import cn.daxpay.single.sdk.net.DaxPayConfig; +import cn.daxpay.single.sdk.net.DaxPayKit; +import cn.daxpay.single.sdk.param.transfer.TransferParam; +import cn.daxpay.single.sdk.response.DaxPayResult; +import cn.hutool.json.JSONUtil; +import org.junit.Before; +import org.junit.Test; + +/** + * 转账测试 + * @author xxm + * @since 2024/6/20 + */ +public class TransferOrderTest { + + @Before + public void init() { + // 初始化支付配置 + DaxPayConfig config = DaxPayConfig.builder() + .serviceUrl("http://127.0.0.1:9000") + .signSecret("123456") + .signType(SignTypeEnum.HMAC_SHA256) + .build(); + DaxPayKit.initConfig(config); + } + + + /** + * 发起转账操作 + */ + @Test + public void transfer() { + // 构建参数 + TransferParam param = new TransferParam(); + param.setBizTransferNo("T"+System.currentTimeMillis()); + param.setTitle("测试转账"); + param.setReason("我要转个账"); + param.setAmount(500); + param.setChannel(PayChannelEnum.ALI.getCode()); + param.setPayeeType(TransferPayeeTypeEnum.ALI_OPEN_ID.getCode()); + param.setClientIp("127.0.0.1"); + // 使用OpenId + param.setPayeeAccount("065a9aEjER9Fa__hxYyvgYDlkhUiw_6RINhYHB2oegpWAo5"); + // 发起请求 + DaxPayResult<TransferModel> execute = DaxPayKit.execute(param); + System.out.println(JSONUtil.toJsonStr(execute)); + } +} diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryAllocOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryAllocOrderTest.java index d7c98c2c99ffb07440e3075db8efdb4d543405bb..3ce113a532aeed6df0fb21f519e54fd17a3cef01 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryAllocOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryAllocOrderTest.java @@ -37,7 +37,7 @@ public class QueryAllocOrderTest { @Test public void queryAllocOrder() { QueryAllocOrderParam param = new QueryAllocOrderParam(); - param.setAllocationNo("DEVA240602000243630000101"); + param.setAllocNo("DEVA240602000243630000101"); param.setClientIp("127.0.0.1"); DaxPayResult<AllocOrderModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java index bdf6bc67ca8457419e8dc71fb29af00e5651267a..23c3ec095a35e76301667aa2060c2c5a546f0621 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryPayOrderTest.java @@ -37,6 +37,6 @@ public class QueryPayOrderTest { DaxPayResult<PayOrderModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java index edccae95cdfea66e096239719124ef2068c7554a..1e960e503c7fe1bf76ef1432b3b2db59b9523c47 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/query/QueryRefundOrderTest.java @@ -37,6 +37,6 @@ public class QueryRefundOrderTest { DaxPayResult<RefundOrderModel> execute = DaxPayKit.execute(param); System.out.println(JSONUtil.toJsonStr(execute)); - + } } diff --git a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/util/PayParamSignTest.java b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/util/PayParamSignTest.java index f99b7b2f9f97f67c611fadec9b7610d9188fb5c4..1d6f86ebccb73e077e6db52b1d777b2e409a73d0 100644 --- a/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/util/PayParamSignTest.java +++ b/daxpay-single-sdk/src/test/java/cn/daxpay/single/sdk/util/PayParamSignTest.java @@ -23,7 +23,6 @@ public class PayParamSignTest { PayParam param = new PayParam(); param.setClientIp("127.0.0.1"); - param.setNotNotify(true); param.setBizOrderNo("P0001"); param.setTitle("测试接口支付"); diff --git a/daxpay-single-start/pom.xml b/daxpay-single-start/pom.xml index 8a4983c8b1d786048ee5955f8638b52b6e5bbb08..5fa532e17499b4dd7306cacf14370369816102a2 100644 --- a/daxpay-single-start/pom.xml +++ b/daxpay-single-start/pom.xml @@ -17,7 +17,7 @@ <properties> <!-- 二方库版本 --> <bootx-platform.version>1.3.6.2</bootx-platform.version> - <daxpay.version>2.0.7</daxpay.version> + <daxpay.version>2.0.8</daxpay.version> </properties> <dependencies> diff --git a/daxpay-single-start/src/main/resources/application-dev.yml b/daxpay-single-start/src/main/resources/application-dev.yml index 6f66a712da9822d248d6e3d277a819a3bb1eb326..20fa4a366f4720d83271c4b9d88657aaf985b2ba 100644 --- a/daxpay-single-start/src/main/resources/application-dev.yml +++ b/daxpay-single-start/src/main/resources/application-dev.yml @@ -33,8 +33,6 @@ spring: web: resources: static-locations: classpath:/static/,classpath:/public/ - thymeleaf: - cache: false # 定时任务 quartz: # 持久化方式 @@ -69,7 +67,7 @@ bootx: swagger: enabled: true author: bootx - version: 2.0.7 + version: 2.0.8 title: 开源支付平台-单商户 description: 开源支付平台-单商户版 # 多模块扫码 @@ -160,12 +158,8 @@ dromara: storage-path: D:/data/files/ # 支付系统配置 dax-pay: - # 服务地址 - server-url: http://localhost:9000 - # 前端h5地址 - front-h5-url: http://pay1.bootx.cn/h5/# - # 前端web地址 - front-web-url: http://localhost:9000/# + # h5访问地址 + front-h5-url: https://localhost:9000/h5/# # 机器号码 machine-no: 63 # 当前环境,会影响订单号的生成 @@ -174,8 +168,10 @@ dax-pay: demo: # 网关地址 server-url: http://localhost:9000 + # 微信授权回调地址 + wx-redirect-url: https://localhost:9000/ # 前端h5地址 - front-h5-url: http://pay1.bootx.cn/h5/# + front-h5-url: https://localhost:9000/h5/# # 签名秘钥, 需要与系统中配置一致 sign-secret: 123456 # 签名方式 diff --git a/daxpay-single-start/src/main/resources/application-prod.yml b/daxpay-single-start/src/main/resources/application-prod.yml index 9468898efae5c896bc7ddaeb842814a43f9869dd..c5f0d2171c1d1f3569e75bf8b7c8a4643ae2e7ba 100644 --- a/daxpay-single-start/src/main/resources/application-prod.yml +++ b/daxpay-single-start/src/main/resources/application-prod.yml @@ -33,8 +33,6 @@ spring: web: resources: static-locations: classpath:/static/,classpath:/public/ - thymeleaf: - cache: false # 定时任务 quartz: # 持久化方式 @@ -65,7 +63,7 @@ bootx: swagger: enabled: false author: bootx - version: 2.0.7 + version: 2.0.8 title: 开源支付平台-单商户 description: 开源支付平台-单商户版 # 缓存 @@ -143,12 +141,8 @@ dromara: storage-path: D:/data/files/ # 支付系统配置 dax-pay: - # 服务地址 - server-url: http://pay1.bootx.cn # 前端h5地址 front-h5-url: http://pay1.bootx.cn/h5/# - # 前端web地址 - front-web-url: http://pay1.bootx.cn/# # 演示模块 demo: # 网关地址 diff --git a/daxpay-single-start/src/main/resources/application.yml b/daxpay-single-start/src/main/resources/application.yml index a50cda5d04c1f5bcedde5c4218ee03053a6f4a63..4517e934ad434b4d245787317089058b7e353668 100644 --- a/daxpay-single-start/src/main/resources/application.yml +++ b/daxpay-single-start/src/main/resources/application.yml @@ -12,8 +12,6 @@ spring: max-file-size: 100MB max-request-size: 100MB enabled: true - thymeleaf: - mode: LEGACYHTML5 # mp配置 mybatis-plus: mapper-locations: classpath*:mapper/**/*Mapper.xml diff --git a/daxpay-single/daxpay-single-admin/pom.xml b/daxpay-single/daxpay-single-admin/pom.xml index bff5f318b11add28410438a68f33a6c4a543ddf1..ee49931ba586489d9e4bab7861c806094a4e0fe2 100644 --- a/daxpay-single/daxpay-single-admin/pom.xml +++ b/daxpay-single/daxpay-single-admin/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> </parent> <artifactId>daxpay-single-admin</artifactId> @@ -47,13 +47,6 @@ <version>${bootx-platform.version}</version> </dependency> - <!-- 消息通知 --> - <dependency> - <groupId>cn.bootx.platform</groupId> - <artifactId>service-notice</artifactId> - <version>${bootx-platform.version}</version> - </dependency> - <!-- 文件管理 --> <dependency> <groupId>cn.bootx.platform</groupId> diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java index bced1beff7b36444dac1c75065615372b9754afa..07b3903bd6f87f79f8277531dbbe40d99d8e7b7d 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationReceiverController.java @@ -5,9 +5,10 @@ import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; -import cn.daxpay.single.param.payment.allocation.AllocReceiverRemoveParam; +import cn.bootx.platform.common.core.util.ValidationUtil; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverRemoveParam; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService; import cn.daxpay.single.service.dto.allocation.AllocationReceiverDto; @@ -17,6 +18,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.List; /** @@ -64,16 +66,20 @@ public class AllocationReceiverController { @InitPaymentContext(value = PaymentApiCode.ALLOCATION_RECEIVER_ADD) @Operation(summary = "添加") - @PostMapping("add") + @PostMapping("/add") public ResResult<Void> add(@RequestBody AllocReceiverAddParam param){ + param.setReqTime(LocalDateTime.now()); + ValidationUtil.validateParam(param); receiverService.addAndSync(param); return Res.ok(); } @InitPaymentContext(value = PaymentApiCode.ALLOCATION_RECEIVER_REMOVE) @Operation(summary = "删除") - @PostMapping("delete") + @PostMapping("/delete") public ResResult<Void> delete(@RequestBody AllocReceiverRemoveParam param){ + param.setReqTime(LocalDateTime.now()); + ValidationUtil.validateParam(param); receiverService.remove(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/AlipayConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/AlipayConfigController.java index 070dfa7b0727c68fe29a92dd136235c6e8dd1c88..2dd3fc5346b5cbfa243bfda8a27874be6f839c60 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/AlipayConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/AlipayConfigController.java @@ -53,4 +53,16 @@ public class AlipayConfigController { public ResResult<String> readPem(MultipartFile file){ return Res.ok(new String(file.getBytes(), StandardCharsets.UTF_8)); } + + @Operation(summary = "生成异步通知地址") + @GetMapping("/generateNotifyUrl") + public ResResult<String> generateNotifyUrl() { + return Res.ok(alipayConfigService.generateNotifyUrl()); + } + + @Operation(summary = "生成同步通知地址") + @GetMapping("/generateReturnUrl") + public ResResult<String> generateReturnUrl() { + return Res.ok(alipayConfigService.generateReturnUrl()); + } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/UnionPayConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/UnionPayConfigController.java index 1d7278a08a0702d450cd822e730ed8e379ffe0ad..78f006db587807d7984f17a12338fbe908db3640 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/UnionPayConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/UnionPayConfigController.java @@ -54,4 +54,16 @@ public class UnionPayConfigController { public ResResult<String> toBase64(MultipartFile file){ return Res.ok(Base64.encode(file.getBytes())); } + + @Operation(summary = "生成异步通知地址") + @GetMapping("/generateNotifyUrl") + public ResResult<String> generateNotifyUrl() { + return Res.ok(unionPayConfigService.generateNotifyUrl()); + } + + @Operation(summary = "生成同步通知地址") + @GetMapping("/generateReturnUrl") + public ResResult<String> generateReturnUrl() { + return Res.ok(unionPayConfigService.generateReturnUrl()); + } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WalletConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WalletConfigController.java index 23895c01dda85be700e66b53f94e6c5e9082f8cb..db4feefed5c434c13e248bb69c662ac2dccdec42 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WalletConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WalletConfigController.java @@ -39,9 +39,10 @@ public class WalletConfigController { return Res.ok(); } - @Operation(summary = "支付宝支持支付方式") + @Operation(summary = "钱包支持支付方式") @GetMapping("/findPayWays") public ResResult<List<LabelValue>> findPayWays() { return Res.ok(service.findPayWays()); } + } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WeChatPayConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WeChatPayConfigController.java index 6977470a19330cb941f0957f3c1665c9f74fa060..a361b32b9a04b006068ae04506392c95ff93c8ed 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WeChatPayConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/channel/WeChatPayConfigController.java @@ -52,4 +52,16 @@ public class WeChatPayConfigController { public ResResult<String> toBase64(MultipartFile file){ return Res.ok(Base64.encode(file.getBytes())); } + + @Operation(summary = "生成异步通知地址") + @GetMapping("/generateNotifyUrl") + public ResResult<String> generateNotifyUrl() { + return Res.ok(weChatPayConfigService.generateNotifyUrl()); + } + + @Operation(summary = "生成同步通知地址") + @GetMapping("/generateReturnUrl") + public ResResult<String> generateReturnUrl() { + return Res.ok(weChatPayConfigService.generateReturnUrl()); + } } diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatArticleController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java similarity index 32% rename from bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatArticleController.java rename to daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java index 29749eaa6601b3d85e54ed628344c853c36c9d7c..a2623639677b98f5f69218852095913a3a7e3a7e 100644 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatArticleController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/AliPayAuthController.java @@ -1,34 +1,41 @@ -package cn.bootx.platform.starter.wechat.controller; +package cn.daxpay.single.admin.controller.extra; -import cn.bootx.platform.common.core.rest.PageResult; +import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.bootx.platform.starter.wechat.core.article.service.WeChatArticleService; -import cn.bootx.platform.starter.wechat.dto.article.WeChatArticleDto; +import cn.daxpay.single.service.core.extra.AliPayAuthService; +import cn.daxpay.single.service.dto.extra.AuthUrlResult; +import cn.daxpay.single.service.dto.extra.OpenIdResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** + * 支付宝认证控制器 * @author xxm - * @since 2022/8/11 + * @since 2024/6/16 */ -@Tag(name = "微信文章管理") +@IgnoreAuth +@Tag(name = "支付宝认证控制器") @RestController -@RequestMapping("/wechat/article") +@RequestMapping("/alipay/auth") @RequiredArgsConstructor -public class WeChatArticleController { +public class AliPayAuthController { + private final AliPayAuthService aliPayAuthService; - private final WeChatArticleService weChatArticleService; - - @Operation(summary = "分页") - @GetMapping("/page") - public ResResult<PageResult<WeChatArticleDto>> page(PageParam pageParam) { - return Res.ok(weChatArticleService.page(pageParam)); + @Operation(summary = "返回获取OpenId授权页面地址和标识码") + @PostMapping("/generateAuthUrl") + public ResResult<AuthUrlResult> generateAuthUrl(){ + return Res.ok(aliPayAuthService.generateAuthUrl()); } + @Operation(summary = "根据标识码查询OpenId") + @GetMapping("/queryOpenId") + public ResResult<OpenIdResult> queryOpenId(String code){ + return Res.ok(aliPayAuthService.queryOpenId(code)); + } } diff --git a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatQrLoginController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatAuthController.java similarity index 42% rename from bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatQrLoginController.java rename to daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatAuthController.java index 825f56305c0e0edf06c062a205653a24ed6a4f6d..40793d87bd2d725e0c9eba58ca9d4e12d9d134d4 100644 --- a/bootx-platform/bootx-common-starters/common-starter-wechat/src/main/java/cn/bootx/platform/starter/wechat/controller/WeChatQrLoginController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/extra/WechatAuthController.java @@ -1,10 +1,11 @@ -package cn.bootx.platform.starter.wechat.controller; +package cn.daxpay.single.admin.controller.extra; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; -import cn.bootx.platform.starter.wechat.core.login.service.WeChatQrLoginService; -import cn.bootx.platform.starter.wechat.dto.login.WeChatLoginQrCode; +import cn.daxpay.single.service.core.extra.WeChatAuthService; +import cn.daxpay.single.service.dto.extra.AuthUrlResult; +import cn.daxpay.single.service.dto.extra.OpenIdResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -14,30 +15,28 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** - * 微信 - * + * 微信认证控制器 * @author xxm - * @since 2022/8/4 + * @since 2024/6/15 */ @IgnoreAuth -@Tag(name = "微信扫码登录") +@Tag(name = "微信认证控制器") @RestController -@RequestMapping("/token/wechat/qr") +@RequestMapping("/wechat/auth/") @RequiredArgsConstructor -public class WeChatQrLoginController { +public class WechatAuthController { + private final WeChatAuthService wechatAuthService; - private final WeChatQrLoginService weChatQrLoginService; - - @Operation(summary = "申请登录用QR码") - @PostMapping("/applyQrCode") - public ResResult<WeChatLoginQrCode> applyQrCode() { - return Res.ok(weChatQrLoginService.applyQrCode()); + @Operation(summary = "返回获取OpenId授权页面地址和标识码") + @PostMapping("/generateAuthUrl") + public ResResult<AuthUrlResult> generateAuthUrl(){ + return Res.ok(wechatAuthService.generateAuthUrl()); } - @Operation(summary = "获取扫码状态") - @GetMapping("/getStatus") - public ResResult<String> getStatus(String qrCodeKey) { - return Res.ok(weChatQrLoginService.getStatus(qrCodeKey)); - } + @Operation(summary = "根据标识码查询OpenId") + @GetMapping("/queryOpenId") + public ResResult<OpenIdResult> queryOpenId(String code){ + return Res.ok(wechatAuthService.queryOpenId(code)); + } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java similarity index 64% rename from daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java rename to daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java index 11aad17e900735b317af15d6da5839e0e89f6a8e..c1b30ccd1c46a360a4a4ef47df000fb6bd56df65 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/allocation/AllocationOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/AllocationOrderController.java @@ -1,23 +1,20 @@ -package cn.daxpay.single.admin.controller.allocation; +package cn.daxpay.single.admin.controller.order; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocFinishParam; -import cn.daxpay.single.param.payment.allocation.AllocSyncParam; -import cn.daxpay.single.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; +import cn.daxpay.single.core.param.payment.allocation.AllocSyncParam; import cn.daxpay.single.service.annotation.InitPaymentContext; -import cn.daxpay.single.service.core.order.allocation.service.AllocationOrderQueryService; +import cn.daxpay.single.service.core.order.allocation.service.AllocOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderAndExtraDto; +import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderExtraDto; -import cn.daxpay.single.service.param.order.AllocationOrderQuery; +import cn.daxpay.single.service.param.order.AllocOrderQuery; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -39,7 +36,7 @@ import java.util.List; @RequiredArgsConstructor public class AllocationOrderController { - private final AllocationOrderQueryService queryService; + private final AllocOrderQueryService queryService; private final AllocationService allocationService; @@ -47,7 +44,7 @@ public class AllocationOrderController { @Operation(summary = "分页") @GetMapping("/page") - public ResResult<PageResult<AllocationOrderDto>> page(PageParam pageParam, AllocationOrderQuery param){ + public ResResult<PageResult<AllocOrderDto>> page(PageParam pageParam, AllocOrderQuery param){ return Res.ok(queryService.page(pageParam,param)); } @@ -59,7 +56,7 @@ public class AllocationOrderController { @Operation(summary = "查询详情") @GetMapping("/findById") - public ResResult<AllocationOrderDto> findById(Long id){ + public ResResult<AllocOrderDto> findById(Long id){ return Res.ok(queryService.findById(id)); } @@ -71,12 +68,8 @@ public class AllocationOrderController { @Operation(summary = "查询扩展信息") @GetMapping("/findByAllocNo") - public ResResult<AllocationOrderAndExtraDto> findByAllocNo(String allocNo){ - AllocationOrderAndExtraDto result = new AllocationOrderAndExtraDto(); - AllocationOrderDto order = queryService.findByAllocNo(allocNo); - AllocationOrderExtraDto extra = queryService.findExtraById(order.getId()); - result.setOrder(order).setExtra(extra); - return Res.ok(result); + public ResResult<AllocOrderDto> findByAllocNo(String allocNo){ + return Res.ok(queryService.findByAllocNo(allocNo)); } @Operation(summary = "获取可以分账的通道") @@ -88,9 +81,9 @@ public class AllocationOrderController { @InitPaymentContext(PaymentApiCode.SYNC_ALLOCATION) @Operation(summary = "同步分账结果") @PostMapping("/sync") - public ResResult<Void> sync(String allocationNo){ + public ResResult<Void> sync(String allocNo){ AllocSyncParam param = new AllocSyncParam(); - param.setAllocationNo(allocationNo); + param.setAllocNo(allocNo); allocationSyncService.sync(param); return Res.ok(); } @@ -98,9 +91,9 @@ public class AllocationOrderController { @InitPaymentContext(PaymentApiCode.ALLOCATION_FINISH) @Operation(summary = "分账完结") @PostMapping("/finish") - public ResResult<Void> finish(String allocationNo){ + public ResResult<Void> finish(String allocNo){ AllocFinishParam param = new AllocFinishParam(); - param.setAllocationNo(allocationNo); + param.setAllocNo(allocNo); allocationService.finish(param); return Res.ok(); } @@ -108,10 +101,8 @@ public class AllocationOrderController { @InitPaymentContext(PaymentApiCode.ALLOCATION) @Operation(summary = "重新发起分账") @PostMapping("/retry") - public ResResult<Void> retryAllocation(String bizAllocationNo){ - AllocationParam param = new AllocationParam(); - param.setBizAllocationNo(bizAllocationNo); - allocationService.allocation(param); + public ResResult<Void> retryAllocation(String bizAllocNo){ + allocationService.retry(bizAllocNo); return Res.ok(); } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java index 6f803616de743b998bf41938ba4ff72cf33d439d..fd0e77fe17911a3391256161c8f927443b80d179 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/PayOrderController.java @@ -5,23 +5,20 @@ import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.param.payment.pay.PayCloseParam; -import cn.daxpay.single.param.payment.pay.PaySyncParam; -import cn.daxpay.single.result.sync.PaySyncResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.param.payment.pay.PayCloseParam; +import cn.daxpay.single.core.param.payment.pay.PaySyncParam; +import cn.daxpay.single.core.result.sync.PaySyncResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.service.PayOrderExtraService; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; import cn.daxpay.single.service.core.payment.close.service.PayCloseService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; -import cn.daxpay.single.service.dto.order.pay.PayOrderAndExtraDto; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; -import cn.daxpay.single.service.dto.order.pay.PayOrderExtraDto; import cn.daxpay.single.service.param.order.PayOrderQuery; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -41,7 +38,6 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor public class PayOrderController { private final PayOrderQueryService queryService; - private final PayOrderExtraService payOrderExtraService; private final PayCloseService payCloseService; @@ -65,20 +61,11 @@ public class PayOrderController { @Operation(summary = "查询订单详情") @GetMapping("/findByOrderNo") - public ResResult<PayOrderAndExtraDto> findByOrderNo(String orderNo){ + public ResResult<PayOrderDto> findByOrderNo(String orderNo){ PayOrderDto order = queryService.findByOrderNo(orderNo) .map(PayOrder::toDto) .orElseThrow(() -> new DataNotExistException("支付订单不存在")); - PayOrderAndExtraDto detailDto=new PayOrderAndExtraDto(); - detailDto.setPayOrder(order); - detailDto.setPayOrderExtra(payOrderExtraService.findById(order.getId())); - return Res.ok(detailDto); - } - - @Operation(summary = "查询支付订单扩展信息") - @GetMapping("/getExtraById") - public ResResult<PayOrderExtraDto> getExtraById(Long id){ - return Res.ok(payOrderExtraService.findById(id)); + return Res.ok(order); } @Operation(summary = "同步支付状态") @@ -104,7 +91,7 @@ public class PayOrderController { public ResResult<Void> allocation(String orderNo){ AllocationParam param = new AllocationParam(); param.setOrderNo(orderNo); - param.setBizAllocationNo(OrderNoGenerateUtil.allocation()); + param.setBizAllocNo(OrderNoGenerateUtil.allocation()); allocationService.allocation(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/ReconcileOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/ReconcileOrderController.java index 8b0d026006c5020792e11a121def4f50113cd4a2..8a1151c4746e087c01366af1a900d711eff63d97 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/ReconcileOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/ReconcileOrderController.java @@ -24,7 +24,7 @@ import org.springframework.web.multipart.MultipartFile; * @author xxm * @since 2024/1/18 */ -@Tag(name = "对账控制器") +@Tag(name = "对账订单控制器") @RestController @RequestMapping("/order/reconcile") @RequiredArgsConstructor diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java index d0f6ec803d055d46cdf0455e204672c62479ce08..3be57996c619883ee3c4f162ea1cc2395c8e682f 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/RefundOrderController.java @@ -4,17 +4,14 @@ import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.rest.param.PageParam; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.refund.RefundSyncParam; -import cn.daxpay.single.result.sync.RefundSyncResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.refund.RefundSyncParam; +import cn.daxpay.single.core.result.sync.RefundSyncResult; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; import cn.daxpay.single.service.core.order.refund.service.RefundOrderService; import cn.daxpay.single.service.core.payment.sync.service.RefundSyncService; -import cn.daxpay.single.service.dto.order.refund.RefundOrderAndExtraDto; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.daxpay.single.service.dto.order.refund.RefundOrderExtraDto; -import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.service.param.order.PayOrderRefundParam; import cn.daxpay.single.service.param.order.RefundOrderQuery; import io.swagger.v3.oas.annotations.Operation; @@ -27,7 +24,7 @@ import org.springframework.web.bind.annotation.*; * @author xxm * @since 2024/1/9 */ -@Tag(name = "支付退款控制器") +@Tag(name = "退款订单控制器") @RestController @RequestMapping("/order/refund") @RequiredArgsConstructor @@ -45,12 +42,8 @@ public class RefundOrderController { @Operation(summary = "查询退款订单详情") @GetMapping("/findByRefundNo") - public ResResult<RefundOrderAndExtraDto> findByRefundNo(String refundNo){ - RefundOrderDto order = queryService.findByRefundNo(refundNo); - RefundOrderAndExtraDto detailDto = new RefundOrderAndExtraDto(); - detailDto.setRefundOrder(order); - detailDto.setRefundOrderExtra(queryService.findExtraById(order.getId())); - return Res.ok(detailDto); + public ResResult<RefundOrderDto> findByRefundNo(String refundNo){ + return Res.ok(queryService.findByRefundNo(refundNo)); } @Operation(summary = "查询单条") @GetMapping("/findById") @@ -59,12 +52,6 @@ public class RefundOrderController { } - @Operation(summary = "查询扩展信息") - @GetMapping("/findExtraById") - public ResResult<RefundOrderExtraDto> findExtraById(Long id){ - return Res.ok(queryService.findExtraById(id)); - } - @InitPaymentContext(PaymentApiCode.REFUND) @Operation(summary = "手动发起退款") @PostMapping("/refund") @@ -81,6 +68,7 @@ public class RefundOrderController { return Res.ok(); } + @InitPaymentContext(PaymentApiCode.SYNC_REFUND) @Operation(summary = "退款同步") @PostMapping("/syncByRefundNo") public ResResult<RefundSyncResult> syncByRefundNo(String refundNo){ @@ -91,7 +79,7 @@ public class RefundOrderController { @Operation(summary = "查询金额汇总") @GetMapping("/getTotalAmount") - public ResResult<Integer> getTotalAmount(PayOrderQuery param){ + public ResResult<Integer> getTotalAmount(RefundOrderQuery param){ return Res.ok(queryService.getTotalAmount(param)); } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java new file mode 100644 index 0000000000000000000000000000000000000000..f019f281664ae6b4e2a46aace3af968934085b4c --- /dev/null +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/order/TransferOrderController.java @@ -0,0 +1,89 @@ +package cn.daxpay.single.admin.controller.order; + +import cn.bootx.platform.common.core.rest.PageResult; +import cn.bootx.platform.common.core.rest.Res; +import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.bootx.platform.common.core.util.ValidationUtil; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.result.transfer.TransferResult; +import cn.daxpay.single.service.annotation.InitPaymentContext; +import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; +import cn.daxpay.single.service.core.payment.transfer.service.TransferService; +import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; +import cn.daxpay.single.service.param.order.TransferOrderQuery; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; + +/** + * 转账订单控制器 + * @author xxm + * @since 2024/6/17 + */ +@Tag(name = "转账订单控制器") +@RestController +@RequestMapping("/order/transfer") +@RequiredArgsConstructor +public class TransferOrderController { + private final TransferOrderQueryService queryService; + private final TransferService transferService; + + + @Operation(summary = "分页查询") + @GetMapping("/page") + public ResResult<PageResult<TransferOrderDto>> page(PageParam pageParam, TransferOrderQuery query){ + return Res.ok(queryService.page(pageParam, query)); + } + + @Operation(summary = "根据转账号查询") + @GetMapping("/findByTransferNo") + public ResResult<TransferOrderDto> findByTransferNo(String refundNo){ + return Res.ok(queryService.findByTransferNo(refundNo)); + } + + @Operation(summary = "根据商户转账号查询") + @GetMapping("/findByBizTransferNo") + public ResResult<TransferOrderDto> findByBizTransferNo(String bizTransferNo){ + return Res.ok(queryService.findByBizTransferNo(bizTransferNo)); + } + + @Operation(summary = "查询单条") + @GetMapping("/findById") + public ResResult<TransferOrderDto> findById(Long id){ + return Res.ok(queryService.findById(id)); + } + + + @InitPaymentContext(PaymentApiCode.TRANSFER) + @Operation(summary = "手动发起转账") + @PostMapping("/transfer") + public ResResult<TransferResult> transfer(@RequestBody TransferParam param){ + param.setReqTime(LocalDateTime.now()); + ValidationUtil.validateParam(param); + return Res.ok(transferService.transfer(param)); + } + + @InitPaymentContext(PaymentApiCode.TRANSFER) + @Operation(summary = "重新发起转账") + @PostMapping("/resetTransfer") + public ResResult<Void> resetTransfer(Long id){ + return Res.ok(); + } + + @Operation(summary = "手动转账同步") + @PostMapping("/syncByTransferNo") + public ResResult<Void> syncByTransferNo(String transferNo){ + return Res.ok(); + } + + @Operation(summary = "查询金额汇总") + @GetMapping("/getTotalAmount") + public ResResult<Integer> getTotalAmount(TransferOrderQuery param){ + return Res.ok(queryService.getTotalAmount(param)); + } +} diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayApiConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayApiConfigController.java index c95d059459646517b3a4ecb698386a688f24799c..3f420decfc92677b1584fd239093516aa8d91870 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayApiConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayApiConfigController.java @@ -2,6 +2,7 @@ package cn.daxpay.single.admin.controller.system; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.service.core.system.config.service.PayApiConfigService; import cn.daxpay.single.service.dto.system.config.PayApiConfigDto; import cn.daxpay.single.service.param.system.config.PayApiConfigParam; @@ -37,6 +38,7 @@ public class PayApiConfigController { @Operation(summary = "更新") @PostMapping("/update") public ResResult<Void> update(@RequestBody PayApiConfigParam param){ + ValidationUtil.validateParam(param); payApiConfigService.update(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayChannelConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayChannelConfigController.java index 7389d4f1877e283ce4900ca0a177b5526fe44a0a..67bbccaacf93c0a4da1afb806a57d32e08ca02b2 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayChannelConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayChannelConfigController.java @@ -4,11 +4,12 @@ import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; import cn.daxpay.single.service.dto.system.config.PayChannelConfigDto; -import cn.daxpay.single.service.param.system.payinfo.PayChannelInfoParam; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -36,11 +37,4 @@ public class PayChannelConfigController { public ResResult<PayChannelConfigDto> findById(Long id){ return Res.ok(payChannelConfigService.findById(id)); } - - @Operation(summary = "更新") - @PostMapping("/update") - public ResResult<Void> update(@RequestBody PayChannelInfoParam param){ - payChannelConfigService.update(param); - return Res.ok(); - } } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayMethodInfoController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayMethodInfoController.java index 886e71d74fe899f966f3aab6d05a5a79bc6bc24b..8ed5c400a28b155f9ac603479e2a8f0c5d6c060f 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayMethodInfoController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PayMethodInfoController.java @@ -2,6 +2,7 @@ package cn.daxpay.single.admin.controller.system; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.service.core.system.payinfo.service.PayMethodInfoService; import cn.daxpay.single.service.dto.system.payinfo.PayMethodInfoDto; import cn.daxpay.single.service.param.system.payinfo.PayWayInfoParam; @@ -39,6 +40,7 @@ public class PayMethodInfoController { @Operation(summary = "更新") @PostMapping("/update") public ResResult<Void> update(@RequestBody PayWayInfoParam param){ + ValidationUtil.validateParam(param); payMethodInfoService.update(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PlatformConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PlatformConfigController.java index 4a370306e9eef03fff93e5221d3666c549ee1130..2868efe0b12a7327ac7c26a0dac3ace48db08a4b 100644 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PlatformConfigController.java +++ b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/PlatformConfigController.java @@ -2,6 +2,7 @@ package cn.daxpay.single.admin.controller.system; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.bootx.platform.common.core.util.ValidationUtil; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.dto.system.config.PlatformConfigDto; import cn.daxpay.single.service.param.system.config.PlatformConfigParam; @@ -31,6 +32,7 @@ public class PlatformConfigController { @Operation(summary = "更新平台配置项") @PostMapping("/update") public ResResult<Void> update(@RequestBody PlatformConfigParam param){ + ValidationUtil.validateParam(param); platformConfigService.update(param); return Res.ok(); } diff --git a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/WechatNoticeConfigController.java b/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/WechatNoticeConfigController.java deleted file mode 100644 index e8b71be314dd65c3c28583f8b729c62589b094c4..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-admin/src/main/java/cn/daxpay/single/admin/controller/system/WechatNoticeConfigController.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.daxpay.single.admin.controller.system; - -import cn.bootx.platform.common.core.rest.Res; -import cn.bootx.platform.common.core.rest.ResResult; -import cn.daxpay.single.service.core.system.config.service.WechatNoticeConfigService; -import cn.daxpay.single.service.dto.system.config.WechatNoticeConfigDto; -import cn.daxpay.single.service.param.system.config.WechatNoticeConfigParam; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -/** - * 微信消息通知配置 - * @author xxm - * @since 2024/1/2 - */ -@Tag(name = "微信消息通知配置") -@RestController -@RequestMapping("/wx/notice") -@RequiredArgsConstructor -public class WechatNoticeConfigController { - private final WechatNoticeConfigService configService; - - @Operation(summary = "获取微信消息通知配置") - @GetMapping("/getConfig") - public ResResult<WechatNoticeConfigDto> getConfig() { - return Res.ok(configService.getConfig().toDto()); - } - - @Operation(summary = "更新微信消息通知配置") - @PostMapping("/update") - public ResResult<Void> update(@RequestBody WechatNoticeConfigParam param) { - configService.update(param); - return Res.ok(); - } -} diff --git a/daxpay-single/daxpay-single-core/pom.xml b/daxpay-single/daxpay-single-core/pom.xml index b65ca6223e43c4cc70da4f739bff208b4d336d1d..f42fae8ae52a35e5fafde43a95b4cd324fb44206 100644 --- a/daxpay-single/daxpay-single-core/pom.xml +++ b/daxpay-single/daxpay-single-core/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> </parent> <artifactId>daxpay-single-core</artifactId> diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCode.java deleted file mode 100644 index 5e133eda72c51b4a10c95dea3f526f04d42aa1f0..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayCode.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.daxpay.single.code; - -/** - * 支付系统相关常量 - * @author xxm - * @since 2024/1/7 - */ -public interface DaxPayCode { - - /** 签名字段 */ - String FIELD_SIGN = "sign"; -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayErrorCode.java deleted file mode 100644 index cc72742d5f752dfd69e0a91e4457577d707c5138..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/DaxPayErrorCode.java +++ /dev/null @@ -1,77 +0,0 @@ -package cn.daxpay.single.code; - -/** - * 错误码 - * - * @author xxm - * @since 2020/12/7 - */ -public interface DaxPayErrorCode { - - /** - * 支付失败 - */ - int PAY_FAILURE = 20000; - - /** - * 支付金额异常 - */ - int PAYMENT_AMOUNT_ABNORMAL = 28100; - - /** - * 支付记录不存在 - */ - int PAYMENT_RECORD_NOT_EXISTED = 28101; - - /** - * 支付在进行中 - */ - int PAYMENT_IS_PROCESSING = 28102; - - /** - * 支付已经存在 - */ - int PAYMENT_HAS_EXISTED = 28104; - - /** - * 支付手动取消 - */ - int PAYMENT_CANCEL = 28105; - - /** - * 不支持的支付方式 - */ - int PAYMENT_METHOD_UNSUPPORT = 28106; - /** - * 钱包已存在 - */ - int WALLET_ALREADY_EXISTS = 28814; - - /** - * 钱包不存在 - */ - int WALLET_NOT_EXISTS = 28815; - - /** - * 钱包已被禁用 - */ - int WALLET_BANNED = 28816; - - /** - * 钱包余额不足 - */ - int WALLET_BALANCE_NOT_ENOUGH = 28817; - - /** - * wallet 信息不存在 - */ - int WALLET_INFO_NOT_EXISTS = 28819; - - /** - * 钱包日志异常(类型不正确,或者充值金额小于0等场景) - */ - int WALLET_LOG_ERROR = 28827; - - - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocDetailResultEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocDetailResultEnum.java similarity index 92% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocDetailResultEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocDetailResultEnum.java index 867eaf7e2c2d5b4f82acd93a02019cd76f24eb51..2bd76538bcde2ab0811cd606fe658e3ee3e8dc10 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocDetailResultEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocDetailResultEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderResultEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderResultEnum.java similarity index 92% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderResultEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderResultEnum.java index f24217b868e329ab69254b22f8b9cf02ee497404..b965bf080c26a0f5003952cab81373670e3b6540 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderResultEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderResultEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderStatusEnum.java similarity index 94% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderStatusEnum.java index f7efa97adc1ffc7546b4ac51ce9ef121f3712461..f14c8e96ec029d567f8a443595b2beef6d3b8b1a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocOrderStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocOrderStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java similarity index 81% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java index 944a3280a08e9c2952dd6beb4de820ec1dfe26af..444a779e6fc80ff68e05647cb1aa58e0339646ce 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocReceiverTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocReceiverTypeEnum.java @@ -1,5 +1,6 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; +import cn.daxpay.single.core.exception.UnsupportedAbilityException; import lombok.AllArgsConstructor; import lombok.Getter; @@ -18,13 +19,13 @@ public enum AllocReceiverTypeEnum { /** 个人 */ WX_PERSONAL("wx_personal","PERSONAL_OPENID", "个人"), /** 商户 */ - WX_MERCHANT("wx_merchant","MERCHANT_ID", "商户"), + WX_MERCHANT("wx_merchant","MERCHANT_ID", "商户号"), /** userId 以2088开头的纯16位数字 */ ALI_USER_ID("ali_user_id","userId", "用户ID"), /** openId */ ALI_OPEN_ID("ali_open_id","openId", "openId"), - /** 账号 */ + /** 账号 支持邮箱和手机号格式 */ ALI_LOGIN_NAME("ali_login_name","loginName", "账号"); /** 编码 */ @@ -41,7 +42,7 @@ public enum AllocReceiverTypeEnum { return Arrays.stream(AllocReceiverTypeEnum.values()) .filter(e -> e.getCode().equals(code)) .findFirst() - .orElseThrow(() -> new IllegalArgumentException("未找到对应的分账接收方类型")); + .orElseThrow(() -> new UnsupportedAbilityException("未找到对应的分账接收方类型")); } /** 微信支持类型 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocRelationTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocRelationTypeEnum.java similarity index 94% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocRelationTypeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocRelationTypeEnum.java index e141dd142f22e64ccda546577044b59346948bca..64f731aa26f0e73895f7c42121aecf17734a72e0 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/AllocRelationTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/AllocRelationTypeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java new file mode 100644 index 0000000000000000000000000000000000000000..b2064340bffa30f4c9b223b57bf9226323a48858 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/DaxPayErrorCode.java @@ -0,0 +1,74 @@ +package cn.daxpay.single.core.code; + +/** + * 公共错误码 + * @author xxm + * @since 2024/6/17 + */ +public interface DaxPayErrorCode { + /** 未归类的错误 */ + int UNCLASSIFIED_ERROR = 20000; + + /** 不存在的支付通道 */ + int CHANNEL_NOT_EXIST = 20011; + + /** 不存在的支付方式 */ + int METHOD_NOT_EXIST = 20012; + + /** 不存在的状态 */ + int STATUS_NOT_EXIST = 20013; + + /** 支付通道未启用 */ + int CHANNEL_NOT_ENABLE = 20021; + + /** 支付方式未启用 */ + int METHOD_NOT_ENABLE = 20022; + + /** 配置未启用 */ + int CONFIG_NOT_ENABLE = 20023; + + /** 配置错误 */ + int CONFIG_ERROR = 20024; + + /** 不支持该能力 */ + int UNSUPPORTED_ABILITY = 20030; + + /** 交易不存在 */ + int TRADE_NOT_EXIST = 20041; + + /** 交易已关闭 */ + int TRADE_CLOSED = 20042; + + /** 交易处理中, 请勿重复操作 */ + int TRADE_PROCESSING = 20043; + + /** 交易状态错误 */ + int TRADE_STATUS_ERROR = 20044; + + /** 交易失败 */ + int TRADE_FAIL = 20045; + + /** 验签失败 */ + int VERIFY_SIGN_FAILED = 20052; + + /** 金额超过限额 */ + int AMOUNT_EXCEED_LIMIT = 20060; + + /** 对账失败 */ + int RECONCILE_FAIL = 20071; + + /** 操作失败 */ + int OPERATION_FAIL = 20080; + + /** 操作处理中, 请勿重复操作 */ + int OPERATION_PROCESSING = 20081; + + /** 不支持的操作 */ + int OPERATION_UNSUPPORTED = 20082; + + /** 数据错误 */ + int DATA_ERROR = 20091; + + /** 未知异常,系统无法处理 */ + int SYSTEM_UNKNOWN_ERROR = 30000; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayChannelEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayChannelEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java index c679ee28807526fa1825d8f93b0e89c7ded1122b..e3af88567465f70a1290e23e8cb94b03a5f95100 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayChannelEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayChannelEnum.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.ChannelNotExistException; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -36,7 +36,7 @@ public enum PayChannelEnum { return Arrays.stream(values()) .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付通道")); + .orElseThrow(() -> new ChannelNotExistException("不存在的支付通道")); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayMethodEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java similarity index 82% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayMethodEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java index 983528b0cef8d8e8f6ae981454581e6cac99db56..b3b9d593b0aeefef61bf1ca2f339ceb7f0345d38 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayMethodEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayMethodEnum.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.AllArgsConstructor; import lombok.Getter; @@ -40,7 +40,7 @@ public enum PayMethodEnum { return Arrays.stream(PayMethodEnum.values()) .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(() -> new MethodNotExistException("不存在的支付方式")); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderAllocStatusEnum.java similarity index 81% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderAllocStatusEnum.java index 9cd556834f369dfbfffdb8bb8769dd3dfe9aac16..35f71e0887df0020ea2ffaa3462fb3dd43dcaf63 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayOrderAllocStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderAllocStatusEnum.java @@ -1,10 +1,10 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; /** - * 支付订单分账状态 + * 支付订单的分账状态 * @author xxm * @since 2024/4/16 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderRefundStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderRefundStatusEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..9106b2aaeffb9bbc5161e24ba128ed5a8ab8f54c --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayOrderRefundStatusEnum.java @@ -0,0 +1,36 @@ +package cn.daxpay.single.core.code; + +import cn.bootx.platform.common.core.exception.DataNotExistException; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; +import java.util.Objects; + +/** + * 支付订单的退款状态 + * @author xxm + * @since 2024/6/7 + */ +@Getter +@AllArgsConstructor +public enum PayOrderRefundStatusEnum { + NO_REFUND("no_refund","未退款"), + REFUNDING("refunding","退款中"), + PARTIAL_REFUND("partial_refund","部分退款"), + REFUNDED("refunded","全部退款"), + ; + private final String code; + private final String name; + + /** + * 根据编码获取枚举 + */ + public static PayOrderRefundStatusEnum findByCode(String code){ + return Arrays.stream(values()) + .filter(payStatusEnum -> Objects.equals(payStatusEnum.getCode(), code)) + .findFirst() + .orElseThrow(() -> new DataNotExistException("该枚举不存在")); + } + +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySignTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySignTypeEnum.java similarity index 88% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySignTypeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySignTypeEnum.java index 150c05956beef77408d49aebd3097181fe4587d9..b955d3e25cf76bb260d659f392c13b452c036eea 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySignTypeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySignTypeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayStatusEnum.java similarity index 84% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayStatusEnum.java index 87946d9d748d0a867eee775b17b6b429636a6bb5..bf0e18051a52e5d1adafdca48ad5a3742caa258b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PayStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PayStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import cn.bootx.platform.common.core.exception.DataNotExistException; import lombok.Getter; @@ -18,9 +18,7 @@ public enum PayStatusEnum { PROGRESS("progress","支付中"), SUCCESS("success","成功"), CLOSE("close","支付关闭"), - REFUNDING("refunding","退款中"), - PARTIAL_REFUND("partial_refund","部分退款"), - REFUNDED("refunded","全部退款"), + CANCEL("cancel","支付撤销"), FAIL("fail","失败"); /** 编码 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySyncStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySyncStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java index 5eb24c6698738470ede76b0c11eb1fa78301e92a..a724911b11ecd6f11f6716cb47df2ecccb96c256 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaySyncStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaySyncStatusEnum.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import lombok.AllArgsConstructor; import lombok.Getter; @@ -40,6 +40,6 @@ public enum PaySyncStatusEnum { return Arrays.stream(values()) .filter(item -> Objects.equals(item.getCode(), code)) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付同步状态")); + .orElseThrow(() -> new TradeStatusErrorException("不存在的支付状态")); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaymentApiCode.java similarity index 94% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaymentApiCode.java index fbe8bd278e0b370bad43047dd487a6a5827a375d..e971bfa437bf54b718cde8522830e39e3a86929a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/PaymentApiCode.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/PaymentApiCode.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; /** * 支付接口编码清单 @@ -12,6 +12,8 @@ public interface PaymentApiCode { String REFUND = "refund"; /** 关闭订单 */ String CLOSE = "close"; + /** 撤销订单 */ + String CANCEL = "cancel"; /** 分账 */ String ALLOCATION = "allocation"; /** 转账 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/ReconcileTradeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/ReconcileTradeEnum.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/ReconcileTradeEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/ReconcileTradeEnum.java index 9de4494a0915d03c5b81950f20cd7359044379b6..0b7c8546c690ce61b33eb403a7333c9c27b7b610 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/ReconcileTradeEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/ReconcileTradeEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import cn.bootx.platform.common.core.exception.DataNotExistException; import lombok.AllArgsConstructor; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundStatusEnum.java similarity index 96% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundStatusEnum.java index 76287b971a1f8c42da1365d60e84b666075cd835..162f388896041e35a43fb32480b2556b91619122 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import cn.bootx.platform.common.core.exception.DataNotExistException; import lombok.AllArgsConstructor; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundSyncStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundSyncStatusEnum.java similarity index 92% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundSyncStatusEnum.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundSyncStatusEnum.java index a8ab02bf036afc327ab804f016e8a964428e4960..cb2ca2bcdd488acdcc2f9fb987b4ea335470e61a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/code/RefundSyncStatusEnum.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/RefundSyncStatusEnum.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.code; +package cn.daxpay.single.core.code; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..af5633ce31f46ddeffdd5ec802d60c6cd764acd9 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferPayeeTypeEnum.java @@ -0,0 +1,50 @@ +package cn.daxpay.single.core.code; + +import cn.daxpay.single.core.exception.UnsupportedAbilityException; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * 转账接收方类型 + * @author xxm + * @since 2024/4/1 + */ +@Getter +@AllArgsConstructor +public enum TransferPayeeTypeEnum { + /** 微信 个人 */ + WX_PERSONAL("wx_personal","openid", "OpenId"), + /** 支付宝 userId 以2088开头的纯16位数字 */ + ALI_USER_ID("ali_user_id","ALIPAY_USER_ID", "用户ID"), + /** 支付宝 openId */ + ALI_OPEN_ID("ali_open_id","ALIPAY_OPEN_ID", "OpenId"), + /** 支付宝 账号 支持邮箱和手机号格式 */ + ALI_LOGIN_NAME("ali_login_name","ALIPAY_LOGON_ID", "账号"); + + /** 编码 */ + private final String code; + /** 外部编码, 三方支付系统使用的编码 */ + private final String outCode; + /** 名称 */ + private final String name; + + /** + * 根据编码查找 + */ + public static TransferPayeeTypeEnum findByCode(String code) { + return Arrays.stream(TransferPayeeTypeEnum.values()) + .filter(e -> e.getCode().equals(code)) + .findFirst() + .orElseThrow(() -> new UnsupportedAbilityException("未找到对应的分账接收方类型")); + } + + /** 微信支持类型 */ + public static final List<TransferPayeeTypeEnum> WECHAT_LIST = Collections.singletonList(WX_PERSONAL); + /** 支付宝支持类型 */ + public static final List<TransferPayeeTypeEnum> ALI_LIST = Collections.unmodifiableList(Arrays.asList(ALI_OPEN_ID, ALI_USER_ID, ALI_LOGIN_NAME)); + +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..72a1ce81141701bfad8ed64dc6397a95721c66de --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferStatusEnum.java @@ -0,0 +1,22 @@ +package cn.daxpay.single.core.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 转账状态 + * @author xxm + * @since 2024/6/11 + */ +@Getter +@AllArgsConstructor +public enum TransferStatusEnum { + + TRANSFERRING("transferring", "转账中"), + SUCCESS("success", "转账成功"), + FAIL("fail", "转账失败"),; + + private final String code; + private final String name; + +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..b7393ede8e2436890b737487cd9758c271be30c2 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/code/TransferTypeEnum.java @@ -0,0 +1,26 @@ +package cn.daxpay.single.core.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 转账类型 微信使用 + * @author xxm + * @since 2024/6/6 + */ +@Getter +@AllArgsConstructor +public enum TransferTypeEnum { + /** 转账给用户 */ + USER("user", "转账给用户"), + /** 转账给员工 */ + EMPLOYEE("employee", "转账给员工"), + /** 转账给合作伙 */ + PARTNER("partner", "转账给合作伙"), + /** 转账给其他对象 */ + OTHER("other", "转账给其他对象"),; + + private final String code; + private final String name; + +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java new file mode 100644 index 0000000000000000000000000000000000000000..21d7da57fb3e65d9eb4fca59d89d39591cb58621 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/AmountExceedLimitException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 金额超过限额 + * @author xxm + * @since 2024/6/17 + */ +public class AmountExceedLimitException extends PayFailureException{ + + public AmountExceedLimitException(String message) { + super(DaxPayErrorCode.AMOUNT_EXCEED_LIMIT,message); + } + + public AmountExceedLimitException() { + super(DaxPayErrorCode.AMOUNT_EXCEED_LIMIT,"金额超过限额"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java new file mode 100644 index 0000000000000000000000000000000000000000..14a8ffa73e7b528c1e896cc5ab6c49dd67e21418 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotEnableException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 支付通道未启用 + * @author xxm + * @since 2024/6/17 + */ +public class ChannelNotEnableException extends PayFailureException{ + + public ChannelNotEnableException(String message) { + super(DaxPayErrorCode.CHANNEL_NOT_ENABLE,message); + } + + public ChannelNotEnableException() { + super(DaxPayErrorCode.CHANNEL_NOT_ENABLE,"支付通道未启用"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java new file mode 100644 index 0000000000000000000000000000000000000000..9ab1ad2b08317f790b805a359be5ff28f774fe36 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ChannelNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 不存在的支付通道 + * @author xxm + * @since 2024/6/17 + */ +public class ChannelNotExistException extends PayFailureException{ + + public ChannelNotExistException(String message) { + super(DaxPayErrorCode.CHANNEL_NOT_EXIST,message); + } + + public ChannelNotExistException() { + super(DaxPayErrorCode.CHANNEL_NOT_EXIST,"不存在的支付通道"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java new file mode 100644 index 0000000000000000000000000000000000000000..dca8ed46273ec5463de8f4c9db02d8dddc663736 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigErrorException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 配置错误 + * @author xxm + * @since 2024/6/18 + */ +public class ConfigErrorException extends PayFailureException{ + + public ConfigErrorException(String message) { + super(DaxPayErrorCode.CONFIG_ERROR,message); + } + + public ConfigErrorException() { + super(DaxPayErrorCode.CONFIG_ERROR,"配置错误"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java new file mode 100644 index 0000000000000000000000000000000000000000..26f77e1e311d1930c6af5464c071b18c5ee03502 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ConfigNotEnableException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 配置未启用 + * @author xxm + * @since 2024/6/17 + */ +public class ConfigNotEnableException extends PayFailureException{ + + public ConfigNotEnableException(String message) { + super(DaxPayErrorCode.CONFIG_NOT_ENABLE,message); + } + + public ConfigNotEnableException() { + super(DaxPayErrorCode.CONFIG_NOT_ENABLE,"配置未启用"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java new file mode 100644 index 0000000000000000000000000000000000000000..c18f2eb5f26349e5d255483251e46069c3529733 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/DataErrorException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 数据错误 + * @author xxm + * @since 2024/6/17 + */ +public class DataErrorException extends PayFailureException{ + + public DataErrorException(String message) { + super(DaxPayErrorCode.DATA_ERROR,message); + } + + public DataErrorException() { + super(DaxPayErrorCode.DATA_ERROR,"数据错误"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java new file mode 100644 index 0000000000000000000000000000000000000000..945c6c29d05d7633e0ea8ee59bea605fd82b5800 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotEnableException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 支付方式未启用 + * @author xxm + * @since 2024/6/17 + */ +public class MethodNotEnableException extends PayFailureException{ + + public MethodNotEnableException(String message) { + super(DaxPayErrorCode.METHOD_NOT_ENABLE,message); + } + + public MethodNotEnableException() { + super(DaxPayErrorCode.METHOD_NOT_ENABLE,"支付方式未启用"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java new file mode 100644 index 0000000000000000000000000000000000000000..706953721c11c0306723f9267db36b9cab1d559f --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/MethodNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 不存在的支付方式 + * @author xxm + * @since 2024/6/17 + */ +public class MethodNotExistException extends PayFailureException{ + + public MethodNotExistException(String message) { + super(DaxPayErrorCode.METHOD_NOT_EXIST,message); + } + + public MethodNotExistException() { + super(DaxPayErrorCode.METHOD_NOT_EXIST,"不存在的支付方式"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java new file mode 100644 index 0000000000000000000000000000000000000000..1a0b97670bab75ac53b1c4b04b3600d3ec3ebdb2 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationFailException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 操作失败 + * @author xxm + * @since 2024/6/17 + */ +public class OperationFailException extends PayFailureException{ + + public OperationFailException(String message) { + super(DaxPayErrorCode.OPERATION_FAIL,message); + } + + public OperationFailException() { + super(DaxPayErrorCode.OPERATION_FAIL,"操作失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java new file mode 100644 index 0000000000000000000000000000000000000000..1339d84fd697edb578db200d563d4f686cbdd523 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationProcessingException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 操作处理中, 请勿重复操作 + * @author xxm + * @since 2024/6/17 + */ +public class OperationProcessingException extends PayFailureException{ + + public OperationProcessingException(String message) { + super(DaxPayErrorCode.OPERATION_PROCESSING,message); + } + + public OperationProcessingException() { + super(DaxPayErrorCode.OPERATION_PROCESSING,"操作处理中, 请勿重复操作"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java new file mode 100644 index 0000000000000000000000000000000000000000..4b17351331822ae35c80f5cf01f6b6e01abb039d --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/OperationUnsupportedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 不支持的操作 + * @author xxm + * @since 2024/6/17 + */ +public class OperationUnsupportedException extends PayFailureException{ + + public OperationUnsupportedException(String message) { + super(DaxPayErrorCode.OPERATION_UNSUPPORTED,message); + } + + public OperationUnsupportedException() { + super(DaxPayErrorCode.OPERATION_UNSUPPORTED,"不支持的操作"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java similarity index 47% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java index ef1c502635bc49ab6ba8f7d926e65f9595e269f9..8e1ccf24b4ff41de1b27c911122b383f65adcc14 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayFailureException.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/PayFailureException.java @@ -1,7 +1,7 @@ -package cn.daxpay.single.exception.pay; +package cn.daxpay.single.core.exception; import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; +import cn.daxpay.single.core.code.DaxPayErrorCode; /** * 支付错误 @@ -11,12 +11,17 @@ import cn.daxpay.single.code.DaxPayErrorCode; */ public class PayFailureException extends BizException { + + public PayFailureException(int code, String message) { + super(code, message); + } + public PayFailureException(String message) { - super(DaxPayErrorCode.PAY_FAILURE, message); + super(DaxPayErrorCode.UNCLASSIFIED_ERROR, message); } public PayFailureException() { - super(DaxPayErrorCode.PAY_FAILURE, "支付失败"); + super(DaxPayErrorCode.UNCLASSIFIED_ERROR, "支付失败"); } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java new file mode 100644 index 0000000000000000000000000000000000000000..9b8c8fb8a7e3715f59dc75d06f1ea3ff7b4e4ce7 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/ReconciliationFailException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 对账失败 + * @author xxm + * @since 2024/6/17 + */ +public class ReconciliationFailException extends PayFailureException{ + + public ReconciliationFailException(String message) { + super(DaxPayErrorCode.RECONCILE_FAIL,message); + } + + public ReconciliationFailException() { + super(DaxPayErrorCode.RECONCILE_FAIL,"对账失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java new file mode 100644 index 0000000000000000000000000000000000000000..64bf979910b4d4c39bbe86a0b7503f037cb5628f --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/StatusNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 不存在的状态 + * @author xxm + * @since 2024/6/17 + */ +public class StatusNotExistException extends PayFailureException{ + + public StatusNotExistException(String message) { + super(DaxPayErrorCode.STATUS_NOT_EXIST,message); + } + + public StatusNotExistException() { + super(DaxPayErrorCode.STATUS_NOT_EXIST,"不存在的状态"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java new file mode 100644 index 0000000000000000000000000000000000000000..26a63692520c4e4d584fd19466ba5d1a0e2ef120 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/SystemUnknownErrorException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 未知异常,系统无法处理 + * @author xxm + * @since 2024/6/17 + */ +public class SystemUnknownErrorException extends PayFailureException{ + + public SystemUnknownErrorException(String message) { + super(DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR,message); + } + + public SystemUnknownErrorException() { + super(DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR,"未知异常,系统无法处理"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java new file mode 100644 index 0000000000000000000000000000000000000000..3e8e994bc76239372d52b6cbe7c75f86fddcf275 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeClosedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 交易已关闭 + * @author xxm + * @since 2024/6/17 + */ +public class TradeClosedException extends PayFailureException{ + + public TradeClosedException(String message) { + super(DaxPayErrorCode.TRADE_CLOSED,message); + } + + public TradeClosedException() { + super(DaxPayErrorCode.TRADE_CLOSED,"交易已关闭"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailException.java new file mode 100644 index 0000000000000000000000000000000000000000..14b44a6cd3581a01f85965560806ea9d647151b6 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeFailException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 交易失败 + * @author xxm + * @since 2024/6/17 + */ +public class TradeFailException extends PayFailureException{ + + public TradeFailException(String message) { + super(DaxPayErrorCode.TRADE_FAIL,message); + } + + public TradeFailException() { + super(DaxPayErrorCode.TRADE_FAIL,"交易失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java new file mode 100644 index 0000000000000000000000000000000000000000..7ba2f2a07539d0b1c27547a61ba695ae1f33b118 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeNotExistException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 交易不存在 + * @author xxm + * @since 2024/6/17 + */ +public class TradeNotExistException extends PayFailureException{ + + public TradeNotExistException(String message) { + super(DaxPayErrorCode.TRADE_NOT_EXIST,message); + } + + public TradeNotExistException() { + super(DaxPayErrorCode.TRADE_NOT_EXIST,"交易不存在"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java new file mode 100644 index 0000000000000000000000000000000000000000..90a0f0ec28f6183bf6ddf7a2ae43335e5bedbe2c --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeProcessingException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 交易处理中, 请勿重复操作 + * @author xxm + * @since 2024/6/17 + */ +public class TradeProcessingException extends PayFailureException{ + + public TradeProcessingException(String message) { + super(DaxPayErrorCode.TRADE_PROCESSING,message); + } + + public TradeProcessingException() { + super(DaxPayErrorCode.TRADE_PROCESSING,"交易处理中,请勿重复操作"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java new file mode 100644 index 0000000000000000000000000000000000000000..b2c34f1ebae4787a2b3f43e52e453540ba043035 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/TradeStatusErrorException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 交易状态错误 + * @author xxm + * @since 2024/6/17 + */ +public class TradeStatusErrorException extends PayFailureException{ + + public TradeStatusErrorException(String message) { + super(DaxPayErrorCode.TRADE_STATUS_ERROR,message); + } + + public TradeStatusErrorException() { + super(DaxPayErrorCode.TRADE_STATUS_ERROR,"交易状态错误"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java new file mode 100644 index 0000000000000000000000000000000000000000..519a08146a237d0e3b2f54d5b2ce6e3da312ab79 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/UnsupportedAbilityException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 不支持该能力 + * @author xxm + * @since 2024/6/17 + */ +public class UnsupportedAbilityException extends PayFailureException{ + + public UnsupportedAbilityException(String message) { + super(DaxPayErrorCode.UNSUPPORTED_ABILITY,message); + } + + public UnsupportedAbilityException() { + super(DaxPayErrorCode.UNSUPPORTED_ABILITY,"不支持该能力"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java new file mode 100644 index 0000000000000000000000000000000000000000..3a145dde918c3158af56f51dba8924d2bbaab20f --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/exception/VerifySignFailedException.java @@ -0,0 +1,19 @@ +package cn.daxpay.single.core.exception; + +import cn.daxpay.single.core.code.DaxPayErrorCode; + +/** + * 验签失败 + * @author xxm + * @since 2024/6/17 + */ +public class VerifySignFailedException extends PayFailureException{ + + public VerifySignFailedException(String message) { + super(DaxPayErrorCode.VERIFY_SIGN_FAILED,message); + } + + public VerifySignFailedException() { + super(DaxPayErrorCode.VERIFY_SIGN_FAILED,"验签失败"); + } +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/ChannelParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/ChannelParam.java similarity index 75% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/ChannelParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/ChannelParam.java index a7491d206cc27c8f614713cfcce552ecb9311f00..48252e554e96bea37deec9788661edb1ea336873 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/ChannelParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/ChannelParam.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.param; +package cn.daxpay.single.core.param; /** * 通道支付参数标识接口 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/PaymentCommonParam.java similarity index 61% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/PaymentCommonParam.java index 5ca4fb02af4dc3781ee5ddc10702e1cfd8406c23..70d04981666ec00f830601aadd4875f50a2ddf0d 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/PaymentCommonParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/PaymentCommonParam.java @@ -1,11 +1,13 @@ -package cn.daxpay.single.param; +package cn.daxpay.single.core.param; -import cn.daxpay.single.serializer.TimestampToLocalDateTimeDeserializer; +import cn.daxpay.single.core.serializer.TimestampToLocalDateTimeDeserializer; +import cn.bootx.platform.common.core.validation.IpAddress; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import java.time.LocalDateTime; /** @@ -19,10 +21,18 @@ public abstract class PaymentCommonParam { /** 客户端ip */ @Schema(description = "客户端ip") + @IpAddress + @Size(max=64, message = "客户端ip不可超过64位") private String clientIp; + /** 随机数 */ + @Schema(description = "随机数") + @Size(max = 32, message = "随机数不可超过32位") + private String nonceStr; + /** 签名 */ @Schema(description = "签名") + @Size(max = 64, message = "签名不可超过64位") private String sign; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAccessTokenParam.java similarity index 40% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAccessTokenParam.java index 67a1da657f052b1a94ac14ca8cbe77d53da12036..e3586d895f9339f6d89623eb524741b908db4276 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/QueryTransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAccessTokenParam.java @@ -1,19 +1,23 @@ -package cn.daxpay.single.param.payment.transfer; +package cn.daxpay.single.core.param.assist; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * 转正订单查询参数 + * 获取微信AccessToken参数 * @author xxm - * @since 2024/5/27 + * @since 2024/6/16 */ @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@Schema(title = "转正订单查询参数") -public class QueryTransferParam extends PaymentCommonParam { +@Schema(title = "获取支付宝AccessToken参数") +public class AliPayAccessTokenParam extends PaymentCommonParam { + + @Schema(description = "支付宝认证code") + private String code; } + diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAuthUrlParam.java similarity index 65% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAuthUrlParam.java index 08fe0cae958787a50b55399543aeb7ec2b60968a..c99fdcc58e2504ba843cd631a41aee3e81453dd7 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAuthUrlParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/AliPayAuthUrlParam.java @@ -1,21 +1,21 @@ -package cn.daxpay.single.param.assist; +package cn.daxpay.single.core.param.assist; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * 构造oauth2授权的url连接 + * 构造微信OAuth2授权的url链接 * @author xxm - * @since 2024/2/10 + * @since 2024/6/16 */ @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@Schema(title = "构造oauth2授权的url连接") -public class WxAuthUrlParam extends PaymentCommonParam { +@Schema(title = "构造微信OAuth2授权的url链接") +public class AliPayAuthUrlParam extends PaymentCommonParam { @Schema(description = "回调地址") private String url; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java similarity index 62% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java index da638d1debd486c928e979f89b64bc10c172605f..b65ad7659d823b7e045ea2e790d3f24df5fe3f44 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/assist/WxAccessTokenParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAccessTokenParam.java @@ -1,11 +1,13 @@ -package cn.daxpay.single.param.assist; +package cn.daxpay.single.core.param.assist; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.Size; + /** * 获取微信AccessToken参数 * @author xxm @@ -17,6 +19,7 @@ import lombok.experimental.Accessors; @Schema(title = "获取微信AccessToken参数") public class WxAccessTokenParam extends PaymentCommonParam { - @Schema(description = "微信code") + @Schema(description = "微信认证code") + @Size(max = 64, message = "微信认证code不可超过100位") private String code; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java new file mode 100644 index 0000000000000000000000000000000000000000..24936ccb4f5d8ab659fa4c69788caa79584d0ed2 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/assist/WxAuthUrlParam.java @@ -0,0 +1,32 @@ +package cn.daxpay.single.core.param.assist; + +import cn.daxpay.single.core.param.PaymentCommonParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.Size; + +/** + * 构造微信OAuth2授权的url链接 + * @author xxm + * @since 2024/2/10 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "构造微信OAuth2授权的url链接") +public class WxAuthUrlParam extends PaymentCommonParam { + + @Schema(description = "回调地址") + @Size(max = 200, message = "回调地址不可超过200位") + private String url; + + /** + * 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 + */ + @Schema(description = "重定向后原样带回,可以为空") + @Size(max = 128, message = "state值最大为128位") + private String state; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/AliPayParam.java similarity index 31% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/AliPayParam.java index 16c617a3d50f8a45d52a36a83f382001b5f863c5..8b9e543596a24893ccb3c3a55ed02d486e630e52 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/AliPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/AliPayParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.channel; +package cn.daxpay.single.core.param.channel; -import cn.daxpay.single.param.ChannelParam; +import cn.daxpay.single.core.param.ChannelParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -12,7 +12,23 @@ import lombok.Data; @Schema(title = "支付宝支付参数") public class AliPayParam implements ChannelParam { + /** + * 授权码(主动扫描用户的付款码) + */ @Schema(description = "授权码(主动扫描用户的付款码)") private String authCode; + /** + * 【描述】小程序支付中,商户实际经营主体的小程序应用的appid,也即最终唤起收银台支付所在的小程序的应用id + * 【注意事项】商户需要先在产品管理中心绑定该小程序appid,否则下单会失败 + */ + @Schema(description = "商户实际经营主体的小程序应用的appid") + private String opAppId; + + /** + * 买家支付宝用户唯一标识 + */ + @Schema(description = "买家支付宝用户唯一标识") + private String openId; + } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/UnionPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/UnionPayParam.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/UnionPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/UnionPayParam.java index 25ce5ae10e68fdbc8815d7365d4e6109cefda0b8..463b602c266d9b8ef8d80105864b709508031e93 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/UnionPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/UnionPayParam.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.param.channel; +package cn.daxpay.single.core.param.channel; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WalletPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WalletPayParam.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WalletPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WalletPayParam.java index 2effbc2a13ff479c00cffa0892d8abf010d5a240..8af403136fd48652edcf504f010d9fcddfb2b105 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WalletPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WalletPayParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.channel; +package cn.daxpay.single.core.param.channel; -import cn.daxpay.single.param.ChannelParam; +import cn.daxpay.single.core.param.ChannelParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WeChatPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WeChatPayParam.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WeChatPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WeChatPayParam.java index 93a13d5e65e14a05ebfcfbc6a56efd6a0dde6a6f..fb7daf4bbd28d07fe0675e34cb45172ced9ea5bf 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/channel/WeChatPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/channel/WeChatPayParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.channel; +package cn.daxpay.single.core.param.channel; -import cn.daxpay.single.param.ChannelParam; +import cn.daxpay.single.core.param.ChannelParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocFinishParam.java similarity index 70% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocFinishParam.java index 57b9bfe26cfae29b30f84abc55370cea861519fb..2caba338b49437602e53288ea8d5189544f419c6 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocFinishParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocFinishParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,8 +16,8 @@ import lombok.EqualsAndHashCode; public class AllocFinishParam extends PaymentCommonParam { @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; @Schema(description = "分账单号") - private String allocationNo; + private String allocNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverAddParam.java similarity index 55% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverAddParam.java index 045265b21e2c84e8719d4bc537d7cbf421550447..a59baee03caadcf551fc920b336ae2b3c4279d81 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverAddParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverAddParam.java @@ -1,15 +1,16 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; /** * 分账接收者添加参数 @@ -23,7 +24,8 @@ import javax.validation.constraints.NotEmpty; public class AllocReceiverAddParam extends PaymentCommonParam { @Schema(description = "接收者编号, 需要保证唯一") - @NotEmpty(message = "接收者编号必填") + @NotBlank(message = "接收者编号必填") + @Size(max = 32, message = "接收者编号不可超过32位") private String receiverNo; /** @@ -31,7 +33,8 @@ public class AllocReceiverAddParam extends PaymentCommonParam { * @see PayChannelEnum */ @Schema(description = "所属通道") - @NotEmpty(message = "所属通道必填") + @NotBlank(message = "所属通道必填") + @Size(max = 20, message = "所属通道不可超过20位") private String channel; /** @@ -39,16 +42,19 @@ public class AllocReceiverAddParam extends PaymentCommonParam { * @see AllocReceiverTypeEnum */ @Schema(description = "分账接收方类型") - @NotEmpty(message = "分账接收方类型必填") + @NotBlank(message = "分账接收方类型必填") + @Size(max = 20, message = "分账接收方类型不可超过20位") private String receiverType; /** 接收方账号 */ @Schema(description = "接收方账号") - @NotEmpty(message = "接收方账号必填") + @NotBlank(message = "接收方账号必填") + @Size(max = 100, message = "接收方账号不可超过100位") private String receiverAccount; /** 接收方姓名 */ @Schema(description = "接收方姓名") + @Size(max = 100, message = "接收方姓名不可超过50位") private String receiverName; /** @@ -56,10 +62,12 @@ public class AllocReceiverAddParam extends PaymentCommonParam { * @see AllocRelationTypeEnum */ @Schema(description = "分账关系类型") - @NotEmpty(message = "分账关系类型必填") + @NotBlank(message = "分账关系类型必填") + @Size(max = 20, message = "分账关系类型不可超过20位") private String relationType; /** 关系名称 关系类型为自定义是填写 */ @Schema(description = "关系名称") + @Size(max = 50, message = "关系名称不可超过50位") private String relationName; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java similarity index 71% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java index 7ab1fb8e1b517b4876cae0004119c128de5cdd8b..3ee6174b187c2e5f2232393432a1bbd354c927aa 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverParam.java @@ -1,12 +1,13 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; import javax.validation.constraints.Min; -import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; /** * 分账接收方列表 @@ -20,7 +21,8 @@ public class AllocReceiverParam { /** 分账接收方编号 */ @Schema(description = "分账接收方编号") - @NotEmpty(message = "分账接收方编号必填") + @NotBlank(message = "分账接收方编号必填") + @Size(max = 32, message = "分账接收方编号不可超过32位") private String receiverNo; /** 分账金额 */ diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverRemoveParam.java similarity index 60% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverRemoveParam.java index 06f21e6dd6b38199389ae60bdf59238b43ba0184..b96d6872a70d09510aec957f40db4bb9de53dcc7 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocReceiverRemoveParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocReceiverRemoveParam.java @@ -1,12 +1,13 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; /** * 分账接收者删除参数 @@ -20,7 +21,8 @@ import javax.validation.constraints.NotEmpty; public class AllocReceiverRemoveParam extends PaymentCommonParam { @Schema(description = "接收者编号") - @NotEmpty(message = "接收者编号必填") + @NotBlank(message = "接收者编号必填") + @Size(max = 32, message = "接收者编号不可超过32位") private String receiverNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java similarity index 54% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java index b01508a006f62565a5843457ca09247a57514942..0b1ea54e630c0382c331585458ee533b5f6322ab 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocSyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocSyncParam.java @@ -1,10 +1,12 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 分账同步请求参数 * @author xxm @@ -16,8 +18,10 @@ import lombok.EqualsAndHashCode; public class AllocSyncParam extends PaymentCommonParam { @Schema(description = "分账号") - private String allocationNo; + @Size(max = 32, message = "分账号不可超过32位") + private String allocNo; @Schema(description = "商户分账号") - private String bizAllocationNo; + @Size(max = 100, message = "商户分账号不可超过100位") + private String bizAllocNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocationParam.java similarity index 65% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocationParam.java index 1ffe9f7308854380fe1b5106f59f1809a47244c4..23704ccee2d881452dd864a64b5eb427ec287d9e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/AllocationParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/AllocationParam.java @@ -1,12 +1,13 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.Valid; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; import java.util.List; /** @@ -20,25 +21,30 @@ import java.util.List; public class AllocationParam extends PaymentCommonParam { /** 商户分账单号 */ - @Schema(description = "商户分账单号") @NotBlank(message = "商户分账单号不可为空") - private String bizAllocationNo; + @Size(max = 100, message = "商户分账单号不可超过100位") + @Schema(description = "商户分账单号") + private String bizAllocNo; /** 支付订单号 */ + @Size(max = 32, message = "支付订单号不可超过32位") @Schema(description = "支付订单号") private String orderNo; /** 商户支付订单号 */ + @Size(max = 100, message = "商户支付订单号不可超过100位") @Schema(description = "商户支付订单号") private String bizOrderNo; /** 分账描述 */ + @Size(max = 150, message = "分账描述不可超过150位") @Schema(description = "分账描述") private String description; /** * 优先级 分账接收方列表 > 分账组编号 > 默认分账组 */ + @Size(max = 20, message = "分账组编号不可超过20位") @Schema(description = "分账组编号") private String groupNo; @@ -47,16 +53,14 @@ public class AllocationParam extends PaymentCommonParam { @Valid private List<AllocReceiverParam> receivers; - /** 是否不启用异步通知 */ - @Schema(description = "是否不启用异步通知") - private Boolean notNotify; - /** 回调通知地址 */ + @Size(max = 200, message = "回调通知地址不可超过200位") @Schema(description = "回调通知地址") private String notifyUrl; /** 商户扩展参数,回调时会原样返回 */ - @Schema(description = "商户扩展参数,回调时会原样返回") + @Size(max = 500, message = "商户扩展参数不可超过500位") + @Schema(description = "商户扩展参数") private String attach; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocOrderParam.java similarity index 71% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocOrderParam.java index 6ba1a78869daf3878c7b7d3597b3401cdf8de443..3357c6e54ad795e5af9d473e0873d66f9d448c62 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocOrderParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocOrderParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -16,8 +16,8 @@ import lombok.EqualsAndHashCode; public class QueryAllocOrderParam extends PaymentCommonParam { @Schema(description = "分账单号") - private String allocationNo; + private String allocNo; @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocReceiverParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocReceiverParam.java similarity index 84% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocReceiverParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocReceiverParam.java index 1fc094f4723cc2246ac73d7d56e14883bfd23977..c8c64fe30fad8df193d3ae0a4088f6c726db0705 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/allocation/QueryAllocReceiverParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/allocation/QueryAllocReceiverParam.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.param.payment.allocation; +package cn.daxpay.single.core.param.payment.allocation; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java similarity index 62% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java index d06882294dc3529e2c1dd3a2c50294bc0715c8d8..e5fd51dfbf3ebbcd68d3d7ac66a2e344e9bb42bf 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCancelParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCancelParam.java @@ -1,10 +1,12 @@ -package cn.daxpay.single.param.payment.pay; +package cn.daxpay.single.core.param.payment.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 支付订单撤销 * 并不是所有的订单都可以被撤销,只有部分类型的支持撤销,主要是当面付 @@ -16,9 +18,13 @@ import lombok.EqualsAndHashCode; @Schema(title = "支付订单撤销") public class PayCancelParam extends PaymentCommonParam { + /** 订单号 */ @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; + /** 商户订单号 */ @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java similarity index 59% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java index d372aae506e7cb622453197641dc4b71909fb102..61cb86ecdf1d82f3bf9de5b51a8990a570b652e5 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayCloseParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayCloseParam.java @@ -1,10 +1,12 @@ -package cn.daxpay.single.param.payment.pay; +package cn.daxpay.single.core.param.payment.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 支付关闭参数 * @author xxm @@ -17,9 +19,11 @@ public class PayCloseParam extends PaymentCommonParam { /** 订单号 */ @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; /** 商户订单号 */ @Schema(description = "商户订单号") - private String bizTradeNo; + @Size(max = 100, message = "商户支付订单号不可超过100位") + private String bizOrderNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayParam.java similarity index 63% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayParam.java index 26ad552d2f519e0a8bcb6b1d0caa510ef08bad71..8303c13952432b64d1d7229dfab5e3f09b6a93cb 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PayParam.java @@ -1,20 +1,18 @@ -package cn.daxpay.single.param.payment.pay; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; -import cn.daxpay.single.serializer.TimestampToLocalDateTimeDeserializer; +package cn.daxpay.single.core.param.payment.pay; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.param.PaymentCommonParam; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; +import cn.daxpay.single.core.serializer.TimestampToLocalDateTimeDeserializer; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; +import javax.validation.constraints.*; import java.time.LocalDateTime; import java.util.Map; @@ -32,15 +30,18 @@ public class PayParam extends PaymentCommonParam { /** 商户订单号 */ @Schema(description = "商户订单号") @NotBlank(message = "商户订单号不可为空") + @Size(max = 100, message = "商户订单号不可超过100位") private String bizOrderNo; /** 支付标题 */ @Schema(description = "支付标题") @NotBlank(message = "支付标题不可为空") + @Size(max = 100, message = "支付标题不可超过100位") private String title; /** 支付描述 */ @Schema(description = "支付描述") + @Size(max = 500, message = "支付描述不可超过500位") private String description; /** 是否开启分账 */ @@ -62,6 +63,7 @@ public class PayParam extends PaymentCommonParam { */ @Schema(description = "支付通道编码") @NotBlank(message = "支付通道编码不可为空") + @Size(max = 20, message = "支付通道编码不可超过20位") private String channel; /** @@ -70,6 +72,7 @@ public class PayParam extends PaymentCommonParam { */ @Schema(description = "支付方式编码") @NotBlank(message = "支付方式不可为空") + @Size(max = 20, message = "支付方式编码不可超过20位") private String method; /** 支付金额 */ @@ -85,25 +88,26 @@ public class PayParam extends PaymentCommonParam { * @see WalletPayParam */ @Schema(description = "支付扩展参数") + @Size(max = 2048, message = "支付扩展参数不可超过2048位") private Map<String, Object> extraParam; /** 商户扩展参数,回调时会原样返回 */ - @Schema(description = "商户扩展参数,回调时会原样返回") + @Schema(description = "商户扩展参数") + @Size(max = 500, message = "商户扩展参数不可超过500位") private String attach; /** 同步跳转地址, 支付完毕后用户浏览器返回到该地址, 不传输跳转到默认地址 */ @Schema(description = "同步通知URL") + @Size(max = 200, message = "同步通知URL不可超过200位") private String returnUrl; - /** 退出地址 */ - @Schema(description = "用户付款中途退出返回商户网站的地址(部分支付场景中可用)") + /** 用户付款中途退出返回商户网站的地址(部分支付场景中可用) */ + @Schema(description = "退出地址") + @Size(max = 200, message = "退出地址不可超过200位") private String quitUrl; /** 异步通知地址 */ @Schema(description = "异步通知地址") + @Size(max = 200, message = "异步通知地址不可超过200位") private String notifyUrl; - - /** 是否不启用异步通知 */ - @Schema(description = "是否不启用异步通知") - private Boolean notNotify; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PaySyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java similarity index 64% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PaySyncParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java index a2ae67c4559e7611dabe1fcafcd4535f2c42ac27..13f9658821294947f6b349557c3fa2663c094334 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/PaySyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/PaySyncParam.java @@ -1,10 +1,12 @@ -package cn.daxpay.single.param.payment.pay; +package cn.daxpay.single.core.param.payment.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 支付状态同步参数 * @author xxm @@ -17,10 +19,12 @@ public class PaySyncParam extends PaymentCommonParam { /** 订单号 */ @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; /** 商户订单号 */ @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/QueryPayParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java similarity index 61% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/QueryPayParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java index a650af2acc8bbdabeb89efa0128a33f95142f918..9974397dfece76823073447b3900f0386d93d685 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/pay/QueryPayParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/pay/QueryPayParam.java @@ -1,10 +1,12 @@ -package cn.daxpay.single.param.payment.pay; +package cn.daxpay.single.core.param.payment.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 支付单查询参数 * @author xxm @@ -16,8 +18,10 @@ import lombok.EqualsAndHashCode; public class QueryPayParam extends PaymentCommonParam { @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNoeNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/QueryRefundParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java similarity index 65% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/QueryRefundParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java index 48bdcb21250764a34d985f6151b7508695e6ed44..5e702848bb965703f1d5ad646a876ee25d6a110b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/QueryRefundParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/QueryRefundParam.java @@ -1,10 +1,12 @@ -package cn.daxpay.single.param.payment.refund; +package cn.daxpay.single.core.param.payment.refund; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 查询退款订单参数类 * @author xxm @@ -17,9 +19,11 @@ public class QueryRefundParam extends PaymentCommonParam { /** 退款号 */ @Schema(description = "退款号") + @Size(max = 100, message = "退款号不可超过100位") private String refundNo; /** 商户退款号 */ @Schema(description = "商户退款号") + @Size(max = 100, message = "商户退款号不可超过100位") private String bizRefundNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundParam.java similarity index 65% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundParam.java index 1aefd4c7d8e06017f5c6bd561e213afb33ee2a05..3a8e099256e4463b8ede52b9593e0b95520c5b3b 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundParam.java @@ -1,16 +1,16 @@ -package cn.daxpay.single.param.payment.refund; +package cn.daxpay.single.core.param.payment.refund; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; +import cn.daxpay.single.core.param.PaymentCommonParam; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; -import java.util.Map; +import javax.validation.constraints.Size; /** * 退款参数,适用于组合支付的订单退款操作中, @@ -27,18 +27,21 @@ public class RefundParam extends PaymentCommonParam { */ @Schema(description = "商户退款号") @NotBlank(message = "商户退款号不可为空") + @Size(max = 100, message = "商户退款号不可超过100位") private String bizRefundNo; /** * 支付订单号,与商户订单号至少要传输一个,同时传输以订单号为准 */ @Schema(description = "订单号") + @Size(max = 32, message = "支付订单号不可超过32位") private String orderNo; /** * 商户支付订单号,与订单号至少要传输一个,同时传输以订单号为准 */ @Schema(description = "商户订单号") + @Size(max = 100, message = "商户支付订单号不可超过100位") private String bizOrderNo; /** 退款金额 */ @@ -53,22 +56,22 @@ public class RefundParam extends PaymentCommonParam { * @see WalletPayParam */ @Schema(description = "退款扩展参数") - private Map<String, Object> extraParam; + @Size(max = 2048, message = "退款扩展参数不可超过2048位") + private String extraParam; /** 退款原因 */ @Schema(description = "退款原因") + @Size(max = 150, message = "退款原因不可超过150位") private String reason; /** 商户扩展参数,回调时会原样返回 */ - @Schema(description = "商户扩展参数,回调时会原样返回") + @Schema(description = "商户扩展参数") + @Size(max = 500, message = "商户扩展参数不可超过500位") private String attach; - /** 是否不启用异步通知 */ - @Schema(description = "是否不启用异步通知") - private Boolean notNotify; - /** 异步通知地址 */ @Schema(description = "异步通知地址") + @Size(max = 200, message = "异步通知地址不可超过200位") private String notifyUrl; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java similarity index 65% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundSyncParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java index 3e192c31f60039c327cb10249a4e63733fa96450..2075669cba15c0dd38019cee63b9f035775d1bef 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/refund/RefundSyncParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/refund/RefundSyncParam.java @@ -1,10 +1,12 @@ -package cn.daxpay.single.param.payment.refund; +package cn.daxpay.single.core.param.payment.refund; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.param.PaymentCommonParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Size; + /** * 退款状态同步参数 * @author xxm @@ -17,10 +19,12 @@ public class RefundSyncParam extends PaymentCommonParam { /** 退款号 */ @Schema(description = "退款号") + @Size(max = 100, message = "退款号不可超过100位") private String refundNo; /** 商户退款号 */ @Schema(description = "商户退款号") + @Size(max = 100, message = "商户退款号不可超过100位") private String bizRefundNo; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/QueryTransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/QueryTransferParam.java new file mode 100644 index 0000000000000000000000000000000000000000..0f5e76590d0b7576ec241f911e9869ff615f79df --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/QueryTransferParam.java @@ -0,0 +1,31 @@ +package cn.daxpay.single.core.param.payment.transfer; + +import cn.daxpay.single.core.param.PaymentCommonParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.Size; + +/** + * 转账订单查询参数 + * @author xxm + * @since 2024/5/27 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账订单查询参数") +public class QueryTransferParam extends PaymentCommonParam { + + /** 商户转账号 */ + @Size(max = 100, message = "商户转账号不可超过100位") + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Size(max = 32, message = "转账号不可超过100位") + @Schema(description = "转账号") + private String transferNo; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java new file mode 100644 index 0000000000000000000000000000000000000000..75902e962e808cc398662883093aa8d3a25c85c1 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferParam.java @@ -0,0 +1,94 @@ +package cn.daxpay.single.core.param.payment.transfer; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; +import cn.daxpay.single.core.param.PaymentCommonParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * 转账参数 + * @author xxm + * @since 2024/5/26 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账参数") +public class TransferParam extends PaymentCommonParam { + + /** 商户转账号 */ + @NotNull(message = "商户转账号必填") + @Size(max = 100, message = "商户转账号不可超过100位") + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + @NotNull(message = "支付通道必填") + @Size(max = 20, message = "支付通道不可超过20位") + @Schema(description = "支付通道") + private String channel; + + /** 转账金额 */ + @NotNull(message = "转账金额必填") + @Min(value = 1, message = "转账金额至少为0.01元") + @Schema(description = "转账金额") + private Integer amount; + + /** 标题 */ + @Size(max = 100, message = "标题不可超过100位") + @Schema(description = "标题") + private String title; + + /** 转账原因/备注 */ + @Size(max = 150, message = "转账原因/备注不可超过150位") + @Schema(description = "转账原因/备注") + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @Size(max = 20, message = "转账类型不可超过20位") + @Schema(description = "转账类型, 微信使用") + private String transferType; + + + /** + * 收款人账号类型 + * @see TransferPayeeTypeEnum + */ + @Size(max = 20, message = "收款人账号类型不可超过20位") + @Schema(description = "收款人账号类型") + private String payeeType; + + /** 收款人账号 */ + @Size(max = 100, message = "收款人账号不可超过100位") + @Schema(description = "收款人账号") + private String payeeAccount; + + /** 收款人姓名 */ + @Size(max = 50, message = "收款人姓名不可超过50位") + @Schema(description = "收款人姓名") + private String payeeName; + + /** 回调通知地址 */ + @Size(max = 200, message = "回调通知地址不可超过200位") + @Schema(description = "回调通知地址") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回 */ + @Size(max = 500, message = "商户扩展参数,回调时会原样返回不可超过500位") + @Schema(description = "商户扩展参数,回调时会原样返回") + private String attach; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferSyncParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferSyncParam.java new file mode 100644 index 0000000000000000000000000000000000000000..013797f8564c37ba8f5903c5d2628d46f0b80f52 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/param/payment/transfer/TransferSyncParam.java @@ -0,0 +1,29 @@ +package cn.daxpay.single.core.param.payment.transfer; + +import cn.daxpay.single.core.param.PaymentCommonParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.Size; + +/** + * 转账状态同步参数 + * @author xxm + * @since 2024/6/17 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Schema(title = "转账状态同步参数") +public class TransferSyncParam extends PaymentCommonParam { + + /** 商户转账号 */ + @Size(max = 100, message = "商户转账号不可超过100位") + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Size(max = 32, message = "转账号不可超过100位") + @Schema(description = "转账号") + private String transferNo; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/DaxResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/DaxResult.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/DaxResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/DaxResult.java index a4ec33ed0801fdc41d283c23b0fd49913920bec4..f977b7e06b4e44c82802130323af5277b6e77907 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/DaxResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/DaxResult.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.result; +package cn.daxpay.single.core.result; import cn.bootx.platform.common.core.code.CommonCode; import cn.bootx.platform.common.core.rest.ResResult; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/PaymentCommonResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/PaymentCommonResult.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/PaymentCommonResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/PaymentCommonResult.java index 47aa33c41df734854177cbd62279a40117b2ee15..0aa7b4cd364ec8d41301e5f8c5eafc17a34dc034 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/PaymentCommonResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/PaymentCommonResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result; +package cn.daxpay.single.core.result; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverAddResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverAddResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverAddResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverAddResult.java index 87e1c6814e3a9a36af505a14f29713e2db30686d..11562df0f788329b48c8495730c3125c7f7593db 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverAddResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverAddResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.core.result.pay.PayCloseResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverRemoveResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverRemoveResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverRemoveResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverRemoveResult.java index 151f15ae73e1e8ad100caf1b26205c14ef42cc75..17e922d9ea3f0dbab4864bdad4bec8b853ce63ef 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverRemoveResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverRemoveResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.core.result.pay.PayCloseResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverResult.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverResult.java index 15b8738e3a8ed972ce2c145701af63cc0ca9f28f..234355b658b06c03f069df6fdc76619917bd4c34 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiverResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiverResult.java @@ -1,8 +1,8 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiversResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiversResult.java similarity index 83% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiversResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiversResult.java index d156dd047d1ff3742b927a1e9b507ac9b6f54750..d8ef7e253e838162dbbcc0bd24e7f4dc49b3728e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocReceiversResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocReceiversResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.core.result.pay.PayCloseResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocationResult.java similarity index 75% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocationResult.java index ca0444ccae9ccd29447413164887eaf55cc3ef90..d1b623b6b9656cf60e65acb47af45ba7c685c045 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/allocation/AllocationResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/allocation/AllocationResult.java @@ -1,7 +1,7 @@ -package cn.daxpay.single.result.allocation; +package cn.daxpay.single.core.result.allocation; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -20,11 +20,11 @@ public class AllocationResult extends PaymentCommonResult { /** 分账订单号 */ @Schema(description = "分账订单号") - private String allocationNo; + private String allocNo; /** 商户分账订单号 */ @Schema(description = "商户分账订单号") - private String bizAllocationNo; + private String bizAllocNo; /** * 分账状态 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAccessTokenResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAccessTokenResult.java similarity index 84% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAccessTokenResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAccessTokenResult.java index 0551b97d033d4df6481313f1e0c12cb6c2d8a61b..181384f84509463d046cf68c66cd3208b6141bbb 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAccessTokenResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAccessTokenResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.assist; +package cn.daxpay.single.core.result.assist; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAuthUrlResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAuthUrlResult.java similarity index 82% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAuthUrlResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAuthUrlResult.java index 17f2319f1175553c0c2d0c5a36b7be4699c35f02..0d185a46013e578f755db1728d3545ac3695b18c 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/assist/WxAuthUrlResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/assist/WxAuthUrlResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.assist; +package cn.daxpay.single.core.result.assist; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderDetailResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderDetailResult.java similarity index 90% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderDetailResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderDetailResult.java index a896e9aa720402b1ecf8d29aed0edb996f317639..f5e63b702209b15863341478c0d772c608d3ec77 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderDetailResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderDetailResult.java @@ -1,7 +1,7 @@ -package cn.daxpay.single.result.order; +package cn.daxpay.single.core.result.order; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderResult.java similarity index 86% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderResult.java index 2ab85ea4bac35310629bfce622732446a524a52a..b45e541bee3fefe531a04e3e93516edc74d2b8c8 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/AllocOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/AllocOrderResult.java @@ -1,9 +1,9 @@ -package cn.daxpay.single.result.order; +package cn.daxpay.single.core.result.order; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -25,15 +25,15 @@ public class AllocOrderResult extends PaymentCommonResult { /** 分账单号 */ @Schema(description = "分账单号") - private String allocationNo; + private String allocNo; /** 商户分账单号 */ @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; /** 通道分账号 */ @Schema(description = "通道分账号") - private String outAllocationNo; + private String outAllocNo; /** * 支付订单号 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/PayOrderResult.java similarity index 80% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/PayOrderResult.java index d7bdbb577994a523befe9a3829d7786e9688042f..f1d28cc85afdc98784803f2d7e730af1da54d660 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/PayOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/PayOrderResult.java @@ -1,10 +1,11 @@ -package cn.daxpay.single.result.order; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +package cn.daxpay.single.core.result.order; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -55,7 +56,7 @@ public class PayOrderResult extends PaymentCommonResult { * 支付通道 * @see PayChannelEnum */ - @Schema(description = "异步支付通道") + @Schema(description = "支付通道") private String channel; /** @@ -79,12 +80,19 @@ public class PayOrderResult extends PaymentCommonResult { @Schema(description = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @Schema(description = "退款状态") + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ @Schema(description = "分账状态") - private String allocationStatus; + private String allocStatus; /** 支付时间 */ @Schema(description = "支付时间") diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/RefundOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/RefundOrderResult.java similarity index 89% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/RefundOrderResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/RefundOrderResult.java index f2f9b1a4bb5e914b4fec84118982a458b236b7c8..00b224393394aba0bbea4d52e4cdfff39a6ba970 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/order/RefundOrderResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/RefundOrderResult.java @@ -1,9 +1,9 @@ -package cn.daxpay.single.result.order; +package cn.daxpay.single.core.result.order; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java new file mode 100644 index 0000000000000000000000000000000000000000..3ae2ba0e40e8d0027617496351f7a0b5a464fb39 --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/order/TransferOrderResult.java @@ -0,0 +1,101 @@ +package cn.daxpay.single.core.result.order; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 转账订单数据 + * @author xxm + * @since 2024/6/17 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账订单数据") +public class TransferOrderResult extends PaymentCommonResult { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Schema(description = "转账号") + private String transferNo; + + /** 通道转账号 */ + @Schema(description = "通道转账号") + private String outTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + @Schema(description = "支付通道") + private String channel; + + /** 转账金额 */ + @Schema(description = "转账金额") + private Integer amount; + + /** 标题 */ + @Schema(description = "标题") + private String title; + + /** 转账原因/备注 */ + @Schema(description = "转账原因/备注") + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @Schema(description = "转账类型, 微信使用") + private String transferType; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + @Schema(description = "收款人类型") + private String payeeType; + + /** 收款人账号 */ + @Schema(description = "收款人账号") + private String payeeAccount; + + /** 收款人姓名 */ + @Schema(description = "收款人姓名") + private String payeeName; + + /** + * 状态 + * @see TransferStatusEnum + */ + @Schema(description = "状态") + private String status; + + /** 成功时间 */ + @Schema(description = "成功时间") + private LocalDateTime successTime; + + /** + * 错误码 + */ + @Schema(description = "错误码") + private String errorCode; + + /** + * 错误原因 + */ + @Schema(description = "错误原因") + private String errorMsg; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCancelResult.java similarity index 48% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCancelResult.java index 99f50633b747813e12001aaf5b60f51066e82106..cac6b2ad463f3c53ccc9af25e54d43a0ec4dc118 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/param/payment/transfer/TransferParam.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCancelResult.java @@ -1,19 +1,19 @@ -package cn.daxpay.single.param.payment.transfer; +package cn.daxpay.single.core.result.pay; -import cn.daxpay.single.param.PaymentCommonParam; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * 转账参数 + * 支付关闭响应参数 * @author xxm - * @since 2024/5/26 + * @since 2024/4/23 */ @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@Schema(title = "转账参数") -public class TransferParam extends PaymentCommonParam { +@Schema(title = "支付撤销响应参数") +public class PayCancelResult extends PaymentCommonResult { } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCloseResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCloseResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCloseResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCloseResult.java index 95802e15a30836ca3466e8cc17b683f34fb66c4a..4800d8637ead2c1cda6a0a4c95190416a0390203 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayCloseResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayCloseResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.pay; +package cn.daxpay.single.core.result.pay; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayResult.java similarity index 89% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayResult.java index bfd5206ad1d5325082786bacb3ae5d3b3109a379..bbc787d0ef584f04ef1c74a213b210981edb601a 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/PayResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/PayResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.pay; +package cn.daxpay.single.core.result.pay; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/RefundResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/RefundResult.java similarity index 87% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/RefundResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/RefundResult.java index 274bef52ceed13f8b0c8ecd0fd220a568986e08f..9ba3b8f7a4ddc5735a0e11156b0f910eeb503a4e 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/pay/RefundResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/pay/RefundResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.pay; +package cn.daxpay.single.core.result.pay; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/AllocSyncResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/AllocSyncResult.java similarity index 79% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/AllocSyncResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/AllocSyncResult.java index 1fe925e3a88b5a18f974f3693a932e9c3695fe04..7cc6c3ecc450928ea3354438d631c460f08a9445 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/AllocSyncResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/AllocSyncResult.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.result.sync; +package cn.daxpay.single.core.result.sync; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/PaySyncResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/PaySyncResult.java similarity index 71% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/PaySyncResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/PaySyncResult.java index 2098a64adb44fd82a03f0c5f75827b1da0c6f99b..a4181cfd00a4d75d88b5baf9588deb655a912b0f 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/PaySyncResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/PaySyncResult.java @@ -1,13 +1,13 @@ -package cn.daxpay.single.result.sync; +package cn.daxpay.single.core.result.sync; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import static cn.daxpay.single.code.PaySyncStatusEnum.FAIL; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.FAIL; /** * 支付同步结果 diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/RefundSyncResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/RefundSyncResult.java similarity index 67% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/RefundSyncResult.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/RefundSyncResult.java index fdf25067c5413da598582c95f3fcc97c94bdb549..f3456ca0035cbc86557b1b4aa06591aff187e230 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/result/sync/RefundSyncResult.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/RefundSyncResult.java @@ -1,14 +1,14 @@ -package cn.daxpay.single.result.sync; +package cn.daxpay.single.core.result.sync; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import static cn.daxpay.single.code.PaySyncStatusEnum.FAIL; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.FAIL; /** * 退款同步结果 diff --git a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/wechat/WeChatNoticeConfigDto.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/TransferSyncResult.java similarity index 35% rename from bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/wechat/WeChatNoticeConfigDto.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/TransferSyncResult.java index d60fcd4993be25434f1135c319655e020944f45e..2aa15323782b477e4771caf8393c8f0c3211dd46 100644 --- a/bootx-platform/bootx-services/service-notice/src/main/java/cn/bootx/platform/notice/dto/wechat/WeChatNoticeConfigDto.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/sync/TransferSyncResult.java @@ -1,25 +1,27 @@ -package cn.bootx.platform.notice.dto.wechat; +package cn.daxpay.single.core.result.sync; -import cn.bootx.platform.common.core.rest.dto.BaseDto; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import java.io.Serializable; - /** - * 微信通知配置 - * + * 转账同步结果 * @author xxm - * @since 2021/8/10 + * @since 2024/6/17 */ @EqualsAndHashCode(callSuper = true) @Data @Accessors(chain = true) -@Schema(title = "微信通知配置") -public class WeChatNoticeConfigDto extends BaseDto implements Serializable { - - private static final long serialVersionUID = 4862614438727322307L; +@Schema(title = "转账同步结果") +public class TransferSyncResult extends PaymentCommonResult { + /** + * 转账状态 + * @see TransferStatusEnum + */ + @Schema(description = "转账状态") + private String status; } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java new file mode 100644 index 0000000000000000000000000000000000000000..9d37910685849be0790f7b8e8131ca61f0aefbff --- /dev/null +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/result/transfer/TransferResult.java @@ -0,0 +1,35 @@ +package cn.daxpay.single.core.result.transfer; + +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * 转账结果 + * @author xxm + * @since 2024/6/6 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账结果") +public class TransferResult extends PaymentCommonResult { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Schema(description = "转账号") + private String transferNo; + + /** + * 状态 + * @see TransferStatusEnum + */ + @Schema(description = "状态") + private String status; +} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/LocalDateTimeToTimestampSerializer.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/LocalDateTimeToTimestampSerializer.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/LocalDateTimeToTimestampSerializer.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/LocalDateTimeToTimestampSerializer.java index 895a0c313e34b8a8a6a06c842d7ed58e2e54d04a..8504df3afec7899cfa78792a2b40b882b935f2ac 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/LocalDateTimeToTimestampSerializer.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/LocalDateTimeToTimestampSerializer.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.serializer; +package cn.daxpay.single.core.serializer; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/TimestampToLocalDateTimeDeserializer.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/TimestampToLocalDateTimeDeserializer.java similarity index 95% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/TimestampToLocalDateTimeDeserializer.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/TimestampToLocalDateTimeDeserializer.java index 66d6e9e6ac5c027d2b4b8b0c1f43b32f33c19a8e..8bddf24d0c3e19e7780a3f06f677ef994e4c45a2 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/serializer/TimestampToLocalDateTimeDeserializer.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/serializer/TimestampToLocalDateTimeDeserializer.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.serializer; +package cn.daxpay.single.core.serializer; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/DaxRes.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/DaxRes.java similarity index 85% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/DaxRes.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/DaxRes.java index bd5c0c8a5086887d0767e779b6389b98fa415cab..20c60cba64899883c2f4d4669ee6adf95b2042ed 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/DaxRes.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/DaxRes.java @@ -1,6 +1,6 @@ -package cn.daxpay.single.util; +package cn.daxpay.single.core.util; -import cn.daxpay.single.result.DaxResult; +import cn.daxpay.single.core.result.DaxResult; import lombok.experimental.UtilityClass; import static cn.bootx.platform.common.core.code.CommonCode.SUCCESS_CODE; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/OrderNoGenerateUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/OrderNoGenerateUtil.java similarity index 98% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/OrderNoGenerateUtil.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/OrderNoGenerateUtil.java index 2bbda258ccd83c652a996e61d321eaff4dfa6140..25f003640121318940b5a390a0efd6d2c475a7ab 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/OrderNoGenerateUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/OrderNoGenerateUtil.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.util; +package cn.daxpay.single.core.util; import lombok.Setter; import lombok.extern.slf4j.Slf4j; diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PaySignUtil.java similarity index 98% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PaySignUtil.java index 912b7b5967a6b7677592881b78a9ff541f7094a6..3eba67324758f5d2fbce9a1bcc6a62978ea54579 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PaySignUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PaySignUtil.java @@ -1,4 +1,4 @@ -package cn.daxpay.single.util; +package cn.daxpay.single.core.util; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.hutool.core.util.ClassUtil; @@ -14,8 +14,6 @@ import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; -import static cn.daxpay.single.code.DaxPayCode.FIELD_SIGN; - /** * 如果需要进行签名, * 1. 参数名ASCII码从小到大排序(字典序) @@ -27,6 +25,9 @@ import static cn.daxpay.single.code.DaxPayCode.FIELD_SIGN; @UtilityClass public class PaySignUtil { + private String FIELD_SIGN = "sign"; + + /** * 将参数转换为map对象. 使用ChatGPT生成 * 1. 参数名ASCII码从小到大排序(字典序) diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PayUtil.java similarity index 68% rename from daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java rename to daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PayUtil.java index 7ab669d39272af76ba3ac0c168ad7159060a214e..c7fb45fc774d61e85d9b951c65905b4f14a89462 100644 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/util/PayUtil.java +++ b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/core/util/PayUtil.java @@ -1,15 +1,16 @@ -package cn.daxpay.single.util; +package cn.daxpay.single.core.util; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.exception.pay.PayAmountAbnormalException; -import cn.daxpay.single.param.payment.pay.PayParam; import cn.hutool.core.date.DatePattern; import lombok.experimental.UtilityClass; +import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; +import java.util.HashMap; +import java.util.Map; /** * 支付工具类 @@ -20,24 +21,6 @@ import java.time.temporal.ChronoUnit; public class PayUtil { private static final BigDecimal HUNDRED = new BigDecimal(100); - /** - * 校验参数 - */ - public void validation(PayParam payParam) { - // 验证支付金额 - validationAmount(payParam); - } - - /** - * 检查支付金额 - */ - public void validationAmount(PayParam param) { - // 验证支付金额 - if (param.getAmount() <= 0) { - throw new PayAmountAbnormalException("支付金额不能小于等于0"); - } - } - /** * 获取支付宝的过期时间 yyyy-MM-dd HH:mm:ss */ @@ -71,7 +54,7 @@ public class PayUtil { * @param amount 元的金额 * @return 分的金额 */ - public static int convertCentAmount(BigDecimal amount) { + public int convertCentAmount(BigDecimal amount) { return amount.multiply(HUNDRED).setScale(0, RoundingMode.HALF_UP).intValue(); } @@ -81,7 +64,27 @@ public class PayUtil { * @param amount 元的金额 * @return 元的金额 两位小数 */ - public static BigDecimal conversionAmount(int amount) { + public BigDecimal conversionAmount(int amount) { return BigDecimal.valueOf(amount).divide(HUNDRED,2, RoundingMode.HALF_UP); } + + /** + * 获取请求参数 + */ + public Map<String, String> toMap(HttpServletRequest request) { + Map<String, String> params = new HashMap<>(); + Map<String, String[]> requestParams = request.getParameterMap(); + + for (String name : requestParams.keySet()) { + String[] values = requestParams.get(name); + String valueStr = ""; + + for (int i = 0; i < values.length; ++i) { + valueStr = i == values.length - 1 ? valueStr + values[i] : valueStr + values[i] + ","; + } + + params.put(name, valueStr); + } + return params; + } } diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/entity/RefundableInfo.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/entity/RefundableInfo.java deleted file mode 100644 index 450bcfeb33052aa501b0eee71e932ee24cfbfeec..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/entity/RefundableInfo.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.daxpay.single.entity; - -import cn.daxpay.single.code.PayChannelEnum; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 可退款信息(不持久化,直接保存为json) - * @author xxm - * @since 2023/12/18 - */ -@Data -@Accessors(chain = true) -public class RefundableInfo { - /** - * 通道 - * @see PayChannelEnum#getCode() - */ - private String channel; - - /** - * 可退款金额 - */ - private Integer amount; -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayAmountAbnormalException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayAmountAbnormalException.java deleted file mode 100644 index 82b94ef9dbda0c7c5dbbbd7e778723cdade45502..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayAmountAbnormalException.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 异常金额 - * - * @author xxm - * @since 2020/12/8 - */ -public class PayAmountAbnormalException extends FatalException { - - public PayAmountAbnormalException(String msg) { - super(DaxPayErrorCode.PAYMENT_AMOUNT_ABNORMAL, msg); - } - - public PayAmountAbnormalException() { - super(DaxPayErrorCode.PAYMENT_AMOUNT_ABNORMAL, "异常金额"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java deleted file mode 100644 index a8fc455832286fb02dc1dc98ea52f70de14a983a..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayHasExistedException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 付款已存在 - * - * @author xxm - * @since 2020/12/8 - */ -public class PayHasExistedException extends BizException { - - public PayHasExistedException() { - super(DaxPayErrorCode.PAYMENT_HAS_EXISTED, "付款已存在"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java deleted file mode 100644 index c866f09c6c29f44ae939fc85dc69e65e6c24e5c2..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayIsProcessingException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 付款正在处理中 - * - * @author xxm - * @since 2020/12/8 - */ -public class PayIsProcessingException extends BizException { - - public PayIsProcessingException() { - super(DaxPayErrorCode.PAYMENT_IS_PROCESSING, "付款正在处理中"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java deleted file mode 100644 index 9d436afa62488009bd77fe093b2b66903ab0fdc3..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayNotExistedException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 付款记录不存在 - * - * @author xxm - * @since 2020/12/8 - */ -public class PayNotExistedException extends BizException { - - public PayNotExistedException() { - super(DaxPayErrorCode.PAYMENT_RECORD_NOT_EXISTED, "付款记录不存在"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java deleted file mode 100644 index 128b973f21b9840e95283a2ee9a5e98dbc4ef0b1..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/pay/PayUnsupportedMethodException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.pay; - -import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 付款方式不支持异常 - * - * @author xxm - * @since 2020/12/9 - */ -public class PayUnsupportedMethodException extends FatalException { - - public PayUnsupportedMethodException() { - super(DaxPayErrorCode.PAYMENT_METHOD_UNSUPPORT, "不支持的支付方式"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java deleted file mode 100644 index 947c83e1c34c52cdf231ee68e3e5724c02cea396..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletBannedException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 钱包被禁用 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletBannedException extends BizException { - - public WalletBannedException() { - super(DaxPayErrorCode.WALLET_BANNED, "钱包被禁用"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java deleted file mode 100644 index bd812afb93edf5d31d6ac833261ff2f5e4434e14..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletInfoNotExistException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 钱包信息不存在 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletInfoNotExistException extends FatalException { - - public WalletInfoNotExistException() { - super(DaxPayErrorCode.WALLET_INFO_NOT_EXISTS, "钱包信息不存在"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java deleted file mode 100644 index ec3fecb9f93631d4b3f55a40fd8388c3cb538063..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLackOfBalanceException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 余额不足异常 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletLackOfBalanceException extends BizException { - - public WalletLackOfBalanceException() { - super(DaxPayErrorCode.WALLET_BALANCE_NOT_ENOUGH, "余额不足异常"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java deleted file mode 100644 index 749f836da4db693087aedd4d3494dedda775d6dd..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletLogError.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.FatalException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 钱包日志错误 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletLogError extends FatalException { - - public WalletLogError() { - super(DaxPayErrorCode.WALLET_LOG_ERROR, "钱包日志错误"); - } - -} diff --git a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java b/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java deleted file mode 100644 index 36ce2fd6e72b6109b65b4aff917702bc5deffe87..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-core/src/main/java/cn/daxpay/single/exception/waller/WalletNotExistsException.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.exception.waller; - -import cn.bootx.platform.common.core.exception.BizException; -import cn.daxpay.single.code.DaxPayErrorCode; - -/** - * 钱包不存在 - * - * @author xxm - * @since 2020/12/8 - */ -public class WalletNotExistsException extends BizException { - - public WalletNotExistsException() { - super(DaxPayErrorCode.WALLET_NOT_EXISTS, "钱包不存在"); - } - -} diff --git a/daxpay-single/daxpay-single-gateway/pom.xml b/daxpay-single/daxpay-single-gateway/pom.xml index 96f1ab4112c7fb65e24667cf9e66ae310a921853..98c5ce7da8b06de74dd0d66c333de0768e8566c2 100644 --- a/daxpay-single/daxpay-single-gateway/pom.xml +++ b/daxpay-single/daxpay-single-gateway/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> </parent> <artifactId>daxpay-single-gateway</artifactId> @@ -18,5 +18,4 @@ <version>${daxpay.version}</version> </dependency> </dependencies> - </project> diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java similarity index 63% rename from daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java rename to daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java index f99384ab926fae6dd576d670a225cc03f014ed79..b39c3a81629c8adcadf155f74e366fcf30d7cb50 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayCallbackController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/CallbackReceiverController.java @@ -4,9 +4,11 @@ import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.service.core.channel.alipay.service.AliPayCallbackService; import cn.daxpay.single.service.core.channel.union.service.UnionPayCallbackService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCallbackService; +import cn.daxpay.single.service.core.extra.AliPayAuthService; +import cn.daxpay.single.service.core.extra.WeChatAuthService; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; +import cn.daxpay.single.core.util.PayUtil; import com.egzosn.pay.union.api.UnionPayConfigStorage; -import com.ijpay.alipay.AliPayApi; import com.ijpay.core.kit.HttpKit; import com.ijpay.core.kit.WxPayKit; import io.swagger.v3.oas.annotations.Operation; @@ -14,15 +16,15 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.util.Map; /** * 包括支付成功/退款/转账等一系列类型的回调处理 + * 也包括获取微信OpenId/支付宝UserId等的授权回调 * @author xxm * @since 2021/2/27 */ @@ -30,24 +32,37 @@ import java.util.Map; @Slf4j @Tag(name = "支付通道信息回调") @RestController -@RequestMapping("/callback/pay") +@RequestMapping("/unipay/callback") @AllArgsConstructor -public class PayCallbackController { +public class CallbackReceiverController { private final AliPayCallbackService aliPayCallbackService; + private final WeChatAuthService wechatAuthService; + private final WeChatPayCallbackService weChatPayCallbackService; private final UnionPayCallbackService unionPayCallbackService; + private final AliPayAuthService aliPayAuthService; + @SneakyThrows @Operation(summary = "支付宝信息回调") @PostMapping("/alipay") public String aliPayNotify(HttpServletRequest request) { - Map<String, String> stringStringMap = AliPayApi.toMap(request); + Map<String, String> stringStringMap = PayUtil.toMap(request); return aliPayCallbackService.callback(stringStringMap); } + + @Operation(summary = "支付宝认证授权回调") + @GetMapping("/alipay/auth/{code}") + public ModelAndView wechatCallback(@RequestParam("code") String authCode, @PathVariable("code") String code){ + aliPayAuthService.authCallback(authCode, code); + // 调用页面自动关闭 + return new ModelAndView("forward:/h5/openIdCallbackClose.html"); + } + @SneakyThrows @Operation(summary = "微信支付信息回调") @PostMapping("/wechat") @@ -57,6 +72,14 @@ public class PayCallbackController { return weChatPayCallbackService.callback(params); } + @Operation(summary = "微信认证授权回调") + @GetMapping("/wechat/auth/{code}") + public ModelAndView wxAuthCallback(@RequestParam("code") String authCode, @PathVariable("code") String code){ + wechatAuthService.authCallback(authCode, code); + // 调用页面自动关闭 + return new ModelAndView("forward:/h5/openIdCallbackClose.html"); + } + @SuppressWarnings({"unchecked", "rawtypes"}) @SneakyThrows @Operation(summary = "云闪付支付信息回调") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/ForwardH5Controller.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/ForwardH5Controller.java deleted file mode 100644 index 9a35e62b9723613922132699a44d23d56d86dd2d..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/ForwardH5Controller.java +++ /dev/null @@ -1,23 +0,0 @@ -package cn.daxpay.single.gateway.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; - -/** - * 嵌入式h5项目转发控制器, 不用输入 index.html也可以正常访问 - * @author xxm - * @since 2024/2/10 - */ -@Controller -@RequestMapping -public class ForwardH5Controller { - /** - * 将/h5/*的访问请求代理到/h5/index.html* - */ - @GetMapping("/h5/") - public String toH5(){ - return "forward:/h5/index.html"; - } - -} diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java similarity index 88% rename from daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java rename to daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java index a34beb89cfa136643119f68e87926a84e92e8167..4b47285d413fa855de0c4cf2c1c381d7b20d14a4 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayNoticeReceiverController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/NoticeReceiverController.java @@ -2,7 +2,7 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.daxpay.single.service.core.channel.alipay.service.AliPayNoticeReceiverService; -import com.ijpay.alipay.AliPayApi; +import cn.daxpay.single.core.util.PayUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -23,16 +23,16 @@ import java.util.Objects; @IgnoreAuth @Tag(name = "支付通道网关消息通知") @RestController -@RequestMapping("/callback/notice") +@RequestMapping("/unipay/notice") @RequiredArgsConstructor -public class PayNoticeReceiverController { +public class NoticeReceiverController { private final AliPayNoticeReceiverService aliPayNoticeReceiverService; @Operation(summary = "支付宝消息通知") @PostMapping("/alipay") public String aliPayNotice(HttpServletRequest request) { - Map<String, String> map = AliPayApi.toMap(request); + Map<String, String> map = PayUtil.toMap(request); return aliPayNoticeReceiverService.noticeReceiver(map); } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java index c2fd23233912d1470c0d2230553526d19adb0235..3704d468fd1838a81ff9e93c8078e7561cfebea7 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/PayReturnController.java @@ -14,33 +14,33 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; /** - * 支付同步通知控制器 + * 同步通知跳转控制器 * @author xxm * @since 2024/1/13 */ @IgnoreAuth -@Tag(name = "支付同步通知") +@Tag(name = "同步通知跳转控制器") @RestController -@RequestMapping("/return/pay") +@RequestMapping("/unipay/return") @RequiredArgsConstructor public class PayReturnController { private final PayReturnService payReturnService; - @Operation(summary = "支付宝同步跳转连接") - @GetMapping("/alipay") + @Operation(summary = "支付宝同步跳转通知") + @GetMapping("/pay/alipay") public ModelAndView alipay(AliPayReturnParam param){ String url = payReturnService.alipay(param); return new ModelAndView("redirect:" + url); } - @Operation(summary = "微信同步通知") - @GetMapping("/wechat") + @Operation(summary = "微信同步跳转通知") + @GetMapping("/pay/wechat") public ModelAndView wechat(){ return null; } - @Operation(summary = "云闪付同步通知") - @PostMapping("/union") + @Operation(summary = "云闪付同步跳转通知") + @PostMapping("/pay/union") public ModelAndView union(UnionPayReturnParam param){ String url = payReturnService.union(param); return new ModelAndView("redirect:" + url); diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/TestController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/TestController.java index 12c2c58bac1153c8f482dcdd943e48ef09084972..9dccf823a6c3a0a566a37591bd3a248169720d87 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/TestController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/TestController.java @@ -3,6 +3,7 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; +import cn.daxpay.single.service.core.payment.transfer.service.TransferService; import cn.hutool.core.thread.ThreadUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; @@ -27,6 +28,8 @@ import java.util.Objects; public class TestController { private final LockTemplate lockTemplate; + private final TransferService transferService; + @Operation(summary = "锁测试1") @GetMapping("/lock1") // @Lock4j(keys = "#name", acquireTimeout = 50) diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java index eb66788c52ec836892ebe34ac0176513c7469355..dd245401b3423d35c61f9c52b627d3934cdd32c6 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniAllocationController.java @@ -1,20 +1,20 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocFinishParam; -import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; -import cn.daxpay.single.param.payment.allocation.AllocReceiverRemoveParam; -import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.allocation.AllocReceiverAddResult; -import cn.daxpay.single.result.allocation.AllocReceiverRemoveResult; -import cn.daxpay.single.result.allocation.AllocationResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverRemoveParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.allocation.AllocReceiverAddResult; +import cn.daxpay.single.core.result.allocation.AllocReceiverRemoveResult; +import cn.daxpay.single.core.result.allocation.AllocationResult; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -39,7 +39,7 @@ public class UniAllocationController { private final AllocationReceiverService receiverService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.ALLOCATION) @Operation(summary = "发起分账接口") @PostMapping("/start") @@ -47,7 +47,7 @@ public class UniAllocationController { return DaxRes.ok(allocationService.allocation(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.ALLOCATION_FINISH) @Operation(summary = "分账完结接口") @PostMapping("/finish") @@ -55,7 +55,7 @@ public class UniAllocationController { return DaxRes.ok(allocationService.finish(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.ALLOCATION_RECEIVER_ADD) @Operation(summary = "分账接收方添加接口") @PostMapping("/receiver/add") @@ -63,7 +63,7 @@ public class UniAllocationController { return DaxRes.ok(receiverService.addAndSync(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.ALLOCATION_RECEIVER_REMOVE) @Operation(summary = "分账接收方删除接口") @PostMapping("/receiver/remove") diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java index 026ec0221050f8d62c12c3853e8128b6c48037a9..be71bcca1e2adc1441c8adbb9bbe24af14b658df 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayAssistController.java @@ -3,16 +3,16 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; import cn.bootx.platform.common.core.rest.Res; import cn.bootx.platform.common.core.rest.ResResult; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.assist.WxAccessTokenParam; -import cn.daxpay.single.param.assist.WxAuthUrlParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.assist.WxAccessTokenResult; -import cn.daxpay.single.result.assist.WxAuthUrlResult; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.assist.WxAccessTokenParam; +import cn.daxpay.single.core.param.assist.WxAuthUrlParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.assist.WxAccessTokenResult; +import cn.daxpay.single.core.result.assist.WxAuthUrlResult; import cn.daxpay.single.service.annotation.InitPaymentContext; -import cn.daxpay.single.service.annotation.PaymentSign; -import cn.daxpay.single.service.core.payment.assist.service.UniPayAssistService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.service.annotation.PaymentVerify; +import cn.daxpay.single.service.core.extra.WeChatAuthService; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -32,22 +32,22 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/unipay/assist") @RequiredArgsConstructor public class UniPayAssistController { - private final UniPayAssistService uniPayAssistService; + private final WeChatAuthService wechatAuthService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.GET_WX_AUTH_URL) @Operation(summary = "获取微信OAuth2授权链接") @PostMapping("/getWxAuthUrl") public DaxResult<WxAuthUrlResult> getWxAuthUrl(@RequestBody WxAuthUrlParam param){ - return DaxRes.ok(uniPayAssistService.getWxAuthUrl(param)); + return DaxRes.ok(wechatAuthService.getWxAuthUrl(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.GET_WX_ACCESS_TOKEN) @Operation(summary = "获取微信AccessToken") @PostMapping("/getWxAccessToken") public ResResult<WxAccessTokenResult> getWxAccessToken(@RequestBody WxAccessTokenParam param){ - return Res.ok(uniPayAssistService.getWxAccessToken(param)); + return Res.ok(wechatAuthService.getWxAccessToken(param)); } } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java index 697c9fbfa2ffa61b0088f869479cd0d40e482cab..dc0a7ee2c8111690b852f56224b5d30ef6e10be6 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPayController.java @@ -1,21 +1,26 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.pay.PayCloseParam; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.param.payment.refund.RefundParam; -import cn.daxpay.single.param.payment.transfer.TransferParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.pay.PayCloseResult; -import cn.daxpay.single.result.pay.PayResult; -import cn.daxpay.single.result.pay.RefundResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.pay.PayCancelParam; +import cn.daxpay.single.core.param.payment.pay.PayCloseParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.param.payment.refund.RefundParam; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.pay.PayCancelResult; +import cn.daxpay.single.core.result.pay.PayCloseResult; +import cn.daxpay.single.core.result.pay.PayResult; +import cn.daxpay.single.core.result.pay.RefundResult; +import cn.daxpay.single.core.result.transfer.TransferResult; import cn.daxpay.single.service.annotation.InitPaymentContext; +import cn.daxpay.single.service.annotation.PaymentVerify; +import cn.daxpay.single.service.core.payment.cancel.service.PayCancelService; import cn.daxpay.single.service.core.payment.close.service.PayCloseService; import cn.daxpay.single.service.core.payment.pay.service.PayService; import cn.daxpay.single.service.core.payment.refund.service.RefundService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.service.core.payment.transfer.service.TransferService; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -38,8 +43,10 @@ public class UniPayController { private final PayService payService; private final RefundService refundService; private final PayCloseService payCloseService; + private final PayCancelService payCancelService; + private final TransferService transferService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.PAY) @Operation(summary = "统一支付接口") @PostMapping("/pay") @@ -47,7 +54,7 @@ public class UniPayController { return DaxRes.ok(payService.pay(payParam)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.CLOSE) @Operation(summary = "支付关闭接口") @PostMapping("/close") @@ -55,7 +62,15 @@ public class UniPayController { return DaxRes.ok(payCloseService.close(param)); } - @PaymentSign + @PaymentVerify + @InitPaymentContext(PaymentApiCode.CANCEL) + @Operation(summary = "支付撤销接口") + @PostMapping("/cancel") + public DaxResult<PayCancelResult> cancel(@RequestBody PayCancelParam param){ + return DaxRes.ok(payCancelService.cancel(param)); + } + + @PaymentVerify @InitPaymentContext(PaymentApiCode.REFUND) @Operation(summary = "统一退款接口") @PostMapping("/refund") @@ -63,12 +78,12 @@ public class UniPayController { return DaxRes.ok(refundService.refund(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.TRANSFER) @Operation(summary = "统一转账接口") @PostMapping("/transfer") - public DaxResult<Void> transfer(@RequestBody TransferParam param){ - return DaxRes.ok(); + public DaxResult<TransferResult> transfer(@RequestBody TransferParam param){ + return DaxRes.ok(transferService.transfer(param)); } } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java index 81736671f1b948be3f871843a8c66ec3264b1913..6e7de278b3eabb66a27e317ff16ac2483dc72596 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniPaySyncController.java @@ -1,20 +1,23 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.param.payment.allocation.AllocSyncParam; -import cn.daxpay.single.param.payment.pay.PaySyncParam; -import cn.daxpay.single.param.payment.refund.RefundSyncParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.sync.AllocSyncResult; -import cn.daxpay.single.result.sync.PaySyncResult; -import cn.daxpay.single.result.sync.RefundSyncResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.param.payment.allocation.AllocSyncParam; +import cn.daxpay.single.core.param.payment.pay.PaySyncParam; +import cn.daxpay.single.core.param.payment.refund.RefundSyncParam; +import cn.daxpay.single.core.param.payment.transfer.TransferSyncParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.sync.AllocSyncResult; +import cn.daxpay.single.core.result.sync.PaySyncResult; +import cn.daxpay.single.core.result.sync.RefundSyncResult; +import cn.daxpay.single.core.result.sync.TransferSyncResult; import cn.daxpay.single.service.annotation.InitPaymentContext; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; import cn.daxpay.single.service.core.payment.sync.service.RefundSyncService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.service.core.payment.sync.service.TransferSyncService; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -38,8 +41,9 @@ public class UniPaySyncController { private final PaySyncService paySyncService; private final RefundSyncService refundSyncService; private final AllocationSyncService allocationSyncService; + private final TransferSyncService transferSyncService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_PAY) @Operation(summary = "支付同步接口") @PostMapping("/pay") @@ -47,7 +51,7 @@ public class UniPaySyncController { return DaxRes.ok(paySyncService.sync(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_REFUND) @Operation(summary = "退款同步接口") @PostMapping("/refund") @@ -55,8 +59,7 @@ public class UniPaySyncController { return DaxRes.ok(refundSyncService.sync(param)); } - - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_ALLOCATION) @Operation(summary = "分账同步接口") @PostMapping("/allocation") @@ -64,12 +67,12 @@ public class UniPaySyncController { return DaxRes.ok(allocationSyncService.sync(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.SYNC_TRANSFER) @Operation(summary = "转账同步接口") @PostMapping("/transfer") - public DaxResult<Void> transfer(@RequestBody AllocSyncParam param){ - allocationSyncService.sync(param); - return DaxRes.ok(); + public DaxResult<TransferSyncResult> transfer(@RequestBody TransferSyncParam param){ + return DaxRes.ok(transferSyncService.sync(param)); } + } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java index e3375202c79cc4d2fb90e4f2b1d229a9e6aa3ac1..99cb21d3e71262a1d8ad725468a8355ee8d44555 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniQueryController.java @@ -1,25 +1,27 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.allocation.QueryAllocOrderParam; -import cn.daxpay.single.param.payment.allocation.QueryAllocReceiverParam; -import cn.daxpay.single.param.payment.pay.QueryPayParam; -import cn.daxpay.single.param.payment.refund.QueryRefundParam; -import cn.daxpay.single.param.payment.transfer.QueryTransferParam; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.result.order.AllocOrderResult; -import cn.daxpay.single.result.allocation.AllocReceiversResult; -import cn.daxpay.single.result.order.PayOrderResult; -import cn.daxpay.single.result.order.RefundOrderResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.param.payment.allocation.QueryAllocOrderParam; +import cn.daxpay.single.core.param.payment.allocation.QueryAllocReceiverParam; +import cn.daxpay.single.core.param.payment.pay.QueryPayParam; +import cn.daxpay.single.core.param.payment.refund.QueryRefundParam; +import cn.daxpay.single.core.param.payment.transfer.QueryTransferParam; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.core.result.order.AllocOrderResult; +import cn.daxpay.single.core.result.allocation.AllocReceiversResult; +import cn.daxpay.single.core.result.order.PayOrderResult; +import cn.daxpay.single.core.result.order.RefundOrderResult; +import cn.daxpay.single.core.result.order.TransferOrderResult; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; +import cn.daxpay.single.service.core.order.transfer.service.TransferOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationReceiverService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import cn.hutool.core.util.StrUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -43,10 +45,11 @@ public class UniQueryController { private final PayOrderQueryService payOrderQueryService; private final RefundOrderQueryService refundOrderQueryService; + private final TransferOrderQueryService transferOrderQueryService; private final AllocationReceiverService allocationReceiverService; private final AllocationService allocationService; - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_PAY_ORDER) @Operation(summary = "支付订单查询接口") @PostMapping("/payOrder") @@ -54,7 +57,7 @@ public class UniQueryController { return DaxRes.ok(payOrderQueryService.queryPayOrder(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_REFUND_ORDER) @Operation(summary = "退款订单查询接口") @PostMapping("/refundOrder") @@ -62,7 +65,7 @@ public class UniQueryController { return DaxRes.ok(refundOrderQueryService.queryRefundOrder(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_ALLOCATION_ORDER) @Operation(summary = "分账订单查询接口") @PostMapping("/allocationOrder") @@ -70,21 +73,21 @@ public class UniQueryController { return DaxRes.ok(allocationService.queryAllocationOrder(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_TRANSFER_ORDER) @Operation(summary = "转账订单查询接口") @PostMapping("/transferOrder") - public DaxResult<Void> transferOrder(@RequestBody QueryTransferParam param){ - return DaxRes.ok(); + public DaxResult<TransferOrderResult> transferOrder(@RequestBody QueryTransferParam param){ + return DaxRes.ok(transferOrderQueryService.queryTransferOrder(param)); } - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.QUERY_ALLOCATION_RECEIVER) @Operation(summary = "分账接收方查询接口") @PostMapping("/allocationReceiver") public DaxResult<AllocReceiversResult> queryAllocReceive(@RequestBody QueryAllocReceiverParam param){ if (StrUtil.isAllBlank(param.getChannel(), param.getReceiverNo())){ - throw new PayFailureException("所属通道和接收方编号不可同时为空"); + throw new ValidationFailedException("所属通道和接收方编号不可同时为空"); } return DaxRes.ok(allocationReceiverService.queryAllocReceive(param)); } diff --git a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java index cb66c7bd60ab3f64caaab1e087ce10ae1b4873a4..4b7bf60633b721be333cbeff50410ea928e79a3b 100644 --- a/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java +++ b/daxpay-single/daxpay-single-gateway/src/main/java/cn/daxpay/single/gateway/controller/UniReconcileController.java @@ -1,11 +1,11 @@ package cn.daxpay.single.gateway.controller; import cn.bootx.platform.common.core.annotation.IgnoreAuth; -import cn.daxpay.single.code.PaymentApiCode; -import cn.daxpay.single.result.DaxResult; -import cn.daxpay.single.service.annotation.PaymentSign; +import cn.daxpay.single.core.code.PaymentApiCode; +import cn.daxpay.single.core.result.DaxResult; +import cn.daxpay.single.service.annotation.PaymentVerify; import cn.daxpay.single.service.annotation.InitPaymentContext; -import cn.daxpay.single.util.DaxRes; +import cn.daxpay.single.core.util.DaxRes; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor public class UniReconcileController { - @PaymentSign + @PaymentVerify @InitPaymentContext(PaymentApiCode.PAY) @Operation(summary = "下载指定日期的资金流水") @PostMapping("/pay") diff --git a/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/.gitkeep b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/alipayAuth.html b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/alipayAuth.html new file mode 100644 index 0000000000000000000000000000000000000000..a2c50a8794c227c138811579de45740e5ac83d22 --- /dev/null +++ b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/alipayAuth.html @@ -0,0 +1,21 @@ +<script src = "https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.min.js"> </script> +<script> + + const params = new URLSearchParams(window.location.search); + // 获取AppId + const appid = params.get("appId"); + // 回调地址 + const redirectUrl = params.get("redirectUrl"); + // 重定向后原样带回,可以为空 + const state = params.get("state"); + ap.getAuthCode ({ + appId : appid , + scopes : ['auth_base'], + },function(res){ + const authCode = res.authCode; + // 跳转到回调地址 + window.location.replace(`${redirectUrl}?state=${state}&code=${authCode}`) + // window.location.href = `${redirectUrl}?code=${authCode}`; + + }); +</script> diff --git a/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html new file mode 100644 index 0000000000000000000000000000000000000000..bdd98b0b4f8038d7c4fbb716b5373eee8d6a221c --- /dev/null +++ b/daxpay-single/daxpay-single-gateway/src/main/resources/static/h5/openIdCallbackClose.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html lang="en" xmlns:th="http://www.thymeleaf.org"> +<head> + <meta charset="UTF-8"> + <title>获取成功</title> +</head> +获取成功... +<body> +<script> + // 常规关闭 + setTimeout(function (){ + window.opener = window; + const win = window.open("", "_self"); + win.close(); + //frame的时候 + top.close(); + },500) + // 微信浏览器关闭 + setTimeout(function (){ + WeixinJSBridge.call('closeWindow') + },500) + // 支付宝浏览器关闭 + setTimeout(function (){ + AlipayJSBridge.call('closeWebview') + },500) +</script> +</body> diff --git a/daxpay-single/daxpay-single-service/pom.xml b/daxpay-single/daxpay-single-service/pom.xml index e3917bed85ee85937ec3c3811e7e5324b2743a0c..a1ba489e383b918beba9c84e4304dd925c7b1bb8 100644 --- a/daxpay-single/daxpay-single-service/pom.xml +++ b/daxpay-single/daxpay-single-service/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> - <version>2.0.7</version> + <version>2.0.8</version> </parent> <artifactId>daxpay-single-service</artifactId> @@ -78,17 +78,11 @@ <version>${daxpay.version}</version> </dependency> - <!-- 支付宝支付 --> + <!-- 支付宝官方SDK --> <dependency> - <groupId>com.github.javen205</groupId> - <artifactId>IJPay-AliPay</artifactId> - <version>${IJPay.version}</version> - <exclusions> - <exclusion> - <artifactId>fastjson</artifactId> - <groupId>com.alibaba</groupId> - </exclusion> - </exclusions> + <groupId>com.alipay.sdk</groupId> + <artifactId>alipay-sdk-java</artifactId> + <version>${alipay.version}</version> </dependency> <!-- 微信支付 ijpay --> diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/InitPaymentContext.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/InitPaymentContext.java index e376297bbf9452bf79e74473154a5992d00e8751..0b0b3eb00a0944f276ede996246b56a1378c891b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/InitPaymentContext.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/InitPaymentContext.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.annotation; -import cn.daxpay.single.code.PaymentApiCode; +import cn.daxpay.single.core.code.PaymentApiCode; import java.lang.annotation.*; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentSign.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentVerify.java similarity index 85% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentSign.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentVerify.java index 95967ecb5b182fb15c56f7a66f8530e9d4124c19..3f48ce3e2e920f9e85466ab4d87019ef9c7698c5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentSign.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/annotation/PaymentVerify.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.annotation; import java.lang.annotation.*; /** - * 支付校验签名标识 + * 支付校验校验标识 * 支付方法至少有一个参数,并且需要签名支付参数需要放在第一位 * 返回对象必须为 ResResult<T extends PaymentCommonResult> 格式 * @author xxm @@ -13,5 +13,5 @@ import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited -public @interface PaymentSign { +public @interface PaymentVerify { } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java index a28f0ef16cae496879548615a3a037700863d2de..87875abf4b8bd5a37498cbd731d2eab9391938c3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayCode.java @@ -28,6 +28,9 @@ public interface AliPayCode { /** 询余额账户类型 */ String QUERY_ACCOUNT_TYPE = "ACCTRANS_ACCOUNT"; + /** jsapi */ + String JSAPI_PAY ="JSAPI_PAY"; + /** 付款码支付 */ String BAR_CODE = "bar_code"; @@ -86,6 +89,10 @@ public interface AliPayCode { /** 返回退款时间 */ String GMT_REFUND_PAY = "gmt_refund_pay"; + // 转账状态 + /** 转账成功 */ + String TRANSFER_SUCCESS = "SUCCESS"; + // 错误提示 /** 交易不存在 */ String ACQ_TRADE_NOT_EXIST = "ACQ.TRADE_NOT_EXIST"; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java index 2b089cfc28b5c44335552dcf74ac6353c51f49b6..b4f7ec29e9c5ee614a810745ab23edd7523ac8c6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/AliPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.experimental.UtilityClass; import java.util.Arrays; @@ -19,7 +19,7 @@ public class AliPayWay { // 支付方式 private static final List<PayMethodEnum> PAY_WAYS = Arrays.asList(PayMethodEnum.WAP, PayMethodEnum.APP, PayMethodEnum.WEB, - PayMethodEnum.QRCODE, PayMethodEnum.BARCODE); + PayMethodEnum.QRCODE, PayMethodEnum.BARCODE, PayMethodEnum.JSAPI); /** * 根据编码获取 @@ -28,7 +28,7 @@ public class AliPayWay { return PAY_WAYS.stream() .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(() -> new MethodNotExistException("不存在的支付方式")); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/PayCloseTypeEnum.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/PayCloseTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..629186d7c1c11c8a1faeb1c0900a2cfa4cc7f0cb --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/PayCloseTypeEnum.java @@ -0,0 +1,25 @@ +package cn.daxpay.single.service.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 订单关闭类型 + * @author xxm + * @since 2024/6/5 + */ +@Getter +@AllArgsConstructor +public enum PayCloseTypeEnum { + /** + * 订单关闭 + */ + CLOSE("close", "订单关闭"), + /** + * 订单撤销 + */ + CANCEL("cancel", "订单撤销"), + ; + final String code; + final String name; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/TradeNotifyTypeEnum.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/TradeNotifyTypeEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..ec935acfa3989fa6779601fee90149ec8f560e51 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/TradeNotifyTypeEnum.java @@ -0,0 +1,24 @@ +package cn.daxpay.single.service.code; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 业务消息通知类型 + * 业务系统使用什么样的方式接收异步通知消息 + * @author xxm + * @since 2024/6/5 + */ +@Getter +@AllArgsConstructor +public enum TradeNotifyTypeEnum { + /** http */ + HTTP("http","http"), + /** websocket */ + WEBSOCKET("websocket","WebSocket"), + /** mq */ + MQ("mq","消息队列"); + + private final String code; + private final String name; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/UnionPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/UnionPayWay.java index 769c99d80276300c72d60ec6a52060ad5236b921..017a04dc5a9457fd14d0f38838ec352f9a38b485 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/UnionPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/UnionPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.experimental.UtilityClass; import java.util.Arrays; @@ -27,7 +27,7 @@ public class UnionPayWay { return PAY_WAYS.stream() .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(MethodNotExistException::new); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WalletPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WalletPayWay.java index acaba39dfe8fb97569619e2aa1962b376c263c1d..e7d07efa03b7fe3afaad2c8045eb2de4f363f71e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WalletPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WalletPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.experimental.UtilityClass; import java.util.Collections; @@ -26,7 +26,7 @@ public class WalletPayWay { return PAY_WAYS.stream() .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(MethodNotExistException::new); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WeChatPayWay.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WeChatPayWay.java index 0f1faa26470b0b9aa757bb1d8bcfaee4b59e9311..20327722cfa82bf47729251ae51023106a67b298 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WeChatPayWay.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/code/WeChatPayWay.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.code; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.MethodNotExistException; import lombok.experimental.UtilityClass; import java.util.Arrays; @@ -27,7 +27,7 @@ public class WeChatPayWay { return PAY_WAYS.stream() .filter(e -> Objects.equals(code, e.getCode())) .findFirst() - .orElseThrow(() -> new PayFailureException("不存在的支付方式")); + .orElseThrow(MethodNotExistException::new); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/AllocationLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/AllocationLocal.java index 5a17bd57c36e59a05db48b5515fe0d8bf49763eb..2a0ee1345bbf2ff48df092ff20353cec5f7ed390 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/AllocationLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/AllocationLocal.java @@ -13,5 +13,5 @@ import lombok.experimental.Accessors; public class AllocationLocal { /** 通道分账号 */ - private String outAllocationNo; + private String outAllocNo; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java index 3580aca54114aedac9f7e8eed38b23520cbfd18e..47f921f111397ce897c2b93b9f83f8f4f7063131 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/CallbackLocal.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import lombok.Data; @@ -27,7 +27,7 @@ public class CallbackLocal { private String tradeNo; /** - * 第三方支付平台交易号 + * 通道交易号 */ private String outTradeNo; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ClientLocal.java similarity index 59% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ClientLocal.java index fc2956572274a32eb2667679ec94dd3d56bf6634..638a4500180e22beeaff64b79e79b4aab66fded9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RequestLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ClientLocal.java @@ -3,8 +3,6 @@ package cn.daxpay.single.service.common.context; import lombok.Data; import lombok.experimental.Accessors; -import java.time.LocalDateTime; - /** * 支付请求相关信息 * @author xxm @@ -12,15 +10,9 @@ import java.time.LocalDateTime; */ @Data @Accessors(chain = true) -public class RequestLocal { +public class ClientLocal { /** 客户端ip */ private String clientIp; - /** 签名 */ - private String sign; - - /** 请求时间,时间戳转时间 */ - private LocalDateTime reqTime; - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java new file mode 100644 index 0000000000000000000000000000000000000000..ccecde6fd63b55b5797d85e01e43a1610deaf3ca --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ErrorInfoLocal.java @@ -0,0 +1,44 @@ +package cn.daxpay.single.service.common.context; + +import cn.bootx.platform.common.core.exception.BizException; +import cn.daxpay.single.core.code.DaxPayErrorCode; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 错误信息 + * @author xxm + * @since 2024/6/14 + */ +@Data +@Accessors(chain = true) +public class ErrorInfoLocal { + + /** 错误码 */ + private int errorCode; + + /** 错误内容 */ + private String errorMsg; + + /** + * 自动根据传入的异常对象对象进行处理 + */ + public void setException(Exception e) { + // 如果业务异常, 获取错误码和错误信息 + if (e instanceof BizException) { + BizException be = (BizException) e; + this.errorCode = be.getCode(); + this.errorMsg = be.getMessage(); + } + // 如果是空指针, 专门记录 + else if (e instanceof NullPointerException) { + this.errorCode = DaxPayErrorCode.UNCLASSIFIED_ERROR; + this.errorMsg = "空指针异常"; + } + // 如果是其他异常, 归类到为止异常中 + else { + this.errorCode = DaxPayErrorCode.SYSTEM_UNKNOWN_ERROR; + this.errorMsg = "未归类异常,请联系管理人员进行排查"; + } + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/NoticeLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/NoticeLocal.java deleted file mode 100644 index e1716077ccdaca59bfff7bed8080aaa3e72e359c..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/NoticeLocal.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.daxpay.single.service.common.context; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 支付通知(主动发起, 用于通知客户系统) - * @author xxm - * @since 2023/12/24 - */ -@Data -@Accessors(chain = true) -public class NoticeLocal { - - /** - * 异步回调地址 - * 如果系统关闭回调, 则通知地址为空 - * 如果传输参数中不进行回调为true, 则通知地址为空 - * 如果传输参数地址为空, 读取接口配置回调地址 - * 如果接口配置为空, 读取系统平台配置的回调地址 - */ - private String notifyUrl; - - /** - * 同步回调地址, 这个一定会触发, 只有支付会触发且无法关闭 - * 如果参数中不传输, 会自动读取系统平台配置的回调地址 - */ - private String returnUrl; - - /** 退出回调地址 */ - private String quitUrl; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java index 9f17d3ccb18a8f1da980ebf0d7712e23535b6711..c9a5c9e31567f43428271654c1060da0b6b5ab77 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PayLocal.java @@ -1,7 +1,5 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import lombok.Data; import lombok.experimental.Accessors; @@ -32,13 +30,4 @@ public class PayLocal { /** 支付参数体(通常用于发起支付的参数) */ private String payBody; - /** 订单超时时间, */ - private LocalDateTime expiredTime; - - /** 支付订单 */ - private PayOrder payOrder; - - /** 支付订单扩展 */ - private PayOrderExtra payOrderExtra; - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaySyncLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaySyncLocal.java deleted file mode 100644 index d9ad72b38b80745164c77ba583ab6aca3d11b08c..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaySyncLocal.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.daxpay.single.service.common.context; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 支付同步信息 - * @author xxm - * @since 2024/1/24 - */ -@Data -@Accessors(chain = true) -public class PaySyncLocal { - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java index 3379bce56f9ba3c33cbfbc350f07cd4bc91e899e..b24485327a4141c5a72bab34c98a6e74836f40d8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PaymentContext.java @@ -12,30 +12,24 @@ import lombok.experimental.Accessors; @Accessors(chain = true) public class PaymentContext { - /** 支付接口信息 */ - private final ApiInfoLocal apiInfo = new ApiInfoLocal();; - /** 平台全局配置 */ private final PlatformLocal platformInfo = new PlatformLocal(); + /** 请求终端信息 */ + private final ClientLocal clientInfo = new ClientLocal(); + + /** 错误信息 */ + private final ErrorInfoLocal errorInfo = new ErrorInfoLocal(); + /** 支付相关信息 */ private final PayLocal payInfo = new PayLocal(); /** 退款相关信息 */ private final RefundLocal refundInfo = new RefundLocal(); - /** 消息通知(主动发起)相关信息 */ - private final NoticeLocal noticeInfo = new NoticeLocal(); - /** 回调相关信息 */ private final CallbackLocal callbackInfo = new CallbackLocal(); - /** 请求相关信息 */ - private final RequestLocal requestInfo = new RequestLocal(); - - /** 支付同步相关信息 */ - private final PaySyncLocal paySyncInfo = new PaySyncLocal(); - /** 修复相关信息 */ private final RepairLocal repairInfo = new RepairLocal(); @@ -45,4 +39,7 @@ public class PaymentContext { /** 分账相关信息 */ private final AllocationLocal allocationInfo = new AllocationLocal(); + /** 转账相关信息 */ + private final TransferLocal transferInfo = new TransferLocal(); + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java index a90d0cee30f0745d5a57ecd25c1efd08fbf3d0eb..cd52cd18417e048b64b789688295c091aeb3bf47 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/PlatformLocal.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; import lombok.Data; import lombok.experimental.Accessors; @@ -25,8 +25,22 @@ public class PlatformLocal { /** 签名秘钥 */ private String signSecret; - /** 支付通知地址 */ - private String notifyUrl; + /** 是否对请求进行验签 */ + private boolean reqSign; + + /** + * 请求有效时长(秒) + * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 + * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 + */ + private Integer reqTimeout; + + /** 消息通知方式 */ + private String noticeType; + + /** 消息通知地址 */ + private String noticeUrl; + /** 支付同步跳转地址 */ private String returnUrl; @@ -36,4 +50,5 @@ public class PlatformLocal { /** 支付限额 */ private Integer limitAmount; + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java index f10981db81027e58d60dbb19ecf718e7812ad47d..c04c2730ba8846e21223960de27ae25e42c67122 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundLocal.java @@ -1,8 +1,6 @@ package cn.daxpay.single.service.common.context; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; +import cn.daxpay.single.core.code.RefundStatusEnum; import lombok.Data; import lombok.experimental.Accessors; @@ -27,18 +25,6 @@ public class RefundLocal { */ private RefundStatusEnum status = RefundStatusEnum.SUCCESS; - /** 错误码 */ - private String errorCode; - - /** 错误内容 */ - private String errorMsg; - - /** 退款订单 */ - private RefundOrder refundOrder; - /** 退款完成时间 */ private LocalDateTime finishTime; - - /** 退款订单扩展 */ - private RefundOrderExtra runOrderExtra; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundRequestLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundRequestLocal.java deleted file mode 100644 index af18116e5d1b453cfb602a5fcd9c402ec4bca756..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RefundRequestLocal.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.common.context; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 退款请求上下文 - * @author xxm - * @since 2023/12/26 - */ -@Data -@Accessors(chain = true) -public class RefundRequestLocal { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RepairLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RepairLocal.java index e7ed28ddf6df8d3ba14c56236a136eba48cc5007..2af1d17962b3f1b2080c4ea6f305364c7cc8b9c0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RepairLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/RepairLocal.java @@ -20,7 +20,7 @@ public class RepairLocal { */ private PayRepairSourceEnum source; - /** 支付完成/退款时间 */ + /** 完成/退款时间 */ private LocalDateTime finishTime; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java similarity index 30% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java index 5e568afccfc77f67c2c6aa53edf2008681841566..a640bd4922b7b49e7e093d4bbe7ca593902287eb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/ApiInfoLocal.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/common/context/TransferLocal.java @@ -1,26 +1,27 @@ package cn.daxpay.single.service.common.context; +import cn.daxpay.single.core.code.TransferStatusEnum; import lombok.Data; import lombok.experimental.Accessors; +import java.time.LocalDateTime; + /** - * 支付接口信息 + * 转账相关信息 * @author xxm - * @since 2023/12/24 + * @since 2024/6/14 */ @Data @Accessors(chain = true) -public class ApiInfoLocal { - - /** 当前支付接口编码 */ - private String apiCode; +public class TransferLocal { - /** 是否开启通知 */ - private boolean notice; + /** 通道转账订单号 */ + private String outTransferNo; - /** 回调地址 */ - private String noticeUrl; + /** 状态 */ + private TransferStatusEnum status = TransferStatusEnum.TRANSFERRING; - /** 请求参数是否签名 */ - private boolean reqSign; + /** 完成时间 */ + private LocalDateTime finishTime; } + diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java index b7e7b0fd82361d7aea46bad0daa9d755cc10a414..ce7a7efae9df82f559506774ce7f93540f13db5c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/configuration/DaxPayProperties.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.configuration; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.hutool.core.util.StrUtil; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -14,15 +15,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties; @Setter @ConfigurationProperties(prefix = "dax-pay") public class DaxPayProperties { - /** 服务地址 */ - private String serverUrl; /** 前端地址(h5) */ private String frontH5Url; - /** 前端地址(web) */ - private String frontWebUrl; - /** 机器码, 用于区分不同机器生成的流水号 */ private String machineNo = "56"; @@ -38,4 +34,8 @@ public class DaxPayProperties { this.env = env; OrderNoGenerateUtil.setEnv(env); } + + public String getFrontH5Url() { + return StrUtil.removeSuffix(frontH5Url, "/"); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java index df2ed13a8026ac78974f2e94c90fbbc54329ec98..6dda7b26a53ee763aec4e2772217f8b47fe60d09 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/entity/AliPayConfig.java @@ -12,6 +12,7 @@ import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -35,7 +36,7 @@ import java.util.Objects; public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<AliPayConfigDto> { /** 支付宝商户appId */ - @DbColumn(comment = "支付宝商户appId") + @DbColumn(comment = "支付宝商户appId", length = 50) private String appId; /** 是否启用, 只影响支付和退款操作 */ @@ -47,8 +48,8 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali private Boolean allocation; /** 支付限额 */ - @DbColumn(comment = "支付限额") - private Integer singleLimit; + @DbColumn(comment = "支付限额", length = 15) + private Integer limitAmount; /** * 服务器异步通知页面路径, 需要填写本网关服务的地址, 不可以直接填写业务系统的地址 @@ -56,7 +57,7 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali * 2. 不能加?id=123这类自定义参数,必须外网可以正常访问 * 3. 调用顺序 支付宝网关 -> 本网关进行处理 -> 发送消息通知业务系统 */ - @DbColumn(comment = "异步通知页面路径") + @DbColumn(comment = "异步通知接收路径", length = 200) private String notifyUrl; /** @@ -65,22 +66,26 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali * 2. 不能加?id=123这类自定义参数,必须外网可以正常访问 * 3. 消息顺序 支付宝网关 -> 本网关进行处理 -> 重定向到业务系统中 */ - @DbColumn(comment = "同步通知页面路径") + @DbColumn(comment = "同步通知页面路径", length = 200) private String returnUrl; /** 支付网关地址 */ - @DbColumn(comment = "支付网关地址") + @DbColumn(comment = "支付网关地址", length = 200) private String serverUrl; + /** 授权回调地址 */ + @DbColumn(comment = "授权回调地址", length = 200) + private String redirectUrl; + /** * 认证类型 证书/公钥 * @see AliPayCode#AUTH_TYPE_KEY */ - @DbColumn(comment = "认证类型") + @DbColumn(comment = "认证类型", length = 20) private String authType; /** 签名类型 RSA2 */ - @DbColumn(comment = "签名类型 RSA2") + @DbColumn(comment = "签名类型 RSA2", length = 20) public String signType; /** @@ -139,6 +144,12 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali @DbColumn(comment = "备注") private String remark; + @Override + public AliPayConfigDto toDto() { + return AlipayConvert.CONVERT.convert(this); + } + + public Boolean getAllocation() { return Objects.equals(allocation,true); } @@ -147,9 +158,8 @@ public class AliPayConfig extends MpBaseEntity implements EntityBaseFunction<Ali return Objects.equals(enable,true); } - @Override - public AliPayConfigDto toDto() { - return AlipayConvert.CONVERT.convert(this); + public String getRedirectUrl() { + return StrUtil.removeSuffix(redirectUrl, "/"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java index 68c79e92eb84b9d3c31ae2b53fb177f8d276c712..dc1cd840272de5199baee2306e8877fd91829d31 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationReceiverService.java @@ -1,17 +1,20 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; import cn.hutool.core.util.StrUtil; +import com.alipay.api.AlipayClient; import com.alipay.api.AlipayResponse; import com.alipay.api.domain.AlipayTradeRoyaltyRelationBindModel; import com.alipay.api.domain.AlipayTradeRoyaltyRelationUnbindModel; import com.alipay.api.domain.RoyaltyEntity; +import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest; +import com.alipay.api.request.AlipayTradeRoyaltyRelationUnbindRequest; import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse; import com.alipay.api.response.AlipayTradeRoyaltyRelationUnbindResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -22,7 +25,7 @@ import java.util.Collections; import java.util.List; import java.util.Objects; -import static cn.daxpay.single.code.AllocReceiverTypeEnum.*; +import static cn.daxpay.single.core.code.AllocReceiverTypeEnum.*; /** * 支付宝分账 @@ -33,6 +36,7 @@ import static cn.daxpay.single.code.AllocReceiverTypeEnum.*; @Service @RequiredArgsConstructor public class AliPayAllocationReceiverService { + private final AliPayConfigService aliPayConfigService; /** * 校验 @@ -47,7 +51,8 @@ public class AliPayAllocationReceiverService { * 绑定关系 */ @SneakyThrows - public void bind(AllocationReceiver allocationReceiver){ + public void bind(AllocationReceiver allocationReceiver, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); AlipayTradeRoyaltyRelationBindModel model = new AlipayTradeRoyaltyRelationBindModel(); model.setOutRequestNo(String.valueOf(allocationReceiver.getId())); @@ -60,7 +65,9 @@ public class AliPayAllocationReceiverService { // 不报错视为同步成功 model.setReceiverList(Collections.singletonList(entity)); - AlipayTradeRoyaltyRelationBindResponse response = AliPayApi.tradeRoyaltyRelationBind(model); + AlipayTradeRoyaltyRelationBindRequest request = new AlipayTradeRoyaltyRelationBindRequest(); + request.setBizModel(model); + AlipayTradeRoyaltyRelationBindResponse response = alipayClient.execute(request); this.verifyErrorMsg(response); } @@ -68,7 +75,8 @@ public class AliPayAllocationReceiverService { * 解绑关系 */ @SneakyThrows - public void unbind(AllocationReceiver allocationReceiver){ + public void unbind(AllocationReceiver allocationReceiver, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); AlipayTradeRoyaltyRelationUnbindModel model = new AlipayTradeRoyaltyRelationUnbindModel(); model.setOutRequestNo(String.valueOf(allocationReceiver.getId())); @@ -78,7 +86,9 @@ public class AliPayAllocationReceiverService { entity.setAccount(allocationReceiver.getReceiverAccount()); model.setReceiverList(Collections.singletonList(entity)); - AlipayTradeRoyaltyRelationUnbindResponse response = AliPayApi.tradeRoyaltyRelationUnBind(model); + AlipayTradeRoyaltyRelationUnbindRequest request = new AlipayTradeRoyaltyRelationUnbindRequest(); + request.setBizModel(model); + AlipayTradeRoyaltyRelationUnbindResponse response = alipayClient.execute(request); System.out.println(response); // 如果出现分账方不存在也视为成功 if (Objects.equals(response.getSubCode(), AliPayCode.USER_NOT_EXIST)) { @@ -97,7 +107,7 @@ public class AliPayAllocationReceiverService { errorMsg = alipayResponse.getMsg(); } log.error("分账接收方处理失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new TradeStatusErrorException(errorMsg); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java index 314b22c634ca88d63fca584f39e275ca5d4e30fe..e309fb4b2f1abb659c3ba9cfc3f0d420d8be96f0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayAllocationService.java @@ -2,23 +2,25 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.exception.TradeFailException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.alipay.api.AlipayClient; import com.alipay.api.AlipayResponse; import com.alipay.api.domain.*; import com.alipay.api.request.AlipayTradeOrderSettleQueryRequest; +import com.alipay.api.request.AlipayTradeOrderSettleRequest; import com.alipay.api.response.AlipayTradeOrderSettleQueryResponse; import com.alipay.api.response.AlipayTradeOrderSettleResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -41,16 +43,17 @@ import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class AliPayAllocationService { - + private final AliPayConfigService aliPayConfigService; /** * 发起分账 */ @SneakyThrows - public void allocation(AllocationOrder allocationOrder, List<AllocationOrderDetail> orderDetails){ + public void allocation(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails, AliPayConfig config){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); // 分账主体参数 AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel(); - model.setOutRequestNo(allocationOrder.getAllocationNo()); - model.setTradeNo(allocationOrder.getOutOrderNo()); + model.setOutRequestNo(allocOrder.getAllocNo()); + model.setTradeNo(allocOrder.getOutOrderNo()); model.setRoyaltyMode(AliPayCode.ALLOC_ASYNC); // 分账子参数 根据Id排序 @@ -64,11 +67,12 @@ public class AliPayAllocationService { }) .collect(Collectors.toList()); model.setRoyaltyParameters(royaltyParameters); - - AlipayTradeOrderSettleResponse response = AliPayApi.tradeOrderSettleToResponse(model); + AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest(); + request.setBizModel(model); + AlipayTradeOrderSettleResponse response = alipayClient.execute(request); // 需要写入到分账订单中 String settleNo = response.getSettleNo(); - PaymentContextLocal.get().getAllocationInfo().setOutAllocationNo(settleNo); + PaymentContextLocal.get().getAllocationInfo().setOutAllocNo(settleNo); this.verifyErrorMsg(response); } @@ -76,11 +80,12 @@ public class AliPayAllocationService { * 分账完结 */ @SneakyThrows - public void finish(AllocationOrder allocationOrder, List<AllocationOrderDetail> orderDetails ){ + public void finish(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails, AliPayConfig config){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); // 分账主体参数 AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel(); - model.setOutRequestNo(String.valueOf(allocationOrder.getAllocationNo())); - model.setTradeNo(allocationOrder.getOutOrderNo()); + model.setOutRequestNo(String.valueOf(allocOrder.getAllocNo())); + model.setTradeNo(allocOrder.getOutOrderNo()); model.setRoyaltyMode(AliPayCode.ALLOC_ASYNC); // 分账完结参数 SettleExtendParams extendParams = new SettleExtendParams(); @@ -98,7 +103,9 @@ public class AliPayAllocationService { }) .collect(Collectors.toList()); model.setRoyaltyParameters(royaltyParameters); - AlipayTradeOrderSettleResponse response = AliPayApi.tradeOrderSettleToResponse(model); + AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest(); + request.setBizModel(model); + AlipayTradeOrderSettleResponse response = alipayClient.execute(request); this.verifyErrorMsg(response); } @@ -106,21 +113,22 @@ public class AliPayAllocationService { * 分账状态同步 */ @SneakyThrows - public AllocRemoteSyncResult sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails){ + public AllocRemoteSyncResult sync(AllocOrder allocOrder, List<AllocOrderDetail> allocOrderDetails, AliPayConfig config){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); AlipayTradeOrderSettleQueryModel model = new AlipayTradeOrderSettleQueryModel(); - model.setTradeNo(allocationOrder.getOutOrderNo()); - model.setOutRequestNo(allocationOrder.getAllocationNo()); + model.setTradeNo(allocOrder.getOutOrderNo()); + model.setOutRequestNo(allocOrder.getAllocNo()); AlipayTradeOrderSettleQueryRequest request = new AlipayTradeOrderSettleQueryRequest(); request.setBizModel(model); - AlipayTradeOrderSettleQueryResponse response = AliPayApi.execute(request); + AlipayTradeOrderSettleQueryResponse response = alipayClient.execute(request); // 验证 this.verifyErrorMsg(response); - Map<String, AllocationOrderDetail> detailMap = allocationOrderDetails.stream() - .collect(Collectors.toMap(AllocationOrderDetail::getReceiverAccount, Function.identity(), CollectorsFunction::retainLatest)); + Map<String, AllocOrderDetail> detailMap = allocOrderDetails.stream() + .collect(Collectors.toMap(AllocOrderDetail::getReceiverAccount, Function.identity(), CollectorsFunction::retainLatest)); List<RoyaltyDetail> royaltyDetailList = response.getRoyaltyDetailList(); // 转换成通用的明细详情 for (RoyaltyDetail receiver : royaltyDetailList) { - AllocationOrderDetail detail = detailMap.get(receiver.getTransIn()); + AllocOrderDetail detail = detailMap.get(receiver.getTransIn()); if (Objects.nonNull(detail)) { detail.setResult(this.getDetailResultEnum(receiver.getState()).getCode()); detail.setErrorCode(receiver.getErrorCode()); @@ -147,7 +155,7 @@ public class AliPayAllocationService { errorMsg = alipayResponse.getMsg(); } log.error("分账处理失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new TradeFailException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java index d1dc57e6d8ccd9f78bbe27244b79c55fba314f09..2288f2c49fc78afb2dc0f1953a9198f2faa19468 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCallbackService.java @@ -2,8 +2,8 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.CertUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; @@ -50,7 +50,6 @@ public class AliPayCallbackService { private final RefundCallbackService refundCallbackService; - /** * 回调处理入口 */ @@ -158,7 +157,7 @@ public class AliPayCallbackService { public void resolveRefundData() { CallbackLocal callback = PaymentContextLocal.get().getCallbackInfo(); Map<String, String> callbackParam = callback.getCallbackParam(); - // 退款订单Id + // 退款订单号 callback.setTradeNo(callbackParam.get(OUT_BIZ_NO)); // 退款状态 callback.setOutStatus(callbackParam.get(TRADE_STATUS)); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java index 2d936af9217ffc7d32de6f4bce0676df627a76df..81822a7d9a8bb867d9584101950217695072abc1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayCloseService.java @@ -1,24 +1,28 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.bootx.platform.common.spring.exception.RetryableException; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; import cn.daxpay.single.service.code.AliPayCode; -import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; +import com.alipay.api.domain.AlipayTradeCancelModel; import com.alipay.api.domain.AlipayTradeCloseModel; +import com.alipay.api.request.AlipayTradeCancelRequest; +import com.alipay.api.request.AlipayTradeCloseRequest; +import com.alipay.api.response.AlipayTradeCancelResponse; import com.alipay.api.response.AlipayTradeCloseResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.retry.annotation.Retryable; import org.springframework.stereotype.Service; import java.util.Objects; /** - * 支付宝支付取消和支付关闭 + * 支付宝支付撤销和支付关闭 * * @author xxm * @since 2021/4/20 @@ -29,26 +33,28 @@ import java.util.Objects; public class AliPayCloseService { private final AliPaySyncService aliPaySyncService; + private final AliPayConfigService aliPayConfigService; + /** - * 关闭支付 此处使用交易关闭接口, 支付宝支持 交易关闭 和 交易撤销 两种关闭订单的方式, 区别如下 + * 关闭支付 此处使用交易关闭接口 * 交易关闭: 只有订单在未支付的状态下才可以进行关闭, 商户不需要额外申请就有此接口的权限 - * 交易撤销: 如果用户支付成功,会将此订单资金退还给用户. 限制时间为1天,过了24小时,该接口无法再使用。可以视为一个特殊的接口, 需要专门签约这个接口的权限 * <p> * 1. 如果未查询到支付单,视为支付关闭, * 2. 如果返回"当前交易状态不支持此操作", 同步网关支付状态, 判断网关是否已经被关闭 * */ - @Retryable(value = RetryableException.class) - public void close(PayOrder payOrder) { + public void close(PayOrder payOrder, AliPayConfig config) { + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); AlipayTradeCloseModel model = new AlipayTradeCloseModel(); model.setOutTradeNo(payOrder.getOrderNo()); - + AlipayTradeCloseRequest request = new AlipayTradeCloseRequest(); + request.setBizModel(model); try { - AlipayTradeCloseResponse response = AliPayApi.tradeCloseToResponse(model); + AlipayTradeCloseResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { // 如果返回"当前交易状态不支持此操作", 同步网关支付状态, 判断网关是否已经被关闭 if (Objects.equals(response.getSubCode(),AliPayCode.ACQ_TRADE_STATUS_ERROR)){ - if (this.syncStatus(payOrder)){ + if (this.syncStatus(payOrder, config)){ return; } } @@ -57,11 +63,46 @@ public class AliPayCloseService { return; } log.error("网关返回关闭失败: {}", response.getSubMsg()); - throw new PayFailureException(response.getSubMsg()); + throw new OperationFailException(response.getSubMsg()); + } + } catch (AlipayApiException e) { + log.error("关闭订单失败:", e); + throw new OperationFailException("关闭订单失败"); + } + } + + /** + * 交易撤销: 如果用户支付成功,会将此订单资金退还给用户. 限制时间为1天,过了24小时,该接口无法再使用。 + * 可以视为一个特殊的接口, 需要专门签约这个接口的权限 + */ + public void cancel(PayOrder payOrder, AliPayConfig config) { + + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); + AlipayTradeCancelModel model = new AlipayTradeCancelModel(); + model.setOutTradeNo(payOrder.getOrderNo()); + AlipayTradeCancelRequest request = new AlipayTradeCancelRequest(); + request.setBizModel(model); + try { + AlipayTradeCancelResponse response = alipayClient.execute(request);; + if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { + if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { + // 如果返回"当前交易状态不支持此操作", 同步网关支付状态, 判断网关是否已经被关闭 + if (Objects.equals(response.getSubCode(),AliPayCode.ACQ_TRADE_STATUS_ERROR)){ + if (this.syncStatus(payOrder, config)){ + return; + } + } + // 返回"交易不存在"视同关闭成功 + if (Objects.equals(response.getSubCode(),AliPayCode.ACQ_TRADE_NOT_EXIST)){ + return; + } + log.error("网关返回关闭失败: {}", response.getSubMsg()); + throw new OperationFailException(response.getSubMsg()); + } } } catch (AlipayApiException e) { log.error("关闭订单失败:", e); - throw new PayFailureException("关闭订单失败"); + throw new OperationFailException("关闭订单失败"); } } @@ -69,19 +110,19 @@ public class AliPayCloseService { /** * 关闭失败后, 获取支付网关的状态, 如果是关闭返回true, 其他情况抛出异常 */ - private boolean syncStatus(PayOrder payOrder){ - PayRemoteSyncResult gatewaySyncResult = aliPaySyncService.syncPayStatus(payOrder); + private boolean syncStatus(PayOrder payOrder, AliPayConfig config){ + PayRemoteSyncResult gatewaySyncResult = aliPaySyncService.syncPayStatus(payOrder,config); // 已经关闭 if (Objects.equals(gatewaySyncResult.getSyncStatus(), PaySyncStatusEnum.CLOSED)){ return true; } // 同步错误 else if (Objects.equals(gatewaySyncResult.getSyncStatus(), PaySyncStatusEnum.FAIL)){ - throw new PayFailureException("关闭失败, 原因: "+gatewaySyncResult.getErrorMsg()); + throw new OperationFailException("关闭失败, 原因: "+gatewaySyncResult.getErrorMsg()); } // 其他状态 else { - throw new PayFailureException("当前交易状态不支持关闭操作, 请对订单同步状态后再进行操作"); + throw new TradeStatusErrorException("当前交易无法关闭操作, 请对订单同步状态后再进行操作"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java index 9e8f64253561fe8ad7707fc134af299e98cc731c..ef77d9b6f3aecbd3558ea5dbc83e7bb4c8b0aa96 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayConfigService.java @@ -1,21 +1,19 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.ChannelNotEnableException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.AliPayWay; import cn.daxpay.single.service.core.channel.alipay.dao.AliPayConfigManager; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; -import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.alipay.AliPayConfigParam; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; -import cn.hutool.core.util.CharsetUtil; -import com.ijpay.alipay.AliPayApiConfig; -import com.ijpay.alipay.AliPayApiConfigKit; +import com.alipay.api.AlipayClient; +import com.alipay.api.AlipayConfig; +import com.alipay.api.DefaultAlipayClient; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -39,7 +37,7 @@ public class AliPayConfigService { /** 默认支付宝配置的主键ID */ private final static Long ID = 0L; private final AliPayConfigManager alipayConfigManager; - private final PayChannelConfigService payChannelConfigService; + private final PlatformConfigService platformConfigService; /** * 修改 @@ -47,11 +45,6 @@ public class AliPayConfigService { @Transactional(rollbackFor = Exception.class) public void update(AliPayConfigParam param) { AliPayConfig alipayConfig = alipayConfigManager.findById(ID).orElseThrow(() -> new DataNotExistException("支付宝配置不存在")); - // 启用或停用 - if (!Objects.equals(param.getEnable(), alipayConfig.getEnable())){ - payChannelConfigService.setEnable(PayChannelEnum.ALI.getCode(), param.getEnable()); - } - BeanUtil.copyProperties(param, alipayConfig, CopyOptions.create().ignoreNullValue()); alipayConfigManager.updateById(alipayConfig); } @@ -79,46 +72,54 @@ public class AliPayConfigService { public AliPayConfig getAndCheckConfig() { AliPayConfig alipayConfig = this.getConfig(); if (!alipayConfig.getEnable()){ - throw new PayFailureException("支付宝支付未启用"); + throw new ChannelNotEnableException("支付宝支付未启用"); } return alipayConfig; } + /** + * 生成通知地址 + */ + public String generateNotifyUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/callback/alipay"; + } + + /** + * 生成同步跳转地址 + */ + public String generateReturnUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/return/alipay"; + } + + /** + * 获取支付宝SDK的配置 + */ + public AlipayClient getAlipayClient(){ + AliPayConfig aliPayConfig = this.getConfig(); + return this.getAlipayClient(aliPayConfig); + } /** - * 初始化IJPay服务 + * 获取支付宝SDK的配置 */ @SneakyThrows - public void initConfig(AliPayConfig alipayConfig) { - AliPayApiConfig aliPayApiConfig; - // 公钥 - if (Objects.equals(alipayConfig.getAuthType(), AliPayCode.AUTH_TYPE_KEY)) { - aliPayApiConfig = AliPayApiConfig.builder() - .setAppId(alipayConfig.getAppId()) - .setPrivateKey(alipayConfig.getPrivateKey()) - .setAliPayPublicKey(alipayConfig.getAlipayPublicKey()) - .setCharset(CharsetUtil.UTF_8) - .setServiceUrl(alipayConfig.getServerUrl()) - .setSignType(alipayConfig.getSignType()) - .build(); - } + public AlipayClient getAlipayClient(AliPayConfig aliPayConfig){ + AlipayConfig config = new AlipayConfig(); + config.setServerUrl(aliPayConfig.getServerUrl()); + config.setAppId(aliPayConfig.getAppId()); + config.setFormat("json"); + config.setCharset("UTF-8"); + config.setSignType(aliPayConfig.getSignType()); // 证书 - else if (Objects.equals(alipayConfig.getAuthType(), AliPayCode.AUTH_TYPE_CART)) { - aliPayApiConfig = AliPayApiConfig.builder() - .setAppId(alipayConfig.getAppId()) - .setPrivateKey(alipayConfig.getPrivateKey()) - .setAppCertContent(alipayConfig.getAppCert()) - .setAliPayCertContent(alipayConfig.getAlipayCert()) - .setAliPayRootCertContent(alipayConfig.getAlipayRootCert()) - .setCharset(CharsetUtil.UTF_8) - .setServiceUrl(alipayConfig.getServerUrl()) - .setSignType(alipayConfig.getSignType()) - .buildByCertContent(); + if (Objects.equals(aliPayConfig.getAuthType(), AliPayCode.AUTH_TYPE_CART)){ + config.setAppCertContent(aliPayConfig.getAppCert()); + config.setRootCertContent(aliPayConfig.getAlipayRootCert()); + config.setAlipayPublicCertContent(aliPayConfig.getAlipayCert()); + } else { + // 公钥 + config.setPrivateKey(aliPayConfig.getPrivateKey()); + config.setAlipayPublicKey(aliPayConfig.getAlipayPublicKey()); } - else { - throw new BizException("支付宝认证方式不可为空"); - } - AliPayApiConfigKit.setThreadLocalAliPayApiConfig(aliPayApiConfig); + return new DefaultAlipayClient(config); } - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayNoticeReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayNoticeReceiverService.java index 111874f5ea88a7342a7955172f5516ea1fcdee12..f67eb501f20b0e8873fbbba5cd1bebfb5dcd7473 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayNoticeReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayNoticeReceiverService.java @@ -29,8 +29,6 @@ import static cn.daxpay.single.service.code.AliPayCode.AUTH_TYPE_KEY; @RequiredArgsConstructor public class AliPayNoticeReceiverService { - private final AllocationCallbackService allocationCallbackService; - private final AliPayConfigService aliPayConfigService; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java index 0d71396d03c6a81e84231728e3b0e1697d7912b3..2e5dc1e3fb96de67a57e2da62e4bc5dca29e034c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayReconcileService.java @@ -1,21 +1,21 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.ReconcileTradeEnum; +import cn.daxpay.single.core.exception.ReconciliationFailException; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.dao.AliReconcileBillDetailManager; import cn.daxpay.single.service.core.channel.alipay.dao.AliReconcileBillTotalManager; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.entity.AliReconcileBillDetail; import cn.daxpay.single.service.core.channel.alipay.entity.AliReconcileBillTotal; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.io.IoUtil; import cn.hutool.core.text.csv.CsvReader; @@ -23,12 +23,13 @@ import cn.hutool.core.text.csv.CsvUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpUtil; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayDataDataserviceBillDownloadurlQueryModel; -import com.ijpay.alipay.AliPayApi; +import com.alipay.api.request.AlipayDataDataserviceBillDownloadurlQueryRequest; +import com.alipay.api.response.AlipayDataDataserviceBillDownloadurlQueryResponse; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import lombok.val; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; import org.dromara.x.file.storage.core.FileInfo; @@ -57,6 +58,8 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class AliPayReconcileService { + private final AliPayConfigService aliPayConfigService; + private final AliReconcileBillDetailManager reconcileBillDetailManager; private final AliReconcileBillTotalManager reconcileBillTotalManager; @@ -71,20 +74,23 @@ public class AliPayReconcileService { * * @param date 对账日期 yyyy-MM-dd 格式 * @param recordOrder 对账单对象 + * @param config */ @SneakyThrows @Transactional(rollbackFor = Exception.class) - public void downAndSave(String date, ReconcileOrder recordOrder){ - + public void downAndSave(String date, ReconcileOrder recordOrder, AliPayConfig config){ try { + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); AlipayDataDataserviceBillDownloadurlQueryModel model = new AlipayDataDataserviceBillDownloadurlQueryModel(); model.setBillDate(date); model.setBillType("trade"); - val response = AliPayApi.billDownloadUrlQueryToResponse(model); + AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest(); + request.setBizModel(model); + AlipayDataDataserviceBillDownloadurlQueryResponse response = alipayClient.execute(request); // 判断返回结果 if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { log.error("获取支付宝对账单失败: {}", response.getSubMsg()); - throw new PayFailureException(response.getSubMsg()); + throw new ReconciliationFailException(response.getSubMsg()); } // 获取对账单下载地址并下载 @@ -239,10 +245,9 @@ public class AliPayReconcileService { */ private void saveOriginalFile(ReconcileOrder reconcileOrder, byte[] bytes) { // 将原始文件进行保存 - PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 - String fileName = StrUtil.format("交易对账单-{}-{}.csv", channelEnum.getName(),date); + String fileName = StrUtil.format("交易对账单-支付宝-{}.csv",date); UploadPretreatment uploadPretreatment = fileStorageService.of(bytes); if (StrUtil.isNotBlank(fileName)) { uploadPretreatment.setOriginalFilename(fileName); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java index 6ff8c8266c1b73bacfe0753454c55f767324056c..1e5844a7f37a714ff32e1245d0d80048129c5448 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayRefundService.java @@ -1,16 +1,20 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.DaxPayErrorCode; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.util.PayUtil; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayTradeRefundModel; +import com.alipay.api.request.AlipayTradeRefundRequest; import com.alipay.api.response.AlipayTradeRefundResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -28,26 +32,32 @@ import java.util.Objects; @RequiredArgsConstructor public class AliPayRefundService { + private final AliPayConfigService aliPayConfigService; + /** * 退款, 调用支付宝退款 */ - public void refund(RefundOrder refundOrder) { + public void refund(RefundOrder refundOrder, AliPayConfig config) { + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(config); + RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); - AlipayTradeRefundModel refundModel = new AlipayTradeRefundModel(); - refundModel.setOutTradeNo(refundOrder.getOrderNo()); - refundModel.setOutRequestNo(refundOrder.getRefundNo()); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); + AlipayTradeRefundModel model = new AlipayTradeRefundModel(); + model.setOutTradeNo(refundOrder.getOrderNo()); + model.setOutRequestNo(refundOrder.getRefundNo()); // 金额转换 String refundAmount = PayUtil.conversionAmount(refundOrder.getAmount()).toString(); - refundModel.setRefundAmount(refundAmount); + model.setRefundAmount(refundAmount); + AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); + request.setBizModel(model); - // 设置退款信息 try { - AlipayTradeRefundResponse response = AliPayApi.tradeRefundToResponse(refundModel); + AlipayTradeRefundResponse response = alipayClient.execute(request); if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { - refundInfo.setErrorMsg(response.getSubMsg()); - refundInfo.setErrorCode(response.getCode()); + OperationFailException operationFailException = new OperationFailException(response.getSubMsg()); + errorInfo.setException(operationFailException); log.error("网关返回退款失败: {}", response.getSubMsg()); - throw new PayFailureException(response.getSubMsg()); + throw operationFailException; } // 默认为退款中状态 refundInfo.setStatus(RefundStatusEnum.PROGRESS) @@ -61,9 +71,9 @@ public class AliPayRefundService { } catch (AlipayApiException e) { log.error("订单退款失败:", e); - refundInfo.setErrorMsg(e.getErrMsg()); - refundInfo.setErrorCode(e.getErrCode()); - throw new PayFailureException("订单退款失败"); + errorInfo.setErrorMsg(e.getErrMsg()); + errorInfo.setErrorCode(DaxPayErrorCode.OPERATION_FAIL); + throw new OperationFailException(e.getErrMsg()); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java index abeeeee9197a4dda52fa2c3ccd1602c261b3faa6..edb11447941671a9a74d12d16ef8f35ad07cc656 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayService.java @@ -1,31 +1,32 @@ package cn.daxpay.single.service.core.channel.alipay.service; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.payment.pay.PayParam; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.AliPayCode; import cn.daxpay.single.service.code.AliPayWay; -import cn.daxpay.single.service.common.context.NoticeLocal; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.util.PayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.Method; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; import com.alipay.api.AlipayResponse; import com.alipay.api.domain.*; -import com.alipay.api.request.AlipayTradePagePayRequest; -import com.alipay.api.request.AlipayTradeWapPayRequest; +import com.alipay.api.request.*; import com.alipay.api.response.*; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.Objects; import java.util.Optional; @@ -43,27 +44,29 @@ import static cn.daxpay.single.service.code.AliPayCode.QUICK_MSECURITY_PAY; @RequiredArgsConstructor public class AliPayService { + private final AliPayConfigService aliPayConfigService; + /** * 支付前检查支付方式是否可用 */ public void validation(PayParam payParam, AliPayConfig alipayConfig) { if (CollUtil.isEmpty(alipayConfig.getPayWays())){ - throw new PayFailureException("支付宝未配置可用的支付方式"); + throw new ConfigErrorException("支付宝未配置可用的支付方式"); } // 发起的支付类型是否在支持的范围内 PayMethodEnum payMethodEnum = Optional.ofNullable(AliPayWay.findByCode(payParam.getMethod())) - .orElseThrow(() -> new PayFailureException("非法的支付宝支付类型")); + .orElseThrow(() -> new MethodNotExistException("非法的支付宝支付类型")); if (!alipayConfig.getPayWays().contains(payMethodEnum.getCode())) { - throw new PayFailureException("该支付宝支付方式不可用"); + throw new MethodNotEnableException("该支付宝支付方式不可用"); } // 验证订单金额是否超限 - if(payParam.getAmount() > alipayConfig.getSingleLimit()){ - throw new PayFailureException("支付宝支付金额超过限额"); + if(payParam.getAmount() > alipayConfig.getLimitAmount()){ + throw new AmountExceedLimitException("支付宝支付金额超过限额"); } // 支付参数开启分账, 配置未开启分账 if(Objects.equals(payParam.getAllocation(),true) && !Objects.equals(alipayConfig.getAllocation(),true)){ - throw new PayFailureException("未开启分账配置"); + throw new ConfigErrorException("未开启分账配置"); } } @@ -87,6 +90,10 @@ public class AliPayService { else if (Objects.equals(payOrder.getMethod(), PayMethodEnum.WEB.getCode())) { payBody = this.webPay(amount, payOrder, alipayConfig); } + // jsapi支付 + else if (Objects.equals(payOrder.getMethod(), PayMethodEnum.JSAPI.getCode())) { + payBody = this.jsapiPay(amount, payOrder, aliPayParam, alipayConfig); + } // 二维码支付 else if (Objects.equals(payOrder.getMethod(), PayMethodEnum.QRCODE.getCode())) { payBody = this.qrCodePay(amount, payOrder, alipayConfig); @@ -102,8 +109,11 @@ public class AliPayService { /** * wap支付 */ + @SneakyThrows public String wapPay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + AlipayTradeWapPayModel model = new AlipayTradeWapPayModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); @@ -111,12 +121,10 @@ public class AliPayService { // 过期时间 model.setTimeExpire(PayUtil.getAliTimeExpire(payOrder.getExpiredTime())); model.setProductCode(AliPayCode.QUICK_WAP_PAY); - // 中途退出地址 - model.setQuitUrl(noticeInfo.getQuitUrl()); // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } @@ -129,21 +137,24 @@ public class AliPayService { try { // 通过GET方式的请求, 返回URL的响应, 默认是POST方式的请求, 返回的是表单响应 - AlipayTradeWapPayResponse response = AliPayApi.pageExecute(request, Method.GET.name()); + AlipayTradeWapPayResponse response = alipayClient.pageExecute(request, Method.GET.name()); return response.getBody(); } catch (AlipayApiException e) { log.error("支付宝手机支付失败", e); - throw new PayFailureException("支付宝手机支付失败"); + throw new TradeFailException("支付宝手机支付失败"); } } /** * app支付 */ + @SneakyThrows public String appPay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { - AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.setSubject(payOrder.getTitle()); model.setProductCode(QUICK_MSECURITY_PAY); model.setOutTradeNo(payOrder.getOrderNo()); @@ -153,27 +164,32 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } - + AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); + request.setBizModel(model); + request.setNotifyUrl(alipayConfig.getNotifyUrl()); try { // 异步回调必须到当前系统中 - AlipayTradeAppPayResponse response = AliPayApi.appPayToResponse(model, alipayConfig.getNotifyUrl()); + AlipayTradeAppPayResponse response = alipayClient.execute(request); return response.getBody(); } catch (AlipayApiException e) { log.error("支付宝APP支付失败", e); - throw new PayFailureException("支付宝APP支付失败"); + throw new TradeFailException("支付宝APP支付失败"); } } /** * PC支付 */ + @SneakyThrows public String webPay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { - AlipayTradePagePayModel model = new AlipayTradePagePayModel(); + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + AlipayTradePagePayModel model = new AlipayTradePagePayModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); // 过期时间 @@ -185,7 +201,7 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } @@ -197,19 +213,59 @@ public class AliPayService { request.setReturnUrl(alipayConfig.getReturnUrl()); try { // 通过GET方式的请求, 返回URL的响应, 默认是POST方式的请求, 返回的是表单响应 - AlipayTradePagePayResponse response = AliPayApi.pageExecute(request, Method.GET.name()); + AlipayTradePagePayResponse response = alipayClient.pageExecute(request, Method.GET.name()); return response.getBody(); } catch (AlipayApiException e) { log.error("支付宝PC支付失败", e); - throw new PayFailureException("支付宝PC支付失败"); + throw new TradeFailException("支付宝PC支付失败"); + } + } + + /** + * jsapi支付 + */ + @SneakyThrows + public String jsapiPay(String amount, PayOrder payOrder, AliPayParam aliPayParam, AliPayConfig alipayConfig) { + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + + // 构造请求参数以调用接口 + AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); + AlipayTradeCreateModel model = new AlipayTradeCreateModel(); + model.setOutTradeNo(payOrder.getOrderNo()); + model.setProductCode(AliPayCode.JSAPI_PAY); + model.setOpAppId(aliPayParam.getOpAppId()); + model.setTotalAmount(amount); + model.setSubject(payOrder.getTitle()); + model.setOpBuyerOpenId(aliPayParam.getOpenId()); + model.setTimeExpire(PayUtil.getAliTimeExpire(payOrder.getExpiredTime())); + // 是否分账 + if (payOrder.getAllocation()){ + ExtendParams extendParams = new ExtendParams(); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); + model.setExtendParams(extendParams); + } + request.setBizModel(model); + try { + AlipayTradeCreateResponse response = alipayClient.execute(request); + this.verifyErrorMsg(response); + // my.tradePay使用支付宝交易号调起支付 + return response.getTradeNo(); + } catch (AlipayApiException e) { + log.error("支付宝JsApi支付失败", e); + throw new TradeFailException("支付宝JsApi支付失败"); } } /** * 二维码支付(扫码支付) */ + @SneakyThrows public String qrCodePay(String amount, PayOrder payOrder, AliPayConfig alipayConfig) { + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + AlipayTradePrecreateModel model = new AlipayTradePrecreateModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); @@ -217,29 +273,34 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } // 过期时间 model.setTimeExpire(PayUtil.getAliTimeExpire(payOrder.getExpiredTime())); - + AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); + request.setBizModel(model); + request.setNotifyUrl(alipayConfig.getNotifyUrl()); try { - AlipayTradePrecreateResponse response = AliPayApi.tradePrecreatePayToResponse(model, alipayConfig.getNotifyUrl()); + AlipayTradePrecreateResponse response = alipayClient.execute(request); this.verifyErrorMsg(response); return response.getQrCode(); } catch (AlipayApiException e) { log.error("支付宝手机支付失败", e); - throw new PayFailureException("支付宝手机支付失败"); + throw new TradeFailException("支付宝手机支付失败"); } } /** * 付款码支付 */ + @SneakyThrows public void barCode(String amount, PayOrder payOrder, AliPayParam aliPayParam, AliPayConfig alipayConfig) { - PayLocal payInfo = PaymentContextLocal.get().getPayInfo(); + // 获取支付宝客户端 + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(alipayConfig); + PayLocal payInfo = PaymentContextLocal.get().getPayInfo(); AlipayTradePayModel model = new AlipayTradePayModel(); model.setSubject(payOrder.getTitle()); model.setOutTradeNo(payOrder.getOrderNo()); @@ -248,19 +309,23 @@ public class AliPayService { // 是否分账 if (payOrder.getAllocation()){ ExtendParams extendParams = new ExtendParams(); - extendParams.setRoyaltyFreeze("true"); + extendParams.setRoyaltyFreeze(Boolean.TRUE.toString()); model.setExtendParams(extendParams); } // 过期时间 model.setTimeExpire(PayUtil.getAliTimeExpire(payOrder.getExpiredTime())); model.setTotalAmount(amount); + AlipayTradePayRequest request = new AlipayTradePayRequest(); + request.setBizModel(model); + request.setNotifyUrl(alipayConfig.getNotifyUrl()); try { - AlipayTradePayResponse response = AliPayApi.tradePayToResponse(model, alipayConfig.getNotifyUrl()); - + AlipayTradePayResponse response = alipayClient.execute(request); // 支付成功处理 金额2000以下免密支付, 记录支付完成相关信息 if (Objects.equals(response.getCode(), AliPayCode.SUCCESS)) { + Date gmtPayment = response.getGmtPayment(); payInfo.setOutOrderNo(response.getTradeNo()) - .setComplete(true); + .setComplete(true) + .setCompleteTime(LocalDateTimeUtil.of(gmtPayment)); } // 非支付中响应码, 进行错误处理 if (!Objects.equals(response.getCode(), AliPayCode.INPROCESS)) { @@ -269,7 +334,7 @@ public class AliPayService { } catch (AlipayApiException e) { log.error("主动扫码支付失败", e); - throw new PayFailureException("主动扫码支付失败"); + throw new TradeFailException("主动扫码支付失败"); } } @@ -283,7 +348,7 @@ public class AliPayService { errorMsg = alipayResponse.getMsg(); } log.error("支付失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new TradeFailException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java index 7d5e1c2aa82d0b65702abe8575ba991fa7d575e3..0283dc376d7afb3d21b5eea95e489ceaedc09f29 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPaySyncService.java @@ -1,21 +1,31 @@ package cn.daxpay.single.service.core.channel.alipay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.result.sync.TransferSyncResult; import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import cn.hutool.json.JSONUtil; import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; +import com.alipay.api.domain.AlipayFundTransCommonQueryModel; import com.alipay.api.domain.AlipayTradeFastpayRefundQueryModel; import com.alipay.api.domain.AlipayTradeQueryModel; +import com.alipay.api.request.AlipayFundTransCommonQueryRequest; +import com.alipay.api.request.AlipayTradeFastpayRefundQueryRequest; +import com.alipay.api.request.AlipayTradeQueryRequest; +import com.alipay.api.response.AlipayFundTransCommonQueryResponse; import com.alipay.api.response.AlipayTradeFastpayRefundQueryResponse; import com.alipay.api.response.AlipayTradeQueryResponse; -import com.ijpay.alipay.AliPayApi; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -35,6 +45,8 @@ import static cn.daxpay.single.service.code.AliPayCode.GMT_REFUND_PAY; @Service @RequiredArgsConstructor public class AliPaySyncService { + private final AliPayConfigService aliPayConfigService; + /** * 与支付宝网关同步状态, 退款状态有 * 1 远程支付成功 @@ -43,18 +55,21 @@ public class AliPaySyncService { * 4 查询不到 * 5 查询失败 */ - public PayRemoteSyncResult syncPayStatus(PayOrder payOrder) { + public PayRemoteSyncResult syncPayStatus(PayOrder payOrder, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); PayRemoteSyncResult syncResult = new PayRemoteSyncResult().setSyncStatus(PaySyncStatusEnum.FAIL); // 查询 try { - AlipayTradeQueryModel queryModel = new AlipayTradeQueryModel(); - queryModel.setOutTradeNo(payOrder.getOrderNo()); - AlipayTradeQueryResponse response = AliPayApi.tradeQueryToResponse(queryModel); + AlipayTradeQueryModel model = new AlipayTradeQueryModel(); + model.setOutTradeNo(payOrder.getOrderNo()); + AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); + request.setBizModel(model); + AlipayTradeQueryResponse response = alipayClient.execute(request); String tradeStatus = response.getTradeStatus(); syncResult.setSyncInfo(JSONUtil.toJsonStr(response)); // 设置网关订单号 syncResult.setOutOrderNo(response.getTradeNo()); - // 支付完成 TODO 部分退款也在这个地方, 但无法进行区分, 需要借助对账进行处理 + // 支付完成 部分退款无法进行区分, 需要借助对账进行处理 if (Objects.equals(tradeStatus, AliPayCode.NOTIFY_TRADE_SUCCESS) || Objects.equals(tradeStatus, AliPayCode.NOTIFY_TRADE_FINISHED)) { // 支付完成时间 LocalDateTime payTime = LocalDateTimeUtil.of(response.getSendPayDate()); @@ -96,17 +111,20 @@ public class AliPaySyncService { * 退款同步查询 * 注意: 支付宝退款没有网关订单号, 网关订单号是支付单的 */ - public RefundRemoteSyncResult syncRefundStatus(RefundOrder refundOrder) { + public RefundRemoteSyncResult syncRefundStatus(RefundOrder refundOrder){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(); RefundRemoteSyncResult syncResult = new RefundRemoteSyncResult().setSyncStatus(RefundSyncStatusEnum.FAIL); try { - AlipayTradeFastpayRefundQueryModel queryModel = new AlipayTradeFastpayRefundQueryModel(); + AlipayTradeFastpayRefundQueryModel model = new AlipayTradeFastpayRefundQueryModel(); // 退款请求号 - queryModel.setOutRequestNo(String.valueOf(refundOrder.getRefundNo())); + model.setOutRequestNo(String.valueOf(refundOrder.getRefundNo())); // 商户订单号 - queryModel.setOutTradeNo(String.valueOf(refundOrder.getOrderNo())); + model.setOutTradeNo(String.valueOf(refundOrder.getOrderNo())); // 设置返回退款完成时间 - queryModel.setQueryOptions(Collections.singletonList(GMT_REFUND_PAY)); - AlipayTradeFastpayRefundQueryResponse response = AliPayApi.tradeRefundQueryToResponse(queryModel); + model.setQueryOptions(Collections.singletonList(GMT_REFUND_PAY)); + AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest(); + request.setBizModel(model); + AlipayTradeFastpayRefundQueryResponse response = alipayClient.execute(request); syncResult.setSyncInfo(JSONUtil.toJsonStr(response)); // 失败 if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { @@ -129,4 +147,26 @@ public class AliPaySyncService { } return syncResult; } + + /** + * 转账同步 + */ + @SneakyThrows + public TransferSyncResult syncTransferStatus(TransferOrder transferOrder){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(); + // 构造请求参数以调用接口 + AlipayFundTransCommonQueryRequest request = new AlipayFundTransCommonQueryRequest(); + AlipayFundTransCommonQueryModel model = new AlipayFundTransCommonQueryModel(); + // 设置销售产品码 + model.setProductCode("STD_RED_PACKET"); + // 设置描述特定的业务场景 + model.setBizScene("PERSONAL_PAY"); + // 设置商户转账唯一订单号 + model.setOutBizNo(transferOrder.getTransferNo()); + request.setBizModel(model); + AlipayFundTransCommonQueryResponse response = alipayClient.execute(request); + System.out.println(response.getBody()); + return new TransferSyncResult().setStatus(TransferStatusEnum.FAIL.getCode()); + } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java index 0d02f272b319381f3f63c659e6e95eb0760791c5..c7164425877e5a0cd14fb0030b0c1b4ab5a26c8e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/alipay/service/AliPayTransferService.java @@ -1,16 +1,32 @@ package cn.daxpay.single.service.core.channel.alipay.service; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.exception.TradeFailException; +import cn.daxpay.single.service.code.AliPayCode; +import cn.daxpay.single.service.common.context.TransferLocal; +import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.core.util.PayUtil; +import cn.hutool.core.date.DatePattern; +import com.alipay.api.AlipayClient; import com.alipay.api.domain.AlipayFundAccountQueryModel; -import com.alipay.api.domain.AlipayFundTransToaccountTransferModel; +import com.alipay.api.domain.AlipayFundTransUniTransferModel; +import com.alipay.api.domain.Participant; +import com.alipay.api.request.AlipayFundAccountQueryRequest; +import com.alipay.api.request.AlipayFundTransUniTransferRequest; import com.alipay.api.response.AlipayFundAccountQueryResponse; -import com.alipay.api.response.AlipayFundTransToaccountTransferResponse; -import com.ijpay.alipay.AliPayApi; +import com.alipay.api.response.AlipayFundTransUniTransferResponse; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.util.Objects; + import static cn.daxpay.single.service.code.AliPayCode.QUERY_ACCOUNT_TYPE; @Slf4j @@ -18,17 +34,20 @@ import static cn.daxpay.single.service.code.AliPayCode.QUERY_ACCOUNT_TYPE; @RequiredArgsConstructor public class AliPayTransferService { - private final AliPayConfigService payConfigService; + private final AliPayConfigService aliPayConfigService; /** * 余额查询接口 */ @SneakyThrows - public void queryAccountAmount(AliPayConfig config) { + public void queryAccountAmount(AliPayConfig config, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); AlipayFundAccountQueryModel model = new AlipayFundAccountQueryModel(); model.setAccountType(QUERY_ACCOUNT_TYPE); model.setAlipayUserId(config.getAlipayUserId()); - AlipayFundAccountQueryResponse response = AliPayApi.accountQueryToResponse(model, null); + AlipayFundAccountQueryRequest request = new AlipayFundAccountQueryRequest(); + request.setBizModel(model); + AlipayFundAccountQueryResponse response = alipayClient.execute(request); System.out.println(response); } @@ -36,8 +55,54 @@ public class AliPayTransferService { * 转账接口 */ @SneakyThrows - public void transfer() { - AlipayFundTransToaccountTransferModel model = new AlipayFundTransToaccountTransferModel(); - AlipayFundTransToaccountTransferResponse response = AliPayApi.transferToResponse(model); + public void transfer(TransferOrder order, AliPayConfig aliPayConfig){ + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(aliPayConfig); + + // 构造请求参数以调用接口 + AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest(); + AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel(); + + // 设置转账业务的标题 + model.setOrderTitle(order.getTitle()); + // 设置描述特定的业务场景 + model.setBizScene("DIRECT_TRANSFER"); + // 设置业务产品码 + model.setProductCode("TRANS_ACCOUNT_NO_PWD"); + // 设置转账业务请求的扩展参数 + model.setBusinessParams("{payer_show_name_use_alias: true}"); + // 设置业务备注 + model.setRemark(order.getReason()); + // 设置商家侧唯一订单号 + model.setOutBizNo(order.getTransferNo()); + // 设置订单总金额 + model.setTransAmount(PayUtil.conversionAmount(order.getAmount()).toString()); + // 设置收款方信息 + Participant payeeInfo = new Participant(); + // 收款人账号 + payeeInfo.setIdentity(order.getPayeeAccount()); + // 收款人姓名 + payeeInfo.setName(order.getPayeeName()); + // 收款人类型 + String identityType = TransferPayeeTypeEnum.findByCode(order.getPayeeType()) + .getOutCode(); + payeeInfo.setIdentityType(identityType); + model.setPayeeInfo(payeeInfo); + model.setRemark(order.getReason()); + request.setBizModel(model); + AlipayFundTransUniTransferResponse response = alipayClient.execute(request); + if (!Objects.equals(AliPayCode.SUCCESS, response.getCode())) { + log.error("网关返回退款失败: {}", response.getSubMsg()); + throw new TradeFailException(response.getSubMsg()); + } + TransferLocal transferInfo = PaymentContextLocal.get().getTransferInfo(); + // 通道转账号 + transferInfo.setOutTransferNo(response.getOrderId()); + // 有完成时间代表处理完成 + if (Objects.equals(response.getStatus(), AliPayCode.TRANSFER_SUCCESS)){ + // 时间 + String transDate = response.getTransDate(); + LocalDateTime time = LocalDateTimeUtil.parse(transDate, DatePattern.NORM_DATETIME_PATTERN); + transferInfo.setFinishTime(time).setStatus(TransferStatusEnum.SUCCESS); + } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/entity/UnionPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/entity/UnionPayConfig.java index 02f0137d2a9b5bd4dcbe58e23de73e1e3fe51ff3..fc53b23f787785ac35fb8a0944e3003b84797fc0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/entity/UnionPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/entity/UnionPayConfig.java @@ -44,7 +44,7 @@ public class UnionPayConfig extends MpBaseEntity implements EntityBaseFunction<U /** 支付限额 */ @DbColumn(comment = "支付限额") - private Integer singleLimit; + private Integer limitAmount; /** * 商户收款账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCallbackService.java index f362640650ec5a16e0bea72643950dd9e4fe92d2..b07da058d680b22bbea989aaf7e963593cace213 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCallbackService.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCloseService.java index c48fc49f16b679a1f9c9f0e82102941ab40e2216..d4f26ef1e910ce441c33ef99d138ae86c0263353 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayCloseService.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.channel.union.service; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.UnsupportedAbilityException; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import lombok.RequiredArgsConstructor; @@ -21,7 +21,7 @@ public class UnionPayCloseService { * 关闭订单 */ public void close(PayOrder payOrder, UnionPayKit unionPayKit) { - throw new PayFailureException("云闪付没有关闭订单功能!"); + throw new UnsupportedAbilityException("云闪付没有关闭订单功能!"); // this.verifyErrorMsg(result); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java index 93e2508dd172f68862aab6a808f5e63b3613039b..dff26d22e69d864c8d51ae72f0f63d19115bdbfc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayConfigService.java @@ -2,12 +2,11 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.ChannelNotEnableException; import cn.daxpay.single.service.code.UnionPayWay; import cn.daxpay.single.service.core.channel.union.dao.UnionPayConfigManager; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; -import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.union.UnionPayConfigParam; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import cn.hutool.core.bean.BeanUtil; @@ -24,7 +23,6 @@ import org.springframework.transaction.annotation.Transactional; import java.io.ByteArrayInputStream; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; /** @@ -39,7 +37,7 @@ public class UnionPayConfigService { /** 默认云闪付配置的主键ID */ private final static Long ID = 0L; private final UnionPayConfigManager unionPayConfigManager; - private final PayChannelConfigService payChannelConfigService; + private final PlatformConfigService platformConfigService; /** * 修改 @@ -47,11 +45,6 @@ public class UnionPayConfigService { @Transactional(rollbackFor = Exception.class) public void update(UnionPayConfigParam param) { UnionPayConfig unionPayConfig = unionPayConfigManager.findById(ID).orElseThrow(() -> new DataNotExistException("支付宝配置不存在")); - // 启用或停用 - if (!Objects.equals(param.getEnable(), unionPayConfig.getEnable())){ - payChannelConfigService.setEnable(PayChannelEnum.UNION_PAY.getCode(), param.getEnable()); - } - BeanUtil.copyProperties(param, unionPayConfig, CopyOptions.create().ignoreNullValue()); unionPayConfigManager.updateById(unionPayConfig); } @@ -79,11 +72,25 @@ public class UnionPayConfigService { public UnionPayConfig getAndCheckConfig() { UnionPayConfig unionPayConfig = this.getConfig(); if (!unionPayConfig.getEnable()){ - throw new PayFailureException("云闪付支付未启用"); + throw new ChannelNotEnableException("云闪付支付未启用"); } return unionPayConfig; } + /** + * 生成通知地址 + */ + public String generateNotifyUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/callback/union"; + } + + /** + * 生成同步跳转地址 + */ + public String generateReturnUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/return/union"; + } + /** * 生成云闪付支付服务 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java index 169c56af3cba6818a9586b824780302f63030f80..beefe16ce774554cf52a3585b1db5c88d0a3cbf9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayReconcileService.java @@ -1,9 +1,8 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.ReconcileTradeEnum; +import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.code.UnionReconcileFieldEnum; @@ -11,9 +10,9 @@ import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.union.dao.UnionReconcileBillDetailManager; import cn.daxpay.single.service.core.channel.union.entity.UnionReconcileBillDetail; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; -import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; +import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.codec.Base64; @@ -60,11 +59,16 @@ public class UnionPayReconcileService { public void downAndSave(ReconcileOrder reconcileOrder, Date date, UnionPayKit unionPayKit){ // 下载对账单 Map<String, Object> map = unionPayKit.downloadBill(date, RECONCILE_BILL_TYPE); - String fileContent = map.get(FILE_CONTENT).toString(); + Object o = map.get(FILE_CONTENT); + if (o == null) { + log.warn("云闪付获取对账文件失败"); + throw new OperationFailException("云闪付获取对账文件失败"); + } + String fileContent = o.toString(); // 判断是否成功 if (!SDKConstants.OK_RESP_CODE.equals(map.get(SDKConstants.param_respCode))) { log.warn("云闪付获取对账文件失败"); - throw new PayFailureException("云闪付获取对账文件失败"); + throw new OperationFailException("云闪付获取对账文件失败"); } try { @@ -210,10 +214,9 @@ public class UnionPayReconcileService { * 保存下载的原始对账文件 */ private void saveOriginalFile(ReconcileOrder reconcileOrder, byte[] bytes) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 - String fileName = StrUtil.format("交易对账单-{}-{}.txt", channelEnum.getName(),date); + String fileName = StrUtil.format("交易对账单-云闪付-{}.txt",date); UploadPretreatment uploadPretreatment = fileStorageService.of(bytes); if (StrUtil.isNotBlank(fileName)) { uploadPretreatment.setOriginalFilename(fileName); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayRefundService.java index 31a56541ed66e100757211678a3b36ff66339306..adae9cd4806a2313ea79bddcf14175773f4eea2f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayRefundService.java @@ -1,13 +1,13 @@ package cn.daxpay.single.service.core.channel.union.service; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import cn.daxpay.single.service.sdk.union.bean.UnionRefundOrder; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import com.egzosn.pay.union.bean.UnionRefundResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java index a9ac01023fa4452165eccfba492ae42dc74daaa8..455fabe2e7ae04a08f20a18510999daf32ca78a8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPayService.java @@ -1,9 +1,11 @@ package cn.daxpay.single.service.core.channel.union.service; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.channel.UnionPayParam; -import cn.daxpay.single.param.payment.pay.PayParam; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.param.channel.UnionPayParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.code.UnionPayWay; import cn.daxpay.single.service.common.context.PayLocal; @@ -12,7 +14,6 @@ import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.sdk.union.api.UnionPayKit; import cn.daxpay.single.service.sdk.union.bean.UnionPayOrder; -import cn.daxpay.single.util.PayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; @@ -45,21 +46,21 @@ public class UnionPayService { public void validation(PayParam payParam, UnionPayConfig unionPayConfig) { if (CollUtil.isEmpty(unionPayConfig.getPayWays())){ - throw new PayFailureException("云闪付未配置可用的支付方式"); + throw new MethodNotEnableException("云闪付未配置可用的支付方式"); } // 发起的支付类型是否在支持的范围内 PayMethodEnum payMethodEnum = Optional.ofNullable(UnionPayWay.findByCode(payParam.getMethod())) - .orElseThrow(() -> new PayFailureException("非法的云闪付支付类型")); + .orElseThrow(() -> new MethodNotExistException("非法的云闪付支付类型")); if (!unionPayConfig.getPayWays().contains(payMethodEnum.getCode())) { - throw new PayFailureException("该云闪付支付方式不可用"); + throw new MethodNotEnableException("该云闪付支付方式不可用"); } // 支付金额是否超限 - if (payParam.getAmount() > unionPayConfig.getSingleLimit()) { - throw new PayFailureException("云闪付支付金额超限"); + if (payParam.getAmount() > unionPayConfig.getLimitAmount()) { + throw new AmountExceedLimitException("云闪付支付金额超限"); } // 分账 if (Objects.equals(payParam.getAllocation(),true)) { - throw new PayFailureException("云闪付不支持分账"); + throw new UnsupportedAbilityException("云闪付不支持分账"); } } @@ -151,7 +152,7 @@ public class UnionPayService { if (!(Objects.equals(resultCode, UnionPayCode.RESP_SUCCESS))) { log.warn("云闪付支付失败:{}", result); String errMsg = MapUtil.getStr(result, UnionPayCode.RESP_MSG); - throw new PayFailureException(errMsg); + throw new TradeFailException(errMsg); } return MapUtil.getStr(result, UnionPayCode.PAY_APP_TN); @@ -187,7 +188,7 @@ public class UnionPayService { if (!unionPayKit.verify(new NoticeParams(result))) { log.warn("云闪付支付验签失败:{}", result); - throw new PayFailureException("云闪付支付验签失败"); + throw new ValidationFailedException("云闪付支付验签失败"); } String resultCode = MapUtil.getStr(result, UnionPayCode.RESP_CODE); @@ -196,7 +197,7 @@ public class UnionPayService { if (!(Objects.equals(resultCode, UnionPayCode.RESP_SUCCESS))) { log.warn("云闪付支付失败:{}", result); String errMsg = MapUtil.getStr(result, UnionPayCode.RESP_MSG); - throw new PayFailureException(errMsg); + throw new TradeFailException(errMsg); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPaySyncService.java index 961dae86c036bb3e0324576f2f1da6c70d065f23..52ea62707617999006c030a4af45cbcfebbb09f6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/union/service/UnionPaySyncService.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.channel.union.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.UnionPayCode; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/entity/WalletConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/entity/WalletConfig.java index fdcb45283140600cfc66a2223e6f74e4c0854158..9657a94caaafdca891fb25efd02d52f3e05e8ec2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/entity/WalletConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/entity/WalletConfig.java @@ -35,7 +35,7 @@ public class WalletConfig extends MpBaseEntity implements EntityBaseFunction<Wal /** 单次支付最多多少金额 */ @DbColumn(comment = "单次支付最多多少金额 ") - private Integer singleLimit; + private Integer limitAmount; /** 可用支付方式 */ @DbColumn(comment = "可用支付方式") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletConfigService.java index 33973de3d5847852a94b4ce5fd2e3e4006aadbc5..825962664a0e1a749448a00992a793eede9d54e5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletConfigService.java @@ -2,7 +2,6 @@ package cn.daxpay.single.service.core.channel.wallet.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.code.WalletPayWay; import cn.daxpay.single.service.core.channel.wallet.dao.WalletConfigManager; import cn.daxpay.single.service.core.channel.wallet.entity.WalletConfig; @@ -15,7 +14,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; /** @@ -56,10 +54,6 @@ public class WalletConfigService { @Transactional(rollbackFor = Exception.class) public void update(WalletConfigParam param){ WalletConfig walletConfig = walletConfigManager.findById(param.getId()).orElseThrow(DataNotExistException::new); - // 启用或停用 - if (!Objects.equals(param.getEnable(), walletConfig.getEnable())){ - payChannelConfigService.setEnable(PayChannelEnum.WALLET.getCode(), param.getEnable()); - } BeanUtil.copyProperties(param,walletConfig); walletConfigManager.updateById(walletConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletQueryService.java index 5d4913b59a069a3c1280cccf162aad0b37c95fe4..85d6231779b6abd82c7b0462db71661a1efcc83e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wallet/service/WalletQueryService.java @@ -4,8 +4,8 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.exception.waller.WalletNotExistsException; -import cn.daxpay.single.param.channel.WalletPayParam; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.param.channel.WalletPayParam; import cn.daxpay.single.service.core.channel.wallet.dao.WalletManager; import cn.daxpay.single.service.core.channel.wallet.entity.Wallet; import cn.daxpay.single.service.dto.channel.wallet.WalletDto; @@ -65,10 +65,10 @@ public class WalletQueryService { Wallet wallet = null; if (Objects.nonNull(param.getWalletId())){ - wallet = walletManager.findById(param.getWalletId()).orElseThrow(WalletNotExistsException::new); + wallet = walletManager.findById(param.getWalletId()).orElseThrow(PayFailureException::new); } if (Objects.isNull(wallet)){ - wallet = walletManager.findByUser(param.getUserId()).orElseThrow(WalletNotExistsException::new); + wallet = walletManager.findByUser(param.getUserId()).orElseThrow(PayFailureException::new); } return wallet; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java index b013f521460031ee0155047b48368bc16a386cd2..1e9fc9a323f378f229da1034f2e0b752bb4cfada 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/entity/WeChatPayConfig.java @@ -4,14 +4,15 @@ import cn.bootx.platform.common.core.annotation.BigField; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.platform.common.mybatisplus.handler.StringListTypeHandler; -import cn.daxpay.single.service.code.WeChatPayCode; -import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; -import cn.daxpay.single.service.core.channel.wechat.convert.WeChatConvert; -import cn.daxpay.single.service.dto.channel.wechat.WeChatPayConfigDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; +import cn.daxpay.single.service.code.WeChatPayCode; +import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; +import cn.daxpay.single.service.core.channel.wechat.convert.WeChatConvert; +import cn.daxpay.single.service.dto.channel.wechat.WeChatPayConfigDto; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -36,11 +37,11 @@ import java.util.Objects; public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction<WeChatPayConfigDto> { /** 微信商户Id */ - @DbColumn(comment = "微信商户号") + @DbColumn(comment = "微信商户号", length = 50) private String wxMchId; /** 微信应用appId */ - @DbColumn(comment = "微信应用appId") + @DbColumn(comment = "微信应用appId", length = 50) private String wxAppId; /** 是否启用 */ @@ -52,8 +53,8 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< private Boolean allocation; /** 支付限额 */ - @DbColumn(comment = "支付限额") - private Integer singleLimit; + @DbColumn(comment = "支付限额", length = 8) + private Integer limitAmount; /** * 服务器异步通知页面路径, 需要填写本网关服务的地址, 不可以直接填写业务系统的地址 @@ -73,6 +74,10 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< @DbColumn(comment = "同步通知路径") private String returnUrl; + /** 授权回调地址 */ + @DbColumn(comment = "授权回调地址", length = 200) + private String redirectUrl; + /** * 接口版本, 使用v2还是v3接口 * @see WeChatPayCode#API_V2 @@ -118,6 +123,11 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< @DbColumn(comment = "备注") private String remark; + @Override + public WeChatPayConfigDto toDto() { + return WeChatConvert.CONVERT.convert(this); + } + public Boolean getAllocation() { return Objects.equals(allocation,true); } @@ -126,9 +136,7 @@ public class WeChatPayConfig extends MpBaseEntity implements EntityBaseFunction< return Objects.equals(enable,true); } - - @Override - public WeChatPayConfigDto toDto() { - return WeChatConvert.CONVERT.convert(this); + public String getRedirectUrl() { + return StrUtil.removeSuffix(redirectUrl, "/"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java index 9f26cdc484c03f212e4af439104b23024353748f..3aae9a26c27faa6fe9a6e738c8ee37fb847d959a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationReceiverService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.channel.wechat.service; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; @@ -20,8 +20,8 @@ import java.util.Arrays; import java.util.List; import java.util.Map; -import static cn.daxpay.single.code.AllocReceiverTypeEnum.WX_MERCHANT; -import static cn.daxpay.single.code.AllocReceiverTypeEnum.WX_PERSONAL; +import static cn.daxpay.single.core.code.AllocReceiverTypeEnum.WX_MERCHANT; +import static cn.daxpay.single.core.code.AllocReceiverTypeEnum.WX_PERSONAL; /** * @@ -109,7 +109,7 @@ public class WeChatPayAllocationReceiverService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("分账绑定或解绑失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new OperationFailException("分账绑定或解绑失败"); } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java index ab0e47b6ba2191b7fe0106a687878f74b894c3c7..ae1cd7e059b424627a8cad85b5228e1c6e629298 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayAllocationService.java @@ -2,13 +2,13 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.exception.OperationFailException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; import cn.daxpay.single.service.dto.channel.wechat.WeChatPayAllocationReceiver; import cn.hutool.core.codec.Base64; @@ -51,8 +51,8 @@ public class WeChatPayAllocationService { * 发起分账 */ @SneakyThrows - public void allocation(AllocationOrder allocationOrder, List<AllocationOrderDetail> orderDetails, WeChatPayConfig config){ - String description = allocationOrder.getDescription(); + public void allocation(AllocOrder allocOrder, List<AllocOrderDetail> orderDetails, WeChatPayConfig config){ + String description = allocOrder.getDescription(); if (StrUtil.isBlank(description)){ description = "分账"; } @@ -74,8 +74,8 @@ public class WeChatPayAllocationService { .mch_id(config.getWxMchId()) .appid(config.getWxAppId()) .nonce_str(WxPayKit.generateStr()) - .transaction_id(allocationOrder.getOutOrderNo()) - .out_order_no(allocationOrder.getAllocationNo()) + .transaction_id(allocOrder.getOutOrderNo()) + .out_order_no(allocOrder.getAllocNo()) .receivers(JSON.toJSONString(list)) .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); @@ -90,14 +90,14 @@ public class WeChatPayAllocationService { /** * 完成分账 */ - public void finish(AllocationOrder allocationOrder, WeChatPayConfig config){ + public void finish(AllocOrder allocOrder, WeChatPayConfig config){ Map<String, String> params = ProfitSharingModel.builder() .mch_id(config.getWxMchId()) .appid(config.getWxAppId()) .nonce_str(WxPayKit.generateStr()) - .transaction_id(allocationOrder.getOutOrderNo()) + .transaction_id(allocOrder.getOutOrderNo()) // 分账要使用单独的的流水号, 不能与分账号相同 - .out_order_no(allocationOrder.getAllocationNo()+'F') + .out_order_no(allocOrder.getAllocNo()+'F') .description("分账已完成") .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); @@ -112,13 +112,13 @@ public class WeChatPayAllocationService { /** * 同步分账状态 */ - public AllocRemoteSyncResult sync(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails, WeChatPayConfig config){ + public AllocRemoteSyncResult sync(AllocOrder allocOrder, List<AllocOrderDetail> allocOrderDetails, WeChatPayConfig config){ // 不要传输AppId参数, 否则会失败 Map<String, String> params = ProfitSharingModel.builder() .mch_id(config.getWxMchId()) .nonce_str(WxPayKit.generateStr()) - .transaction_id(allocationOrder.getOutOrderNo()) - .out_order_no(allocationOrder.getAllocationNo()) + .transaction_id(allocOrder.getOutOrderNo()) + .out_order_no(allocOrder.getAllocNo()) .build() .createSign(config.getApiKeyV2(), SignType.HMACSHA256); String xmlResult = WxPayApi.profitSharingQuery(params); @@ -126,11 +126,11 @@ public class WeChatPayAllocationService { this.verifyErrorMsg(result); String json = result.get(WeChatPayCode.ALLOC_RECEIVERS); List<WeChatPayAllocationReceiver> receivers = JSONUtil.toBean(json, new TypeReference<List<WeChatPayAllocationReceiver>>() {}, false); - Map<String, AllocationOrderDetail> detailMap = allocationOrderDetails.stream() - .collect(Collectors.toMap(AllocationOrderDetail::getReceiverAccount, Function.identity(), CollectorsFunction::retainLatest)); + Map<String, AllocOrderDetail> detailMap = allocOrderDetails.stream() + .collect(Collectors.toMap(AllocOrderDetail::getReceiverAccount, Function.identity(), CollectorsFunction::retainLatest)); // 根据明细更新订单明细内容 for (WeChatPayAllocationReceiver receiver : receivers) { - AllocationOrderDetail detail = detailMap.get(receiver.getAccount()); + AllocOrderDetail detail = detailMap.get(receiver.getAccount()); if (Objects.nonNull(detail)){ detail.setResult(this.getDetailResultEnum(receiver.getResult()).getCode()); detail.setErrorMsg(receiver.getFailReason()); @@ -157,7 +157,7 @@ public class WeChatPayAllocationService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("分账操作失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new OperationFailException("分账操作失败"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCallbackService.java index c75d17c110ce9ea600a20e72c353b8d8cd1cca0b..35ed433b1e51f6ac6e2b94b96e767ff331b45ace 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCallbackService.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java index b14142df73cc6ef91ea37aebec7fbc89b57b3a16..26b9a5fed3f20a08a30dacb4410dbabd582b09ae 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayCloseService.java @@ -1,10 +1,12 @@ package cn.daxpay.single.service.core.channel.wechat.service; -import cn.bootx.platform.common.spring.exception.RetryableException; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.ConfigErrorException; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; +import cn.hutool.core.codec.Base64; import cn.hutool.core.util.StrUtil; import com.ijpay.core.enums.SignType; import com.ijpay.core.kit.WxPayKit; @@ -12,9 +14,9 @@ import com.ijpay.wxpay.WxPayApi; import com.ijpay.wxpay.model.CloseOrderModel; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.retry.annotation.Retryable; import org.springframework.stereotype.Service; +import java.io.ByteArrayInputStream; import java.util.Map; /** @@ -31,7 +33,6 @@ public class WeChatPayCloseService { /** * 关闭支付, 微信对已经关闭的支付单也可以重复关闭 */ - @Retryable(value = RetryableException.class) public void close(PayOrder payOrder, WeChatPayConfig weChatPayConfig) { // 只有部分需要调用微信网关进行关闭 Map<String, String> params = CloseOrderModel.builder() @@ -47,6 +48,32 @@ public class WeChatPayCloseService { this.verifyErrorMsg(result); } + /** + * 撤销接口 + */ + public void cancel(PayOrder payOrder, WeChatPayConfig weChatPayConfig){ + // 只有部分需要调用微信网关进行关闭 + Map<String, String> params = CloseOrderModel.builder() + .appid(weChatPayConfig.getWxAppId()) + .mch_id(weChatPayConfig.getWxMchId()) + .out_trade_no(payOrder.getOrderNo()) + .nonce_str(WxPayKit.generateStr()) + .build() + .createSign(weChatPayConfig.getApiKeyV2(), SignType.HMACSHA256); + + // 获取证书文件 + if (StrUtil.isBlank(weChatPayConfig.getP12())){ + String errorMsg = "微信p.12证书未配置,无法进行退款"; + throw new ConfigErrorException(errorMsg); + } + byte[] fileBytes = Base64.decode(weChatPayConfig.getP12()); + ByteArrayInputStream inputStream = new ByteArrayInputStream(fileBytes); + // 证书密码为 微信商户号 + String xmlResult = WxPayApi.orderReverse(params,inputStream,weChatPayConfig.getWxMchId()); + Map<String, String> result = WxPayKit.xmlToMap(xmlResult); + this.verifyErrorMsg(result); + } + /** * 验证错误信息 */ @@ -59,7 +86,7 @@ public class WeChatPayCloseService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("订单关闭失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new OperationFailException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java index f5a001f2765bf5cf2925d7da0292baa7ec6cae7b..83a9d2b8775caf8bc941cc55506b2f9aa7964827 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayConfigService.java @@ -2,12 +2,11 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.rest.dto.LabelValue; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; import cn.daxpay.single.service.code.WeChatPayWay; import cn.daxpay.single.service.core.channel.wechat.dao.WeChatPayConfigManager; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.service.core.system.config.service.PayChannelConfigService; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.wechat.WeChatPayConfigParam; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; @@ -17,7 +16,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; /** @@ -33,18 +31,15 @@ public class WeChatPayConfigService { /** 默认微信支付配置的主键ID */ private final static Long ID = 0L; private final WeChatPayConfigManager weChatPayConfigManager; - private final PayChannelConfigService payChannelConfigService; + + private final PlatformConfigService platformConfigService; /** * 修改 */ @Transactional(rollbackFor = Exception.class) public void update(WeChatPayConfigParam param) { - WeChatPayConfig weChatPayConfig = weChatPayConfigManager.findById(ID).orElseThrow(() -> new PayFailureException("微信支付配置不存在")); - // 启用或停用 - if (!Objects.equals(param.getEnable(), weChatPayConfig.getEnable())){ - payChannelConfigService.setEnable(PayChannelEnum.WECHAT.getCode(), param.getEnable()); - } + WeChatPayConfig weChatPayConfig = weChatPayConfigManager.findById(ID).orElseThrow(() -> new ConfigNotEnableException("微信支付配置不存在")); BeanUtil.copyProperties(param, weChatPayConfig, CopyOptions.create().ignoreNullValue()); weChatPayConfigManager.updateById(weChatPayConfig); } @@ -63,7 +58,7 @@ public class WeChatPayConfigService { public WeChatPayConfig getAndCheckConfig(){ WeChatPayConfig weChatPayConfig = getConfig(); if (!weChatPayConfig.getEnable()){ - throw new PayFailureException("微信支付未启用"); + throw new ConfigNotEnableException("微信支付未启用"); } return weChatPayConfig; } @@ -79,4 +74,18 @@ public class WeChatPayConfigService { .collect(Collectors.toList()); } + /** + * 生成微信通知地址 + */ + public String generateNotifyUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/callback/wechat"; + } + + /** + * 生成同步跳转地址 + */ + public String generateReturnUrl(){ + return platformConfigService.getConfig().getWebsiteUrl() + "/unipay/return/wechat"; + } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java similarity index 94% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java index 074ce4dddf2ef2ea02b37f9c0d2a79f88bf5d8e4..eb70c66f5dd6275339947fead462d70eb176c727 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayReconcileService.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.ReconcileTradeEnum; +import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -14,10 +14,9 @@ import cn.daxpay.single.service.core.channel.wechat.entity.WxReconcileBillDetail import cn.daxpay.single.service.core.channel.wechat.entity.WxReconcileBillTotal; import cn.daxpay.single.service.core.channel.wechat.entity.WxReconcileFundFlowDetail; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; -import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.hutool.core.codec.Base64; import cn.hutool.core.date.DatePattern; import cn.hutool.core.io.IoUtil; @@ -60,7 +59,7 @@ import static cn.daxpay.single.service.code.WeChatPayCode.ACCOUNT_TYPE_BASIC; @Slf4j @Service @RequiredArgsConstructor -public class WechatPayReconcileService{ +public class WeChatPayReconcileService { private final WxReconcileBillTotalManger reconcileBillTotalManger; private final WxReconcileBillDetailManager reconcileBillDetailManager; private final FileStorageService fileStorageService; @@ -282,16 +281,16 @@ public class WechatPayReconcileService{ if (Objects.equals(errCode, "20002")){ if (Objects.equals("No Bill Exist",resultMsg)){ log.warn("交易账单不存在, 请检查当前商户号在指定日期内是否有成功的交易"); - throw new PayFailureException("交易账单不存在"); + throw new OperationFailException("交易账单不存在, 请检查当前商户号在指定日期内是否有成功的交易"); } if (Objects.equals("Bill Creating",resultMsg)){ log.warn("交易账单未生成, 请在上午10点以后再试"); - throw new PayFailureException("交易账单未生成, 请在上午10点以后再试"); + throw new OperationFailException("交易账单未生成, 请在上午10点以后再试"); } } else { log.error("微信交易对账失败, 原因: {}, 错误码: {}, 错误信息: {}", resultMsg, errCode, res); - throw new PayFailureException("微信支付交易对账失败"); + throw new OperationFailException("微信支付交易对账失败"); } } @@ -311,7 +310,7 @@ public class WechatPayReconcileService{ errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("微信资金对账失败, 原因: {}, 错误码: {}, 错误信息: {}", errorMsg, returnCode, res); - throw new PayFailureException("微信资金对账失败: " + errorMsg); + throw new OperationFailException("微信资金对账失败: " + errorMsg); } @@ -320,10 +319,9 @@ public class WechatPayReconcileService{ */ private void saveOriginalFile(ReconcileOrder reconcileOrder, String text) { // 微信接收结果转换为 byte[] - PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 - String fileName = StrUtil.format("交易对账单-{}-{}.txt", channelEnum.getName(),date); + String fileName = StrUtil.format("交易对账单-微信-{}.txt",date); byte[] bytes = StrUtil.bytes(text, CharsetUtil.CHARSET_UTF_8); UploadPretreatment uploadPretreatment = fileStorageService.of(bytes); if (StrUtil.isNotBlank(fileName)) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java similarity index 80% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java index d8dbd7f5af751ffce56c3d3ba1ecc45bffd780b0..c237f5692a35c9fadbc204c32748ebe7c6d6dc15 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WechatPayRefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayRefundService.java @@ -1,7 +1,9 @@ package cn.daxpay.single.service.core.channel.wechat.service; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.exception.ConfigErrorException; +import cn.daxpay.single.core.exception.TradeFailException; +import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; @@ -18,7 +20,6 @@ import org.springframework.stereotype.Service; import java.io.ByteArrayInputStream; import java.util.Map; -import java.util.Optional; import static cn.daxpay.single.service.code.WeChatPayCode.*; @@ -30,7 +31,7 @@ import static cn.daxpay.single.service.code.WeChatPayCode.*; @Slf4j @Service @RequiredArgsConstructor -public class WechatPayRefundService { +public class WeChatPayRefundService { /** * 退款方法 @@ -41,6 +42,7 @@ public class WechatPayRefundService { String totalFee = String.valueOf(refundOrder.getAmount()); // 设置退款信息 RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); Map<String, String> params = RefundModel.builder() .appid(weChatPayConfig.getWxAppId()) .mch_id(weChatPayConfig.getWxMchId()) @@ -55,9 +57,9 @@ public class WechatPayRefundService { // 获取证书文件 if (StrUtil.isBlank(weChatPayConfig.getP12())){ String errorMsg = "微信p.12证书未配置,无法进行退款"; - refundInfo.setErrorMsg(errorMsg); - refundInfo.setErrorCode(RefundStatusEnum.FAIL.getCode()); - throw new PayFailureException(errorMsg); + ConfigErrorException configErrorException = new ConfigErrorException(errorMsg); + errorInfo.setException(configErrorException); + throw configErrorException; } byte[] fileBytes = Base64.decode(weChatPayConfig.getP12()); ByteArrayInputStream inputStream = new ByteArrayInputStream(fileBytes); @@ -82,10 +84,10 @@ public class WechatPayRefundService { errorMsg = result.get(RETURN_MSG); } log.error("订单退款失败 {}", errorMsg); - RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); - refundInfo.setErrorMsg(errorMsg); - refundInfo.setErrorCode(Optional.ofNullable(resultCode).orElse(returnCode)); - throw new PayFailureException(errorMsg); + TradeFailException tradeFailException = new TradeFailException(errorMsg); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); + errorInfo.setException(tradeFailException); + throw tradeFailException; } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java index 6771709f3b26dbbd2d0288470a7b11945707cd32..ecad1cd0fb6c32883e121c298e5585062b16803b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayService.java @@ -4,10 +4,11 @@ import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.common.jackson.util.JacksonUtil; import cn.bootx.platform.common.spring.exception.RetryableException; -import cn.daxpay.single.code.PayMethodEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.result.sync.PaySyncResult; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.result.sync.PaySyncResult; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.code.WeChatPayWay; import cn.daxpay.single.service.common.context.PayLocal; @@ -17,7 +18,6 @@ import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; import cn.daxpay.single.service.param.channel.wechat.WeChatPayParam; import cn.daxpay.single.service.sdk.wechat.BarPayModel; -import cn.daxpay.single.util.PayUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.net.NetUtil; import cn.hutool.core.util.StrUtil; @@ -39,7 +39,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; -import static cn.daxpay.single.code.PaySyncStatusEnum.PROGRESS; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.PROGRESS; import static com.ijpay.wxpay.model.UnifiedOrderModel.UnifiedOrderModelBuilder; import static com.ijpay.wxpay.model.UnifiedOrderModel.builder; @@ -62,21 +62,21 @@ public class WeChatPayService { public void validation(PayParam payParam, WeChatPayConfig weChatPayConfig) { List<String> payWays = weChatPayConfig.getPayWays(); if (CollUtil.isEmpty(payWays)){ - throw new PayFailureException("未配置微信支付方式"); + throw new ConfigNotEnableException("未配置微信支付方式"); } PayMethodEnum payMethodEnum = Optional.ofNullable(WeChatPayWay.findByCode(payParam.getMethod())) - .orElseThrow(() -> new PayFailureException("非法的微信支付类型")); + .orElseThrow(() -> new MethodNotExistException("非法的微信支付类型")); if (!payWays.contains(payMethodEnum.getCode())) { - throw new PayFailureException("该微信支付方式不可用"); + throw new MethodNotEnableException("该微信支付方式不可用"); } // 支付金额是否超限 - if (payParam.getAmount() > weChatPayConfig.getSingleLimit()) { - throw new PayFailureException("微信支付金额超限"); + if (payParam.getAmount() > weChatPayConfig.getLimitAmount()) { + throw new AmountExceedLimitException("微信支付金额超限"); } // 是否支持分账 if (Objects.equals(payParam.getAllocation(),true) && !Objects.equals(weChatPayConfig.getAllocation(),true)) { - throw new PayFailureException("未开启分账配置"); + throw new ConfigNotEnableException("未开启分账配置"); } } @@ -203,14 +203,18 @@ public class WeChatPayService { // 支付失败 if (!WxPayKit.codeIsOk(returnCode)) { String errorMsg = result.get(WeChatPayCode.ERR_CODE_DES); - throw new PayFailureException(errorMsg); + throw new TradeFailException(errorMsg); } String resultCode = result.get(WeChatPayCode.RESULT_CODE); String errCode = result.get(WeChatPayCode.ERR_CODE); // 支付成功处理, if (Objects.equals(resultCode, WeChatPayCode.PAY_SUCCESS)) { - payInfo.setOutOrderNo(result.get(WeChatPayCode.TRANSACTION_ID)).setComplete(true); + String timeEnd = result.get(WeChatPayCode.TIME_END); + LocalDateTime time = LocalDateTimeUtil.parse(timeEnd, DatePattern.PURE_DATETIME_PATTERN); + payInfo.setOutOrderNo(result.get(WeChatPayCode.TRANSACTION_ID)) + .setCompleteTime(time) + .setComplete(true); return; } // 支付中, 发起轮训同步 @@ -222,13 +226,13 @@ public class WeChatPayService { } // 支付撤销 if (Objects.equals(resultCode, WeChatPayCode.PAY_REVOKED)) { - throw new PayFailureException("用户已撤销支付"); + throw new TradeStatusErrorException("用户已撤销支付"); } // 支付失败 if (Objects.equals(resultCode, WeChatPayCode.TRADE_PAYERROR) || Objects.equals(resultCode, WeChatPayCode.PAY_FAIL)) { String errorMsg = result.get(WeChatPayCode.ERR_CODE_DES); - throw new PayFailureException(errorMsg); + throw new TradeFailException(errorMsg); } } @@ -265,7 +269,7 @@ public class WeChatPayService { errorMsg = result.get(WeChatPayCode.RETURN_MSG); } log.error("支付失败 {}", errorMsg); - throw new PayFailureException(errorMsg); + throw new TradeFailException(errorMsg); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPaySyncService.java index 0b034a22fb8a52106efbf70688354a61debdae4e..30cb1a282e1931de5a502ff38c6f348eaca49fd7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPaySyncService.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.channel.wechat.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.WeChatPayCode; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java new file mode 100644 index 0000000000000000000000000000000000000000..b3a4a1f1ff7c4e61d3921dc021e24be944d5154d --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/channel/wechat/service/WeChatPayTransferService.java @@ -0,0 +1,28 @@ +package cn.daxpay.single.service.core.channel.wechat.service; + +import cn.daxpay.single.core.exception.UnsupportedAbilityException; +import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * 微信转账到零钱 + * @author xxm + * @since 2024/6/14 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class WeChatPayTransferService { + + /** + * 转账接口 + */ + @SneakyThrows + public void transfer(TransferOrder order, WeChatPayConfig config) { + throw new UnsupportedAbilityException("微信转账暂未实现"); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java new file mode 100644 index 0000000000000000000000000000000000000000..75972fa50ddb7da49454fab719f961ea297ee541 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/AliPayAuthService.java @@ -0,0 +1,121 @@ +package cn.daxpay.single.service.core.extra; + +import cn.bootx.platform.common.core.exception.BizException; +import cn.bootx.platform.common.redis.RedisClient; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; +import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; +import cn.daxpay.single.service.core.system.config.entity.PlatformConfig; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; +import cn.daxpay.single.service.dto.extra.AuthUrlResult; +import cn.daxpay.single.service.dto.extra.OpenIdResult; +import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; +import com.alipay.api.AlipayClient; +import com.alipay.api.request.AlipaySystemOauthTokenRequest; +import com.alipay.api.response.AlipaySystemOauthTokenResponse; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * 支付宝认证服务类 + * @author xxm + * @since 2024/6/16 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class AliPayAuthService { + + public static final String OPEN_ID_KEY_PREFIX = "daxpay:wechat:openId:"; + + private final AliPayConfigService aliPayConfigService; + + private final PlatformConfigService platformsConfigService; + + private final RedisClient redisClient; + + /** + * 根据传入的标识码code生成一个用于微信授权页面的链接 + */ + public AuthUrlResult generateAuthUrl() { + PlatformConfig platformConfig = platformsConfigService.getConfig(); + AliPayConfig aliPayConfig = aliPayConfigService.getConfig(); + String code = RandomUtil.randomString(10); + // 默认读取通道配置 + String serverUrl = aliPayConfig.getRedirectUrl(); + // 如果未配置, 读取平台配置 + if (StrUtil.isBlank(serverUrl)) { + serverUrl = platformConfig.getWebsiteUrl(); + } + // 构建出授权成功后重定向页面链接 + String redirectUrl = StrUtil.format("{}/unipay/callback/alipay/auth/{}", serverUrl, code); + // 构造出授权页地址 + String authUrl = StrUtil.format("{}/h5/alipayAuth.html?appId={}&redirectUrl={}", + serverUrl, aliPayConfig.getAppId(), redirectUrl); + // 写入Redis, 五分钟有效期 + redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, "", 5*60*1000L); + return new AuthUrlResult() + .setCode(code) + .setAuthUrl(authUrl); + } + + /** + * 支付宝权回调页面, 通过获取到authCode获取到OpenId, 存到到Redis中对应code关联的键值对中 + * @param authCode 微信返回的授权码 + * @param code 标识码 + */ + public void authCallback(String authCode, String code) { + // 获取OpenId或UserId + String openId = this.getOpenIdOrUserId(authCode); + // 写入Redis + redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, openId, 60*1000L); + } + + /** + * 通过标识码轮训获取OpenId或UserId + */ + public OpenIdResult queryOpenId(String code) { + // 从redis中获取 + String openId = redisClient.get(OPEN_ID_KEY_PREFIX + code); + // 不为空存在 + if (StrUtil.isNotBlank(openId)){ + return new OpenIdResult().setOpenId(openId).setStatus("success"); + } + // 为空获取中 + if (Objects.equals(openId, "")){ + return new OpenIdResult().setStatus("pending"); + } + // null不存在 + return new OpenIdResult().setStatus("fail"); + } + + + /** + * 获取OpenId或者userid用户标识 + */ + @SneakyThrows + public String getOpenIdOrUserId(String authCode) { + // 初始化SDK + AlipayClient alipayClient = aliPayConfigService.getAlipayClient(); + // 构造请求参数以调用接口 + AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); + // 设置授权码 + request.setCode(authCode); + // 设置授权方式 + request.setGrantType("authorization_code"); + AlipaySystemOauthTokenResponse response = alipayClient.execute(request); + if (!response.isSuccess()) { + log.warn("获取支付宝OpenId失败,原因:{}", response.getSubMsg()); + throw new BizException("获取支付宝OpenId失败"); + } + // 如果未申请 OpenId 方式, 则获取的是UserId + if (StrUtil.isBlank(response.getOpenId())) { + return response.getUserId(); + } + return response.getOpenId(); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/assist/service/UniPayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java similarity index 40% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/assist/service/UniPayAssistService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java index 95b29ced3769499dce303a6254ae68f3f4ac3b9b..a1b494e522f28c62cbbd5de5fccebac1672ca565 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/assist/service/UniPayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/extra/WeChatAuthService.java @@ -1,11 +1,18 @@ -package cn.daxpay.single.service.core.payment.assist.service; +package cn.daxpay.single.service.core.extra; -import cn.daxpay.single.param.assist.WxAccessTokenParam; -import cn.daxpay.single.param.assist.WxAuthUrlParam; -import cn.daxpay.single.result.assist.WxAccessTokenResult; -import cn.daxpay.single.result.assist.WxAuthUrlResult; +import cn.bootx.platform.common.redis.RedisClient; +import cn.daxpay.single.core.param.assist.WxAccessTokenParam; +import cn.daxpay.single.core.param.assist.WxAuthUrlParam; +import cn.daxpay.single.core.result.assist.WxAccessTokenResult; +import cn.daxpay.single.core.result.assist.WxAuthUrlResult; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; +import cn.daxpay.single.service.core.system.config.entity.PlatformConfig; +import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; +import cn.daxpay.single.service.dto.extra.AuthUrlResult; +import cn.daxpay.single.service.dto.extra.OpenIdResult; +import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; @@ -16,6 +23,8 @@ import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; import org.springframework.stereotype.Service; +import java.util.Objects; + /** * 支付支撑服务类 * @author xxm @@ -24,9 +33,16 @@ import org.springframework.stereotype.Service; @Slf4j @Service @RequiredArgsConstructor -public class UniPayAssistService { +public class WeChatAuthService { + + public static final String OPEN_ID_KEY_PREFIX = "daxpay:wechat:openId:"; + private final WeChatPayConfigService weChatPayConfigService; + private final PlatformConfigService platformsConfigService; + + private final RedisClient redisClient; + /** * 构建微信oauth2授权的url连接 */ @@ -49,6 +65,63 @@ public class UniPayAssistService { .setOpenId(accessToken.getOpenId()); } + /** + * 生成一个用于微信授权页面的链接和code标识 + */ + public AuthUrlResult generateAuthUrl() { + PlatformConfig platformConfig = platformsConfigService.getConfig(); + WeChatPayConfig weChatPayConfig = weChatPayConfigService.getConfig(); + String code = RandomUtil.randomString(10); + // 默认读取通道配置 + String serverUrl = weChatPayConfig.getRedirectUrl(); + // 如果未配置, 读取平台配置 + if (StrUtil.isBlank(serverUrl)) { + serverUrl = platformConfig.getWebsiteUrl(); + } + // 构建出授权后重定向页面链接 + String redirectUrl = StrUtil.format("{}/unipay/callback/wechat/auth/{}", serverUrl, code); + WxAuthUrlResult result = this.getWxAuthUrl(new WxAuthUrlParam().setUrl(redirectUrl)); + + // 写入Redis, 五分钟有效期 + redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, "", 5*60*1000L); + return new AuthUrlResult() + .setCode(code) + .setAuthUrl(result.getUrl()); + } + + /** + * 微信授权回调页面, 通过获取到authCode获取到OpenId, 存到到Redis中对应code关联的键值对中 + * @param authCode 微信返回的授权码 + * @param code 标识码 + */ + public void authCallback(String authCode, String code) { + // 获取OpenId + WxAccessTokenParam param = new WxAccessTokenParam(); + param.setCode(authCode); + WxAccessTokenResult wxAccessToken = this.getWxAccessToken(new WxAccessTokenParam().setCode(authCode)); + // 写入Redis + redisClient.setWithTimeout(OPEN_ID_KEY_PREFIX + code, wxAccessToken.getOpenId(), 60*1000L); + } + + /** + * 通过标识码轮训获取OpenId + */ + public OpenIdResult queryOpenId(String code) { + // 从redis中获取 + String openId = redisClient.get(OPEN_ID_KEY_PREFIX + code); + // 不为空存在 + if (StrUtil.isNotBlank(openId)){ + return new OpenIdResult().setOpenId(openId).setStatus("success"); + } + // 为空获取中 + if (Objects.equals(openId, "")){ + return new OpenIdResult().setStatus("pending"); + } + // null不存在 + return new OpenIdResult().setStatus("fail"); + } + + /** * 获取微信公众号API的Service */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java index a1774fe10817c6ccdf078a1b30c715bcbf2f7588..830f5453622b9f94a9c5b7ea21b1bcb6130faed0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeRecord.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.notice.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.service.code.ClientNoticeSendTypeEnum; import cn.daxpay.single.service.core.notice.convert.ClientNoticeConvert; import cn.daxpay.single.service.dto.record.notice.ClientNoticeRecordDto; @@ -25,30 +26,31 @@ import lombok.experimental.Accessors; public class ClientNoticeRecord extends MpCreateEntity implements EntityBaseFunction<ClientNoticeRecordDto> { /** 任务ID */ - @DbColumn(comment = "任务ID") + @DbMySqlIndex(comment = "任务ID索引") + @DbColumn(comment = "任务ID", isNull = false) private Long taskId; /** 请求次数 */ - @DbColumn(comment = "请求次数") + @DbColumn(comment = "请求次数", length = 3) private Integer reqCount; /** 发送是否成功 */ - @DbColumn(comment = "发送是否成功") + @DbColumn(comment = "发送是否成功", isNull = false) private boolean success; /** * 发送类型, 自动发送, 手动发送 * @see ClientNoticeSendTypeEnum */ - @DbColumn(comment = "发送类型") + @DbColumn(comment = "发送类型", length = 20, isNull = false) private String sendType; - /** 错误编码 */ - @DbColumn(comment = "错误编码") + /** 错误码 */ + @DbColumn(comment = "错误码", length = 10) private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息") + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java index 6e2513417022d695242da533e5c727ebc6ab4638..6bdbbcf6ccaf9ac5274a41f8e9dcec84c4281059 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/notice/entity/ClientNoticeTask.java @@ -5,14 +5,15 @@ import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.result.order.AllocOrderResult; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.result.order.AllocOrderResult; import cn.daxpay.single.service.code.ClientNoticeTypeEnum; +import cn.daxpay.single.service.core.notice.convert.ClientNoticeConvert; import cn.daxpay.single.service.core.payment.notice.result.PayNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.RefundNoticeResult; -import cn.daxpay.single.service.core.notice.convert.ClientNoticeConvert; import cn.daxpay.single.service.dto.record.notice.ClientNoticeTaskDto; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -34,18 +35,19 @@ import java.time.LocalDateTime; public class ClientNoticeTask extends MpBaseEntity implements EntityBaseFunction<ClientNoticeTaskDto> { /** 本地交易ID */ - @DbColumn(comment = "本地交易ID") + @DbColumn(comment = "本地交易ID", isNull = false) private Long tradeId; /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** * 消息类型 * @see ClientNoticeTypeEnum */ - @DbColumn(comment = "消息类型") + @DbColumn(comment = "消息类型", length = 20, isNull = false) private String noticeType; /** @@ -53,7 +55,7 @@ public class ClientNoticeTask extends MpBaseEntity implements EntityBaseFunction * @see PayStatusEnum * @see RefundStatusEnum */ - @DbColumn(comment = "交易状态") + @DbColumn(comment = "交易状态", length = 20, isNull = false) private String tradeStatus; /** @@ -62,20 +64,20 @@ public class ClientNoticeTask extends MpBaseEntity implements EntityBaseFunction * @see RefundNoticeResult * @see AllocOrderResult */ - @DbColumn(comment = "消息内容") + @DbColumn(comment = "消息内容", isNull = false) @DbMySqlFieldType(MySqlFieldTypeEnum.LONGTEXT) private String content; /** 是否发送成功 */ - @DbColumn(comment = "是否发送成功") + @DbColumn(comment = "是否发送成功", isNull = false) private boolean success; /** 发送次数 */ - @DbColumn(comment = "发送次数") + @DbColumn(comment = "发送次数", length = 3, isNull = false) private Integer sendCount; /** 发送地址 */ - @DbColumn(comment = "发送地址") + @DbColumn(comment = "发送地址", length = 150, isNull = false) private String url; /** 最后发送时间 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java similarity index 40% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java index 014014cbb00293bcd0f68d051067f13fd7523ef5..e0c2a2348da321cf8ac48a4dfd811bd9fb8ab0e5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocationConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/convert/AllocOrderConvert.java @@ -1,15 +1,13 @@ package cn.daxpay.single.service.core.order.allocation.convert; -import cn.daxpay.single.result.order.AllocOrderDetailResult; -import cn.daxpay.single.result.order.AllocOrderResult; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; +import cn.daxpay.single.core.result.order.AllocOrderDetailResult; +import cn.daxpay.single.core.result.order.AllocOrderResult; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.notice.result.AllocDetailNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.AllocNoticeResult; +import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderExtraDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -19,21 +17,19 @@ import org.mapstruct.factory.Mappers; * @since 2024/4/7 */ @Mapper -public interface AllocationConvert { - AllocationConvert CONVERT = Mappers.getMapper(AllocationConvert.class); +public interface AllocOrderConvert { + AllocOrderConvert CONVERT = Mappers.getMapper(AllocOrderConvert.class); - AllocationOrderDto convert(AllocationOrder in); + AllocOrderDto convert(AllocOrder in); - AllocationOrderExtraDto convert(AllocationOrderExtra in); + AllocOrderResult toResult(AllocOrder in); - AllocOrderResult toResult(AllocationOrder in); + AllocOrderDetailResult toResult(AllocOrderDetail in); - AllocOrderDetailResult toResult(AllocationOrderDetail in); + AllocationOrderDetailDto convert(AllocOrderDetail in); - AllocationOrderDetailDto convert(AllocationOrderDetail in); + AllocNoticeResult toNotice(AllocOrder in); - AllocNoticeResult toNotice(AllocationOrder in); - - AllocDetailNoticeResult toNotice(AllocationOrderDetail in); + AllocDetailNoticeResult toNotice(AllocOrderDetail in); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailManager.java similarity index 62% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailManager.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailManager.java index 0b3918eedbefbf6826c5300a22d42b8b38a37e9c..5494034bad2112be45ff073bb12770c79601db8d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailManager.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.order.allocation.dao; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; @@ -16,12 +16,12 @@ import java.util.List; @Slf4j @Repository @RequiredArgsConstructor -public class AllocationOrderDetailManager extends BaseManager<AllocationOrderDetailMapper, AllocationOrderDetail> { +public class AllocOrderDetailManager extends BaseManager<AllocOrderDetailMapper, AllocOrderDetail> { /** * 根据订单ID查询 */ - public List<AllocationOrderDetail> findAllByOrderId(Long orderId) { - return findAllByField(AllocationOrderDetail::getAllocationId, orderId); + public List<AllocOrderDetail> findAllByOrderId(Long orderId) { + return findAllByField(AllocOrderDetail::getAllocationId, orderId); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailMapper.java similarity index 72% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailMapper.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailMapper.java index 2eb08e6b04a23a25e1b6ebbf56d7fbde2a96e855..c3952be42606afe4629a2538281369500371215c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderDetailMapper.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderDetailMapper.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.order.allocation.dao; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @since 2024/4/7 */ @Mapper -public interface AllocationOrderDetailMapper extends BaseMapper<AllocationOrderDetail> { +public interface AllocOrderDetailMapper extends BaseMapper<AllocOrderDetail> { } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderMapper.java similarity index 75% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderMapper.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderMapper.java index 0047ab8072665e0381778a74daeb35285ac2886c..847548f9386cc9d8276c73be7e5ae5ce88e53364 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderMapper.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocOrderMapper.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.order.allocation.dao; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Mapper; * @since 2024/4/7 */ @Mapper -public interface AllocationOrderMapper extends BaseMapper<AllocationOrder> { +public interface AllocOrderMapper extends BaseMapper<AllocOrder> { } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraManager.java deleted file mode 100644 index d6c80f39d71b7194d07ba523f8e2b9e28b7670a4..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraManager.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.core.order.allocation.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * 分账订单扩展 - * @author xxm - * @since 2024/5/22 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class AllocationOrderExtraManager extends BaseManager<AllocationOrderExtraMapper, AllocationOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraMapper.java deleted file mode 100644 index df857daa0639080a3caedeb1adb794948fd83844..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderExtraMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.order.allocation.dao; - -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 分账订单扩展 - * @author xxm - * @since 2024/5/22 - */ -@Mapper -public interface AllocationOrderExtraMapper extends BaseMapper<AllocationOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java index 542ff8bc173d6193c7fca2f7bd67d82131d486c5..1ed50d2dcab61a52d035aa87bcf7368c76ed38c2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/dao/AllocationOrderManager.java @@ -4,9 +4,9 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.common.query.generator.QueryGenerator; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.param.order.AllocationOrderQuery; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.param.order.AllocOrderQuery; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; @@ -25,38 +25,38 @@ import java.util.Optional; @Slf4j @Repository @RequiredArgsConstructor -public class AllocationOrderManager extends BaseManager<AllocationOrderMapper, AllocationOrder> { +public class AllocationOrderManager extends BaseManager<AllocOrderMapper, AllocOrder> { /** * 根据分账单号查询 */ - public Optional<AllocationOrder> findByAllocationNo(String allocationNo){ - return findByField(AllocationOrder::getAllocationNo, allocationNo); + public Optional<AllocOrder> findByAllocNo(String allocNo){ + return findByField(AllocOrder::getAllocNo, allocNo); } /** * 根据商户分账号查询 */ - public Optional<AllocationOrder> findByBizAllocationNo(String bizAllocationNo){ - return findByField(AllocationOrder::getBizAllocationNo, bizAllocationNo); + public Optional<AllocOrder> findByBizAllocNo(String bizAllocNo){ + return findByField(AllocOrder::getBizAllocNo, bizAllocNo); } /** * 分页 */ - public Page<AllocationOrder> page(PageParam pageParam, AllocationOrderQuery param){ - Page<AllocationOrder> mpPage = MpUtil.getMpPage(pageParam, AllocationOrder.class); - QueryWrapper<AllocationOrder> generator = QueryGenerator.generator(param); + public Page<AllocOrder> page(PageParam pageParam, AllocOrderQuery param){ + Page<AllocOrder> mpPage = MpUtil.getMpPage(pageParam, AllocOrder.class); + QueryWrapper<AllocOrder> generator = QueryGenerator.generator(param); return this.page(mpPage, generator); } /** * 查询待同步的分账单 */ - public List<AllocationOrder> findSyncOrder(){ + public List<AllocOrder> findSyncOrder(){ List<String> statusList = Arrays.asList(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode(), AllocOrderStatusEnum.ALLOCATION_END.getCode()); return lambdaQuery() - .in(AllocationOrder::getStatus, statusList) + .in(AllocOrder::getStatus, statusList) .list(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java similarity index 40% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java index e5b900b5f0ae83b92542c5e02a296c921490f8f9..e7858086df38cc099dda2194362fd1122b8322a8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrder.java @@ -4,11 +4,12 @@ import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; +import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -27,111 +28,121 @@ import java.time.LocalDateTime; @Data @Accessors(chain = true) @DbTable(comment = "分账订单") -@TableName("pay_allocation_order") -public class AllocationOrder extends MpBaseEntity implements EntityBaseFunction<AllocationOrderDto> { +@TableName("pay_alloc_order") +public class AllocOrder extends MpBaseEntity implements EntityBaseFunction<AllocOrderDto> { /** * 分账单号 */ - @DbColumn(comment = "分账单号") - private String allocationNo; + @DbMySqlIndex(comment = "分账单号索引") + @DbColumn(comment = "分账单号", length = 32, isNull = false) + private String allocNo; /** * 商户分账单号 */ - @DbColumn(comment = "商户分账单号") - private String bizAllocationNo; + @DbMySqlIndex(comment = "商户分账单号索引") + @DbColumn(comment = "商户分账单号", length = 100, isNull = false) + private String bizAllocNo; /** * 通道分账号 */ - @DbColumn(comment = "通道分账号") - private String outAllocationNo; + @DbMySqlIndex(comment = "通道分账号索引") + @DbColumn(comment = "通道分账号", length = 150) + private String outAllocNo; /** 支付订单ID */ - @DbColumn(comment = "支付订单ID") + @DbMySqlIndex(comment = "支付订单ID索引") + @DbColumn(comment = "支付订单ID", isNull = false) private Long orderId; - /** - * 支付订单号 - */ - @DbColumn(comment = "支付订单号") + /** 支付订单号 */ + @DbMySqlIndex(comment = "支付订单号索引") + @DbColumn(comment = "支付订单号", length = 32, isNull = false) private String orderNo; - /** - * 商户支付订单号 - */ - @DbColumn(comment = "商户支付订单号") + /** 商户支付订单号 */ + @DbMySqlIndex(comment = "商户支付订单号索引") + @DbColumn(comment = "商户支付订单号", length = 100, isNull = false) private String bizOrderNo; - /** - * 通道系统支付订单号 - */ - @DbColumn(comment = "通道支付订单号") + /** 通道支付订单号 */ + @DbMySqlIndex(comment = "通道支付订单号索引") + @DbColumn(comment = "通道支付订单号", length = 150, isNull = false) private String outOrderNo; - /** - * 支付订单标题 - */ - @DbColumn(comment = "支付订单标题") + /** 支付标题 */ + @DbColumn(comment = "支付标题", length = 100, isNull = false) private String title; /** * 所属通道 * @see PayChannelEnum */ - @DbColumn(comment = "所属通道") + @DbColumn(comment = "所属通道", length = 20, isNull = false) private String channel; /** * 总分账金额 */ - @DbColumn(comment = "总分账金额") + @DbColumn(comment = "总分账金额", length = 8, isNull = false) private Integer amount; /** * 分账描述 */ - @DbColumn(comment = "分账描述") + @DbColumn(comment = "分账描述", length = 150) private String description; /** * 状态 * @see AllocOrderStatusEnum */ - @DbColumn(comment = "状态") + @DbColumn(comment = "状态", length = 30, isNull = false) private String status; /** * 处理结果 * @see AllocOrderResultEnum */ - @DbColumn(comment = "处理结果") + @DbColumn(comment = "处理结果", length = 20, isNull = false) private String result; - /** - * 错误码 - */ - @DbColumn(comment = "错误码") + /** 分账完成时间 */ + @DbColumn(comment = "分账完成时间") + private LocalDateTime finishTime; + + /** 异步通知地址 */ + @DbColumn(comment = "异步通知地址", length = 200) @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数", length = 500) + private String attach; + + /** 请求时间,时间戳转时间 */ + @DbColumn(comment = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) + private String clientIp; + + /** 错误码 */ + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** - * 错误信息 - */ - @DbColumn(comment = "错误原因") - @TableField(updateStrategy = FieldStrategy.ALWAYS) + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; - /** 分账完成时间 */ - @DbColumn(comment = "分账完成时间") - private LocalDateTime finishTime; - /** * 转换 */ @Override - public AllocationOrderDto toDto() { - return AllocationConvert.CONVERT.convert(this); + public AllocOrderDto toDto() { + return AllocOrderConvert.CONVERT.convert(this); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderDetail.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java similarity index 61% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderDetail.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java index fc335aeea80ca4e6349e8a1d50e6b61d9d4193af..da97451886c4bc184565eee8c998567272223abd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderDetail.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocOrderDetail.java @@ -4,10 +4,11 @@ import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; +import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -26,58 +27,59 @@ import java.time.LocalDateTime; @Data @Accessors(chain = true) @DbTable(comment = "分账订单明细") -@TableName(value = "pay_allocation_order_detail",autoResultMap = true) -public class AllocationOrderDetail extends MpBaseEntity implements EntityBaseFunction<AllocationOrderDetailDto> { +@TableName(value = "pay_alloc_order_detail",autoResultMap = true) +public class AllocOrderDetail extends MpBaseEntity implements EntityBaseFunction<AllocationOrderDetailDto> { /** 分账订单ID */ - @DbColumn(comment = "分账订单ID") + @DbMySqlIndex(comment = "分账订单ID索引") + @DbColumn(comment = "分账订单ID", isNull = false) private Long allocationId; /** 接收者ID */ - @DbColumn(comment = "接收者ID") + @DbColumn(comment = "接收者ID", isNull = false) private Long receiverId; /** 分账接收方编号 */ - @DbColumn(comment = "分账接收方编号") + @DbColumn(comment = "分账接收方编号", length = 20, isNull = false) private String receiverNo; /** 分账比例 */ - @DbColumn(comment = "分账比例(万分之多少)") + @DbColumn(comment = "分账比例(万分之多少)", length = 5, isNull = false) private Integer rate; /** 分账金额 */ - @DbColumn(comment = "分账金额") + @DbColumn(comment = "分账金额", length = 8, isNull = false) private Integer amount; /** * 分账接收方类型 * @see AllocReceiverTypeEnum */ - @DbColumn(comment = "分账接收方类型") + @DbColumn(comment = "分账接收方类型", length = 20, isNull = false) private String receiverType; /** 接收方账号 */ - @DbColumn(comment = "接收方账号") + @DbColumn(comment = "接收方账号", length = 100, isNull = false) @TableField(typeHandler = DecryptTypeHandler.class) private String receiverAccount; /** 接收方姓名 */ - @DbColumn(comment = "接收方姓名") + @DbColumn(comment = "接收方姓名", length = 100) private String receiverName; /** * 分账结果 * @see AllocDetailResultEnum */ - @DbColumn(comment = "分账结果") + @DbColumn(comment = "分账结果", length = 20, isNull = false) private String result; /** 错误代码 */ - @DbColumn(comment = "错误代码") + @DbColumn(comment = "错误代码", length = 10) private String errorCode; /** 错误原因 */ - @DbColumn(comment = "错误原因") + @DbColumn(comment = "错误原因", length = 150) private String errorMsg; /** 分账完成时间 */ @@ -89,6 +91,6 @@ public class AllocationOrderDetail extends MpBaseEntity implements EntityBaseFun */ @Override public AllocationOrderDetailDto toDto() { - return AllocationConvert.CONVERT.convert(this); + return AllocOrderConvert.CONVERT.convert(this); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderExtra.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderExtra.java deleted file mode 100644 index 63ea17fa24330b4b43d58cf3d5f047854df280d9..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/AllocationOrderExtra.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.daxpay.single.service.core.order.allocation.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderExtraDto; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 分账订单扩展 - * @author xxm - * @since 2024/5/22 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@DbTable(comment = "分账订单扩展") -@TableName("pay_allocation_order_extra") -public class AllocationOrderExtra extends MpBaseEntity implements EntityBaseFunction<AllocationOrderExtraDto> { - - /** 异步通知地址 */ - @DbColumn(comment = "异步通知地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间 */ - @DbColumn(comment = "请求时间,传输时间戳") - private LocalDateTime reqTime; - - /** 终端ip */ - @DbColumn(comment = "支付终端ip") - private String clientIp; - - @Override - public AllocationOrderExtraDto toDto() { - return AllocationConvert.CONVERT.convert(this); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/OrderAndDetail.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/OrderAndDetail.java index b7e53c2b82914d37a24f05bf2e6c77f871988de1..8981adc32c223e04ca1d3ea86f2b9c549aa27f85 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/OrderAndDetail.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/entity/OrderAndDetail.java @@ -15,7 +15,7 @@ import java.util.List; public class OrderAndDetail { /** 分账订单 */ - private AllocationOrder order; + private AllocOrder order; /** 分账订单明细 */ - private List<AllocationOrderDetail> details; + private List<AllocOrderDetail> details; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java similarity index 50% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java index a0fc5b5f3fc188e92f31a94f59ad16535ae369fb..dbdbb911614027944c114b8272f6098d210ee988 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderQueryService.java @@ -6,17 +6,14 @@ import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.core.util.ResultConvertUtil; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; +import cn.daxpay.single.service.dto.order.allocation.AllocOrderDto; import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDetailDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderDto; -import cn.daxpay.single.service.dto.order.allocation.AllocationOrderExtraDto; -import cn.daxpay.single.service.param.order.AllocationOrderQuery; +import cn.daxpay.single.service.param.order.AllocOrderQuery; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -32,11 +29,11 @@ import java.util.List; @Slf4j @Service @RequiredArgsConstructor -public class AllocationOrderQueryService { +public class AllocOrderQueryService { + + private final AllocOrderDetailManager allocOrderDetailManager; - private final AllocationOrderDetailManager allocationOrderDetailManager; private final AllocationOrderManager allocationOrderManager; - private final AllocationOrderExtraManager allocationOrderExtraManager; /** * 获取可以分账的通道 @@ -51,43 +48,36 @@ public class AllocationOrderQueryService { /** * 分页查询 */ - public PageResult<AllocationOrderDto> page(PageParam pageParam, AllocationOrderQuery param){ + public PageResult<AllocOrderDto> page(PageParam pageParam, AllocOrderQuery param){ return MpUtil.convert2DtoPageResult(allocationOrderManager.page(pageParam, param)); } /** * 查询详情 */ - public AllocationOrderDto findById(Long id) { - return allocationOrderManager.findById(id).map(AllocationOrder::toDto).orElseThrow(() -> new DataNotExistException("分账订单不存在")); + public AllocOrderDto findById(Long id) { + return allocationOrderManager.findById(id).map(AllocOrder::toDto).orElseThrow(() -> new DataNotExistException("分账订单不存在")); } /** * 查询详情 */ - public AllocationOrderDto findByAllocNo(String allocNo) { - return allocationOrderManager.findByAllocationNo(allocNo).map(AllocationOrder::toDto).orElseThrow(() -> new DataNotExistException("分账订单不存在")); + public AllocOrderDto findByAllocNo(String allocNo) { + return allocationOrderManager.findByAllocNo(allocNo).map(AllocOrder::toDto).orElseThrow(() -> new DataNotExistException("分账订单不存在")); } /** * 查询订单明细列表 */ public List<AllocationOrderDetailDto> findDetailsByOrderId(Long orderId){ - return ResultConvertUtil.dtoListConvert(allocationOrderDetailManager.findAllByOrderId(orderId)); + return ResultConvertUtil.dtoListConvert(allocOrderDetailManager.findAllByOrderId(orderId)); } /** * 查询订单明细详情 */ public AllocationOrderDetailDto findDetailById(Long id){ - return allocationOrderDetailManager.findById(id).map(AllocationOrderDetail::toDto).orElseThrow(() -> new DataNotExistException("分账订单明细不存在")); + return allocOrderDetailManager.findById(id).map(AllocOrderDetail::toDto).orElseThrow(() -> new DataNotExistException("分账订单明细不存在")); } - /** - * 查询扩展订单信息 - */ - public AllocationOrderExtraDto findExtraById(Long id) { - return allocationOrderExtraManager.findById(id).map(AllocationOrderExtra::toDto) - .orElseThrow(() -> new DataNotExistException("未找到")); - } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java similarity index 71% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java index c6cf4b27cec9b3f3d7f2a3d0f133a13885c5c057..91ca22559f0e9af63d737c9172ffeeddf3f17971 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocationOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/allocation/service/AllocOrderService.java @@ -1,26 +1,23 @@ package cn.daxpay.single.service.core.order.allocation.service; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.allocation.AllocReceiverParam; -import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.service.common.context.NoticeLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.order.allocation.entity.OrderAndDetail; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationReceiverManager; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; import cn.daxpay.single.service.dto.allocation.AllocationGroupReceiverResult; -import cn.daxpay.single.util.OrderNoGenerateUtil; import cn.hutool.core.util.IdUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -43,17 +40,15 @@ import java.util.stream.Collectors; @Slf4j @Service @RequiredArgsConstructor -public class AllocationOrderService { +public class AllocOrderService { private final AllocationReceiverManager receiverManager; private final AllocationOrderManager allocationOrderManager; - private final AllocationOrderDetailManager allocationOrderDetailManager; + private final AllocOrderDetailManager allocOrderDetailManager; private final PayOrderManager payOrderManager; - private final AllocationOrderExtraManager allocationOrderExtraManager; - /** * 生成分账订单, 根据分账组创建 @@ -61,7 +56,7 @@ public class AllocationOrderService { @Transactional(rollbackFor = Exception.class) public OrderAndDetail createAndUpdate(AllocationParam param, PayOrder payOrder, List<AllocationGroupReceiverResult> receiversByGroups){ // 订单明细 - List<AllocationOrderDetail> details = receiversByGroups.stream() + List<AllocOrderDetail> details = receiversByGroups.stream() .map(o -> { // 计算分账金额, 小数部分直接舍弃, 防止分账金额超过上限 Integer rate = o.getRate(); @@ -70,7 +65,7 @@ public class AllocationOrderService { .multiply(BigDecimal.valueOf(rate)) .divide(BigDecimal.valueOf(10000), 0, RoundingMode.DOWN).intValue(); - AllocationOrderDetail detail = new AllocationOrderDetail() + AllocOrderDetail detail = new AllocOrderDetail() .setReceiverNo(o.getReceiverNo()) .setReceiverId(o.getId()) .setAmount(amount) @@ -102,7 +97,7 @@ public class AllocationOrderService { .distinct() .collect(Collectors.toList()); if (receiverNos.size() != param.getReceivers().size()){ - throw new PayFailureException("分账接收方编号重复"); + throw new ValidationFailedException("分账接收方编号重复"); } Map<String, Integer> receiverNoMap = param.getReceivers() .stream() @@ -110,27 +105,27 @@ public class AllocationOrderService { // 查询分账接收方信息 List<AllocationReceiver> receivers = receiverManager.findAllByReceiverNos(receiverNos); if (receivers.size() != receiverNos.size()){ - throw new PayFailureException("分账接收方列表存在重复或无效的数据"); + throw new ValidationFailedException("分账接收方列表存在重复或无效的数据"); } // 判断分账接收方类型是否都与分账订单类型匹配 boolean anyMatch = receivers.stream() .anyMatch(o -> !Objects.equals(o.getChannel(), payOrder.getChannel())); if (anyMatch){ - throw new PayFailureException("分账接收方列表存在非本通道的数据"); + throw new ValidationFailedException("分账接收方列表存在非本通道的数据"); } long allocId = IdUtil.getSnowflakeNextId(); // 订单明细 - List<AllocationOrderDetail> details = receivers.stream() + List<AllocOrderDetail> details = receivers.stream() .map(o -> { // 计算分账比例, 不是很精确 Integer amount = receiverNoMap.get(o.getReceiverNo()); Integer rate = BigDecimal.valueOf(amount) .divide(BigDecimal.valueOf(payOrder.getAmount()), 4, RoundingMode.DOWN) .multiply(BigDecimal.valueOf(10000)).intValue(); - AllocationOrderDetail detail = new AllocationOrderDetail(); + AllocOrderDetail detail = new AllocOrderDetail(); detail.setAllocationId(allocId) .setReceiverId(o.getId()) .setReceiverNo(o.getReceiverNo()) @@ -149,50 +144,46 @@ public class AllocationOrderService { /** * 保存分账相关订单信息 */ - private OrderAndDetail saveAllocOrder(AllocationParam param, PayOrder payOrder, List<AllocationOrderDetail> details ) { + private OrderAndDetail saveAllocOrder(AllocationParam param, PayOrder payOrder, List<AllocOrderDetail> details ) { long allocId = IdUtil.getSnowflakeNextId(); // 分账明细设置ID details.forEach(o -> o.setAllocationId(allocId)); // 求分账的总额 Integer sumAmount = details.stream() - .map(AllocationOrderDetail::getAmount) + .map(AllocOrderDetail::getAmount) .reduce(0, Integer::sum); // 分账订单 - AllocationOrder allocationOrder = new AllocationOrder() + AllocOrder allocOrder = new AllocOrder() .setOrderId(payOrder.getId()) .setOrderNo(payOrder.getOrderNo()) .setBizOrderNo(payOrder.getBizOrderNo()) .setOutOrderNo(payOrder.getOutOrderNo()) .setTitle(payOrder.getTitle()) - .setAllocationNo(OrderNoGenerateUtil.allocation()) - .setBizAllocationNo(param.getBizAllocationNo()) + .setAllocNo(OrderNoGenerateUtil.allocation()) + .setBizAllocNo(param.getBizAllocNo()) .setChannel(payOrder.getChannel()) .setDescription(param.getDescription()) .setStatus(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()) - .setAmount(sumAmount); + .setResult(AllocOrderResultEnum.ALL_PENDING.getCode()) + .setAmount(sumAmount) + .setNotifyUrl(param.getNotifyUrl()) + .setAttach(param.getAttach()) + .setClientIp(param.getClientIp()); // 如果分账订单金额为0, 设置为忽略状态 if (sumAmount == 0){ - allocationOrder.setStatus(AllocOrderStatusEnum.IGNORE.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.IGNORE.getCode()) .setFinishTime(LocalDateTime.now()) .setResult(AllocOrderStatusEnum.ALLOCATION_FAILED.getCode()) .setErrorMsg("分账比例有误或金额太小, 无法进行分账"); } - allocationOrder.setId(allocId); - // 分账订单扩展 - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); - AllocationOrderExtra extend = new AllocationOrderExtra() - .setNotifyUrl(noticeInfo.getNotifyUrl()) - .setAttach(param.getAttach()); - extend.setId(allocId); - + allocOrder.setId(allocId); // 更新支付订单分账状态 - payOrder.setAllocationStatus(PayOrderAllocStatusEnum.ALLOCATION.getCode()); + payOrder.setAllocStatus(PayOrderAllocStatusEnum.ALLOCATION.getCode()); payOrderManager.updateById(payOrder); - allocationOrderDetailManager.saveAll(details); - allocationOrderExtraManager.save(extend); - allocationOrderManager.save(allocationOrder); - return new OrderAndDetail().setOrder(allocationOrder).setDetails(details); + allocOrderDetailManager.saveAll(details); + allocationOrderManager.save(allocOrder); + return new OrderAndDetail().setOrder(allocOrder).setDetails(details); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java deleted file mode 100644 index f6ae4a65bdd418be4f796ce45be2166f7a2e06ea..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/builder/PayBuilder.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.builder; - -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.service.common.context.NoticeLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import cn.daxpay.single.util.OrderNoGenerateUtil; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.json.JSONUtil; -import lombok.experimental.UtilityClass; - -import java.time.LocalDateTime; - -/** - * 支付对象构建器 - * - * @author xxm - * @since 2021/2/25 - */ -@UtilityClass -public class PayBuilder { - - /** - * 构建支付订单 - */ - public PayOrder buildPayOrder(PayParam payParam) { - // 订单超时时间 - LocalDateTime expiredTime = PaymentContextLocal.get() - .getPayInfo() - .getExpiredTime(); - // 构建支付订单对象 - PayOrder payOrder = new PayOrder() - .setBizOrderNo(payParam.getBizOrderNo()) - .setOrderNo(OrderNoGenerateUtil.pay()) - .setTitle(payParam.getTitle()) - .setDescription(payParam.getDescription()) - .setStatus(PayStatusEnum.PROGRESS.getCode()) - .setAllocation(payParam.getAllocation()) - .setAmount(payParam.getAmount()) - .setChannel(payParam.getChannel()) - .setMethod(payParam.getMethod()) - .setExpiredTime(expiredTime) - .setRefundableBalance(payParam.getAmount()); - // 如果支持分账, 设置分账状态为代分账 - if (payOrder.getAllocation()) { - payOrder.setAllocationStatus(PayOrderAllocStatusEnum.WAITING.getCode()); - } - return payOrder; - } - - /** - * 构建支付订单的额外信息 - * @param payParam 支付参数 - * @param payOrderId 支付订单id - */ - public PayOrderExtra buildPayOrderExtra(PayParam payParam, Long payOrderId) { - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); - PayOrderExtra payOrderExtra = new PayOrderExtra() - .setClientIp(payParam.getClientIp()) - .setNotifyUrl(noticeInfo.getNotifyUrl()) - .setReturnUrl(noticeInfo.getReturnUrl()) - .setAttach(payParam.getAttach()) - .setReqTime(payParam.getReqTime()); - // 扩展参数 - if (CollUtil.isNotEmpty(payParam.getExtraParam())) { - payOrderExtra.setExtraParam(JSONUtil.toJsonStr(payParam.getExtraParam())); - } - - payOrderExtra.setId(payOrderId); - return payOrderExtra; - } - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java index b7fb14ebf0878d1f3f95b29f1a3339b26cb9444c..3e9ef06ef9fd6d4b954e4315fd9e7cf0ed4ff86e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/convert/PayOrderConvert.java @@ -1,11 +1,9 @@ package cn.daxpay.single.service.core.order.pay.convert; -import cn.daxpay.single.result.order.PayOrderResult; +import cn.daxpay.single.core.result.order.PayOrderResult; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.payment.notice.result.PayNoticeResult; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; -import cn.daxpay.single.service.dto.order.pay.PayOrderExtraDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -18,8 +16,6 @@ import org.mapstruct.factory.Mappers; public interface PayOrderConvert { PayOrderConvert CONVERT = Mappers.getMapper(PayOrderConvert.class); - PayOrderExtraDto convert(PayOrderExtra in); - PayOrderDto convert(PayOrder in); PayOrderResult convertResult(PayOrder in); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraManager.java deleted file mode 100644 index 890960263076d6f4e364db933b5b6224da837e49..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraManager.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2023/12/20 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class PayOrderExtraManager extends BaseManager<PayOrderExtraMapper, PayOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraMapper.java deleted file mode 100644 index f8b3c2e08ab91ff9ec42b4685c7047309a5e8865..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderExtraMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.dao; - -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2023/12/20 - */ -@Mapper -public interface PayOrderExtraMapper extends BaseMapper<PayOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java index 2c36ca5e0558e6803b8f728b14c2f7e9e708538a..84d0b36e6dfecd2c347da4141ac2bb6b16af0f77 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/dao/PayOrderManager.java @@ -4,8 +4,8 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.common.query.generator.QueryGenerator; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.param.order.PayOrderQuery; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -15,7 +15,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; import java.time.LocalDateTime; -import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -58,14 +57,10 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { * 查询对账用订单记录(指定时间和状态的订单) */ public List<PayOrder> findReconcile(String channel, LocalDateTime startTime, LocalDateTime endTime) { - List<String> status = Arrays.asList(PayStatusEnum.SUCCESS.getCode(), - PayStatusEnum.PARTIAL_REFUND.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.REFUNDED.getCode()); return this.lambdaQuery() .eq(PayOrder::getChannel, channel) .between(PayOrder::getPayTime, startTime, endTime) - .in(PayOrder::getStatus, status) + .eq(PayOrder::getStatus, PayStatusEnum.SUCCESS.getCode()) .list(); } @@ -73,15 +68,11 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { * 查询自动分账的订单记录(指定时间和状态的订单) */ public List<PayOrder> findAutoAllocation() { - List<String> status = Arrays.asList(PayStatusEnum.SUCCESS.getCode(), - PayStatusEnum.PARTIAL_REFUND.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.REFUNDED.getCode()); return this.lambdaQuery() .eq(PayOrder::getAllocation, true) .eq(PayOrder::getAutoAllocation, true) - .eq(PayOrder::getAllocationStatus, PayOrderAllocStatusEnum.WAITING.getCode()) - .in(PayOrder::getStatus, status) + .eq(PayOrder::getAllocStatus, PayOrderAllocStatusEnum.WAITING.getCode()) + .eq(PayOrder::getStatus, PayStatusEnum.SUCCESS.getCode()) .list(); } @@ -90,13 +81,7 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { */ public Integer getTalAmount(PayOrderQuery query){ QueryWrapper<PayOrder> generator = QueryGenerator.generator(query); - // 成功, 退款相关都算 - generator.in(MpUtil.getColumnName(PayOrder::getStatus), - PayStatusEnum.SUCCESS.getCode(), - PayStatusEnum.REFUNDED.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.PARTIAL_REFUND.getCode() - ); + generator.eq(MpUtil.getColumnName(PayOrder::getStatus), PayStatusEnum.SUCCESS.getCode()); return baseMapper.getTalAmount(generator); } @@ -105,7 +90,7 @@ public class PayOrderManager extends BaseManager<PayOrderMapper, PayOrder> { */ public List<PayOrder> queryExpiredOrder() { return lambdaQuery() - .eq(PayOrder::getStatus, PayStatusEnum.REFUNDING.getCode()) + .eq(PayOrder::getStatus, PayStatusEnum.PROGRESS.getCode()) .lt(PayOrder::getExpiredTime, LocalDateTime.now()) .list(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java index 6bb7e72ffd0e134b33acf598f385b3586936f0c7..a5c82fe143138be8def6bec8810e09905500bf44 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrder.java @@ -2,15 +2,15 @@ package cn.daxpay.single.service.core.order.pay.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; -import cn.daxpay.single.service.dto.order.pay.PayOrderDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; -import cn.bootx.table.modify.mysql.constants.MySqlIndexType; +import cn.daxpay.single.core.code.*; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; +import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; +import cn.daxpay.single.service.dto.order.pay.PayOrderDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -34,25 +34,27 @@ import java.util.Objects; public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrderDto> { /** 商户订单号 */ - @DbMySqlIndex(comment = "商户订单号索引",type = MySqlIndexType.UNIQUE) - @DbColumn(comment = "商户订单号") + @DbMySqlIndex(comment = "商户订单号索引") + @DbColumn(comment = "商户订单号", length = 100, isNull = false) private String bizOrderNo; - @DbColumn(comment = "支付订单号") + @DbMySqlIndex(comment = "支付订单号索引") + @DbColumn(comment = "支付订单号", length = 32, isNull = false) private String orderNo; /** * 通道系统交易号 */ - @DbColumn(comment = "通道支付订单号") + @DbMySqlIndex(comment = "通道支付订单索引") + @DbColumn(comment = "通道支付订单号", length = 150) private String outOrderNo; /** 标题 */ - @DbColumn(comment = "标题") + @DbColumn(comment = "标题", length = 100, isNull = false) private String title; /** 描述 */ - @DbColumn(comment = "描述") + @DbColumn(comment = "描述",length = 500) private String description; /** 是否支持分账 */ @@ -66,36 +68,45 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde * 支付通道 * @see PayChannelEnum */ - @DbColumn(comment = "异步支付通道") + @DbColumn(comment = "异步支付通道", length = 20, isNull = false) private String channel; /** * 支付方式 + * @see PayMethodEnum */ - @DbColumn(comment = "支付方式") + @DbColumn(comment = "支付方式", length = 20, isNull = false) private String method; /** 金额 */ - @DbColumn(comment = "金额") + @DbColumn(comment = "金额", length = 8, isNull = false) private Integer amount; /** 可退款余额 */ - @DbColumn(comment = "可退款余额") + @DbColumn(comment = "可退款余额", length = 8, isNull = false) private Integer refundableBalance; /** * 支付状态 * @see PayStatusEnum */ - @DbColumn(comment = "支付状态") + @DbColumn(comment = "支付状态", length = 20, isNull = false) private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @DbColumn(comment = "退款状态", length = 20, isNull = false) + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ - @DbColumn(comment = "分账状态") - private String allocationStatus; + @DbColumn(comment = "分账状态", length = 20) + private String allocStatus; /** 支付时间 */ @DbColumn(comment = "支付时间") @@ -112,18 +123,47 @@ public class PayOrder extends MpBaseEntity implements EntityBaseFunction<PayOrde private LocalDateTime expiredTime; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息") + @DbColumn(comment = "错误信息", length = 2048) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorMsg; + /** 同步跳转地址, 以最后一次为准 */ + @DbColumn(comment = "同步跳转地址", length = 200) + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String returnUrl; + + /** 异步通知地址,以最后一次为准 */ + @DbColumn(comment = "异步通知地址", length = 200) + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + /** - * 如果 + * 附加参数 以最后一次为准 + * @see AliPayParam + * @see WeChatPayParam + * @see WalletPayParam */ + @DbColumn(comment = "附加参数", length = 2048) + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String extraParam; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数", length = 500) + private String attach; + + /** 请求时间,时间戳转时间, 以最后一次为准 */ + @DbColumn(comment = "请求时间") + private LocalDateTime reqTime; + + /** 支付终端ip 以最后一次为准 */ + @DbColumn(comment = "支付终端ip", length = 64) + private String clientIp; + public Boolean getAllocation() { return Objects.equals(this.allocation, true); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrderExtra.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrderExtra.java deleted file mode 100644 index 404e3fbf46711b90ed9da1c6e9c79ab63dc9fa4b..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/entity/PayOrderExtra.java +++ /dev/null @@ -1,73 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.entity; - - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; -import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; -import cn.daxpay.single.service.dto.order.pay.PayOrderExtraDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2023/12/18 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@DbTable(comment = "支付订单扩展信息") -@TableName("pay_order_extra") -public class PayOrderExtra extends MpBaseEntity implements EntityBaseFunction<PayOrderExtraDto> { - - /** 同步跳转地址, 以最后一次为准 */ - @DbColumn(comment = "同步跳转地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String returnUrl; - - /** 异步通知地址,以最后一次为准 */ - @DbColumn(comment = "异步通知地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String notifyUrl; - - /** - * 附加参数 以最后一次为准 - * @see AliPayParam - * @see WeChatPayParam - * @see WalletPayParam - */ - @DbColumn(comment = "附加参数") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String extraParam; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间, 以最后一次为准 */ - @DbColumn(comment = "请求时间,传输时间戳,以最后一次为准") - private LocalDateTime reqTime; - - /** 支付终端ip 以最后一次为准 */ - @DbColumn(comment = "支付终端ip") - private String clientIp; - - /** - * 转换 - */ - @Override - public PayOrderExtraDto toDto() { - return PayOrderConvert.CONVERT.convert(this); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderExtraService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderExtraService.java deleted file mode 100644 index 281786ba71331650747e093506546576a78b2e0f..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderExtraService.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.daxpay.single.service.core.order.pay.service; - -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import cn.daxpay.single.service.dto.order.pay.PayOrderExtraDto; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2024/1/9 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class PayOrderExtraService { - private final PayOrderExtraManager payOrderExtraManager; - - /** - * 查询详情 - */ - public PayOrderExtraDto findById(Long id){ - return payOrderExtraManager.findById(id).map(PayOrderExtra::toDto) - .orElseThrow(()->new DataNotExistException("支付订单扩展信息不存在")); - } - - /** - * 更新, 使用单独事务 - */ - @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) - public void update(PayOrderExtra payOrderExtra){ - payOrderExtraManager.updateById(payOrderExtra); - } - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java index a1ebeccd932d81448860a3586a16a721ac659374..f34f3133287ca1b05d3814cd9121bc6f5b82a1ce 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderQueryService.java @@ -3,11 +3,11 @@ package cn.daxpay.single.service.core.order.pay.service; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.QueryPayParam; -import cn.daxpay.single.result.order.PayOrderResult; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.param.payment.pay.QueryPayParam; +import cn.daxpay.single.core.result.order.PayOrderResult; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.dto.order.pay.PayOrderDto; @@ -31,7 +31,6 @@ import java.util.Optional; @RequiredArgsConstructor public class PayOrderQueryService { private final PayOrderManager payOrderManager; - private final PayOrderExtraManager payOrderExtraManager; /** * 分页 @@ -81,14 +80,11 @@ public class PayOrderQueryService { public PayOrderResult queryPayOrder(QueryPayParam param) { // 校验参数 if (StrUtil.isBlank(param.getBizOrderNoeNo()) && Objects.isNull(param.getOrderNo())){ - throw new PayFailureException("业务号或支付单ID不能都为空"); + throw new ValidationFailedException("业务号或支付单ID不能都为空"); } // 查询支付单 PayOrder payOrder = this.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNoeNo()) - .orElseThrow(() -> new PayFailureException("支付订单不存在")); - // 查询扩展数据 - payOrderExtraManager.findById(payOrder.getId()) - .orElseThrow(() -> new PayFailureException("支付订单不完整")); + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); return PayOrderConvert.CONVERT.convertResult(payOrder); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java index a0918b9335a94ab937d685e309d0f5d730a306ce..2e959c5f6f19fdef10fbc83215fd018b6082ea56 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/pay/service/PayOrderService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.order.pay.service; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.pay.service.PayExpiredTimeService; @@ -28,7 +28,10 @@ public class PayOrderService { private final PayExpiredTimeService expiredTimeService; // 支付完成常量集合 - private final List<String> ORDER_FINISH = Arrays.asList(PayStatusEnum.CLOSE.getCode(), PayStatusEnum.SUCCESS.getCode()); + private final List<String> ORDER_FINISH = Arrays.asList( + PayStatusEnum.CLOSE.getCode(), + PayStatusEnum.CANCEL.getCode(), + PayStatusEnum.SUCCESS.getCode()); /** * 查询 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java index 487330b10930e320967a7858a45781c92c613dc2..c89f8e03fccd00d6f0ed40dbbc764d8624ec9854 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileDiff.java @@ -2,8 +2,8 @@ package cn.daxpay.single.service.core.order.reconcile.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.daxpay.single.service.common.typehandler.ReconcileDiffTypeHandler; import cn.daxpay.single.service.core.order.reconcile.conver.ReconcileConvert; @@ -36,65 +36,65 @@ import java.util.List; public class ReconcileDiff extends MpBaseEntity implements EntityBaseFunction<ReconcileDiffDto> { /** 对账单ID */ - @DbColumn(comment = "对账单ID") + @DbColumn(comment = "对账单ID", isNull = false) private Long reconcileId; /** 对账号 */ - @DbColumn(comment = "对账号") + @DbColumn(comment = "对账号", length = 32, isNull = false) private String reconcileNo; /** 对账单明细ID */ - @DbColumn(comment = "对账单明细ID") + @DbColumn(comment = "对账单明细ID", isNull = false) private Long detailId; /** 对账日期 */ - @DbColumn(comment = "对账日期") + @DbColumn(comment = "对账日期", isNull = false) private LocalDate reconcileDate; /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号") + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; /** 交易时间 */ - @DbColumn(comment = "交易时间") + @DbColumn(comment = "交易时间", isNull = false) private LocalDateTime tradeTime; /** 订单标题 */ - @DbColumn(comment = "订单标题") + @DbColumn(comment = "订单标题", length = 100) private String title; /** * 通道 * @see PayChannelEnum */ - @DbColumn(comment = "通道") + @DbColumn(comment = "通道", length = 20, isNull = false) private String channel; /** 本地交易金额 */ - @DbColumn(comment = "本地交易金额") + @DbColumn(comment = "本地交易金额", length = 15) private Integer amount; /** 通道交易金额 */ - @DbColumn(comment = "通道交易金额") + @DbColumn(comment = "通道交易金额", length = 15) private Integer outAmount; /** * 交易类型 * @see ReconcileTradeEnum */ - @DbColumn(comment = "交易类型") + @DbColumn(comment = "交易类型", length = 20) private String tradeType; /** * 差异类型 * @see ReconcileDiffTypeEnum */ - @DbColumn(comment = "差异类型") + @DbColumn(comment = "差异类型", length = 20) private String diffType; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileFile.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileFile.java index 22b0495e4f094da59102f93c0dc5856f6988e0dd..c81a3b226e6a93fbea36e42fe69f6810ea51ade2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileFile.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileFile.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.core.order.reconcile.entity; import cn.bootx.platform.common.mybatisplus.base.MpIdEntity; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; @@ -21,16 +22,17 @@ import lombok.experimental.Accessors; @TableName("pay_reconcile_file") public class ReconcileFile extends MpIdEntity { - @DbColumn(comment = "对账单ID") + @DbMySqlIndex(comment = "对账单ID索引") + @DbColumn(comment = "对账单ID", isNull = false) private Long reconcileId; /** * 明细/汇总 * @see ReconcileFileTypeEnum */ - @DbColumn(comment = "类型") + @DbColumn(comment = "类型", length = 20, isNull = false) private String type; - @DbColumn(comment = "对账单文件") + @DbColumn(comment = "对账单文件", isNull = false) private Long fileId; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java index cebaa22e797ebb4f310c4126505a8eee55d2c772..b18dcf84cc4f8410af826bcf884527a80b3d8423 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOrder.java @@ -1,13 +1,14 @@ package cn.daxpay.single.service.core.order.reconcile.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import cn.daxpay.single.code.PayChannelEnum; +import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileResultEnum; import cn.daxpay.single.service.core.order.reconcile.conver.ReconcileConvert; import cn.daxpay.single.service.dto.order.reconcile.ReconcileOrderDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -27,45 +28,46 @@ import java.time.LocalDate; @Accessors(chain = true) @DbTable(comment = "支付对账单订单") @TableName(value = "pay_reconcile_order") -public class ReconcileOrder extends MpCreateEntity implements EntityBaseFunction<ReconcileOrderDto> { +public class ReconcileOrder extends MpBaseEntity implements EntityBaseFunction<ReconcileOrderDto> { /** 对账号 */ - @DbColumn(comment = "对账号") + @DbMySqlIndex(comment = "对账号索引") + @DbColumn(comment = "对账号", length = 32, isNull = false) private String reconcileNo; /** 日期 */ - @DbColumn(comment = "日期") + @DbColumn(comment = "日期", isNull = false) private LocalDate date; /** * 通道 * @see PayChannelEnum */ - @DbColumn(comment = "通道") + @DbColumn(comment = "通道", length = 20, isNull = false) private String channel; /** 交易对账文件是否下载成功 */ - @DbColumn(comment = "明细对账单下载") + @DbColumn(comment = "明细对账单下载", isNull = false) private boolean downOrUpload; /** 交易对账文件是否比对完成 */ - @DbColumn(comment = "明细对账单比对") + @DbColumn(comment = "明细对账单比对", isNull = false) private boolean compare; /** * 交易对账结果 * @see ReconcileResultEnum */ - @DbColumn(comment = "对账结果") + @DbColumn(comment = "对账结果", length = 20) private String result; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息") + @DbColumn(comment = "错误信息", length = 2048) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String errorMsg; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java index 4a0f195d98a374f75331dd64ad5cae64c6e7549c..58e04884c91c7926cd0d3b1fde0c7018bd5f6bae 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/reconcile/entity/ReconcileOutTrade.java @@ -2,6 +2,7 @@ package cn.daxpay.single.service.core.order.reconcile.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.core.order.reconcile.conver.ReconcileConvert; import cn.daxpay.single.service.dto.order.reconcile.ReconcileOutTradeDto; @@ -27,34 +28,35 @@ import java.time.LocalDateTime; public class ReconcileOutTrade extends MpCreateEntity implements EntityBaseFunction<ReconcileOutTradeDto> { /** 关联对账订单ID */ - @DbColumn(comment = "关联对账订单ID") + @DbMySqlIndex(comment = "对账单ID索引") + @DbColumn(comment = "关联对账订单ID", isNull = false) private Long reconcileId; /** 商品名称 */ - @DbColumn(comment = "商品名称") + @DbColumn(comment = "商品名称", length = 100, isNull = false) private String title; /** 交易金额 */ - @DbColumn(comment = "交易金额") + @DbColumn(comment = "交易金额", length = 8, isNull = false) private Integer amount; /** * 交易类型 * @see PaymentTypeEnum */ - @DbColumn(comment = "交易类型") + @DbColumn(comment = "交易类型", length = 20, isNull = false) private String type; /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 通道交易号 - 支付宝/微信的订单号 */ - @DbColumn(comment = "通道交易号") + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; /** 交易时间 */ - @DbColumn(comment = "交易时间") + @DbColumn(comment = "交易时间", isNull = false) private LocalDateTime tradeTime; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java index bbedd7b4688582e0bcdf47ed26044d7bd37c873a..2591488d2cf4147acd03dbd185340dc12157cadb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/convert/RefundOrderConvert.java @@ -1,11 +1,9 @@ package cn.daxpay.single.service.core.order.refund.convert; -import cn.daxpay.single.result.order.RefundOrderResult; +import cn.daxpay.single.core.result.order.RefundOrderResult; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.core.payment.notice.result.RefundNoticeResult; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.daxpay.single.service.dto.order.refund.RefundOrderExtraDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -20,8 +18,6 @@ public interface RefundOrderConvert { RefundOrderDto convert(RefundOrder in); - RefundOrderExtraDto convert(RefundOrderExtra in); - RefundOrderResult convertResult(RefundOrder in); RefundNoticeResult convertNotice(RefundOrder order); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraManager.java deleted file mode 100644 index 4a9533c56e6dc1167d4aba4a50f3d0d3c8e41779..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraManager.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.core.order.refund.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * - * @author xxm - * @since 2024/2/22 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class RefundOrderExtraManager extends BaseManager<RefundOrderExtraMapper, RefundOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraMapper.java deleted file mode 100644 index f37ceb8376ff368f77109ce3161922f15d47ff3d..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderExtraMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.order.refund.dao; - -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * - * @author xxm - * @since 2024/2/22 - */ -@Mapper -public interface RefundOrderExtraMapper extends BaseMapper<RefundOrderExtra> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java index 4070f6ddb8d8316dc452757cb0e0db6b0b1482e0..24a93f476613658c75626bd3641f1255fb275f28 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/dao/RefundOrderManager.java @@ -4,10 +4,9 @@ import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; import cn.bootx.platform.common.mybatisplus.util.MpUtil; import cn.bootx.platform.common.query.generator.QueryGenerator; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.service.param.order.RefundOrderQuery; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -86,7 +85,7 @@ public class RefundOrderManager extends BaseManager<RefundOrderMapper, RefundOrd /** * 查询汇总金额 */ - public Integer getTalAmount(PayOrderQuery query){ + public Integer getTalAmount(RefundOrderQuery query){ QueryWrapper<RefundOrder> generator = QueryGenerator.generator(query); generator.eq(MpUtil.getColumnName(RefundOrder::getStatus), PayStatusEnum.SUCCESS.getCode()); return baseMapper.getTalAmount(generator); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java index cf2279f0dcd98cd7368e44a0cb967d5551e7af9b..127aa2336a30b88179013301d41e3bd8ba1cb09f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrder.java @@ -2,12 +2,18 @@ package cn.daxpay.single.service.core.order.refund.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; -import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; +import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; +import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -28,54 +34,61 @@ import java.time.LocalDateTime; public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<RefundOrderDto> { /** 支付订单ID */ - @DbColumn(comment = "支付订单ID") + @DbMySqlIndex(comment = "支付订单ID索引") + @DbColumn(comment = "支付订单ID", isNull = false) private Long orderId; /** 支付订单号 */ - @DbColumn(comment = "支付订单号") + @DbMySqlIndex(comment = "支付订单号索引") + @DbColumn(comment = "支付订单号", length = 32, isNull = false) private String orderNo; /** 商户支付订单号 */ - @DbColumn(comment = "商户支付订单号") + @DbMySqlIndex(comment = "商户支付订单号索引") + @DbColumn(comment = "商户支付订单号", length = 100, isNull = false) private String bizOrderNo; /** 通道支付订单号 */ - @DbColumn(comment = "通道支付订单号") + @DbMySqlIndex(comment = "通道支付订单号索引") + @DbColumn(comment = "通道支付订单号", length = 150, isNull = false) private String outOrderNo; /** 支付标题 */ - @DbColumn(comment = "支付标题") + @DbColumn(comment = "支付标题", length = 100, isNull = false) private String title; /** 退款号 */ - @DbColumn(comment = "退款号") + @DbMySqlIndex(comment = "退款号索引") + @DbColumn(comment = "退款号", length = 32, isNull = false) private String refundNo; /** 商户退款号 */ - @DbColumn(comment = "商户退款号") + @DbMySqlIndex(comment = "商户退款号索引") + @DbColumn(comment = "商户退款号", length = 100, isNull = false) private String bizRefundNo; /** 通道退款交易号 */ - @DbColumn(comment = "通道退款交易号") + @DbMySqlIndex(comment = "通道退款交易号索引") + @DbColumn(comment = "通道退款交易号", length = 150) private String outRefundNo; /** * 退款通道 * @see PayChannelEnum */ - @DbColumn(comment = "支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; /** 订单金额 */ - @DbColumn(comment = "订单金额") + @DbColumn(comment = "订单金额", length = 8, isNull = false) private Integer orderAmount; /** 退款金额 */ - @DbColumn(comment = "退款金额") + @DbColumn(comment = "退款金额", length = 8, isNull = false) private Integer amount; /** 退款原因 */ - @DbColumn(comment = "退款原因") + @DbColumn(comment = "退款原因", length = 150) private String reason; /** 退款完成时间 */ @@ -86,15 +99,42 @@ public class RefundOrder extends MpBaseEntity implements EntityBaseFunction<Refu * 退款状态 * @see RefundStatusEnum */ - @DbColumn(comment = "退款状态") + @DbColumn(comment = "退款状态", length = 20, isNull = false) private String status; + /** 异步通知地址 */ + @DbColumn(comment = "异步通知地址", length = 200) + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数", length = 500) + private String attach; + + /** + * 附加参数 以最后一次为准 + * @see AliPayParam + * @see WeChatPayParam + * @see WalletPayParam + */ + @DbColumn(comment = "附加参数", length = 2048) + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String extraParam; + + /** 请求时间,时间戳转时间 */ + @DbColumn(comment = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) + private String clientIp; + /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; /** 错误信息 */ - @DbColumn(comment = "错误信息") + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; @Override diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrderExtra.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrderExtra.java deleted file mode 100644 index bf4c2312d6cab356762e1707aa5b29f1bc4de2cd..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/entity/RefundOrderExtra.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.daxpay.single.service.core.order.refund.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; -import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; -import cn.daxpay.single.service.dto.order.refund.RefundOrderExtraDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import com.baomidou.mybatisplus.annotation.FieldStrategy; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 退款订单扩展信息 - * @author xxm - * @since 2024/2/21 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@TableName("pay_refund_order_extra") -@DbTable(comment = "退款订单扩展信息") -public class RefundOrderExtra extends MpBaseEntity implements EntityBaseFunction<RefundOrderExtraDto> { - - /** 异步通知地址 */ - @DbColumn(comment = "异步通知地址") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @DbColumn(comment = "商户扩展参数") - private String attach; - - /** - * 附加参数 以最后一次为准 - * @see AliPayParam - * @see WeChatPayParam - * @see WalletPayParam - */ - @DbColumn(comment = "附加参数") - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String extraParam; - - /** 请求时间,时间戳转时间 */ - @DbColumn(comment = "请求时间,传输时间戳") - private LocalDateTime reqTime; - - /** 终端ip */ - @DbColumn(comment = "支付终端ip") - private String clientIp; - - @Override - public RefundOrderExtraDto toDto() { - return RefundOrderConvert.CONVERT.convert(this); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java index e45eb65d973ba929dc07edf896b2e19c1e9c4839..862baf3825e71174dd82a43653758dcb5b0e13e4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderQueryService.java @@ -1,20 +1,17 @@ package cn.daxpay.single.service.core.order.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.refund.QueryRefundParam; -import cn.daxpay.single.result.order.RefundOrderResult; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.param.payment.refund.QueryRefundParam; +import cn.daxpay.single.core.result.order.RefundOrderResult; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.dto.order.refund.RefundOrderDto; -import cn.daxpay.single.service.dto.order.refund.RefundOrderExtraDto; -import cn.daxpay.single.service.param.order.PayOrderQuery; import cn.daxpay.single.service.param.order.RefundOrderQuery; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -35,7 +32,6 @@ import java.util.Optional; @RequiredArgsConstructor public class RefundOrderQueryService { private final RefundOrderManager refundOrderManager; - private final RefundOrderExtraManager refundOrderExtraManager; /** * 分页查询 @@ -53,14 +49,6 @@ public class RefundOrderQueryService { .orElseThrow(() -> new DataNotExistException("退款订单不存在")); } - /** - * 根据id查询扩展信息 - */ - public RefundOrderExtraDto findExtraById(Long id) { - return refundOrderExtraManager.findById(id).map(RefundOrderExtra::toDto) - .orElseThrow(() -> new DataNotExistException("退款订单扩展信息不存在")); - } - /** * 根据退款号查询 */ @@ -89,11 +77,11 @@ public class RefundOrderQueryService { public RefundOrderResult queryRefundOrder(QueryRefundParam param) { // 校验参数 if (StrUtil.isBlank(param.getRefundNo()) && Objects.isNull(param.getBizRefundNo())){ - throw new PayFailureException("退款号或=商户退款号不能都为空"); + throw new ValidationFailedException("退款号或商户退款号不能都为空"); } // 查询退款单 RefundOrder refundOrder = this.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo()) - .orElseThrow(() -> new PayFailureException("退款订单不存在")); + .orElseThrow(() -> new TradeNotExistException("退款订单不存在")); return RefundOrderConvert.CONVERT.convertResult(refundOrder); } @@ -101,7 +89,7 @@ public class RefundOrderQueryService { /** * 查询支付总金额 */ - public Integer getTotalAmount(PayOrderQuery param) { + public Integer getTotalAmount(RefundOrderQuery param) { return refundOrderManager.getTalAmount(param); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java index ad20a1306e13170003bb7452cc1606c49ecd70ad..9d9b71c4a46bc22beb5f290fb8d242f9781d5092 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/refund/service/RefundOrderService.java @@ -2,15 +2,13 @@ package cn.daxpay.single.service.core.order.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.spring.util.WebServletUtil; -import cn.daxpay.single.param.payment.refund.RefundParam; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; +import cn.daxpay.single.core.param.payment.refund.RefundParam; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; import cn.daxpay.single.service.core.payment.refund.service.RefundService; import cn.daxpay.single.service.param.order.PayOrderRefundParam; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.hutool.extra.servlet.ServletUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -34,13 +32,10 @@ public class RefundOrderService { private final PaymentAssistService paymentAssistService; - private final RefundOrderExtraManager refundOrderExtraManager; - private final RefundOrderManager refundOrderManager; /** * 手动发起退款 - * 退款涉及到回调通知, 索所以需要手动初始化一下上下文 */ public void refund(PayOrderRefundParam param) { @@ -55,8 +50,6 @@ public class RefundOrderService { refundParam.setReason(param.getReason()); refundParam.setReqTime(LocalDateTime.now()); refundParam.setClientIp(ip); - // 手动初始化上下文 - paymentAssistService.initRequest(refundParam); // 调用统一退款接口 refundService.refund(refundParam); } @@ -65,12 +58,7 @@ public class RefundOrderService { * 重新退款 */ public void resetRefund(Long id){ - - // 查询扩展信息 - RefundOrderExtra refundOrderExtra = refundOrderExtraManager.findById(id) - .orElseThrow(() -> new DataNotExistException("未找到退款订单")); - - // 查询扩展信息 + // 查询信息 RefundOrder refundOrder = refundOrderManager.findById(id) .orElseThrow(() -> new DataNotExistException("未找到退款订单")); @@ -81,12 +69,11 @@ public class RefundOrderService { RefundParam refundParam = new RefundParam(); refundParam.setBizRefundNo(refundOrder.getBizRefundNo()); // 回调通知 - refundParam.setNotifyUrl(refundOrderExtra.getNotifyUrl()); - refundParam.setAttach(refundOrderExtra.getAttach()); + refundParam.setNotifyUrl(refundOrder.getNotifyUrl()); + refundParam.setAttach(refundOrder.getAttach()); refundParam.setReqTime(LocalDateTime.now()); refundParam.setClientIp(ip); - - // 手动初始化请求上下文 - paymentAssistService.initRequest(refundParam); + // 调用统一退款接口 + refundService.refund(refundParam); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java index 805e42915b1ca577177c377fab43c365471556e9..0dd94c8de755fae7b02bbc46ac0393e7cedc79ba 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/convert/TransferOrderConvert.java @@ -1,5 +1,8 @@ package cn.daxpay.single.service.core.order.transfer.convert; +import cn.daxpay.single.core.result.order.TransferOrderResult; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -12,4 +15,8 @@ import org.mapstruct.factory.Mappers; public interface TransferOrderConvert { TransferOrderConvert CONVERT = Mappers.getMapper(TransferOrderConvert.class); + TransferOrderDto convert(TransferOrder in); + + + TransferOrderResult convertResult(TransferOrder in); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java index 91206efdde8d9112959bc675cb45e37c63054e65..8e1071fd476e84a5dc310ad8e1d1ae1965a5be51 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderManager.java @@ -1,11 +1,21 @@ package cn.daxpay.single.service.core.order.transfer.dao; +import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.impl.BaseManager; +import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.bootx.platform.common.query.generator.QueryGenerator; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.param.order.TransferOrderQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; +import java.util.Optional; + /** * * @author xxm @@ -15,4 +25,37 @@ import org.springframework.stereotype.Repository; @Repository @RequiredArgsConstructor public class TransferOrderManager extends BaseManager<TransferOrderMapper, TransferOrder> { + + + /** + * 分页 + */ + public Page<TransferOrder> page(PageParam pageParam, TransferOrderQuery query) { + Page<TransferOrder> mpPage = MpUtil.getMpPage(pageParam, TransferOrder.class); + QueryWrapper<TransferOrder> generator = QueryGenerator.generator(query); + return page(mpPage,generator); + } + + /** + * 根据转账号查询 + */ + public Optional<TransferOrder> findByTransferNo(String transferNo) { + return findByField(TransferOrder::getTransferNo, transferNo); + } + + /** + * 根据商户转账号查询 + */ + public Optional<TransferOrder> findByBizTransferNo(String bizTransferNo) { + return findByField(TransferOrder::getBizTransferNo, bizTransferNo); + } + + /** + * 查询汇总金额 + */ + public Integer getTalAmount(TransferOrderQuery query){ + QueryWrapper<TransferOrderQuery> generator = QueryGenerator.generator(query); + generator.eq(MpUtil.getColumnName(RefundOrder::getStatus), PayStatusEnum.SUCCESS.getCode()); + return baseMapper.getTalAmount(generator); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderMapper.java index b5009faa7653d9c4bbb00053cf215f7bc3a8a5eb..468b679d49c7299fb6b3af67a43d03489dfdb176 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderMapper.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/dao/TransferOrderMapper.java @@ -1,8 +1,13 @@ package cn.daxpay.single.service.core.order.transfer.dao; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.param.order.TransferOrderQuery; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * @@ -11,4 +16,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface TransferOrderMapper extends BaseMapper<TransferOrder> { + + /** + * 查询转账总金额 + */ + @Select("select sum(amount) from pay_transfer_order ${ew.customSqlSegment}") + Integer getTalAmount(@Param(Constants.WRAPPER) QueryWrapper<TransferOrderQuery> generator); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java index 005fd28569cc065fe64f5f801c2caab709334ed1..c8abb6d951a77458657fc220a4b4765782c1e683 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/entity/TransferOrder.java @@ -1,8 +1,18 @@ package cn.daxpay.single.service.core.order.transfer.entity; +import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PayChannelEnum; +import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; +import cn.daxpay.single.service.core.order.transfer.convert.TransferOrderConvert; +import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -20,30 +30,103 @@ import java.time.LocalDateTime; @Accessors(chain = true) @DbTable(comment = "转账订单") @TableName("pay_transfer_order") -public class TransferOrder extends MpBaseEntity { +public class TransferOrder extends MpBaseEntity implements EntityBaseFunction<TransferOrderDto> { - /** 业务号 */ - private String outTradeNo; + /** 商户转账号 */ + @DbMySqlIndex(comment = "商户转账号索引") + @DbColumn(comment = "商户转账号", length = 100, isNull = false) + private String bizTransferNo; + + /** 转账号 */ + @DbMySqlIndex(comment = "转账号索引") + @DbColumn(comment = "转账号", length = 150, isNull = false) + private String transferNo; + + /** 通道转账号 */ + @DbMySqlIndex(comment = "通道转账号索引") + @DbColumn(comment = "通道转账号", length = 150) + private String outTransferNo; /** * 支付通道 * @see PayChannelEnum */ + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; - /** 金额 */ + /** 转账金额 */ + @DbColumn(comment = "转账金额", length = 8, isNull = false) private Integer amount; - /** 状态 */ - private String status; + /** 标题 */ + @DbColumn(comment = "标题", length = 100) + private String title; - /** 付款方 */ - private String payer; + /** 转账原因/备注 */ + @DbColumn(comment = "转账原因/备注", length = 150) + private String reason; - /** 收款方 */ - private String payee; + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @DbColumn(comment = "转账类型, 微信使用", length = 20) + private String transferType; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + @DbColumn(comment = "收款人类型", length = 20) + private String payeeType; + + /** 收款人账号 */ + @DbColumn(comment = "收款人账号", length = 100) + private String payeeAccount; + + /** 收款人姓名 */ + @DbColumn(comment = "收款人姓名", length = 50) + private String payeeName; + + /** + * 状态 + * @see TransferStatusEnum + */ + @DbColumn(comment = "状态", length = 20, isNull = false) + private String status; /** 成功时间 */ + @DbColumn(comment = "成功时间") private LocalDateTime successTime; + + /** 异步通知地址 */ + @DbColumn(comment = "异步通知地址", length = 200) + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @DbColumn(comment = "商户扩展参数", length = 500) + private String attach; + + /** 请求时间,时间戳转时间 */ + @DbColumn(comment = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) + private String clientIp; + + /** 错误码 */ + @DbColumn(comment = "错误码", length = 10) + private String errorCode; + + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 2048) + private String errorMsg; + + @Override + public TransferOrderDto toDto() { + return TransferOrderConvert.CONVERT.convert(this); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java new file mode 100644 index 0000000000000000000000000000000000000000..83d817c20c52e3c001d70d5addfd36e4d1078d47 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderQueryService.java @@ -0,0 +1,104 @@ +package cn.daxpay.single.service.core.order.transfer.service; + +import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.bootx.platform.common.core.rest.PageResult; +import cn.bootx.platform.common.core.rest.param.PageParam; +import cn.bootx.platform.common.mybatisplus.util.MpUtil; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.param.payment.transfer.QueryTransferParam; +import cn.daxpay.single.core.result.order.TransferOrderResult; +import cn.daxpay.single.service.core.order.transfer.convert.TransferOrderConvert; +import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.dto.order.transfer.TransferOrderDto; +import cn.daxpay.single.service.param.order.TransferOrderQuery; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.Objects; +import java.util.Optional; + +/** + * 转账订单查询服务 + * @author xxm + * @since 2024/3/21 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class TransferOrderQueryService { + private final TransferOrderManager transferOrderManager; + + /** + * 分页查询 + */ + public PageResult<TransferOrderDto> page(PageParam pageParam, TransferOrderQuery query) { + Page<TransferOrder> page = transferOrderManager.page(pageParam, query); + return MpUtil.convert2DtoPageResult(page); + } + + /** + * 根据id查询 + */ + public TransferOrderDto findById(Long id) { + return transferOrderManager.findById(id).map(TransferOrder::toDto) + .orElseThrow(() -> new DataNotExistException("转账订单不存在")); + } + + /** + * 根据转账号查询 + */ + public TransferOrderDto findByTransferNo(String transferNo){ + return transferOrderManager.findByTransferNo(transferNo).map(TransferOrder::toDto) + .orElseThrow(() -> new DataNotExistException("转账订单信息不存在")); + + } + + /** + * 根据转账号查询 + */ + public TransferOrderDto findByBizTransferNo(String bizTransferNo){ + return transferOrderManager.findByBizTransferNo(bizTransferNo).map(TransferOrder::toDto) + .orElseThrow(() -> new DataNotExistException("转账订单信息不存在")); + + } + + /** + * 根据转账号和商户转账号查询 + */ + public Optional<TransferOrder> findByBizOrTransferNo(String transferNo, String bizTransferNo) { + if (StrUtil.isNotBlank(transferNo)){ + return transferOrderManager.findByTransferNo(transferNo); + } else if (StrUtil.isNotBlank(bizTransferNo)){ + return transferOrderManager.findByBizTransferNo(bizTransferNo); + } else { + return Optional.empty(); + } + } + + /** + * 查询转账订单 + */ + public TransferOrderResult queryTransferOrder(QueryTransferParam param) { + // 校验参数 + if (StrUtil.isBlank(param.getTransferNo()) && Objects.isNull(param.getBizTransferNo())){ + throw new ValidationFailedException("转账号或商户转账号不能都为空"); + } + // 查询转账单 + TransferOrder transferOrder = this.findByBizOrTransferNo(param.getTransferNo(), param.getBizTransferNo()) + .orElseThrow(() -> new TradeNotExistException("转账订单不存在")); + + return TransferOrderConvert.CONVERT.convertResult(transferOrder); + } + + /** + * 查询支付总金额 + */ + public Integer getTotalAmount(TransferOrderQuery param) { + return transferOrderManager.getTalAmount(param); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java index 3ff3bf1195ad6c29aacd0754cf0b3945cf35125e..50675112a3076e7384632e3aed76ed4be61d757d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/order/transfer/service/TransferOrderService.java @@ -1,16 +1,32 @@ package cn.daxpay.single.service.core.order.transfer.service; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; /** - * 转正订单服务 + * 转账订单服务 * @author xxm - * @since 2024/3/21 + * @since 2024/6/17 */ @Slf4j @Service @RequiredArgsConstructor public class TransferOrderService { + + /** + * 手动转账 + */ + public void transfer(TransferParam param){ + + } + + /** + * 重试转账 + */ + public void retryTransfer(){ + + } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/convert/AllocationReceiverConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/convert/AllocationReceiverConvert.java index 1193c1759f0bf6664957c9f60cc64bf3d80c3472..a3034aebae23443e454c45d1d3f3492edd9daaa0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/convert/AllocationReceiverConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/convert/AllocationReceiverConvert.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.allocation.convert; -import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; -import cn.daxpay.single.result.allocation.AllocReceiverResult; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; +import cn.daxpay.single.core.result.allocation.AllocReceiverResult; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; import cn.daxpay.single.service.dto.allocation.AllocationReceiverDto; import org.mapstruct.Mapper; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroup.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroup.java index 04ec99bd5c47052daade9397e26e5b4c53e9dc19..f2b9321c501b72be0746fee9c766a13ced78c253 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroup.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroup.java @@ -2,11 +2,10 @@ package cn.daxpay.single.service.core.payment.allocation.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.service.core.payment.allocation.convert.AllocationGroupConvert; -import cn.daxpay.single.service.dto.allocation.AllocationGroupDto; import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbComment; import cn.bootx.table.modify.annotation.DbTable; +import cn.daxpay.single.service.core.payment.allocation.convert.AllocationGroupConvert; +import cn.daxpay.single.service.dto.allocation.AllocationGroupDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -27,15 +26,15 @@ import lombok.experimental.Accessors; public class AllocationGroup extends MpBaseEntity implements EntityBaseFunction<AllocationGroupDto> { /** 分账组编码 */ - @DbColumn(comment = "分账组编码") + @DbColumn(comment = "分账组编码", length = 20, isNull = false) private String groupNo; /** 名称 */ - @DbComment("名称") + @DbColumn(comment = "名称", length = 50) private String name; /** 通道 */ - @DbColumn(comment = "通道") + @DbColumn(comment = "通道", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String channel; @@ -44,11 +43,11 @@ public class AllocationGroup extends MpBaseEntity implements EntityBaseFunction< private boolean defaultGroup; /** 总分账比例(万分之多少) */ - @DbColumn(comment = "总分账比例(万分之多少)") + @DbColumn(comment = "总分账比例(万分之多少)", length = 5) private Integer totalRate; /** 备注 */ - @DbColumn(comment = "备注") + @DbColumn(comment = "备注", length = 200) private String remark; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroupReceiver.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroupReceiver.java index 48a7f45a7fdbf6a73238dbf5f531b9aad58dc9ed..137a6f5961fe4875dfe3b6d8c42da6e90cfadca0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroupReceiver.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationGroupReceiver.java @@ -20,12 +20,12 @@ import lombok.experimental.Accessors; @TableName("pay_allocation_group_receiver") public class AllocationGroupReceiver extends MpCreateEntity { - @DbColumn(comment = "分账组ID") + @DbColumn(comment = "分账组ID", isNull = false) private Long groupId; - @DbColumn(comment = "接收者ID") + @DbColumn(comment = "接收者ID", isNull = false) private Long receiverId; - @DbColumn(comment = "分账比例(万分之多少)") + @DbColumn(comment = "分账比例(万分之多少)", length = 5) private Integer rate; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java index 7f3020bb0c539579986e3ee894150a3d0fa70a3c..9d20412719bdfc711608446484340848163f5c11 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/entity/AllocationReceiver.java @@ -2,9 +2,9 @@ package cn.daxpay.single.service.core.payment.allocation.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.common.typehandler.DecryptTypeHandler; import cn.daxpay.single.service.core.payment.allocation.convert.AllocationReceiverConvert; import cn.daxpay.single.service.dto.allocation.AllocationReceiverDto; @@ -30,14 +30,14 @@ import lombok.experimental.Accessors; public class AllocationReceiver extends MpBaseEntity implements EntityBaseFunction<AllocationReceiverDto> { /** 分账接收方编号, 需要保证唯一 */ - @DbColumn(comment = "分账接收方编号") + @DbColumn(comment = "分账接收方编号", length = 32, isNull = false) private String receiverNo; /** * 所属通道 * @see PayChannelEnum */ - @DbColumn(comment = "所属通道") + @DbColumn(comment = "所属通道", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String channel; @@ -45,16 +45,16 @@ public class AllocationReceiver extends MpBaseEntity implements EntityBaseFuncti * 分账接收方类型 * @see AllocReceiverTypeEnum */ - @DbColumn(comment = "分账接收方类型") + @DbColumn(comment = "分账接收方类型", length = 20, isNull = false) private String receiverType; /** 接收方账号 */ - @DbColumn(comment = "接收方账号") + @DbColumn(comment = "接收方账号", length = 100, isNull = false) @TableField(typeHandler = DecryptTypeHandler.class) private String receiverAccount; /** 接收方姓名 */ - @DbColumn(comment = "接收方姓名") + @DbColumn(comment = "接收方姓名", length = 100) @TableField(updateStrategy = FieldStrategy.ALWAYS) private String receiverName; @@ -62,11 +62,11 @@ public class AllocationReceiver extends MpBaseEntity implements EntityBaseFuncti * 分账关系类型 * @see AllocRelationTypeEnum */ - @DbColumn(comment = "分账关系类型") + @DbColumn(comment = "分账关系类型", length = 20, isNull = false) private String relationType; /** 关系名称 */ - @DbColumn(comment = "关系名称") + @DbColumn(comment = "关系名称", length = 50) private String relationName; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationFactory.java deleted file mode 100644 index 07de970568871e9465e933fe9d37dfad7c792fd9..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationFactory.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.daxpay.single.service.core.payment.allocation.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.allocation.strategy.allocation.AliPayAllocationStrategy; -import cn.daxpay.single.service.core.payment.allocation.strategy.allocation.WeChatPayAllocationStrategy; -import cn.daxpay.single.service.func.AbsAllocationStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 分账策略工厂 - * @author xxm - * @since 2024/4/7 - */ -@UtilityClass -public class AllocationFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsAllocationStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - - AbsAllocationStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayAllocationStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayAllocationStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationReceiverFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationReceiverFactory.java deleted file mode 100644 index 38cbffaa5542e6a4029a5c3d8da825f8d5d14c6b..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/factory/AllocationReceiverFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.daxpay.single.service.core.payment.allocation.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.allocation.strategy.receiver.AliPayAllocationReceiverStrategy; -import cn.daxpay.single.service.core.payment.allocation.strategy.receiver.WeChatPayAllocationReceiverStrategy; -import cn.daxpay.single.service.func.AbsAllocationReceiverStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 分账接收方策略工厂 - * @author xxm - * @since 2024/4/1 - */ -@UtilityClass -public class AllocationReceiverFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsAllocationReceiverStrategy create(PayChannelEnum channelEnum) { - - AbsAllocationReceiverStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayAllocationReceiverStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayAllocationReceiverStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java index 4257c84656fe6a5179979efe4ebf9317fe017577..47754926ab3b4aa9f803dce38105ff9fce17a63e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationAssistService.java @@ -1,20 +1,13 @@ package cn.daxpay.single.service.core.payment.allocation.service; -import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.context.NoticeLocal; -import cn.daxpay.single.service.common.context.PlatformLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; -import cn.hutool.core.util.StrUtil; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Objects; - /** * 分账支撑方法 * @author xxm @@ -26,46 +19,18 @@ import java.util.Objects; public class AllocationAssistService { - private final AllocationOrderExtraManager allocationOrderExtraManager; + private final AllocationOrderManager allocationOrderManager; /** - * 初始化通知相关上下文 - * 1. 异步通知参数: 读取参数配置 -> 读取接口配置 -> 读取平台参数 - * 2. 同步跳转参数: 读取参数配置 -> 读取平台参数 - * 3. 中途退出地址: 读取参数配置 - */ - public void initNotice(AllocationParam allocationParam) { - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); - ApiInfoLocal apiInfo = PaymentContextLocal.get().getApiInfo(); - PlatformLocal platform = PaymentContextLocal.get() - .getPlatformInfo(); - // 异步回调为开启状态 - if (!Objects.equals(allocationParam.getNotNotify(), false) && apiInfo.isNotice()){ - // 首先读取请求参数 - noticeInfo.setNotifyUrl(allocationParam.getNotifyUrl()); - // 读取接口配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())) { - noticeInfo.setNotifyUrl(apiInfo.getNoticeUrl()); - } - // 读取平台配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())) { - noticeInfo.setNotifyUrl(platform.getNotifyUrl()); - } - } - } - /** - * 根据新传入的分账订单更新订单和扩展信息 + * 根据新传入的分账订单更新订单信息 */ @Transactional(rollbackFor = Exception.class) - public void updateOrder(AllocationParam allocationParam, AllocationOrderExtra orderExtra) { + public void updateOrder(AllocationParam allocationParam, AllocOrder orderExtra) { // 扩展信息 - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); orderExtra.setClientIp(allocationParam.getClientIp()) - .setNotifyUrl(noticeInfo.getNotifyUrl()) + .setNotifyUrl(allocationParam.getNotifyUrl()) .setAttach(allocationParam.getAttach()) - .setClientIp(allocationParam.getClientIp()) .setReqTime(allocationParam.getReqTime()); - - allocationOrderExtraManager.updateById(orderExtra); + allocationOrderManager.updateById(orderExtra); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationCallbackService.java index 85efcfe36ea38639d0793ce7540c479022ae94f5..80aeb95dfcd7085469e9deb7cce98cf6c8a912fc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationCallbackService.java @@ -18,7 +18,7 @@ public class AllocationCallbackService { /** * */ - public void callback(String allocationNo){ + public void callback(String allocNo){ } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java index c84bc5883c175dbd8eaf0dc0db411ecb531eb28d..aa61e2bac8329735846e4ef816bd7b2c545ab1a5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationGroupService.java @@ -6,7 +6,6 @@ import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.code.PayChannelEnum; import cn.daxpay.single.service.core.payment.allocation.convert.AllocationGroupConvert; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupManager; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupReceiverManager; @@ -94,7 +93,6 @@ public class AllocationGroupService { * 创建分账组 */ public void create(AllocationGroupParam param){ - PayChannelEnum.findByCode(param.getChannel()); AllocationGroup group = AllocationGroupConvert.CONVERT.convert(param); group.setTotalRate(0); groupManager.save(group); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java index 0ebf81850b3f33fcfec4b6607d0d279a8a34300f..caae1ed5db9f3c60551cf228da518ea8b64ea0ec 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationReceiverService.java @@ -2,28 +2,31 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.DataNotExistException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.bootx.platform.common.core.rest.PageResult; import cn.bootx.platform.common.core.rest.dto.LabelValue; import cn.bootx.platform.common.core.rest.param.PageParam; import cn.bootx.platform.common.mybatisplus.util.MpUtil; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.allocation.AllocReceiverAddParam; -import cn.daxpay.single.param.payment.allocation.AllocReceiverRemoveParam; -import cn.daxpay.single.param.payment.allocation.QueryAllocReceiverParam; -import cn.daxpay.single.result.allocation.AllocReceiverAddResult; -import cn.daxpay.single.result.allocation.AllocReceiverRemoveResult; -import cn.daxpay.single.result.allocation.AllocReceiverResult; -import cn.daxpay.single.result.allocation.AllocReceiversResult; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.DataErrorException; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.OperationProcessingException; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverAddParam; +import cn.daxpay.single.core.param.payment.allocation.AllocReceiverRemoveParam; +import cn.daxpay.single.core.param.payment.allocation.QueryAllocReceiverParam; +import cn.daxpay.single.core.result.allocation.AllocReceiverAddResult; +import cn.daxpay.single.core.result.allocation.AllocReceiverRemoveResult; +import cn.daxpay.single.core.result.allocation.AllocReceiverResult; +import cn.daxpay.single.core.result.allocation.AllocReceiversResult; import cn.daxpay.single.service.core.payment.allocation.convert.AllocationReceiverConvert; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupReceiverManager; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationReceiverManager; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationReceiver; -import cn.daxpay.single.service.core.payment.allocation.factory.AllocationReceiverFactory; import cn.daxpay.single.service.dto.allocation.AllocationReceiverDto; import cn.daxpay.single.service.func.AbsAllocationReceiverStrategy; import cn.daxpay.single.service.param.allocation.receiver.AllocationReceiverQuery; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.core.util.StrUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; @@ -111,21 +114,20 @@ public class AllocationReceiverService { // 判断是否已经添加 LockInfo lock = lockTemplate.lock("payment:receiver:" + param.getReceiverNo(),10000,200); if (Objects.isNull(lock)){ - throw new PayFailureException("分账方处理中,请勿重复操作"); + throw new OperationProcessingException("分账方处理中,请勿重复操作"); } try { Optional<AllocationReceiver> receiverOptional = allocationReceiverManager.findByReceiverNo(param.getReceiverNo()); if (receiverOptional.isPresent()){ - throw new PayFailureException("该接收方已存在"); + throw new OperationFailException("该接收方已存在"); } AllocationReceiver receiver = AllocationReceiverConvert.CONVERT.convert(param); // 获取策略 - PayChannelEnum channelEnum = PayChannelEnum.findByCode(param.getChannel()); - AbsAllocationReceiverStrategy receiverStrategy = AllocationReceiverFactory.create(channelEnum); + AbsAllocationReceiverStrategy receiverStrategy = PayStrategyFactory.create(param.getChannel(), AbsAllocationReceiverStrategy.class); // 校验 receiverStrategy.setAllocationReceiver(receiver); if (!receiverStrategy.validation()){ - throw new PayFailureException("接收方信息校验失败"); + throw new ValidationFailedException("接收方信息校验失败"); } // 先添加到三方支付系统中, 然后保存到本地 receiverStrategy.doBeforeHandler(); @@ -143,16 +145,15 @@ public class AllocationReceiverService { public AllocReceiverRemoveResult remove(AllocReceiverRemoveParam param){ // 判断是否存在 AllocationReceiver receiver = allocationReceiverManager.findByReceiverNo(param.getReceiverNo()) - .orElseThrow(() -> new PayFailureException("该接收方不存在")); + .orElseThrow(() -> new DataErrorException("该接收方不存在")); if (groupReceiverManager.isUsed(receiver.getId())){ - throw new PayFailureException("该接收方已被使用,无法被删除"); + throw new OperationFailException("该接收方已被使用,无法被删除"); } // 获取策略 - PayChannelEnum channelEnum = PayChannelEnum.findByCode(receiver.getChannel()); - AbsAllocationReceiverStrategy receiverStrategy = AllocationReceiverFactory.create(channelEnum); + AbsAllocationReceiverStrategy receiverStrategy = PayStrategyFactory.create(receiver.getChannel(), AbsAllocationReceiverStrategy.class); LockInfo lock = lockTemplate.lock("payment:receiver:" + param.getReceiverNo(),10000,200); if (Objects.isNull(lock)){ - throw new PayFailureException("分账方处理中,请勿重复操作"); + throw new OperationProcessingException("分账方处理中,请勿重复操作"); } try { // 校验 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java index e0d037851002156cf5909709881b98ae469d4df2..604f5e84fab2d1293148f33adb15c412fb5460c4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationService.java @@ -2,35 +2,39 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.bootx.platform.common.core.util.CollUtil; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.allocation.AllocFinishParam; -import cn.daxpay.single.param.payment.allocation.AllocationParam; -import cn.daxpay.single.param.payment.allocation.QueryAllocOrderParam; -import cn.daxpay.single.result.order.AllocOrderDetailResult; -import cn.daxpay.single.result.order.AllocOrderResult; -import cn.daxpay.single.result.allocation.AllocationResult; +import cn.bootx.platform.common.spring.util.WebServletUtil; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.exception.DataErrorException; +import cn.daxpay.single.core.exception.OperationUnsupportedException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; +import cn.daxpay.single.core.param.payment.allocation.AllocFinishParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.param.payment.allocation.QueryAllocOrderParam; +import cn.daxpay.single.core.result.allocation.AllocationResult; +import cn.daxpay.single.core.result.order.AllocOrderDetailResult; +import cn.daxpay.single.core.result.order.AllocOrderResult; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; +import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; +import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.order.allocation.entity.OrderAndDetail; -import cn.daxpay.single.service.core.order.allocation.service.AllocationOrderService; +import cn.daxpay.single.service.core.order.allocation.service.AllocOrderService; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.payment.allocation.dao.AllocationGroupManager; import cn.daxpay.single.service.core.payment.allocation.entity.AllocationGroup; -import cn.daxpay.single.service.core.payment.allocation.factory.AllocationFactory; import cn.daxpay.single.service.dto.allocation.AllocationGroupReceiverResult; import cn.daxpay.single.service.func.AbsAllocationStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; +import cn.hutool.extra.servlet.ServletUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -41,10 +45,11 @@ import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; -import static cn.daxpay.single.code.AllocOrderStatusEnum.ALLOCATION_END; -import static cn.daxpay.single.code.AllocOrderStatusEnum.FINISH_FAILED; +import static cn.daxpay.single.core.code.AllocOrderStatusEnum.ALLOCATION_END; +import static cn.daxpay.single.core.code.AllocOrderStatusEnum.FINISH_FAILED; /** * 分账服务 @@ -62,31 +67,27 @@ public class AllocationService { private final AllocationGroupService allocationGroupService; - private final AllocationOrderService allocationOrderService; + private final AllocOrderService allocOrderService; - private final AllocationOrderDetailManager allocationOrderDetailManager; + private final AllocOrderDetailManager allocOrderDetailManager; private final AllocationAssistService allocationAssistService; private final PayOrderQueryService payOrderQueryService; - private final AllocationOrderExtraManager allocationOrderExtraManager; - private final LockTemplate lockTemplate; - /** * 开启分账 多次请求只会分账一次 * 优先级 分账接收方列表 > 分账组编号 > 默认分账组 */ public AllocationResult allocation(AllocationParam param) { // 判断是否已经有分账订单 - AllocationOrder allocationOrder = allocationOrderManager.findByBizAllocationNo(param.getBizAllocationNo()) + AllocOrder allocOrder = allocationOrderManager.findByBizAllocNo(param.getBizAllocNo()) .orElse(null); - allocationAssistService.initNotice(param); - if (Objects.nonNull(allocationOrder)){ + if (Objects.nonNull(allocOrder)){ // 重复分账 - return this.retryAllocation(param, allocationOrder); + return this.retryAllocation(param, allocOrder); } else { // 首次分账 PayOrder payOrder = this.getAndCheckPayOrder(param); @@ -106,18 +107,18 @@ public class AllocationService { // 构建分账订单相关信息 OrderAndDetail orderAndDetail = this.checkAndCreateAlloc(param, payOrder); // 检查是否需要进行分账 - AllocationOrder order = orderAndDetail.getOrder(); - List<AllocationOrderDetail> details = orderAndDetail.getDetails(); + AllocOrder order = orderAndDetail.getOrder(); + List<AllocOrderDetail> details = orderAndDetail.getDetails(); // 无需进行分账, if (Objects.equals(order.getStatus(),AllocOrderStatusEnum.IGNORE.getCode())){ return new AllocationResult() - .setAllocationNo(order.getAllocationNo()) - .setBizAllocationNo(order.getBizAllocationNo()) + .setAllocNo(order.getAllocNo()) + .setBizAllocNo(order.getBizAllocNo()) .setStatus(order.getStatus()); } // 创建分账策略并初始化 - AbsAllocationStrategy allocationStrategy = AllocationFactory.create(payOrder.getChannel()); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(payOrder.getChannel(),AbsAllocationStrategy.class); allocationStrategy.initParam(order, details); try { // 分账预处理 @@ -136,14 +137,14 @@ public class AllocationService { // TODO 返回异常处理 } // 网关分账号 - String outAllocationNo = PaymentContextLocal.get() + String outAllocNo = PaymentContextLocal.get() .getAllocationInfo() - .getOutAllocationNo(); - order.setOutAllocationNo(outAllocationNo); + .getOutAllocNo(); + order.setOutAllocNo(outAllocNo); allocationOrderManager.updateById(order); return new AllocationResult() - .setAllocationNo(order.getAllocationNo()) - .setBizAllocationNo(order.getBizAllocationNo()) + .setAllocNo(order.getAllocNo()) + .setBizAllocNo(order.getBizAllocNo()) .setStatus(order.getStatus()); } finally { lockTemplate.releaseLock(lock); @@ -153,7 +154,7 @@ public class AllocationService { /** * 重新分账 */ - private AllocationResult retryAllocation(AllocationParam param, AllocationOrder order){ + private AllocationResult retryAllocation(AllocationParam param, AllocOrder order){ LockInfo lock = lockTemplate.lock("payment:allocation:" + order.getOrderId(),10000,200); if (Objects.isNull(lock)){ throw new RepetitiveOperationException("分账发起处理中,请勿重复操作"); @@ -164,19 +165,16 @@ public class AllocationService { AllocOrderStatusEnum.ALLOCATION_FAILED.getCode(), AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()); if (!list.contains(order.getStatus())){ - throw new PayFailureException("分账单状态错误,无法重试"); + throw new TradeStatusErrorException("分账单状态错误,无法重试"); } - List<AllocationOrderDetail> details = this.getDetails(order.getId()); + List<AllocOrderDetail> details = this.getDetails(order.getId()); // 创建分账策略并初始化 - AbsAllocationStrategy allocationStrategy = AllocationFactory.create(order.getChannel()); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(order.getChannel(),AbsAllocationStrategy.class); allocationStrategy.initParam(order, details); // 分账预处理 allocationStrategy.doBeforeHandler(); - // 查询扩展信息 - AllocationOrderExtra orderExtra = allocationOrderExtraManager.findById(order.getId()) - .orElseThrow(() -> new PayFailureException("未查询到分账单扩展信息")); - // 更新分账单扩展信息 - allocationAssistService.updateOrder(param, orderExtra); + // 更新分账单信息 + allocationAssistService.updateOrder(param, order); try { // 重复分账处理 allocationStrategy.allocation(); @@ -185,14 +183,13 @@ public class AllocationService { } catch (Exception e) { log.error("重新分账出现错误:", e); - // TODO 失败 order.setStatus(AllocOrderStatusEnum.ALLOCATION_FAILED.getCode()) .setErrorMsg(e.getMessage()); } allocationOrderManager.updateById(order); return new AllocationResult() - .setAllocationNo(order.getAllocationNo()) - .setBizAllocationNo(order.getBizAllocationNo()) + .setAllocNo(order.getAllocNo()) + .setBizAllocNo(order.getBizAllocNo()) .setStatus(order.getStatus()); } finally { lockTemplate.releaseLock(lock); @@ -203,30 +200,30 @@ public class AllocationService { * 分账完结 */ public AllocationResult finish(AllocFinishParam param) { - AllocationOrder allocationOrder; - if (Objects.nonNull(param.getAllocationNo())){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocationNo()) + AllocOrder allocOrder; + if (Objects.nonNull(param.getAllocNo())){ + allocOrder = allocationOrderManager.findByAllocNo(param.getAllocNo()) .orElseThrow(() -> new DataNotExistException("未查询到分账单信息")); } else { - allocationOrder = allocationOrderManager.findByBizAllocationNo(param.getBizAllocationNo()) + allocOrder = allocationOrderManager.findByBizAllocNo(param.getBizAllocNo()) .orElseThrow(() -> new DataNotExistException("未查询到分账单信息")); } - return this.finish(allocationOrder); + return this.finish(allocOrder); } /** * 分账完结 */ - public AllocationResult finish(AllocationOrder allocationOrder) { + public AllocationResult finish(AllocOrder allocOrder) { // 只有分账结束后才可以完结 - if (!Arrays.asList(ALLOCATION_END.getCode(),FINISH_FAILED.getCode()).contains(allocationOrder.getStatus())) { - throw new PayFailureException("分账单状态错误"); + if (!Arrays.asList(ALLOCATION_END.getCode(),FINISH_FAILED.getCode()).contains(allocOrder.getStatus())) { + throw new TradeStatusErrorException("分账单状态错误"); } - List<AllocationOrderDetail> details = this.getDetails(allocationOrder.getId()); + List<AllocOrderDetail> details = this.getDetails(allocOrder.getId()); // 创建分账策略并初始化 - AbsAllocationStrategy allocationStrategy = AllocationFactory.create(allocationOrder.getChannel()); - allocationStrategy.initParam(allocationOrder, details); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(allocOrder.getChannel(),AbsAllocationStrategy.class); + allocationStrategy.initParam(allocOrder, details); // 分账完结预处理 allocationStrategy.doBeforeHandler(); @@ -234,20 +231,20 @@ public class AllocationService { // 完结处理 allocationStrategy.finish(); // 完结状态 - allocationOrder.setStatus(AllocOrderStatusEnum.FINISH.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.FINISH.getCode()) .setFinishTime(LocalDateTime.now()) .setErrorMsg(null); } catch (Exception e) { log.error("分账完结错误:", e); // 失败 - allocationOrder.setStatus(FINISH_FAILED.getCode()) + allocOrder.setStatus(FINISH_FAILED.getCode()) .setErrorMsg(e.getMessage()); } - allocationOrderManager.updateById(allocationOrder); + allocationOrderManager.updateById(allocOrder); return new AllocationResult() - .setAllocationNo(allocationOrder.getAllocationNo()) - .setBizAllocationNo(allocationOrder.getBizAllocationNo()) - .setStatus(allocationOrder.getStatus()); + .setAllocNo(allocOrder.getAllocNo()) + .setBizAllocNo(allocOrder.getBizAllocNo()) + .setStatus(allocOrder.getStatus()); } /** @@ -256,14 +253,14 @@ public class AllocationService { private PayOrder getAndCheckPayOrder(AllocationParam param) { // 查询支付单 PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) - .orElseThrow(() -> new PayFailureException("支付单不存在")); + .orElseThrow(() -> new TradeNotExistException("支付单不存在")); // 判断订单是否可以分账 if (!payOrder.getAllocation()){ - throw new PayFailureException("该订单不允许分账"); + throw new OperationUnsupportedException("该订单不允许分账"); } // 判断分账状态 - if (Objects.equals(PayOrderAllocStatusEnum.ALLOCATION.getCode(), payOrder.getAllocationStatus())){ - throw new PayFailureException("该订单已分账完成"); + if (Objects.equals(PayOrderAllocStatusEnum.ALLOCATION.getCode(), payOrder.getAllocStatus())){ + throw new TradeStatusErrorException("该订单已分账完成"); } return payOrder; } @@ -273,12 +270,12 @@ public class AllocationService { */ public AllocOrderResult queryAllocationOrder(QueryAllocOrderParam param) { // 查询分账单 - AllocationOrder allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocationNo()) - .orElseThrow(() -> new PayFailureException("分账单不存在")); - AllocOrderResult result = AllocationConvert.CONVERT.toResult(allocationOrder); + AllocOrder allocOrder = allocationOrderManager.findByAllocNo(param.getAllocNo()) + .orElseThrow(() -> new DataErrorException("分账单不存在")); + AllocOrderResult result = AllocOrderConvert.CONVERT.toResult(allocOrder); // 查询分账单明细 - List<AllocOrderDetailResult> details = allocationOrderDetailManager.findAllByOrderId(allocationOrder.getId()).stream() - .map(AllocationConvert.CONVERT::toResult) + List<AllocOrderDetailResult> details = allocOrderDetailManager.findAllByOrderId(allocOrder.getId()).stream() + .map(AllocOrderConvert.CONVERT::toResult) .collect(Collectors.toList()); result.setDetails(details); return result; @@ -292,23 +289,23 @@ public class AllocationService { OrderAndDetail orderAndDetail; // 判断是否传输了分账接收方列表 if (CollUtil.isNotEmpty(param.getReceivers())) { - orderAndDetail = allocationOrderService.createAndUpdate(param, payOrder); + orderAndDetail = allocOrderService.createAndUpdate(param, payOrder); } else { AllocationGroup allocationGroup; if (Objects.nonNull(param.getGroupNo())){ // 指定分账组 - allocationGroup = groupManager.findByGroupNo(param.getGroupNo()).orElseThrow(() -> new DataNotExistException("未查询到分账组")); + allocationGroup = groupManager.findByGroupNo(param.getGroupNo()).orElseThrow(() -> new DataErrorException("未查询到分账组")); } else { // 默认分账组 - allocationGroup = groupManager.findDefaultGroup(payOrder.getChannel()).orElseThrow(() -> new PayFailureException("未查询到默认分账组")); + allocationGroup = groupManager.findDefaultGroup(payOrder.getChannel()).orElseThrow(() -> new DataErrorException("未查询到默认分账组")); } // 判断通道类型是否一致 if (!Objects.equals(allocationGroup.getChannel(), payOrder.getChannel())){ - throw new PayFailureException("分账接收方列表存在非本通道的数据"); + throw new ValidationFailedException("分账接收方列表存在非本通道的数据"); } List<AllocationGroupReceiverResult> receiversByGroups = allocationGroupService.findReceiversByGroups(allocationGroup.getId()); - orderAndDetail = allocationOrderService.createAndUpdate(param ,payOrder, receiversByGroups); + orderAndDetail = allocOrderService.createAndUpdate(param ,payOrder, receiversByGroups); } return orderAndDetail; } @@ -316,11 +313,28 @@ public class AllocationService { /** * 获取发起分账或完结的明细 */ - private List<AllocationOrderDetail> getDetails(Long allocOrderId){ - List<AllocationOrderDetail> details = allocationOrderDetailManager.findAllByOrderId(allocOrderId); + private List<AllocOrderDetail> getDetails(Long allocOrderId){ + List<AllocOrderDetail> details = allocOrderDetailManager.findAllByOrderId(allocOrderId); // 过滤掉忽略的条目 return details.stream() .filter(detail -> !Objects.equals(detail.getResult(), AllocDetailResultEnum.IGNORE.getCode())) .collect(Collectors.toList()); } + + /** + * 手动重试 + */ + public void retry(String bizAllocNo) { + AllocOrder allocOrder = allocationOrderManager.findByBizAllocNo(bizAllocNo) + .orElseThrow(() -> new DataErrorException("未查询到分账单")); + String ip = Optional.ofNullable(WebServletUtil.getRequest()) + .map(ServletUtil::getClientIP) + .orElse("未知"); + AllocationParam param = new AllocationParam(); + param.setBizAllocNo(allocOrder.getBizAllocNo()); + param.setAttach(allocOrder.getAttach()); + param.setNotifyUrl(allocOrder.getNotifyUrl()); + param.setClientIp(ip); + this.retryAllocation(param, allocOrder); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java index c4dd93084ac35e3fbfcc3558ad6e37c1a4317abf..399eae5599b2a203fe0d238798f6a87fcd36cbb4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/service/AllocationSyncService.java @@ -2,23 +2,23 @@ package cn.daxpay.single.service.core.payment.allocation.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.param.payment.allocation.AllocSyncParam; -import cn.daxpay.single.result.sync.AllocSyncResult; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.param.payment.allocation.AllocSyncParam; +import cn.daxpay.single.core.result.sync.AllocSyncResult; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderDetailManager; +import cn.daxpay.single.service.core.order.allocation.dao.AllocOrderDetailManager; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.payment.allocation.factory.AllocationFactory; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord; import cn.daxpay.single.service.core.record.sync.service.PaySyncRecordService; import cn.daxpay.single.service.func.AbsAllocationStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -45,7 +45,7 @@ public class AllocationSyncService { private final AllocationOrderManager allocationOrderManager; - private final AllocationOrderDetailManager allocationOrderDetailManager; + private final AllocOrderDetailManager allocOrderDetailManager; private final PaySyncRecordService paySyncRecordService; @@ -57,46 +57,46 @@ public class AllocationSyncService { @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public AllocSyncResult sync(AllocSyncParam param) { // 获取分账订单 - AllocationOrder allocationOrder = null; - if (Objects.nonNull(param.getAllocationNo())){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getAllocationNo()) + AllocOrder allocOrder = null; + if (Objects.nonNull(param.getAllocNo())){ + allocOrder = allocationOrderManager.findByAllocNo(param.getAllocNo()) .orElseThrow(() -> new DataNotExistException("分账单不存在")); } - if (Objects.isNull(allocationOrder)){ - allocationOrder = allocationOrderManager.findByAllocationNo(param.getBizAllocationNo()) + if (Objects.isNull(allocOrder)){ + allocOrder = allocationOrderManager.findByAllocNo(param.getBizAllocNo()) .orElseThrow(() -> new DataNotExistException("分账单不存在")); } // 如果类型为忽略, 不进行同步处理 - if (Objects.equals(allocationOrder.getStatus(), AllocOrderStatusEnum.IGNORE.getCode())){ + if (Objects.equals(allocOrder.getStatus(), AllocOrderStatusEnum.IGNORE.getCode())){ return new AllocSyncResult(); } // 调用同步逻辑 - this.sync(allocationOrder); + this.sync(allocOrder); return new AllocSyncResult(); } /** * 分账同步 */ - public void sync(AllocationOrder allocationOrder){ - LockInfo lock = lockTemplate.lock("payment:allocation:" + allocationOrder.getOrderId(),10000,200); + public void sync(AllocOrder allocOrder){ + LockInfo lock = lockTemplate.lock("payment:allocation:" + allocOrder.getOrderId(),10000,200); if (Objects.isNull(lock)){ throw new RepetitiveOperationException("分账同步中,请勿重复操作"); } try { - List<AllocationOrderDetail> detailList = allocationOrderDetailManager.findAllByOrderId(allocationOrder.getId()); + List<AllocOrderDetail> detailList = allocOrderDetailManager.findAllByOrderId(allocOrder.getId()); // 获取分账策略 - AbsAllocationStrategy allocationStrategy = AllocationFactory.create(allocationOrder.getChannel()); - allocationStrategy.initParam(allocationOrder, detailList); + AbsAllocationStrategy allocationStrategy = PayStrategyFactory.create(allocOrder.getChannel(),AbsAllocationStrategy.class); + allocationStrategy.initParam(allocOrder, detailList); // 分账完结预处理 allocationStrategy.doBeforeHandler(); // 执行同步操作, 分账明细的状态变更会在这个里面 AllocRemoteSyncResult allocRemoteSyncResult = allocationStrategy.doSync(); // 保存分账同步记录 - this.saveRecord(allocationOrder, allocRemoteSyncResult,null,null); + this.saveRecord(allocOrder, allocRemoteSyncResult,null,null); // 根据订单明细更新订单的状态和处理结果 - this.updateOrderStatus(allocationOrder, detailList); + this.updateOrderStatus(allocOrder, detailList); } finally { lockTemplate.releaseLock(lock); } @@ -106,50 +106,50 @@ public class AllocationSyncService { * 根据订单明细更新订单的状态和处理结果, 如果订单是分账结束或失败, 不更新状态 * TODO 是否多次同步会产生多次变动, 注意处理多次推送通知的问题, 目前是 */ - private void updateOrderStatus(AllocationOrder allocationOrder, List<AllocationOrderDetail> details){ + private void updateOrderStatus(AllocOrder allocOrder, List<AllocOrderDetail> details){ // 如果是分账结束或失败, 不更新状态 - String status = allocationOrder.getStatus(); + String status = allocOrder.getStatus(); // 如果是分账结束或失败, 不进行对订单进行处理 List<String> list = Arrays.asList(AllocOrderStatusEnum.FINISH.getCode(), AllocOrderStatusEnum.FINISH_FAILED.getCode()); if (!list.contains(status)){ // 判断明细状态. 获取成功和失败的 long successCount = details.stream() - .map(AllocationOrderDetail::getResult) + .map(AllocOrderDetail::getResult) .filter(AllocDetailResultEnum.SUCCESS.getCode()::equals) .count(); long failCount = details.stream() - .map(AllocationOrderDetail::getResult) + .map(AllocOrderDetail::getResult) .filter(AllocDetailResultEnum.FAIL.getCode()::equals) .count(); // 成功和失败都为0 表示进行中 if (successCount == 0 && failCount == 0){ - allocationOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode()) .setResult(AllocOrderResultEnum.ALL_PENDING.getCode()); } else { if (failCount == details.size()){ // 全部失败 - allocationOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) .setResult(AllocOrderResultEnum.ALL_FAILED.getCode()); } else if (successCount == details.size()){ // 全部成功 - allocationOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) .setResult(AllocOrderResultEnum.ALL_SUCCESS.getCode()); } else { // 部分成功 - allocationOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) + allocOrder.setStatus(AllocOrderStatusEnum.ALLOCATION_END.getCode()) .setResult(AllocOrderResultEnum.PART_SUCCESS.getCode()); } } } - allocationOrderDetailManager.updateAllById(details); - allocationOrderManager.updateById(allocationOrder); + allocOrderDetailManager.updateAllById(details); + allocationOrderManager.updateById(allocOrder); // 如果状态为完成, 发送通知 - if (Objects.equals(AllocOrderStatusEnum.ALLOCATION_END.getCode(), allocationOrder.getStatus())){ + if (Objects.equals(AllocOrderStatusEnum.ALLOCATION_END.getCode(), allocOrder.getStatus())){ // 发送通知 - clientNoticeService.registerAllocNotice(allocationOrder, null, details); + clientNoticeService.registerAllocNotice(allocOrder, details); } } @@ -157,17 +157,17 @@ public class AllocationSyncService { /** * 保存同步记录 */ - private void saveRecord(AllocationOrder order, AllocRemoteSyncResult syncResult, String errorCode, String errorMsg){ + private void saveRecord(AllocOrder order, AllocRemoteSyncResult syncResult, String errorCode, String errorMsg){ PaySyncRecord paySyncRecord = new PaySyncRecord() - .setBizTradeNo(order.getBizAllocationNo()) - .setTradeNo(order.getAllocationNo()) - .setOutTradeNo(order.getOutAllocationNo()) + .setBizTradeNo(order.getBizAllocNo()) + .setTradeNo(order.getAllocNo()) + .setOutTradeNo(order.getOutAllocNo()) .setSyncType(PaymentTypeEnum.ALLOCATION.getCode()) .setChannel(order.getChannel()) .setSyncInfo(syncResult.getSyncInfo()) .setErrorCode(errorCode) .setErrorMsg(errorMsg) - .setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp()); + .setClientIp(PaymentContextLocal.get().getClientInfo().getClientIp()); paySyncRecordService.saveRecord(paySyncRecord); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java index 1aa55744a68ac8293856243afe34ae36c805ba5a..68a8027d6e7119c7beca061eb8ce7c05f8a2ecf7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/AliPayAllocationStrategy.java @@ -1,7 +1,8 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.allocation; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -38,8 +39,8 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** @@ -50,9 +51,8 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { this.aliPayConfig = aliPayConfigService.getConfig(); // 判断是否支持分账 if (Objects.equals(aliPayConfig.getAllocation(),false)){ - throw new PayFailureException("支付宝支付配置不支持分账"); + throw new ConfigNotEnableException("支付宝支付配置未开启分账"); } - aliPayConfigService.initConfig(this.aliPayConfig); } /** @@ -60,7 +60,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void allocation() { - aliPayAllocationService.allocation(this.getAllocationOrder(), this.getAllocationOrderDetails()); + aliPayAllocationService.allocation(this.getAllocOrder(), this.getAllocOrderDetails(), this.aliPayConfig); } /** @@ -68,7 +68,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void finish() { - aliPayAllocationService.finish(this.getAllocationOrder(), this.getAllocationOrderDetails()); + aliPayAllocationService.finish(this.getAllocOrder(), this.getAllocOrderDetails(), this.aliPayConfig); } /** @@ -76,7 +76,7 @@ public class AliPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public AllocRemoteSyncResult doSync() { - return aliPayAllocationService.sync(this.getAllocationOrder(), this.getAllocationOrderDetails()); + return aliPayAllocationService.sync(this.getAllocOrder(), this.getAllocOrderDetails(), this.aliPayConfig); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java index 039c05939a975ae86a2c1ddb7aececfb715439b4..63fdfa3ed20ff36e62cf67860e7c9c0d27a5f3f4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/allocation/WeChatPayAllocationStrategy.java @@ -1,7 +1,9 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.allocation; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.PayFailureException; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -37,8 +39,8 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** @@ -49,11 +51,11 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { weChatPayConfig = weChatPayConfigService.getAndCheckConfig(); // 判断是否支持分账 if (Objects.equals(weChatPayConfig.getAllocation(),false)){ - throw new PayFailureException("微信支付配置不支持分账"); + throw new ConfigNotEnableException("微信支付未开启分账"); } // 如果分账金额为0, 不发起分账 - if (getAllocationOrder().getAmount() == 0){ - throw new PayFailureException("微信订单的分账比例不正确或订单金额太小, 无法进行分账"); + if (getAllocOrder().getAmount() == 0){ + throw new OperationFailException("微信订单的分账比例不正确或订单金额太小, 无法进行分账"); } } @@ -62,7 +64,7 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void allocation() { - weChatPayAllocationService.allocation(getAllocationOrder(), this.getAllocationOrderDetails(), weChatPayConfig); + weChatPayAllocationService.allocation(getAllocOrder(), this.getAllocOrderDetails(), weChatPayConfig); } /** @@ -70,7 +72,7 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public void finish() { - weChatPayAllocationService.finish(getAllocationOrder(), weChatPayConfig); + weChatPayAllocationService.finish(getAllocOrder(), weChatPayConfig); } /** @@ -78,7 +80,7 @@ public class WeChatPayAllocationStrategy extends AbsAllocationStrategy { */ @Override public AllocRemoteSyncResult doSync() { - return weChatPayAllocationService.sync(this.getAllocationOrder(),this.getAllocationOrderDetails(),weChatPayConfig); + return weChatPayAllocationService.sync(this.getAllocOrder(),this.getAllocOrderDetails(),weChatPayConfig); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java index a7e8971971745eedb69a4ca0489048ceb47dbbf9..607e48e8a490cfe2f1a04e6de049a20f67e3021f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/AliPayAllocationReceiverStrategy.java @@ -1,7 +1,8 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.receiver; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayAllocationReceiverService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -36,8 +37,8 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** @@ -56,9 +57,8 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat this.aliPayConfig = payConfigService.getAndCheckConfig(); // 判断是否支持分账 if (Objects.equals(aliPayConfig.getAllocation(),false)){ - throw new PayFailureException("微信支付配置不支持分账"); + throw new ConfigNotEnableException("微信支付配置未开启分账"); } - payConfigService.initConfig(this.aliPayConfig); } /** @@ -67,9 +67,9 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat @Override public void bind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new PayFailureException("分账接收者参数未通过校验"); + throw new ValidationFailedException("分账接收者参数未通过校验"); } - receiverService.bind(this.getAllocationReceiver()); + receiverService.bind(this.getAllocationReceiver(), this.aliPayConfig); } /** @@ -78,8 +78,8 @@ public class AliPayAllocationReceiverStrategy extends AbsAllocationReceiverStrat @Override public void unbind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new PayFailureException("分账参数未通过校验"); + throw new ValidationFailedException("分账参数未通过校验"); } - receiverService.unbind(this.getAllocationReceiver()); + receiverService.unbind(this.getAllocationReceiver(), this.aliPayConfig); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java index 5291fca49d13ee6f275fd96ba079823d419f393d..8b1ca503b645fec2c5ce37a090ae7eef99d57cc1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/allocation/strategy/receiver/WeChatPayAllocationReceiverStrategy.java @@ -1,7 +1,8 @@ package cn.daxpay.single.service.core.payment.allocation.strategy.receiver; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.ConfigNotEnableException; +import cn.bootx.platform.common.core.exception.ValidationFailedException; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayAllocationReceiverService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -36,8 +37,8 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** @@ -56,7 +57,7 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt this.weChatPayConfig = payConfigService.getAndCheckConfig(); // 判断是否支持分账 if (Objects.equals(weChatPayConfig.getAllocation(),false)){ - throw new PayFailureException("微信支付配置不支持分账"); + throw new ConfigNotEnableException("微信支付配置未开启分账"); } } @@ -66,7 +67,7 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt @Override public void bind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new PayFailureException("分账接收者参数未通过校验"); + throw new ValidationFailedException("分账接收者参数未通过校验"); } receiverService.bind(this.getAllocationReceiver(),this.weChatPayConfig); } @@ -77,7 +78,7 @@ public class WeChatPayAllocationReceiverStrategy extends AbsAllocationReceiverSt @Override public void unbind() { if (!receiverService.validation(this.getAllocationReceiver())){ - throw new PayFailureException("分账参数未通过校验"); + throw new ValidationFailedException("分账参数未通过校验"); } receiverService.unbind(this.getAllocationReceiver(),this.weChatPayConfig); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/PayCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/PayCallbackService.java index 3971100fe72699d7f2702d110c3176495bddabdc..733510854e80befa2e228f853323077bc8ad7168 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/PayCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/PayCallbackService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.callback.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.common.context.CallbackLocal; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/RefundCallbackService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/RefundCallbackService.java index dde3462d80030e7f152ffb67fc8558e6822003bd..3b7f2b2407968b913b0a3db567fcae32a80c1614 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/RefundCallbackService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/callback/service/RefundCallbackService.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.callback.service; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.RefundRepairWayEnum; import cn.daxpay.single.service.common.context.CallbackLocal; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java new file mode 100644 index 0000000000000000000000000000000000000000..673728dfd1118dd448650b9e158b8a5a0ae7578d --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/service/PayCancelService.java @@ -0,0 +1,116 @@ +package cn.daxpay.single.service.core.payment.cancel.service; + +import cn.bootx.platform.common.core.exception.RepetitiveOperationException; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; +import cn.daxpay.single.core.param.payment.pay.PayCancelParam; +import cn.daxpay.single.core.result.pay.PayCancelResult; +import cn.daxpay.single.service.code.PayCloseTypeEnum; +import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.order.pay.entity.PayOrder; +import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; +import cn.daxpay.single.service.core.order.pay.service.PayOrderService; +import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; +import cn.daxpay.single.service.core.record.close.entity.PayCloseRecord; +import cn.daxpay.single.service.core.record.close.service.PayCloseRecordService; +import cn.daxpay.single.service.func.AbsPayCancelStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; +import com.baomidou.lock.LockInfo; +import com.baomidou.lock.LockTemplate; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.Objects; + +/** + * 支付关闭和撤销服务 + * @author xxm + * @since 2023/12/18 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class PayCancelService { + private final PayOrderService payOrderService; + private final PayOrderQueryService payOrderQueryService; + private final PayCloseRecordService payCloseRecordService; + private final ClientNoticeService clientsService;; + + private final LockTemplate lockTemplate; + + /** + * 撤销支付 + */ + public PayCancelResult cancel(PayCancelParam param){ + PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); + LockInfo lock = lockTemplate.lock("payment:cancel:" + payOrder.getId(),10000, 50); + if (Objects.isNull(lock)){ + throw new RepetitiveOperationException("支付订单已在撤销中,请勿重复发起"); + } + try { + PayCancelResult result = new PayCancelResult(); + // 状态检查, 只有支付中可以进行撤销支付 + if (!Objects.equals(payOrder.getStatus(), PayStatusEnum.PROGRESS.getCode())) { + throw new TradeStatusErrorException("订单不是支付中, 无法进行撤销订单"); + } + try { + AbsPayCancelStrategy strategy = PayStrategyFactory.create(payOrder.getChannel(), AbsPayCancelStrategy.class); + // 设置支付订单 + strategy.setOrder(payOrder); + // 撤销前准备 + strategy.doBeforeCancelHandler(); + // 执行撤销策略 + strategy.doCancelHandler(); + // 成功处理 + this.successHandler(payOrder); + // 返回结果 + return result; + } catch (Exception e) { + log.error("撤销订单失败, id: {}:", payOrder.getId()); + log.error("撤销订单失败:", e); + // 记录撤销失败的记录 + this.saveRecord(payOrder, false, e.getMessage()); + throw new OperationFailException("撤销订单失败"); + } + } finally { + lockTemplate.releaseLock(lock); + } + } + + /** + * 成功后处理方法 + */ + private void successHandler(PayOrder payOrder){ + // 撤销订单 + payOrder.setStatus(PayStatusEnum.CANCEL.getCode()) + .setCloseTime(LocalDateTime.now()); + payOrderService.updateById(payOrder); + // 发送通知 + clientsService.registerPayNotice(payOrder); + this.saveRecord(payOrder,true,null); + } + + /** + * 保存撤销记录 + */ + private void saveRecord(PayOrder payOrder, boolean closed, String errMsg){ + String clientIp = PaymentContextLocal.get() + .getClientInfo() + .getClientIp(); + PayCloseRecord record = new PayCloseRecord() + .setOrderNo(payOrder.getOrderNo()) + .setBizOrderNo(payOrder.getBizOrderNo()) + .setChannel(payOrder.getChannel()) + .setCloseType(PayCloseTypeEnum.CANCEL.getCode()) + .setClosed(closed) + .setErrorMsg(errMsg) + .setClientIp(clientIp); + payCloseRecordService.saveRecord(record); + } + +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java new file mode 100644 index 0000000000000000000000000000000000000000..de6277d6627659f3e929b340b6b35ba1ed374e48 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/AliPayCancelStrategy.java @@ -0,0 +1,52 @@ +package cn.daxpay.single.service.core.payment.cancel.strategy; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; +import cn.daxpay.single.service.core.channel.alipay.service.AliPayCloseService; +import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; +import cn.daxpay.single.service.func.AbsPayCancelStrategy; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; + +/** + * 支付宝撤销策略 + * @author xxm + * @since 2024/6/5 + */ +@Slf4j +@Scope(SCOPE_PROTOTYPE) +@Service +@RequiredArgsConstructor +public class AliPayCancelStrategy extends AbsPayCancelStrategy { + + private final AliPayConfigService alipayConfigService; + + private final AliPayCloseService aliPayCloseService; + + private AliPayConfig config; + + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); + } + + /** + * 关闭前的处理方式 + */ + @Override + public void doBeforeCancelHandler() { + this.config = alipayConfigService.getConfig(); + } + + /** + * 关闭操作 + */ + @Override + public void doCancelHandler() { + aliPayCloseService.cancel(this.getOrder(),this.config); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java new file mode 100644 index 0000000000000000000000000000000000000000..5d403e37410d35181cf72ac07aff0670687b5ee6 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/cancel/strategy/WeChatPayCancelStrategy.java @@ -0,0 +1,58 @@ +package cn.daxpay.single.service.core.payment.cancel.strategy; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayMethodEnum; +import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCloseService; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; +import cn.daxpay.single.service.func.AbsPayCancelStrategy; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; + +/** + * 微信支付关闭策略 + * @author xxm + * @since 2023/12/30 + */ +@Slf4j +@Scope(SCOPE_PROTOTYPE) +@Service +@RequiredArgsConstructor +public class WeChatPayCancelStrategy extends AbsPayCancelStrategy { + + private final WeChatPayConfigService weChatPayConfigService; + private final WeChatPayCloseService weChatPayCloseService; + + private WeChatPayConfig weChatPayConfig; + + @Override + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); + } + + /** + * 关闭前的处理方式 + */ + @Override + public void doBeforeCancelHandler() { + // 非当面付订单不可以关闭 + if (!Objects.equals(this.getOrder().getMethod(), PayMethodEnum.BARCODE.getCode())) { + throw new RuntimeException("微信当面付订单才可以被撤销"); + } + this.weChatPayConfig = weChatPayConfigService.getConfig(); + } + + /** + * 关闭操作 + */ + @Override + public void doCancelHandler() { + weChatPayCloseService.cancel(this.getOrder(), weChatPayConfig); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/factory/PayCloseStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/factory/PayCloseStrategyFactory.java deleted file mode 100644 index 6119753b7ac8245f49eb81b478f3af25d80fac3a..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/factory/PayCloseStrategyFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.daxpay.single.service.core.payment.close.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.close.strategy.AliPayCloseStrategy; -import cn.daxpay.single.service.core.payment.close.strategy.UnionPayCloseStrategy; -import cn.daxpay.single.service.core.payment.close.strategy.WeChatPayCloseStrategy; -import cn.daxpay.single.service.func.AbsPayCloseStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 支付关闭策略工厂 - * @author xxm - * @since 2023/12/29 - */ -@UtilityClass -public class PayCloseStrategyFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsPayCloseStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - AbsPayCloseStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayCloseStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayCloseStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionPayCloseStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java index 3ebce3a2bc700c73a17580b8a03bb93eaac748d0..4ec6175b427b9433ecc0c444e7b8d08306fcd928 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/service/PayCloseService.java @@ -1,19 +1,23 @@ package cn.daxpay.single.service.core.payment.close.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PayCloseParam; -import cn.daxpay.single.result.pay.PayCloseResult; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; +import cn.daxpay.single.core.param.payment.pay.PayCloseParam; +import cn.daxpay.single.core.result.pay.PayCloseResult; +import cn.daxpay.single.service.code.PayCloseTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; -import cn.daxpay.single.service.core.payment.close.factory.PayCloseStrategyFactory; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; import cn.daxpay.single.service.core.record.close.entity.PayCloseRecord; import cn.daxpay.single.service.core.record.close.service.PayCloseRecordService; import cn.daxpay.single.service.func.AbsPayCloseStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -43,8 +47,8 @@ public class PayCloseService { * 关闭支付 */ public PayCloseResult close(PayCloseParam param){ - PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizTradeNo()) - .orElseThrow(() -> new PayFailureException("支付订单不存在")); + PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); LockInfo lock = lockTemplate.lock("payment:close:" + payOrder.getId(),10000, 50); if (Objects.isNull(lock)){ throw new RepetitiveOperationException("支付订单已在关闭中,请勿重复发起"); @@ -63,10 +67,10 @@ public class PayCloseService { PayCloseResult result = new PayCloseResult(); // 状态检查, 只有支付中可以进行取消支付 if (!Objects.equals(payOrder.getStatus(), PayStatusEnum.PROGRESS.getCode())) { - throw new PayFailureException("订单不是支付中, 无法进行关闭订单"); + throw new TradeStatusErrorException("订单不是支付中, 无法进行关闭订单"); } try { - AbsPayCloseStrategy strategy = PayCloseStrategyFactory.create(payOrder.getChannel()); + AbsPayCloseStrategy strategy = PayStrategyFactory.create(payOrder.getChannel(), AbsPayCloseStrategy.class); // 设置支付订单 strategy.setOrder(payOrder); // 关闭前准备 @@ -82,8 +86,11 @@ public class PayCloseService { log.error("关闭订单失败:", e); // 记录关闭失败的记录 this.saveRecord(payOrder, false, e.getMessage()); - throw new PayFailureException("关闭订单失败"); - + result.setCode(1).setMsg(e.getMessage()); + if (e instanceof PayFailureException){ + throw e; + } + throw new OperationFailException("关闭订单失败"); } } @@ -96,7 +103,7 @@ public class PayCloseService { .setCloseTime(LocalDateTime.now()); payOrderService.updateById(payOrder); // 发送通知 - clientsService.registerPayNotice(payOrder,null); + clientsService.registerPayNotice(payOrder); this.saveRecord(payOrder,true,null); } @@ -105,15 +112,17 @@ public class PayCloseService { */ private void saveRecord(PayOrder payOrder, boolean closed, String errMsg){ String clientIp = PaymentContextLocal.get() - .getRequestInfo() + .getClientInfo() .getClientIp(); PayCloseRecord record = new PayCloseRecord() .setOrderNo(payOrder.getOrderNo()) .setBizOrderNo(payOrder.getBizOrderNo()) .setChannel(payOrder.getChannel()) + .setCloseType(PayCloseTypeEnum.CLOSE.getCode()) .setClosed(closed) .setErrorMsg(errMsg) .setClientIp(clientIp); payCloseRecordService.saveRecord(record); } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java index 2ad4cd5facb2984c511325bfbac646846aedabb7..898217514037039273cb1866b63a4f6a1617dedb 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/AliPayCloseStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.close.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayCloseService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -27,9 +27,11 @@ public class AliPayCloseStrategy extends AbsPayCloseStrategy { private final AliPayCloseService aliPayCloseService; + private AliPayConfig alipayConfig; + @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** @@ -37,8 +39,7 @@ public class AliPayCloseStrategy extends AbsPayCloseStrategy { */ @Override public void doBeforeCloseHandler() { - AliPayConfig config = alipayConfigService.getConfig(); - alipayConfigService.initConfig(config); + this.alipayConfig = alipayConfigService.getConfig(); } /** @@ -46,6 +47,6 @@ public class AliPayCloseStrategy extends AbsPayCloseStrategy { */ @Override public void doCloseHandler() { - aliPayCloseService.close(this.getOrder()); + aliPayCloseService.close(this.getOrder(), this.alipayConfig); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java index d0b53bd34a0674595780df7e65840758817bfb86..ff9378dda9b586dd7006dbec6b27cd6ac346583e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/UnionPayCloseStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.close.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayCloseService; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; @@ -32,8 +32,8 @@ public class UnionPayCloseStrategy extends AbsPayCloseStrategy { @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java index 6054635fefc83faeee95f9123827bf18f285dc3f..b9ef9c0134256539eef3ff625097b8e885f31c7d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/close/strategy/WeChatPayCloseStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.close.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCloseService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -29,8 +29,8 @@ public class WeChatPayCloseStrategy extends AbsPayCloseStrategy { private WeChatPayConfig weChatPayConfig; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java index 57fd9fc38d515aa8d2fab8da94b19bf88a6fd872..5a943beb09055deb5d37544a0eeef63340279c6e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/InitPlatformInfoAop.java @@ -1,11 +1,10 @@ package cn.daxpay.single.service.core.payment.common.aop; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.exception.ConfigErrorException; +import cn.daxpay.single.core.exception.ConfigNotEnableException; import cn.daxpay.single.service.annotation.InitPaymentContext; import cn.daxpay.single.service.core.system.config.dao.PayApiConfigManager; import cn.daxpay.single.service.core.system.config.entity.PayApiConfig; -import cn.daxpay.single.service.core.system.config.service.PayApiConfigService; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -26,8 +25,6 @@ import org.springframework.stereotype.Component; @RequiredArgsConstructor public class InitPlatformInfoAop { - private final PayApiConfigService payApiConfigService; - private final PayApiConfigManager payApiConfigManager; private final PlatformConfigService platformConfigService; @@ -40,12 +37,10 @@ public class InitPlatformInfoAop { String code = platformContext.value(); // 接口信息 PayApiConfig api = payApiConfigManager.findByCode(code) - .orElseThrow(() -> new DataNotExistException("未找到接口信息")); + .orElseThrow(() -> new ConfigErrorException("未找到接口信息")); if (!api.isEnable()){ - throw new PayFailureException("该接口权限未开放"); + throw new ConfigNotEnableException("该接口权限未开放"); } - // 设置接口信息 - payApiConfigService.initApiInfo(api); // 初始化平台信息 platformConfigService.initPlatform(); return pjp.proceed(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifySignAop.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java similarity index 54% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifySignAop.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java index 0d4806e113798fdb73d4e1ff852dd1cf0427898f..c68acce0f5e18d99f9638916bc8ee990f9f8a90e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifySignAop.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/aop/PaymentVerifyAop.java @@ -2,12 +2,13 @@ package cn.daxpay.single.service.core.payment.common.aop; import cn.bootx.platform.common.core.rest.ResResult; import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.service.annotation.PaymentSign; -import cn.daxpay.single.service.core.payment.common.service.PaymentSignService; -import cn.daxpay.single.util.DaxRes; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.param.PaymentCommonParam; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.util.DaxRes; +import cn.daxpay.single.service.annotation.PaymentVerify; +import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; @@ -27,23 +28,28 @@ import org.springframework.stereotype.Component; @Component @Order() @RequiredArgsConstructor -public class PaymentVerifySignAop { - private final PaymentSignService paymentSignService; +public class PaymentVerifyAop { + private final PaymentAssistService paymentAssistService; - @Around("@annotation(paymentSign)") - public Object beforeMethod(ProceedingJoinPoint pjp, @SuppressWarnings("unused") PaymentSign paymentSign) throws Throwable { + @Around("@annotation(paymentVerify)") + public Object beforeMethod(ProceedingJoinPoint pjp, @SuppressWarnings("unused") PaymentVerify paymentVerify) throws Throwable { Object[] args = pjp.getArgs(); if (args.length == 0){ - throw new PayFailureException("支付方法至少有一个参数,并且需要签名支付参数需要放在第一位"); + throw new ValidationFailedException("支付方法至少有一个参数,并且需要签名支付参数需要放在第一位"); } Object param = args[0]; if (param instanceof PaymentCommonParam){ // 参数校验 ValidationUtil.validateParam(param); - // 参数验签 - paymentSignService.verifySign((PaymentCommonParam) param); + // 终端信息初始化 + paymentAssistService.initClient((PaymentCommonParam) param); + // 参数签名校验 + paymentAssistService.signVerify((PaymentCommonParam) param); + // 参数请求时间校验 + paymentAssistService.reqTimeoutVerify((PaymentCommonParam) param); + } else { - throw new PayFailureException("支付参数需要继承PayCommonParam"); + throw new ValidationFailedException("支付参数需要继承PayCommonParam"); } Object proceed; try { @@ -54,19 +60,19 @@ public class PaymentVerifySignAop { // todo 后期错误码统一管理后进行更改 commonResult.setCode(1); commonResult.setMsg(ex.getMessage()); - paymentSignService.sign(commonResult); + paymentAssistService.sign(commonResult); return DaxRes.ok(commonResult); } // 对返回值进行签名 if (proceed instanceof ResResult){ Object data = ((ResResult<?>) proceed).getData(); if (data instanceof PaymentCommonResult){ - paymentSignService.sign((PaymentCommonResult) data); + paymentAssistService.sign((PaymentCommonResult) data); } else { - throw new PayFailureException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); + throw new ValidationFailedException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); } } else { - throw new PayFailureException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); + throw new ValidationFailedException("支付方法返回类型需要为 ResResult<T extends PaymentCommonResult> 格式"); } return proceed; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java index 93054f93b9070e78bcaad07fb6d607be3197498a..ecf6943bdeaa9c5eb5e599cc6430180596929515 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentAssistService.java @@ -1,13 +1,24 @@ package cn.daxpay.single.service.core.payment.common.service; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.service.common.context.RequestLocal; +import cn.bootx.platform.common.core.util.LocalDateTimeUtil; +import cn.daxpay.single.core.code.PaySignTypeEnum; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.exception.VerifySignFailedException; +import cn.daxpay.single.core.param.PaymentCommonParam; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.util.PaySignUtil; +import cn.daxpay.single.service.common.context.ClientLocal; +import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; +import cn.hutool.core.bean.BeanUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.util.Objects; + /** * 支付、退款等各类操作支持服务 * @author xxm @@ -20,19 +31,89 @@ public class PaymentAssistService { private final PlatformConfigService platformConfigService; /** - * 初始化上下文 + * 初始化请求相关信息上下文 */ - public void initContext(PaymentCommonParam paymentCommonParam){ - platformConfigService.initPlatform(); - this.initRequest(paymentCommonParam); + public void initClient(PaymentCommonParam paymentCommonParam){ + ClientLocal request = PaymentContextLocal.get().getClientInfo(); + request.setClientIp(paymentCommonParam.getClientIp()); } + /** - * 初始化请求相关信息上下文 + * 入参签名校验 + */ + public void signVerify(PaymentCommonParam param) { + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); + // 如果平台配置所有属性为空, 进行初始化 + if (BeanUtil.isEmpty(platformInfo)){ + platformConfigService.initPlatform(); + } + // 判断当前接口是否不需要签名 + if (!platformInfo.isReqSign()){ + return; + } + // 参数转换为Map对象 + PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); + String signType = platform.getSignType(); + if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ + boolean verified = PaySignUtil.verifyHmacSha256Sign(param, platform.getSignSecret(), param.getSign()); + if (!verified){ + throw new VerifySignFailedException(); + } + } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ + boolean verified = PaySignUtil.verifyMd5Sign(param, platform.getSignSecret(), param.getSign()); + if (!verified){ + throw new VerifySignFailedException(); + } + } else { + throw new VerifySignFailedException(); + } + } + + /** + * 请求有效时间校验 + */ + public void reqTimeoutVerify(PaymentCommonParam param) { + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); + // 如果平台配置所有属性为空, 进行初始化 + if (BeanUtil.isEmpty(platformInfo)){ + platformConfigService.initPlatform(); + } + if (Objects.nonNull(platformInfo.getReqTimeout()) ){ + LocalDateTime now = LocalDateTime.now(); + // 时间差值(秒) + long durationSeconds = Math.abs(LocalDateTimeUtil.between(now, param.getReqTime()).getSeconds()); + // 当前时间是否晚于请求时间 + if (LocalDateTimeUtil.lt(now, param.getReqTime())){ + // 请求时间比服务器时间晚, 超过一分钟直接打回 + if (durationSeconds > 60){ + throw new ValidationFailedException("请求时间晚于服务器接收到的时间,请检查"); + } + } else { + // 请求时间比服务器时间早, 超过配置时间直接打回 + if (durationSeconds > platformInfo.getReqTimeout()){ + throw new ValidationFailedException("请求已过期,请重新发送!"); + } + } + + } + } + + /** + * 对对象进行签名 */ - public void initRequest(PaymentCommonParam paymentCommonParam){ - RequestLocal request = PaymentContextLocal.get().getRequestInfo(); - request.setClientIp(paymentCommonParam.getClientIp()) - .setSign(paymentCommonParam.getSign()) - .setReqTime(paymentCommonParam.getReqTime()); + public void sign(PaymentCommonResult result) { + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); + // 如果平台配置所有属性为空, 进行初始化 + if (BeanUtil.isEmpty(platformInfo)){ + platformConfigService.initPlatform(); + } + String signType = platformInfo.getSignType(); + if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ + result.setSign(PaySignUtil.hmacSha256Sign(result, platformInfo.getSignSecret())); + } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ + result.setSign(PaySignUtil.md5Sign(result, platformInfo.getSignSecret())); + } else { + throw new ValidationFailedException("未获取到签名方式,请检查"); + } } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java deleted file mode 100644 index 96ae3ecf241952a3c29dfcdfd780b496e9a42da9..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/common/service/PaymentSignService.java +++ /dev/null @@ -1,81 +0,0 @@ -package cn.daxpay.single.service.core.payment.common.service; - -import cn.daxpay.single.code.PaySignTypeEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.PaymentCommonParam; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.context.PlatformLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; -import cn.daxpay.single.util.PaySignUtil; -import cn.hutool.core.bean.BeanUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.Objects; - -/** - * 支付签名服务 - * @author xxm - * @since 2023/12/24 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class PaymentSignService { - - private final PaymentAssistService paymentAssistService; - - private final PlatformConfigService platformConfigService; - - /** - * 入参签名校验 - */ - public void verifySign(PaymentCommonParam param) { - // 先触发上下文的初始化 - paymentAssistService.initContext(param); - ApiInfoLocal apiInfo = PaymentContextLocal.get().getApiInfo(); - - // 判断当前接口是否不需要签名 - if (!apiInfo.isReqSign()){ - return; - } - // 参数转换为Map对象 - PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); - String signType = platform.getSignType(); - if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ - boolean verified = PaySignUtil.verifyHmacSha256Sign(param, platform.getSignSecret(), param.getSign()); - if (!verified){ - throw new PayFailureException("未通过签名验证"); - } - } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ - boolean verified = PaySignUtil.verifyMd5Sign(param, platform.getSignSecret(), param.getSign()); - if (!verified){ - throw new PayFailureException("未通过签名验证"); - } - } else { - throw new PayFailureException("签名方式错误"); - } - } - - /** - * 对对象进行签名 - */ - public void sign(PaymentCommonResult result) { - PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); - // 如果平台配置所有属性为空, 进行初始化 - if (BeanUtil.isEmpty(platformInfo)){ - platformConfigService.initPlatform(); - } - String signType = platformInfo.getSignType(); - if (Objects.equals(PaySignTypeEnum.HMAC_SHA256.getCode(), signType)){ - result.setSign(PaySignUtil.hmacSha256Sign(result, platformInfo.getSignSecret())); - } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ - result.setSign(PaySignUtil.md5Sign(result, platformInfo.getSignSecret())); - } else { - throw new PayFailureException("未获取到签名方式,请检查"); - } - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocDetailNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocDetailNoticeResult.java index 21df141b39510309efe6d18a44dc28eeb15f973a..82425b07b465b9ee53508b83481f670eb5f33c03 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocDetailNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocDetailNoticeResult.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.payment.notice.result; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java index 896779b1d48b87abd32073e462482da822e9e567..17ec81770f3004cfb1abd93c85ef8dc1ab69170a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/AllocNoticeResult.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.core.payment.notice.result; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -28,19 +28,19 @@ public class AllocNoticeResult extends PaymentCommonResult { * 分账单号 */ @Schema(description = "分账单号") - private String allocationNo; + private String allocNo; /** * 商户分账单号 */ @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; /** * 通道分账号 */ @Schema(description = "通道分账号") - private String outAllocationNo; + private String outAllocNo; /** * 支付订单号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java index e92a5f30b71f6f681511c7367ac636eabf384326..aa1c376d30f9d883b7c4bdf6ae23d84ca272fa49 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/PayNoticeResult.java @@ -1,10 +1,11 @@ package cn.daxpay.single.service.core.payment.notice.result; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -55,7 +56,7 @@ public class PayNoticeResult extends PaymentCommonResult { * 支付通道 * @see PayChannelEnum */ - @Schema(description = "异步支付通道") + @Schema(description = "支付通道") private String channel; /** @@ -75,12 +76,19 @@ public class PayNoticeResult extends PaymentCommonResult { @Schema(description = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @Schema(description = "退款状态") + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ @Schema(description = "分账状态") - private String allocationStatus; + private String allocStatus; /** 支付时间 */ @Schema(description = "支付时间") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/RefundNoticeResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/RefundNoticeResult.java index ffbb911d84b40b060372e040d81dbed7db28b8cd..daa716a93469861afa2eb8b3b94ada3907f2fd9e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/RefundNoticeResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/result/RefundNoticeResult.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.core.payment.notice.result; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.result.PaymentCommonResult; -import cn.daxpay.single.serializer.LocalDateTimeToTimestampSerializer; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.result.PaymentCommonResult; +import cn.daxpay.single.core.serializer.LocalDateTimeToTimestampSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java index 6f7297784d42d83dce8fc55f7685590526e929c3..487cc45d1246d9209f9e3873d9a69e4deb7855de 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeAssistService.java @@ -3,17 +3,14 @@ package cn.daxpay.single.service.core.payment.notice.service; import cn.bootx.platform.common.jackson.util.JacksonUtil; import cn.daxpay.single.service.code.ClientNoticeTypeEnum; import cn.daxpay.single.service.core.notice.entity.ClientNoticeTask; -import cn.daxpay.single.service.core.order.allocation.convert.AllocationConvert; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; +import cn.daxpay.single.service.core.order.allocation.convert.AllocOrderConvert; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.order.pay.convert.PayOrderConvert; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.refund.convert.RefundOrderConvert; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; -import cn.daxpay.single.service.core.payment.common.service.PaymentSignService; +import cn.daxpay.single.service.core.payment.common.service.PaymentAssistService; import cn.daxpay.single.service.core.payment.notice.result.AllocDetailNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.AllocNoticeResult; import cn.daxpay.single.service.core.payment.notice.result.PayNoticeResult; @@ -35,17 +32,17 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class ClientNoticeAssistService { - private final PaymentSignService paymentSignService; + private final PaymentAssistService paymentAssistService; /** * 构建出支付通知任务对象 */ - public ClientNoticeTask buildPayTask(PayOrder order, PayOrderExtra orderExtra){ + public ClientNoticeTask buildPayTask(PayOrder order){ PayNoticeResult payNoticeResult = PayOrderConvert.CONVERT.convertNotice(order); - payNoticeResult.setAttach(orderExtra.getAttach()); - paymentSignService.sign(payNoticeResult); + payNoticeResult.setAttach(order.getAttach()); + paymentAssistService.sign(payNoticeResult); return new ClientNoticeTask() - .setUrl(orderExtra.getNotifyUrl()) + .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写, 所以使用Jackson的序列化工具类 .setContent(JacksonUtil.toJson(payNoticeResult)) .setNoticeType(ClientNoticeTypeEnum.PAY.getType()) @@ -58,14 +55,14 @@ public class ClientNoticeAssistService { /** * 构建出退款通知任务对象 */ - public ClientNoticeTask buildRefundTask(RefundOrder order, RefundOrderExtra orderExtra){ + public ClientNoticeTask buildRefundTask(RefundOrder order){ // 创建退款通知内容 RefundNoticeResult refundNoticeResult = RefundOrderConvert.CONVERT.convertNotice(order); - refundNoticeResult.setAttach(orderExtra.getAttach()); + refundNoticeResult.setAttach(order.getAttach()); // 签名 - paymentSignService.sign(refundNoticeResult); + paymentAssistService.sign(refundNoticeResult); return new ClientNoticeTask() - .setUrl(orderExtra.getNotifyUrl()) + .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写 .setContent(JacksonUtil.toJson(refundNoticeResult)) .setNoticeType(ClientNoticeTypeEnum.REFUND.getType()) @@ -78,26 +75,26 @@ public class ClientNoticeAssistService { /** * 构建分账通知 */ - public ClientNoticeTask buildAllocTask(AllocationOrder order, AllocationOrderExtra orderExtra, List<AllocationOrderDetail> list){ + public ClientNoticeTask buildAllocTask(AllocOrder order, List<AllocOrderDetail> list){ // 分账 - AllocNoticeResult allocOrderResult = AllocationConvert.CONVERT.toNotice(order); + AllocNoticeResult allocOrderResult = AllocOrderConvert.CONVERT.toNotice(order); // 分账详情 List<AllocDetailNoticeResult> details = list.stream() - .map(AllocationConvert.CONVERT::toNotice) + .map(AllocOrderConvert.CONVERT::toNotice) .collect(Collectors.toList()); // 分账扩展和明细 - allocOrderResult.setAttach(orderExtra.getAttach()) + allocOrderResult.setAttach(order.getAttach()) .setDetails(details); // 签名 - paymentSignService.sign(allocOrderResult); + paymentAssistService.sign(allocOrderResult); return new ClientNoticeTask() - .setUrl(orderExtra.getNotifyUrl()) + .setUrl(order.getNotifyUrl()) // 时间序列化进行了重写 .setContent(JacksonUtil.toJson(allocOrderResult)) .setNoticeType(ClientNoticeTypeEnum.ALLOCATION.getType()) .setSendCount(0) .setTradeId(order.getId()) - .setTradeNo(order.getAllocationNo()) + .setTradeNo(order.getAllocNo()) .setTradeStatus(order.getStatus()); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java index 8712b8b52869e284a11dc94812d470816be8027d..d7f7852b24589a779da2a0086c2afaf64df05b57 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/ClientNoticeService.java @@ -8,16 +8,10 @@ import cn.daxpay.single.service.core.notice.dao.ClientNoticeTaskManager; import cn.daxpay.single.service.core.notice.entity.ClientNoticeRecord; import cn.daxpay.single.service.core.notice.entity.ClientNoticeTask; import cn.daxpay.single.service.core.notice.service.ClientNoticeRecordService; -import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderExtraManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderExtra; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.hutool.core.util.StrUtil; import cn.hutool.http.ContentType; import cn.hutool.http.HttpResponse; @@ -43,18 +37,12 @@ import java.util.*; @RequiredArgsConstructor public class ClientNoticeService { - private final PayOrderExtraManager payOrderExtraManager; - - private final RefundOrderExtraManager refundOrderExtraManager; - private final ClientNoticeAssistService clientNoticeAssistService; private final ClientNoticeTaskManager taskManager; private final ClientNoticeRecordService recordService; - private final AllocationOrderExtraManager allocationOrderExtraManager; - private final RedisClient redisClient; private final LockTemplate lockTemplate; @@ -89,27 +77,17 @@ public class ClientNoticeService { /** * 注册支付消息通知任务 * @param order 支付订单 - * @param orderExtra 支付订单扩展信息 */ @Async("bigExecutor") - public void registerPayNotice(PayOrder order, PayOrderExtra orderExtra) { - // 支付订单扩展信息为空则进行查询 - if (Objects.isNull(orderExtra)){ - Optional<PayOrderExtra> extraOpt = payOrderExtraManager.findById(order.getId()); - if (!extraOpt.isPresent()){ - log.error("未找到支付扩展信息,数据错误,订单号:{}",order.getOrderNo()); - return; - } - orderExtra = extraOpt.get(); - } + public void registerPayNotice(PayOrder order) { // 判断是否需要进行通知 - if (StrUtil.isBlank(orderExtra.getNotifyUrl())){ + if (StrUtil.isBlank(order.getNotifyUrl())){ log.info("支付订单无需通知,订单号:{}",order.getOrderNo()); return; } // 创建通知任务并保存 - ClientNoticeTask task = clientNoticeAssistService.buildPayTask(order, orderExtra); + ClientNoticeTask task = clientNoticeAssistService.buildPayTask(order); try { taskManager.save(task); } catch (Exception e) { @@ -124,27 +102,17 @@ public class ClientNoticeService { /** * 注册退款消息通知任务 * @param order 退款订单 - * @param orderExtra 退款订单扩展信息 */ @Async("bigExecutor") - public void registerRefundNotice(RefundOrder order, RefundOrderExtra orderExtra) { - // 退款订单扩展信息为空则进行查询 - if (Objects.isNull(orderExtra)){ - Optional<RefundOrderExtra> extraOpt = refundOrderExtraManager.findById(order.getId()); - if (!extraOpt.isPresent()){ - log.error("未找到退款扩展信息,数据错误,订单ID:{}",order.getId()); - return; - } - orderExtra = extraOpt.get(); - } + public void registerRefundNotice(RefundOrder order) { // 判断是否需要进行通知 - if (StrUtil.isBlank(orderExtra.getNotifyUrl())){ + if (StrUtil.isBlank(order.getNotifyUrl())){ log.info("退款订单无需通知,订单ID:{}",order.getId()); return; } // 创建通知任务并保存 - ClientNoticeTask task = clientNoticeAssistService.buildRefundTask(order, orderExtra); + ClientNoticeTask task = clientNoticeAssistService.buildRefundTask(order); try { taskManager.save(task); } catch (Exception e) { @@ -160,23 +128,14 @@ public class ClientNoticeService { * 注册分账消息通知任务 */ @Async("bigExecutor") - public void registerAllocNotice(AllocationOrder order, AllocationOrderExtra orderExtra, List<AllocationOrderDetail> list) { - // 创建通知任务并保存 - if (Objects.isNull(orderExtra)){ - Optional<AllocationOrderExtra> extraOpt = allocationOrderExtraManager.findById(order.getId()); - if (!extraOpt.isPresent()){ - log.error("未找到分账扩展信息,数据错误,订单ID:{}",order.getId()); - return; - } - orderExtra = extraOpt.get(); - } + public void registerAllocNotice(AllocOrder order, List<AllocOrderDetail> list) { // 判断是否需要进行通知 - if (StrUtil.isBlank(orderExtra.getNotifyUrl())){ + if (StrUtil.isBlank(order.getNotifyUrl())){ log.info("分账订单无需通知,订单ID:{}",order.getId()); return; } // 创建通知任务并保存 - ClientNoticeTask task = clientNoticeAssistService.buildAllocTask(order, orderExtra, list); + ClientNoticeTask task = clientNoticeAssistService.buildAllocTask(order, list); try { taskManager.save(task); } catch (Exception e) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/PayReturnService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/PayReturnService.java index d49b127399292303b3ea40428f4809dc068c9fcc..89b99cb8fed24abc0ac60b758285c11db6df612a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/PayReturnService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/notice/service/PayReturnService.java @@ -1,9 +1,7 @@ package cn.daxpay.single.service.core.payment.notice.service; import cn.daxpay.single.service.configuration.DaxPayProperties; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.system.config.service.PlatformConfigService; import cn.daxpay.single.service.param.channel.alipay.AliPayReturnParam; @@ -26,7 +24,6 @@ import java.util.Objects; @RequiredArgsConstructor public class PayReturnService { private final PayOrderQueryService payOrderQueryService; - private final PayOrderExtraManager payOrderExtraManager; private final PlatformConfigService platformConfigService; private final DaxPayProperties properties; @@ -39,17 +36,13 @@ public class PayReturnService { if ( Objects.isNull(payOrder)){ return StrUtil.format("{}/result/error?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付订单有问题,请排查")); } - PayOrderExtra payOrderExtra = payOrderExtraManager.findById(payOrder.getId()).orElse(null); - if ( Objects.isNull(payOrderExtra)){ - return StrUtil.format("{}/result/error?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付订单有问题,请排查")); - } // 如果同步跳转参数为空, 获取系统配置地址, 系统配置如果也为空, 则返回默认地址 - String returnUrl = payOrderExtra.getReturnUrl(); + String returnUrl = payOrder.getReturnUrl(); if (StrUtil.isBlank(returnUrl)){ returnUrl = platformConfigService.getConfig().getReturnUrl(); } if (StrUtil.isNotBlank(returnUrl)){ - return StrUtil.format("{}?orderNo={}&bizOrderNo={}", payOrderExtra.getReturnUrl(),payOrder.getOrderNo(),payOrder.getBizOrderNo()); + return StrUtil.format("{}?orderNo={}&bizOrderNo={}", payOrder.getReturnUrl(),payOrder.getOrderNo(),payOrder.getBizOrderNo()); } // 跳转到默认页 return StrUtil.format("{}/result/success?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付成功...")); @@ -62,19 +55,18 @@ public class PayReturnService { orderId = param.getOrderNo(); } - PayOrderExtra payOrderExtra = payOrderExtraManager.findById(orderId).orElse(null); PayOrder prOrder = payOrderQueryService.findById(Long.valueOf(orderId)).orElse(null); - if (Objects.isNull(payOrderExtra) || Objects.isNull(prOrder)){ + if (Objects.isNull(prOrder)){ return StrUtil.format("{}/result/error?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付订单有问题,请排查")); } // 如果同步跳转参数为空, 获取系统配置地址, 系统配置如果也为空, 则返回默认地址 - String returnUrl = payOrderExtra.getReturnUrl(); + String returnUrl = prOrder.getReturnUrl(); if (StrUtil.isBlank(returnUrl)){ returnUrl = platformConfigService.getConfig().getReturnUrl(); } if (StrUtil.isNotBlank(returnUrl)){ - return StrUtil.format("{}?orderNo={}&bizOrderNo={}", payOrderExtra.getReturnUrl(),prOrder.getOrderNo(), prOrder.getBizOrderNo()); + return StrUtil.format("{}?orderNo={}&bizOrderNo={}", prOrder.getReturnUrl(),prOrder.getOrderNo(), prOrder.getBizOrderNo()); } // 跳转到默认页 return StrUtil.format("{}/result/success?msg={}", properties.getFrontH5Url(), URLEncodeUtil.encode("支付成功...")); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/factory/PayStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/factory/PayStrategyFactory.java deleted file mode 100644 index 9b20803ff2c437760b4159d602bbbe8c818ac826..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/factory/PayStrategyFactory.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.daxpay.single.service.core.payment.pay.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.pay.strategy.AliPayStrategy; -import cn.daxpay.single.service.core.payment.pay.strategy.UnionPayStrategy; -import cn.daxpay.single.service.core.payment.pay.strategy.WalletPayStrategy; -import cn.daxpay.single.service.core.payment.pay.strategy.WeChatPayStrategy; -import cn.daxpay.single.service.func.AbsPayStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - - -/** - * 支付策略工厂 - * - * @author xxm - * @since 2020/12/11 - */ -@UtilityClass -public class PayStrategyFactory { - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public AbsPayStrategy create(String channel) { - AbsPayStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionPayStrategy.class); - break; - case WALLET: - strategy = SpringUtil.getBean(WalletPayStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java index 443af489290fce12672215b628b77cfe897d41f4..7a2dd92137338ca2ddc3f2d659745d9bbdfd539a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayAssistService.java @@ -2,23 +2,23 @@ package cn.daxpay.single.service.core.payment.pay.service; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.result.pay.PayResult; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.context.NoticeLocal; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.exception.AmountExceedLimitException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.result.pay.PayResult; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.PayUtil; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.pay.builder.PayBuilder; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.sync.service.PaySyncService; -import cn.daxpay.single.util.PayUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import lombok.RequiredArgsConstructor; @@ -31,7 +31,7 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import static cn.daxpay.single.code.PayStatusEnum.*; +import static cn.daxpay.single.core.code.PayStatusEnum.*; /** * 支付支持服务 @@ -49,132 +49,66 @@ public class PayAssistService { private final PayOrderQueryService payOrderQueryService; - private final PayOrderExtraManager payOrderExtraManager; - - /** - * 初始化支付相关上下文 - */ - public void initPayContext(PayOrder order, PayParam payParam) { - // 初始化支付订单超时时间 - this.initExpiredTime(order, payParam); - // 初始化通知相关上下文 - this.initNotice(payParam); - } - - - /** - * 初始化支付订单超时时间 - * 1. 如果支付记录为空, 超时时间读取顺序 PayParam -> 平台设置 - * 2. 如果支付记录不为空, 超时时间通过支付记录进行反推 - */ - public void initExpiredTime(PayOrder order, PayParam payParam) { - // 钱包没有超时时间 - if (PayChannelEnum.WALLET.getCode() - .equals(payParam.getChannel())) { - return; - } - PayLocal payInfo = PaymentContextLocal.get() - .getPayInfo(); - PlatformLocal platform = PaymentContextLocal.get() - .getPlatformInfo(); - // 支付订单是非为空 - if (Objects.nonNull(order)) { - payInfo.setExpiredTime(order.getExpiredTime()); - return; - } - // 支付参数传入 - if (Objects.nonNull(payParam.getExpiredTime())) { - payInfo.setExpiredTime(payParam.getExpiredTime()); - return; - } - // 读取本地时间 - LocalDateTime paymentExpiredTime = PayUtil.getPaymentExpiredTime(platform.getOrderTimeout()); - payInfo.setExpiredTime(paymentExpiredTime); - } - - /** - * 初始化通知相关上下文 - * 1. 异步通知参数: 读取参数配置 -> 读取接口配置 -> 读取平台参数 - * 2. 同步跳转参数: 读取参数配置 -> 读取平台参数 - * 3. 中途退出地址: 读取参数配置 - */ - private void initNotice(PayParam payParam) { - NoticeLocal noticeInfo = PaymentContextLocal.get() - .getNoticeInfo(); - ApiInfoLocal apiInfo = PaymentContextLocal.get() - .getApiInfo(); - PlatformLocal platform = PaymentContextLocal.get() - .getPlatformInfo(); - // 异步回调为开启状态 - if (!Objects.equals(payParam.getNotNotify(), false) && apiInfo.isNotice()) { - // 首先读取请求参数 - noticeInfo.setNotifyUrl(payParam.getNotifyUrl()); - // 读取接口配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())) { - noticeInfo.setNotifyUrl(apiInfo.getNoticeUrl()); - } - // 读取平台配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())) { - noticeInfo.setNotifyUrl(platform.getNotifyUrl()); - } - } - // 同步回调 - noticeInfo.setReturnUrl(payParam.getReturnUrl()); - if (StrUtil.isBlank(noticeInfo.getReturnUrl())) { - noticeInfo.setReturnUrl(platform.getNotifyUrl()); - } - // 退出回调地址 - noticeInfo.setQuitUrl(payParam.getQuitUrl()); - } - /** * 创建支付订单并保存, 返回支付订单 */ @Transactional(rollbackFor = Exception.class) public PayOrder createPayOrder(PayParam payParam) { - PayLocal payInfo = PaymentContextLocal.get() - .getPayInfo(); - // 构建支付订单并保存 - PayOrder order = PayBuilder.buildPayOrder(payParam); + // 订单超时时间 + LocalDateTime expiredTime = this.getExpiredTime(payParam); + // 构建支付订单对象 + PayOrder order = new PayOrder() + .setBizOrderNo(payParam.getBizOrderNo()) + .setOrderNo(OrderNoGenerateUtil.pay()) + .setTitle(payParam.getTitle()) + .setDescription(payParam.getDescription()) + .setStatus(PayStatusEnum.PROGRESS.getCode()) + .setRefundStatus(PayOrderRefundStatusEnum.NO_REFUND.getCode()) + .setAllocation(payParam.getAllocation()) + .setAmount(payParam.getAmount()) + .setChannel(payParam.getChannel()) + .setMethod(payParam.getMethod()) + .setExpiredTime(expiredTime) + .setRefundableBalance(payParam.getAmount()) + .setClientIp(payParam.getClientIp()) + .setNotifyUrl(payParam.getNotifyUrl()) + .setReturnUrl(payParam.getReturnUrl()) + .setAttach(payParam.getAttach()) + .setReqTime(payParam.getReqTime()); + // 如果支持分账, 设置分账状态为待分账 + if (order.getAllocation()) { + order.setAllocStatus(PayOrderAllocStatusEnum.WAITING.getCode()); + } payOrderService.save(order); - // 构建支付订单扩展表并保存 - PayOrderExtra payOrderExtra = PayBuilder.buildPayOrderExtra(payParam, order.getId()); - payOrderExtraManager.save(payOrderExtra); - payInfo.setPayOrder(order) - .setPayOrderExtra(payOrderExtra); return order; } /** - * 根据新传入的支付订单更新订单和扩展信息 + * 根据新传入的支付订单更新订单信息 */ @Transactional(rollbackFor = Exception.class) - public void updatePayOrder(PayParam payParam,PayOrder order, PayOrderExtra payOrderExtra) { + public void updatePayOrder(PayParam payParam,PayOrder order) { // 订单信息 order.setAllocation(payParam.getAllocation()) + .setClientIp(payParam.getClientIp()) + .setNotifyUrl(payParam.getNotifyUrl()) + .setReturnUrl(payParam.getReturnUrl()) + .setAttach(payParam.getAttach()) + .setClientIp(payParam.getClientIp()) + .setReqTime(payParam.getReqTime()) .setChannel(payParam.getChannel()) .setMethod(payParam.getMethod()); if (!order.getAllocation()) { - order.setAllocationStatus(null); + order.setAllocStatus(null); } - - // 扩展信息 - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); - payOrderExtra.setClientIp(payParam.getClientIp()) - .setNotifyUrl(noticeInfo.getNotifyUrl()) - .setReturnUrl(noticeInfo.getReturnUrl()) - .setAttach(payParam.getAttach()) - .setClientIp(payParam.getClientIp()) - .setReqTime(payParam.getReqTime()); if (CollUtil.isNotEmpty(payParam.getExtraParam())){ - payOrderExtra.setExtraParam(JSONUtil.toJsonStr(payParam.getExtraParam())); + order.setExtraParam(JSONUtil.toJsonStr(payParam.getExtraParam())); } else { - payOrderExtra.setExtraParam(null); + order.setExtraParam(null); } payOrderService.updateById(order); - payOrderExtraManager.updateById(payOrderExtra); } /** @@ -190,27 +124,26 @@ public class PayAssistService { // 如果支付超时, 触发订单同步操作, 同时抛出异常 if (Objects.nonNull(payOrder.getExpiredTime()) && LocalDateTimeUtil.ge(LocalDateTime.now(), payOrder.getExpiredTime())) { paySyncService.syncPayOrder(payOrder); - throw new PayFailureException("支付已超时,请重新确认支付状态"); + throw new TradeStatusErrorException("支付已超时,请重新确认支付状态"); } return payOrder; } // 已经支付状态 if (SUCCESS.getCode() .equals(payOrder.getStatus())) { - throw new PayFailureException("已经支付成功,请勿重新支付"); + throw new TradeStatusErrorException("已经支付成功,请勿重新支付"); } // 支付失败类型状态 - List<String> tradesStatus = Arrays.asList(FAIL.getCode(), CLOSE.getCode()); + List<String> tradesStatus = Arrays.asList(FAIL.getCode(), CLOSE.getCode(), CANCEL.getCode()); if (tradesStatus.contains(payOrder.getStatus())) { - throw new PayFailureException("支付失败或已经被关闭"); + throw new TradeStatusErrorException("支付失败或已经被关闭"); } // 退款类型状态 - tradesStatus = Arrays.asList(REFUNDED.getCode(), PARTIAL_REFUND.getCode(), REFUNDING.getCode()); - if (tradesStatus.contains(payOrder.getStatus())) { - throw new PayFailureException("该订单处于退款状态"); + if (Objects.equals(payOrder.getRefundStatus(), PayOrderRefundStatusEnum.REFUNDING.getCode())) { + throw new TradeStatusErrorException("该订单处于退款状态"); } // 其他状态直接抛出兜底异常 - throw new PayFailureException("订单不是待支付状态,请重新确认订单状态"); + throw new TradeStatusErrorException("订单不是待支付状态,请重新确认订单状态"); } return null; } @@ -220,10 +153,9 @@ public class PayAssistService { */ public void validationLimitAmount(PayParam payParam) { // 总额校验 - PlatformLocal platformInfo = PaymentContextLocal.get() - .getPlatformInfo(); + PlatformLocal platformInfo = PaymentContextLocal.get().getPlatformInfo(); if (payParam.getAmount() > platformInfo.getLimitAmount()) { - throw new PayFailureException("支付金额超过限额"); + throw new AmountExceedLimitException("支付金额超过限额"); } } @@ -241,12 +173,28 @@ public class PayAssistService { payResult.setStatus(payOrder.getStatus()); // 设置支付参数 - PayLocal payInfo = PaymentContextLocal.get() - .getPayInfo(); + PayLocal payInfo = PaymentContextLocal.get().getPayInfo(); if (StrUtil.isNotBlank(payInfo.getPayBody())) { payResult.setPayBody(payInfo.getPayBody()); } - // 签名 return payResult; } + + /** + * 获取支付订单超时时间 + */ + private LocalDateTime getExpiredTime(PayParam payParam) { + // 钱包没有超时时间 + if (PayChannelEnum.WALLET.getCode() + .equals(payParam.getChannel())) { + return null; + } + PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); + // 支付参数传入 + if (Objects.nonNull(payParam.getExpiredTime())) { + return payParam.getExpiredTime(); + } + // 根据平台配置计算出 + return PayUtil.getPaymentExpiredTime(platform.getOrderTimeout()); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayExpiredTimeService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayExpiredTimeService.java index 405fbdd021fa8ee7cef6edbbc8bed0260a88477b..059d92ce443719744bebde106b793327224cc331 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayExpiredTimeService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayExpiredTimeService.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.core.payment.pay.service; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; import cn.bootx.platform.common.spring.exception.RetryableException; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.pay.dao.PayExpiredTimeRepository; import lombok.RequiredArgsConstructor; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java index da28450a3680b967046b889832de81892b40e797..34004ae8bd43376be1c92a648e5a843d3d7f1f93 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/service/PayService.java @@ -1,19 +1,15 @@ package cn.daxpay.single.service.core.payment.pay.service; -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.result.pay.PayResult; +import cn.daxpay.single.core.param.payment.pay.PayParam; +import cn.daxpay.single.core.result.pay.PayResult; import cn.daxpay.single.service.common.context.PayLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; -import cn.daxpay.single.service.core.order.pay.dao.PayOrderExtraManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.pay.entity.PayOrderExtra; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; -import cn.daxpay.single.service.core.payment.pay.factory.PayStrategyFactory; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.func.AbsPayStrategy; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; @@ -24,7 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Objects; -import static cn.daxpay.single.code.PayStatusEnum.SUCCESS; +import static cn.daxpay.single.core.code.PayStatusEnum.SUCCESS; /** @@ -44,8 +40,6 @@ public class PayService { private final ClientNoticeService clientNoticeService; - private final PayOrderExtraManager payOrderExtraManager; - private final TradeFlowRecordService tradeFlowRecordService; private final LockTemplate lockTemplate; @@ -56,8 +50,6 @@ public class PayService { public PayResult pay(PayParam payParam){ // 创建返回类 PayResult payResult = new PayResult(); - // 支付参数检查 - PayUtil.validation(payParam); // 校验支付限额 payAssistService.validationLimitAmount(payParam); // 获取商户订单号 @@ -71,8 +63,6 @@ public class PayService { try { // 查询并检查订单 PayOrder payOrder = payAssistService.getOrderAndCheck(payParam.getBizOrderNo()); - // 初始化支付上下文 - payAssistService.initPayContext(payOrder, payParam); // 走首次下单逻辑还是重复下档逻辑 if (Objects.isNull(payOrder)){ return this.firstPay(payParam); @@ -94,7 +84,7 @@ public class PayService { */ public PayResult firstPay(PayParam payParam){ // 获取支付策略类 - AbsPayStrategy payStrategy = PayStrategyFactory.create(payParam.getChannel()); + AbsPayStrategy payStrategy = PayStrategyFactory.create(payParam.getChannel(), AbsPayStrategy.class); // 初始化支付的参数 payStrategy.setPayParam(payParam); // 执行支付前处理动作, 进行各种校验, 校验通过才会进行下面的操作 @@ -135,7 +125,7 @@ public class PayService { // 如果支付完成 发送通知, 记录流水 if (Objects.equals(payOrder.getStatus(), SUCCESS.getCode())){ tradeFlowRecordService.savePay(payOrder); - clientNoticeService.registerPayNotice(payOrder, payInfo.getPayOrderExtra()); + clientNoticeService.registerPayNotice(payOrder); } return payAssistService.buildResult(payOrder); } @@ -145,15 +135,13 @@ public class PayService { */ public PayResult repeatPay(PayParam payParam, PayOrder payOrder){ // 获取支付策略类 - AbsPayStrategy payStrategy = PayStrategyFactory.create(payParam.getChannel()); + AbsPayStrategy payStrategy = PayStrategyFactory.create(payParam.getChannel(),AbsPayStrategy.class); // 初始化支付的参数 payStrategy.initPayParam(payOrder, payParam); // 执行支付前处理动作 payStrategy.doBeforePayHandler(); - // 查询订单扩展记录 - PayOrderExtra payOrderExtra = payOrderExtraManager.findById(payOrder.getId()).orElseThrow(() -> new DataNotExistException("支付订单不完整")); - // 执行支付前的更新动作, 更新并保存订单和扩展的数据 - payAssistService.updatePayOrder(payParam, payOrder, payOrderExtra); + // 执行支付前的更新动作, 更新并保存订单数据 + payAssistService.updatePayOrder(payParam, payOrder); try { // 支付操作 @@ -165,14 +153,14 @@ public class PayService { throw e; } // 支付调起成功后操作, 使用事务来保证数据一致性 - return SpringUtil.getBean(this.getClass()).repeatPaySuccess(payOrder, payOrderExtra); + return SpringUtil.getBean(this.getClass()).repeatPaySuccess(payOrder); } /** * 重复支付成功后操作 */ @Transactional(rollbackFor = Exception.class) - public PayResult repeatPaySuccess(PayOrder payOrder, PayOrderExtra payOrderExtra) { + public PayResult repeatPaySuccess(PayOrder payOrder) { PayLocal payInfo = PaymentContextLocal.get().getPayInfo(); // 如果支付完成, 进行订单完成处理, 同时发送回调消息 if (payInfo.isComplete()) { @@ -188,8 +176,9 @@ public class PayService { // 如果支付完成 发送通知, 记录流水 if (Objects.equals(payOrder.getStatus(), SUCCESS.getCode())){ tradeFlowRecordService.savePay(payOrder); - clientNoticeService.registerPayNotice(payOrder, payOrderExtra); + clientNoticeService.registerPayNotice(payOrder); } return payAssistService.buildResult(payOrder); } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java index ae4aaba2d2a47378902f1ff6e9f849568ba8fec3..b23eb04c39720013b12d3b96bb983a2bd0340da3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/AliPayStrategy.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.payment.pay.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.channel.AliPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.param.channel.AliPayParam; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayService; @@ -37,9 +37,9 @@ public class AliPayStrategy extends AbsPayStrategy { private AliPayParam aliPayParam; - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** @@ -58,10 +58,10 @@ public class AliPayStrategy extends AbsPayStrategy { } } catch (JSONException e) { - throw new PayFailureException("支付参数错误"); + throw new ValidationFailedException("支付参数错误"); } // 检查并获取支付宝支付配置 - this.initAlipayConfig(); + this.alipayConfig = alipayConfigService.getAndCheckConfig(); // 支付宝相关校验 aliPayService.validation(this.getPayParam(), alipayConfig); } @@ -74,13 +74,4 @@ public class AliPayStrategy extends AbsPayStrategy { aliPayService.pay(this.getOrder(), this.aliPayParam, this.alipayConfig); } - /** - * 初始化支付宝配置信息 - */ - private void initAlipayConfig() { - // 获取并初始化支付宝支付配置 - this.alipayConfig = alipayConfigService.getAndCheckConfig(); - alipayConfigService.initConfig(this.alipayConfig); - } - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java index 16690df5fc8d72999882866abf1287296190ba82..266d9d6612469209360e14651722b1a49b89717f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/UnionPayStrategy.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.core.payment.pay.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.channel.UnionPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.param.channel.UnionPayParam; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; import cn.daxpay.single.service.core.channel.union.service.UnionPayService; @@ -41,8 +41,8 @@ public class UnionPayStrategy extends AbsPayStrategy { private UnionPayConfig unionPayConfig; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** * 支付前操作 @@ -60,7 +60,7 @@ public class UnionPayStrategy extends AbsPayStrategy { } } catch (JSONException e) { - throw new PayFailureException("支付参数错误"); + throw new ValidationFailedException("支付参数错误"); } // 检查并获取云闪付支付配置 this.unionPayConfig = unionPayConfigService.getAndCheckConfig(); diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java index 87a0867e2bc497a85604b216dc174d6ae803eb29..7339ca2334d7f113dbbd562aa2798270d23f1937 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WalletPayStrategy.java @@ -1,10 +1,9 @@ package cn.daxpay.single.service.core.payment.pay.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.exception.waller.WalletBannedException; -import cn.daxpay.single.exception.waller.WalletLackOfBalanceException; -import cn.daxpay.single.param.channel.WalletPayParam; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.param.channel.WalletPayParam; import cn.daxpay.single.service.code.WalletCode; import cn.daxpay.single.service.core.channel.wallet.entity.Wallet; import cn.daxpay.single.service.core.channel.wallet.entity.WalletConfig; @@ -44,8 +43,8 @@ public class WalletPayStrategy extends AbsPayStrategy { private Wallet wallet; @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WALLET; + public String getChannel() { + return PayChannelEnum.WALLET.getCode(); } /** @@ -61,7 +60,7 @@ public class WalletPayStrategy extends AbsPayStrategy { walletPayParam = BeanUtil.toBean(channelParam, WalletPayParam.class); } } catch (JSONException e) { - throw new PayFailureException("支付参数错误"); + throw new ValidationFailedException("支付参数错误"); } WalletConfig walletConfig = walletConfigService.getAndCheckConfig(); @@ -69,23 +68,23 @@ public class WalletPayStrategy extends AbsPayStrategy { // 获取钱包 this.wallet = walletQueryService.getWallet(walletPayParam); if (Objects.isNull(this.wallet)){ - throw new PayFailureException("钱包不存在"); + throw new TradeFailException("钱包不存在"); } // 是否被禁用 if (Objects.equals(WalletCode.STATUS_FORBIDDEN, this.wallet.getStatus())) { - throw new WalletBannedException(); + throw new ConfigNotEnableException(); } // 判断是否超过限额 - if (this.getPayParam().getAmount() > walletConfig.getSingleLimit()){ - throw new PayFailureException("钱包支付金额超过限额"); + if (this.getPayParam().getAmount() > walletConfig.getLimitAmount()){ + throw new AmountExceedLimitException("钱包支付金额超过限额"); } // 判断余额 if (this.wallet.getBalance() < this.getPayParam().getAmount()) { - throw new WalletLackOfBalanceException(); + throw new ConfigErrorException(); } // 分账 if (Objects.equals(this.getPayParam().getAllocation(),true)){ - throw new PayFailureException("钱包支付不支持分账"); + throw new UnsupportedAbilityException("钱包支付不支持分账"); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java index 5f1a93b7ad77056d9e61d5b13bccb5fa72ea3a76..04fc623f79e05451340cd63146dcf64af72d5e05 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/pay/strategy/WeChatPayStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.pay.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayService; @@ -39,8 +39,8 @@ public class WeChatPayStrategy extends AbsPayStrategy { * 类型 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/factory/ReconcileStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/factory/ReconcileStrategyFactory.java deleted file mode 100644 index 1f9fb8c5ed2b50de43a6be7601c815e6bb9e1185..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/factory/ReconcileStrategyFactory.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.daxpay.single.service.core.payment.reconcile.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.func.AbsReconcileStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -import java.util.Map; -import java.util.Objects; - -/** - * 支付对账工厂类 - * @author xxm - * @since 2024/1/18 - */ -@UtilityClass -public class ReconcileStrategyFactory { - - /** - * 根据传入的支付类型批量创建策略 - */ - public AbsReconcileStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - Map<String, AbsReconcileStrategy> beansOfType = SpringUtil.getBeansOfType(AbsReconcileStrategy.class); - return beansOfType.values().stream() - .filter(strategy -> Objects.equals(strategy.getChannel(), channelEnum)) - .findFirst() - .orElseThrow(PayUnsupportedMethodException::new); - } - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileAssistService.java index 79851a256d8e9ac852fde3ce5acdc0ca0a1e966a..67554bd4d5b2949c1638c1f9dd27a40d5373f191 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileAssistService.java @@ -3,7 +3,7 @@ package cn.daxpay.single.service.core.payment.reconcile.service; import cn.bootx.platform.common.core.function.CollectorsFunction; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java index a115b1e839d5352ccd7f5ed58e553d2275ab98ae..a79cd0b7f3ab2d1bdfddab5bf1795b6e93878ee1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/service/ReconcileService.java @@ -3,8 +3,9 @@ package cn.daxpay.single.service.core.payment.reconcile.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.code.ReconcileResultEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; @@ -12,18 +13,17 @@ import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileDiffManager; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileFileManager; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileOrderManager; import cn.daxpay.single.service.core.order.reconcile.dao.ReconcileOutTradeManager; -import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileDiff; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileFile; import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOrder; +import cn.daxpay.single.service.core.order.reconcile.entity.ReconcileOutTrade; import cn.daxpay.single.service.core.order.reconcile.service.ReconcileOrderService; import cn.daxpay.single.service.core.payment.reconcile.domain.GeneralTradeInfo; -import cn.daxpay.single.service.core.payment.reconcile.factory.ReconcileStrategyFactory; import cn.daxpay.single.service.dto.order.reconcile.ReconcileDiffExcel; import cn.daxpay.single.service.dto.order.reconcile.ReconcileTradeDetailExcel; import cn.daxpay.single.service.func.AbsReconcileStrategy; import cn.daxpay.single.service.param.reconcile.ReconcileUploadParam; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.util.CharsetUtil; @@ -101,12 +101,12 @@ public class ReconcileService { public void downAndSave(ReconcileOrder reconcileOrder) { // 如果对账单已经存在 if (reconcileOrder.isDownOrUpload()){ - throw new PayFailureException("对账单文件已经下载或上传"); + throw new OperationFailException("对账单文件已经下载或上传"); } // 将对账订单写入到上下文中 PaymentContextLocal.get().getReconcileInfo().setReconcileOrder(reconcileOrder); // 构建对账策略 - AbsReconcileStrategy reconcileStrategy = ReconcileStrategyFactory.create(reconcileOrder.getChannel()); + AbsReconcileStrategy reconcileStrategy = PayStrategyFactory.create(reconcileOrder.getChannel(), AbsReconcileStrategy.class); reconcileStrategy.setRecordOrder(reconcileOrder); reconcileStrategy.doBeforeHandler(); try { @@ -136,7 +136,7 @@ public class ReconcileService { .orElseThrow(() -> new DataNotExistException("未找到对账订单")); // 将对账订单写入到上下文中 PaymentContextLocal.get().getReconcileInfo().setReconcileOrder(reconcileOrder); - AbsReconcileStrategy reconcileStrategy = ReconcileStrategyFactory.create(reconcileOrder.getChannel()); + AbsReconcileStrategy reconcileStrategy = PayStrategyFactory.create(reconcileOrder.getChannel(), AbsReconcileStrategy.class); reconcileStrategy.setRecordOrder(reconcileOrder); reconcileStrategy.doBeforeHandler(); @@ -174,16 +174,16 @@ public class ReconcileService { public void compare(ReconcileOrder reconcileOrder){ // 判断是否已经下载了对账单明细 if (!reconcileOrder.isDownOrUpload()){ - throw new PayFailureException("请先下载对账单"); + throw new OperationFailException("请先下载对账单"); } // 是否对比完成 if (reconcileOrder.isCompare()){ - throw new PayFailureException("对账单比对已经完成"); + throw new OperationFailException("对账单比对已经完成"); } // 查询对账单 List<ReconcileOutTrade> reconcileTradeDetails = reconcileOutTradeManager.findAllByReconcileId(reconcileOrder.getId()); // 构建对账策略 - AbsReconcileStrategy reconcileStrategy = ReconcileStrategyFactory.create(reconcileOrder.getChannel()); + AbsReconcileStrategy reconcileStrategy =PayStrategyFactory.create(reconcileOrder.getChannel(), AbsReconcileStrategy.class); // 初始化参数 reconcileStrategy.setRecordOrder(reconcileOrder); @@ -257,7 +257,7 @@ public class ReconcileService { // 设置header信息 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); - + // TODO 后续使用数据库中数据 PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 @@ -284,7 +284,7 @@ public class ReconcileService { byte[] bytes = byteArrayOutputStream.toByteArray();// 设置header信息 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); - + // TODO 后续使用数据库中数据 PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 @@ -316,6 +316,7 @@ public class ReconcileService { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); + // TODO 后续使用数据库中数据 PayChannelEnum channelEnum = PayChannelEnum.findByCode(reconcileOrder.getChannel()); String date = LocalDateTimeUtil.format(reconcileOrder.getDate(), DatePattern.PURE_DATE_PATTERN); // 将原始文件进行保存 通道-日期 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java index 64711fc09107941221763b50be6a28286e18b2de..6c61e23aea06ffd463e1f4758636951c18db0174 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/AlipayReconcileStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.reconcile.strategy; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -32,14 +32,16 @@ public class AlipayReconcileStrategy extends AbsReconcileStrategy { private final AliPayConfigService configService; + private AliPayConfig config; + /** * 策略标识 * * @see PayChannelEnum */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** @@ -47,8 +49,7 @@ public class AlipayReconcileStrategy extends AbsReconcileStrategy { */ @Override public void doBeforeHandler() { - AliPayConfig config = configService.getConfig(); - configService.initConfig(config); + this.config = configService.getConfig(); } /** @@ -66,6 +67,6 @@ public class AlipayReconcileStrategy extends AbsReconcileStrategy { @Override public void downAndSave() { String date = LocalDateTimeUtil.format(this.getRecordOrder().getDate(), DatePattern.NORM_DATE_PATTERN); - reconcileService.downAndSave(date,this.getRecordOrder()); + reconcileService.downAndSave(date,this.getRecordOrder(),this.config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java index 58d4b3852e8fb1b9f02b9e23b165addc6d14b200..962f7754964caefe7dde2c44a5d00e35ba9e4315 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/UnionPayReconcileStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.reconcile.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; @@ -40,8 +40,8 @@ public class UnionPayReconcileStrategy extends AbsReconcileStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java index 34e5d04fe65fa08a3a54ccf2c865646d8973f05f..8a319104604c5ac3f5bcaadfda20c548844dd2e7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/reconcile/strategy/WechatPayReconcileStrategy.java @@ -1,11 +1,11 @@ package cn.daxpay.single.service.core.payment.reconcile.strategy; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.ReconcileFileTypeEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; -import cn.daxpay.single.service.core.channel.wechat.service.WechatPayReconcileService; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayReconcileService; import cn.daxpay.single.service.func.AbsReconcileStrategy; import cn.hutool.core.date.DatePattern; import lombok.RequiredArgsConstructor; @@ -28,7 +28,7 @@ import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROT @RequiredArgsConstructor public class WechatPayReconcileStrategy extends AbsReconcileStrategy { - private final WechatPayReconcileService reconcileService; + private final WeChatPayReconcileService reconcileService; private final WeChatPayConfigService weChatPayConfigService; @@ -40,8 +40,8 @@ public class WechatPayReconcileStrategy extends AbsReconcileStrategy { * @see PayChannelEnum */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/factory/RefundStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/factory/RefundStrategyFactory.java deleted file mode 100644 index c4662efb12491013cc353aea13f9cb8cb89ba4b3..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/factory/RefundStrategyFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.daxpay.single.service.core.payment.refund.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.refund.strategy.AliRefundStrategy; -import cn.daxpay.single.service.core.payment.refund.strategy.UnionRefundStrategy; -import cn.daxpay.single.service.core.payment.refund.strategy.WalletRefundStrategy; -import cn.daxpay.single.service.core.payment.refund.strategy.WeChatRefundStrategy; -import cn.daxpay.single.service.func.AbsRefundStrategy; -import cn.hutool.extra.spring.SpringUtil; - -/** - * 退款策略工厂 - * @author xxm - * @since 2023/7/4 - */ -public class RefundStrategyFactory { - - - /** - * 根据传入的支付通道创建策略 - * @return 支付策略 - */ - public static AbsRefundStrategy create(String channel) { - - AbsRefundStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliRefundStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatRefundStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionRefundStrategy.class); - break; - case WALLET: - strategy = SpringUtil.getBean(WalletRefundStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java index 8d011662124a5bb208d86e6bdd5579fe0568c849..31e5bb87f21c99a1a3dd20803f154c95a6bb651c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundAssistService.java @@ -1,26 +1,26 @@ package cn.daxpay.single.service.core.payment.refund.service; -import cn.daxpay.single.code.PaySignTypeEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.refund.RefundParam; -import cn.daxpay.single.result.pay.RefundResult; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.context.NoticeLocal; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; +import cn.daxpay.single.core.param.payment.refund.RefundParam; +import cn.daxpay.single.core.result.pay.RefundResult; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.PaySignUtil; +import cn.daxpay.single.service.common.context.ErrorInfoLocal; import cn.daxpay.single.service.common.context.PlatformLocal; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; -import cn.daxpay.single.util.OrderNoGenerateUtil; -import cn.daxpay.single.util.PaySignUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import lombok.val; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -29,7 +29,7 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import static cn.daxpay.single.code.RefundStatusEnum.SUCCESS; +import static cn.daxpay.single.core.code.RefundStatusEnum.SUCCESS; /** * 支付退款支撑服务 @@ -42,63 +42,31 @@ import static cn.daxpay.single.code.RefundStatusEnum.SUCCESS; public class RefundAssistService { private final RefundOrderManager refundOrderManager; - private final RefundOrderExtraManager refundOrderExtraManager; - - /** - * 初始化上下文 - */ - public void initRefundContext(RefundParam param){ - // 初始化通知相关上下文 - this.initNotice(param); - } - - /** - * 初始化退款通知相关上下文 - */ - private void initNotice(RefundParam param) { - NoticeLocal noticeInfo = PaymentContextLocal.get().getNoticeInfo(); - ApiInfoLocal apiInfo = PaymentContextLocal.get().getApiInfo(); - PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); - // 异步回调为开启状态 - if (!Objects.equals(param.getNotNotify(), false) && apiInfo.isNotice()){ - // 首先读取请求参数 - noticeInfo.setNotifyUrl(param.getNotifyUrl()); - // 读取接口配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())){ - noticeInfo.setNotifyUrl(apiInfo.getNoticeUrl()); - } - // 读取平台配置 - if (StrUtil.isBlank(noticeInfo.getNotifyUrl())){ - noticeInfo.setNotifyUrl(platform.getNotifyUrl()); - } - } - } - /** * 检查并处理退款参数 */ public void checkAndParam(RefundParam param, PayOrder payOrder){ - - // 状态判断, 支付中/失败/取消等不能进行退款 - List<String> tradesStatus = Arrays.asList( - PayStatusEnum.PROGRESS.getCode(), - PayStatusEnum.CLOSE.getCode(), - PayStatusEnum.REFUNDED.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.FAIL.getCode()); - if (tradesStatus.contains(payOrder.getStatus())) { + // 非支付完成的不能进行退款 + if (!Objects.equals(SUCCESS.getCode(), payOrder.getStatus())) { PayStatusEnum statusEnum = PayStatusEnum.findByCode(payOrder.getStatus()); - throw new PayFailureException("当前支付单订状态["+statusEnum.getName()+"]不允许发起退款操作"); + throw new TradeStatusErrorException("当前支付单订状态["+statusEnum.getName()+"]不允许发起退款操作"); + } + // 退款中和退款完成不能退款 + List<String> tradesStatus = Arrays.asList( + PayOrderRefundStatusEnum.REFUNDED.getCode(), + PayOrderRefundStatusEnum.REFUNDING.getCode()); + if (tradesStatus.contains(payOrder.getRefundStatus())){ + val statusEnum = PayOrderRefundStatusEnum.findByCode(payOrder.getRefundStatus()); + throw new TradeStatusErrorException("当前支付单退款状态["+statusEnum.getName()+"]不允许发起退款操作"); } - // 退款号唯一校验 if (StrUtil.isNotBlank(param.getBizRefundNo()) && refundOrderManager.existsByRefundNo(param.getBizRefundNo())){ - throw new PayFailureException("退款单号已存在"); + throw new ValidationFailedException("退款单号已存在"); } // 金额判断 if (param.getAmount() > payOrder.getRefundableBalance()){ - throw new PayFailureException("退款金额不能大于支付金额"); + throw new ValidationFailedException("退款金额不能大于支付金额"); } } @@ -120,18 +88,12 @@ public class RefundAssistService { .setOrderAmount(payOrder.getAmount()) .setAmount(refundParam.getAmount()) .setTitle(payOrder.getTitle()) - .setReason(refundParam.getReason()); - refundOrderManager.save(refundOrder); - // 生成退款扩展订单 - NoticeLocal notice = PaymentContextLocal.get().getNoticeInfo(); - RefundOrderExtra orderExtra = new RefundOrderExtra() + .setReason(refundParam.getReason()) .setClientIp(refundParam.getClientIp()) .setReqTime(refundParam.getReqTime()) .setAttach(refundParam.getAttach()) - .setNotifyUrl(notice.getNotifyUrl()); - orderExtra.setId(refundOrder.getId()); - - refundOrderExtraManager.save(orderExtra); + .setNotifyUrl(refundParam.getNotifyUrl());; + refundOrderManager.save(refundOrder); return refundOrder; } @@ -157,8 +119,9 @@ public class RefundAssistService { @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public void updateOrderByError(RefundOrder refundOrder){ RefundLocal refundInfo = PaymentContextLocal.get().getRefundInfo(); - refundOrder.setErrorCode(refundInfo.getErrorCode()); - refundOrder.setErrorMsg(refundInfo.getErrorMsg()); + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); + refundOrder.setErrorCode(String.valueOf(errorInfo.getErrorCode())); + refundOrder.setErrorMsg(errorInfo.getErrorMsg()); refundOrder.setStatus(refundInfo.getStatus().getCode()); refundOrderManager.updateById(refundOrder); } @@ -182,7 +145,7 @@ public class RefundAssistService { } else if (Objects.equals(PaySignTypeEnum.MD5.getCode(), signType)){ refundResult.setSign(PaySignUtil.md5Sign(refundOrder, platformInfo.getSignSecret())); } else { - throw new PayFailureException("未获取到签名方式,请检查"); + throw new ValidationFailedException("未获取到签名方式,请检查"); } return refundResult; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java index 3f15365b4028c5fb49fbaae1422ab0f59c181246..52ba2959cfd4b88533e17ccc24c33b894f728022 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/service/RefundService.java @@ -1,28 +1,25 @@ package cn.daxpay.single.service.core.payment.refund.service; import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.bootx.platform.common.core.util.CollUtil; import cn.bootx.platform.common.core.util.ValidationUtil; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.refund.RefundParam; -import cn.daxpay.single.result.pay.RefundResult; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.exception.TradeStatusErrorException; +import cn.daxpay.single.core.param.payment.refund.RefundParam; +import cn.daxpay.single.core.result.pay.RefundResult; import cn.daxpay.single.service.common.context.RefundLocal; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; -import cn.daxpay.single.service.core.order.refund.dao.RefundOrderExtraManager; import cn.daxpay.single.service.core.order.refund.dao.RefundOrderManager; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; -import cn.daxpay.single.service.core.order.refund.entity.RefundOrderExtra; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; -import cn.daxpay.single.service.core.payment.refund.factory.RefundStrategyFactory; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.func.AbsRefundStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.extra.spring.SpringUtil; -import cn.hutool.json.JSONUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -57,8 +54,6 @@ public class RefundService { private final TradeFlowRecordService tradeFlowRecordService; - private final RefundOrderExtraManager refundOrderExtraManager; - private final LockTemplate lockTemplate; @@ -83,8 +78,6 @@ public class RefundService { try { // 判断是否是首次发起退款 Optional<RefundOrder> refund = refundOrderManager.findByBizRefundNo(param.getBizRefundNo()); - // 初始化退款通知上下文 - refundAssistService.initRefundContext(param); if (refund.isPresent()){ return this.repeatRefund(refund.get(),param); } else { @@ -106,7 +99,7 @@ public class RefundService { // 检查退款参数 refundAssistService.checkAndParam(param, payOrder); // 通过退款参数获取退款策略 - AbsRefundStrategy refundStrategy = RefundStrategyFactory.create(payOrder.getChannel()); + AbsRefundStrategy refundStrategy = PayStrategyFactory.create(payOrder.getChannel(), AbsRefundStrategy.class); // 进行退款前预处理 refundStrategy.doBeforeRefundHandler(); // 退款操作的预处理, 对支付订单进行预扣款, 返回创建成功的退款订单, 成功后才可以进行下一阶段的操作 @@ -136,7 +129,7 @@ public class RefundService { // 预扣支付订单要退款的金额并进行更新 int orderRefundableBalance = payOrder.getRefundableBalance() - refundParam.getAmount(); payOrder.setRefundableBalance(orderRefundableBalance) - .setStatus(PayStatusEnum.REFUNDING.getCode()); + .setRefundStatus(PayOrderRefundStatusEnum.REFUNDING.getCode()); payOrderService.updateById(payOrder); // ----------------------- 退款订单创建 ------------------------- return refundAssistService.createOrder(refundParam, payOrder); @@ -151,20 +144,18 @@ public class RefundService { public RefundResult repeatRefund(RefundOrder refundOrder, RefundParam param){ // 退款失败才可以重新发起退款, 重新发起退款 if (!Objects.equals(refundOrder.getStatus(), RefundStatusEnum.FAIL.getCode())){ - throw new PayFailureException("只有失败状态的才可以重新发起退款"); + throw new TradeStatusErrorException("只有失败状态的才可以重新发起退款"); } // 获取支付订单 PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(refundOrder.getOrderNo(), refundOrder.getBizOrderNo()) - .orElseThrow(() -> new DataNotExistException("支付订单不存在")); - RefundOrderExtra refundOrderExtra = refundOrderExtraManager.findById(refundOrder.getId()) - .orElseThrow(() -> new DataNotExistException("退款订单扩展信息不存在")); - AbsRefundStrategy refundStrategy = RefundStrategyFactory.create(refundOrder.getChannel()); + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); + AbsRefundStrategy refundStrategy = PayStrategyFactory.create(refundOrder.getChannel(), AbsRefundStrategy.class); // 设置退款订单对象 refundStrategy.setRefundOrder(refundOrder); // 退款前准备操作 refundStrategy.doBeforeRefundHandler(); // 进行发起退款前的操作, 更新扩展记录信息 - this.updateExtra(refundOrderExtra, param); + this.updateOrder(param,refundOrder); try { // 执行退款策略 refundStrategy.doRefundHandler(); @@ -184,17 +175,15 @@ public class RefundService { } /** - * 更新退款订单扩展信息 + * 更新退款订单信息 */ - private void updateExtra(RefundOrderExtra refundOrderExtra, RefundParam param){ - refundOrderExtra.setAttach(param.getAttach()) + private void updateOrder(RefundParam param, RefundOrder order){ + order.setAttach(param.getAttach()) .setClientIp(param.getClientIp()) .setNotifyUrl(param.getNotifyUrl()) - .setReqTime(param.getReqTime()); - if (CollUtil.isNotEmpty(param.getExtraParam())){ - refundOrderExtra.setExtraParam(JSONUtil.toJsonStr(param.getExtraParam())); - } - refundOrderExtraManager.updateById(refundOrderExtra); + .setReqTime(param.getReqTime()) + .setExtraParam(param.getExtraParam()); + refundOrderManager.updateById(order); } /** @@ -208,14 +197,14 @@ public class RefundService { int refundableBalance = payOrder.getRefundableBalance(); // 退款状态为退款中 if (refundInfo.getStatus() == RefundStatusEnum.PROGRESS) { - payOrder.setStatus(PayStatusEnum.REFUNDING.getCode()); + payOrder.setRefundStatus(PayOrderRefundStatusEnum.REFUNDING.getCode()); } // 退款状态为成功 else { if (refundableBalance == 0) { - payOrder.setStatus(PayStatusEnum.REFUNDED.getCode()); + payOrder.setRefundStatus(PayOrderRefundStatusEnum.REFUNDED.getCode()); } else { - payOrder.setStatus(PayStatusEnum.PARTIAL_REFUND.getCode()); + payOrder.setRefundStatus(PayOrderRefundStatusEnum.PARTIAL_REFUND.getCode()); } // 记录流水 tradeFlowRecordService.saveRefund(refundOrder); @@ -228,7 +217,7 @@ public class RefundService { // 发送通知 List<String> list = Arrays.asList(RefundStatusEnum.SUCCESS.getCode(), RefundStatusEnum.CLOSE.getCode(), RefundStatusEnum.FAIL.getCode()); if (list.contains(refundOrder.getStatus())){ - clientNoticeService.registerRefundNotice(refundOrder, refundInfo.getRunOrderExtra()); + clientNoticeService.registerRefundNotice(refundOrder); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java index 8c7dcb3d4830bd5b383f38c633df8c60e8f60d15..3549f4bd7518e6fd192045ceb22aca92c11158b3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/AliRefundStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.refund.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayRefundService; @@ -22,15 +22,18 @@ import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROT public class AliRefundStrategy extends AbsRefundStrategy { private final AliPayConfigService alipayConfigService; + private final AliPayRefundService aliRefundService; + + private AliPayConfig config; + /** * 策略标识 - * * @see PayChannelEnum */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } @@ -39,8 +42,7 @@ public class AliRefundStrategy extends AbsRefundStrategy { */ @Override public void doBeforeRefundHandler() { - AliPayConfig config = alipayConfigService.getAndCheckConfig(); - alipayConfigService.initConfig(config); + this.config = alipayConfigService.getAndCheckConfig(); } /** @@ -48,6 +50,6 @@ public class AliRefundStrategy extends AbsRefundStrategy { */ @Override public void doRefundHandler() { - aliRefundService.refund(this.getRefundOrder()); + aliRefundService.refund(this.getRefundOrder(),this.config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java index db5f53e19cf747d98da2c37e3c8c9709d8eac965..ead907c3b2a229800fb8a1c5cd258b1d31097e6a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/UnionRefundStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.refund.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; import cn.daxpay.single.service.core.channel.union.service.UnionPayRefundService; @@ -34,8 +34,8 @@ public class UnionRefundStrategy extends AbsRefundStrategy { * @see PayChannelEnum */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java index 0e232475e8bdc23a0de058d2dea1c7f564e89066..9faa326a9eafc7dcf7ef73db9569a6bf0f80257e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WalletRefundStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.refund.strategy; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.param.channel.WalletPayParam; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.param.channel.WalletPayParam; import cn.daxpay.single.service.core.channel.wallet.entity.Wallet; import cn.daxpay.single.service.core.channel.wallet.service.WalletPayService; import cn.daxpay.single.service.core.channel.wallet.service.WalletQueryService; @@ -36,8 +36,8 @@ public class WalletRefundStrategy extends AbsRefundStrategy { * @see PayChannelEnum */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WALLET; + public String getChannel() { + return PayChannelEnum.WALLET.getCode(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java index 1433ece8a407d5a66438ac1eb3e583b9edb6b4bd..956ee70ff450b00bf3ab22562180d966acdedafe 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/refund/strategy/WeChatRefundStrategy.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.core.payment.refund.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; -import cn.daxpay.single.service.core.channel.wechat.service.WechatPayRefundService; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayRefundService; import cn.daxpay.single.service.func.AbsRefundStrategy; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Scope; @@ -23,7 +23,7 @@ public class WeChatRefundStrategy extends AbsRefundStrategy { private final WeChatPayConfigService weChatPayConfigService; - private final WechatPayRefundService wechatPayRefundService; + private final WeChatPayRefundService wechatPayRefundService; private WeChatPayConfig weChatPayConfig; @@ -33,8 +33,8 @@ public class WeChatRefundStrategy extends AbsRefundStrategy { * @see PayChannelEnum */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/factory/PayRepairStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/factory/PayRepairStrategyFactory.java deleted file mode 100644 index 4914805d598d048a55fe3d33017671d975500c24..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/factory/PayRepairStrategyFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.daxpay.single.service.core.payment.repair.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.repair.strategy.pay.AliPayRepairStrategy; -import cn.daxpay.single.service.core.payment.repair.strategy.pay.UnionPayRepairStrategy; -import cn.daxpay.single.service.core.payment.repair.strategy.pay.WeChatPayRepairStrategy; -import cn.daxpay.single.service.func.AbsPayRepairStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 支付修复策略工厂类 - * @author xxm - * @since 2023/12/29 - */ -@UtilityClass -public class PayRepairStrategyFactory { - /** - * 根据传入的支付通道创建策略 - * @return 支付修复策略 - */ - public static AbsPayRepairStrategy create(String channel) { - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channel); - AbsPayRepairStrategy strategy; - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPayRepairStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPayRepairStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionPayRepairStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - return strategy; - } - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/PayRepairResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/PayRepairResult.java index 570662b79183304e6c3e7f6b99e8dfdff558f803..185c6255ffee50f2184ac340d4be96e3a16c0345 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/PayRepairResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/PayRepairResult.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.result; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java index 2c8d8a5d4a43be983d52419701c511158ca465ac..5783c69deb0d5d7d744a35205bd0e1b9f7a65562 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/result/RefundRepairResult.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.repair.result; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import lombok.Data; import lombok.experimental.Accessors; @@ -21,7 +21,7 @@ public class RefundRepairResult { /** 退款修复后状态 */ private RefundStatusEnum afterRefundStatus; /** 支付修复前状态 */ - private PayStatusEnum beforePayStatus; + private PayOrderRefundStatusEnum beforePayStatus; /** 支付修复后状态 */ - private PayStatusEnum afterPayStatus; + private PayOrderRefundStatusEnum afterPayStatus; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java index c9f1a866e9dd969753df817f78da7570e6dc52b6..61952c6fc2783d3c671f145224710277d8ad0f71 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/PayRepairService.java @@ -1,19 +1,19 @@ package cn.daxpay.single.service.core.payment.repair.service; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.exception.SystemUnknownErrorException; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.notice.service.ClientNoticeService; -import cn.daxpay.single.service.core.payment.repair.factory.PayRepairStrategyFactory; import cn.daxpay.single.service.core.payment.repair.result.PayRepairResult; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.core.record.repair.entity.PayRepairRecord; import cn.daxpay.single.service.core.record.repair.service.PayRepairRecordService; import cn.daxpay.single.service.func.AbsPayRepairStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import cn.hutool.core.util.IdUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; @@ -23,7 +23,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; -import java.util.*; +import java.util.Objects; +import java.util.Optional; /** * 支付修复服务 @@ -57,7 +58,7 @@ public class PayRepairService { } // 2.1 初始化修复参数 - AbsPayRepairStrategy repairStrategy = PayRepairStrategyFactory.create(order.getChannel()); + AbsPayRepairStrategy repairStrategy = PayStrategyFactory.create(order.getChannel(),AbsPayRepairStrategy.class); repairStrategy.setOrder(order); // 2.2 执行前置处理 repairStrategy.doBeforeHandler(); @@ -74,8 +75,7 @@ public class PayRepairService { repairResult.setAfterPayStatus(PayStatusEnum.CLOSE); break; case PROGRESS: - this.waitPay(order); - repairResult.setAfterPayStatus(PayStatusEnum.PROGRESS); + // TODO 保存为异常订单 break; case CLOSE_GATEWAY: this.closeRemote(order, repairStrategy); @@ -83,27 +83,16 @@ public class PayRepairService { break; default: log.error("走到了理论上讲不会走到的分支"); - throw new PayFailureException("走到了理论上讲不会走到的分支"); + throw new SystemUnknownErrorException("走到了理论上讲不会走到的分支"); } // 设置修复iD repairResult.setRepairNo(IdUtil.getSnowflakeNextIdStr()); // 发送通知 - clientNoticeService.registerPayNotice(order, null); + clientNoticeService.registerPayNotice(order); this.saveRecord(order, repairType, repairResult); return repairResult; } - /** - * 变更未待支付 - * TODO 后期保存为异常订单 - */ - private void waitPay(PayOrder order) { - // 修改订单支付状态为待支付 - order.setStatus(PayStatusEnum.PROGRESS.getCode()) - .setPayTime(null) - .setCloseTime(null); - payOrderService.updateById(order); - } /** * 变更为已支付 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java index a6563fe4a53be69a6682a554bfaceaea6ac73eb6..308f9056f615f207054469dfea4b1c2dfaa8e937 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/service/RefundRepairService.java @@ -1,7 +1,8 @@ package cn.daxpay.single.service.core.payment.repair.service; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.RefundRepairWayEnum; import cn.daxpay.single.service.common.context.RepairLocal; @@ -16,7 +17,7 @@ import cn.daxpay.single.service.core.payment.repair.result.RefundRepairResult; import cn.daxpay.single.service.core.record.flow.service.TradeFlowRecordService; import cn.daxpay.single.service.core.record.repair.entity.PayRepairRecord; import cn.daxpay.single.service.core.record.repair.service.PayRepairRecordService; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -86,7 +87,7 @@ public class RefundRepairService { PayRepairRecord refundRepairRecord = this.refundRepairRecord(refundOrder, repairType, repairResult); // 发送通知 - clientNoticeService.registerRefundNotice(refundOrder, null); + clientNoticeService.registerRefundNotice(refundOrder); recordService.saveAllRecord(Arrays.asList(payRepairRecord, refundRepairRecord)); return repairResult; } finally { @@ -100,20 +101,20 @@ public class RefundRepairService { private RefundRepairResult success(RefundOrder refundOrder, PayOrder payOrder) { RepairLocal repairInfo = PaymentContextLocal.get().getRepairInfo(); // 订单相关状态 - PayStatusEnum beforePayStatus = PayStatusEnum.findByCode(payOrder.getStatus()); - PayStatusEnum afterPayRefundStatus; + PayOrderRefundStatusEnum beforePayStatus = PayOrderRefundStatusEnum.findByCode(payOrder.getRefundStatus()); + PayOrderRefundStatusEnum afterPayRefundStatus; RefundStatusEnum beforeRefundStatus = RefundStatusEnum.findByCode(refundOrder.getStatus()); // 判断订单全部退款还是部分退款 if (Objects.equals(payOrder.getRefundableBalance(),0)){ - afterPayRefundStatus = PayStatusEnum.REFUNDED; + afterPayRefundStatus = PayOrderRefundStatusEnum.REFUNDED; } else { - afterPayRefundStatus = PayStatusEnum.PARTIAL_REFUND; + afterPayRefundStatus = PayOrderRefundStatusEnum.PARTIAL_REFUND; } // 设置退款为完成状态和完成时间 refundOrder.setStatus(RefundStatusEnum.SUCCESS.getCode()) .setFinishTime(repairInfo.getFinishTime()); - payOrder.setStatus(afterPayRefundStatus.getCode()); + payOrder.setRefundStatus(afterPayRefundStatus.getCode()); // 更新订单和退款相关订单 payOrderService.updateById(payOrder); @@ -125,7 +126,7 @@ public class RefundRepairService { // 发送通知 List<String> list = Arrays.asList(RefundStatusEnum.SUCCESS.getCode(), RefundStatusEnum.CLOSE.getCode(), RefundStatusEnum.FAIL.getCode()); if (list.contains(refundOrder.getStatus())){ - clientNoticeService.registerRefundNotice(refundOrder, null); + clientNoticeService.registerRefundNotice(refundOrder); } return new RefundRepairResult() @@ -144,7 +145,7 @@ public class RefundRepairService { RefundRepairResult repairResult = new RefundRepairResult(); // 订单修复前状态 - PayStatusEnum beforePayStatus = PayStatusEnum.findByCode(refundOrder.getStatus()); + PayOrderRefundStatusEnum beforePayStatus = PayOrderRefundStatusEnum.findByCode(payOrder.getRefundStatus()); RefundStatusEnum beforeRefundStatus = RefundStatusEnum.findByCode(refundOrder.getStatus()); repairResult.setBeforePayStatus(beforePayStatus) .setBeforeRefundStatus(beforeRefundStatus); @@ -154,11 +155,11 @@ public class RefundRepairService { // 退款失败返还后的余额+可退余额 == 订单金额 支付订单回退为为支付成功状态 if (payOrderAmount == payOrder.getAmount()){ payOrder.setStatus(PayStatusEnum.SUCCESS.getCode()); - repairResult.setAfterPayStatus(PayStatusEnum.SUCCESS); + repairResult.setAfterPayStatus(PayOrderRefundStatusEnum.NO_REFUND); } else { // 回归部分退款状态 - payOrder.setStatus(PayStatusEnum.PARTIAL_REFUND.getCode()); - repairResult.setAfterPayStatus(PayStatusEnum.PARTIAL_REFUND); + payOrder.setRefundStatus(PayOrderRefundStatusEnum.PARTIAL_REFUND.getCode()); + repairResult.setAfterPayStatus(PayOrderRefundStatusEnum.PARTIAL_REFUND); } // 更新支付订单相关的可退款金额 @@ -179,7 +180,8 @@ public class RefundRepairService { */ private PayRepairRecord payRepairRecord(PayOrder order, RefundRepairWayEnum repairType, RefundRepairResult repairResult){ // 修复前的状态 - String beforeStatus = Optional.ofNullable(repairResult.getBeforePayStatus()).map(PayStatusEnum::getCode).orElse(null); + String beforeStatus = Optional.ofNullable(repairResult.getBeforePayStatus()) + .map(PayOrderRefundStatusEnum::getCode).orElse(null); // 修复发起来源 String source = PaymentContextLocal.get() .getRepairInfo() @@ -211,6 +213,7 @@ public class RefundRepairService { .setTradeId(refundOrder.getId()) .setRepairNo(repairResult.getRepairNo()) .setTradeNo(refundOrder.getRefundNo()) + .setChannel(refundOrder.getChannel()) .setRepairType(PaymentTypeEnum.REFUND.getCode()) .setBeforeStatus(repairResult.getBeforeRefundStatus().getCode()) .setAfterStatus(afterStatus) diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java index c6f2e76e2b70301b7a1ef75fa9542e0ade0602a5..80d1349604f40b6f5d52da4057895bf735297204 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/AliPayRepairStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayCloseService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; @@ -26,12 +26,14 @@ public class AliPayRepairStrategy extends AbsPayRepairStrategy { private final AliPayConfigService aliPayConfigService; + private AliPayConfig config; + /** * 策略标识 */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** @@ -39,8 +41,7 @@ public class AliPayRepairStrategy extends AbsPayRepairStrategy { */ @Override public void doBeforeHandler() { - AliPayConfig config = aliPayConfigService.getConfig(); - aliPayConfigService.initConfig(config); + this.config = aliPayConfigService.getConfig(); } @@ -49,6 +50,6 @@ public class AliPayRepairStrategy extends AbsPayRepairStrategy { */ @Override public void doCloseRemoteHandler() { - closeService.close(this.getOrder()); + closeService.close(this.getOrder(), this.config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java index 58cae03aeb4d0854c7e7350b0c1f50011bec1a78..5a560d19873c69e1acb5bf709a217bd31db76821 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/UnionPayRepairStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.func.AbsPayRepairStrategy; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -24,8 +24,8 @@ public class UnionPayRepairStrategy extends AbsPayRepairStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java index afdfd78031b1afb93518f8e22c149f51dc7a04b8..b3adeaa08a71dfffe823d2f28b6e064f094a62a6 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/repair/strategy/pay/WeChatPayRepairStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.repair.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayCloseService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; @@ -32,8 +32,8 @@ public class WeChatPayRepairStrategy extends AbsPayRepairStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java deleted file mode 100644 index 5030cb2f77100d676c26e5c83bfc7dea822167ad..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/PaySyncStrategyFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.daxpay.single.service.core.payment.sync.factory; - - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.sync.strategy.pay.AliPaySyncStrategy; -import cn.daxpay.single.service.core.payment.sync.strategy.pay.UnionPaySyncStrategy; -import cn.daxpay.single.service.core.payment.sync.strategy.pay.WeChatPaySyncStrategy; -import cn.daxpay.single.service.func.AbsPaySyncStrategy; -import cn.hutool.extra.spring.SpringUtil; - -/** - * 支付同步策略工厂类 - * @author xxm - * @since 2023/7/14 - */ -public class PaySyncStrategyFactory { - /** - * 获取支付同步策略, 只有异步支付方式才需要这个功能 - * @param channelCode 支付通道编码 - * @return 支付同步策略类 - */ - public static AbsPaySyncStrategy create(String channelCode) { - AbsPaySyncStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channelCode); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliPaySyncStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatPaySyncStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionPaySyncStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - // noinspection ConstantConditions - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/RefundSyncStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/RefundSyncStrategyFactory.java deleted file mode 100644 index ce839bd212862abefef0767985ab19254cdf04b3..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/factory/RefundSyncStrategyFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.daxpay.single.service.core.payment.sync.factory; - -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.exception.pay.PayUnsupportedMethodException; -import cn.daxpay.single.service.core.payment.sync.strategy.Refund.AliRefundSyncStrategy; -import cn.daxpay.single.service.core.payment.sync.strategy.Refund.UnionRefundSyncStrategy; -import cn.daxpay.single.service.core.payment.sync.strategy.Refund.WeChatRefundSyncStrategy; -import cn.daxpay.single.service.func.AbsRefundSyncStrategy; -import cn.hutool.extra.spring.SpringUtil; -import lombok.experimental.UtilityClass; - -/** - * 支付退款同步策略工厂 - * @author xxm - * @since 2024/1/29 - */ -@UtilityClass -public class RefundSyncStrategyFactory { - /** - * 获取支付同步策略, 只有异步支付方式才需要这个功能 - * @param channelCode 支付通道编码 - * @return 支付同步策略类 - */ - public static AbsRefundSyncStrategy create(String channelCode) { - AbsRefundSyncStrategy strategy; - PayChannelEnum channelEnum = PayChannelEnum.findByCode(channelCode); - switch (channelEnum) { - case ALI: - strategy = SpringUtil.getBean(AliRefundSyncStrategy.class); - break; - case UNION_PAY: - strategy = SpringUtil.getBean(UnionRefundSyncStrategy.class); - break; - case WECHAT: - strategy = SpringUtil.getBean(WeChatRefundSyncStrategy.class); - break; - default: - throw new PayUnsupportedMethodException(); - } - // noinspection ConstantConditions - return strategy; - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/PayRemoteSyncResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/PayRemoteSyncResult.java index f05792f0556bbabeffe09c0c1634181328acb89c..530b538d4cd72514fe8072732757cfce8fa08e91 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/PayRemoteSyncResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/PayRemoteSyncResult.java @@ -1,12 +1,12 @@ package cn.daxpay.single.service.core.payment.sync.result; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import lombok.Data; import lombok.experimental.Accessors; import java.time.LocalDateTime; -import static cn.daxpay.single.code.PaySyncStatusEnum.FAIL; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.FAIL; /** * 支付网关同步结果 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/RefundRemoteSyncResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/RefundRemoteSyncResult.java index eeaeef823991a43fbe64b6a2335cfa667ca4abfd..5fccc5f97a5a92b9ca745eac9b23709968b37c95 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/RefundRemoteSyncResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/result/RefundRemoteSyncResult.java @@ -1,12 +1,12 @@ package cn.daxpay.single.service.core.payment.sync.result; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import lombok.Data; import lombok.experimental.Accessors; import java.time.LocalDateTime; -import static cn.daxpay.single.code.RefundSyncStatusEnum.PROGRESS; +import static cn.daxpay.single.core.code.RefundSyncStatusEnum.PROGRESS; /** * 支付退款同步结果 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java index a26d371e70a56a6a55047138b57983eeeb1938f6..6aaf990aea93c1e5f6b2302dc5f325d76ed630e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/PaySyncService.java @@ -2,12 +2,13 @@ package cn.daxpay.single.service.core.payment.sync.service; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; import cn.bootx.platform.common.core.util.LocalDateTimeUtil; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.pay.PaySyncParam; -import cn.daxpay.single.result.sync.PaySyncResult; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.exception.*; +import cn.daxpay.single.core.param.payment.pay.PaySyncParam; +import cn.daxpay.single.core.result.sync.PaySyncResult; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; @@ -18,11 +19,11 @@ import cn.daxpay.single.service.core.order.pay.service.PayOrderQueryService; import cn.daxpay.single.service.core.order.pay.service.PayOrderService; import cn.daxpay.single.service.core.payment.repair.result.PayRepairResult; import cn.daxpay.single.service.core.payment.repair.service.PayRepairService; -import cn.daxpay.single.service.core.payment.sync.factory.PaySyncStrategyFactory; import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord; import cn.daxpay.single.service.core.record.sync.service.PaySyncRecordService; import cn.daxpay.single.service.func.AbsPaySyncStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -33,11 +34,10 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Objects; -import static cn.daxpay.single.code.PaySyncStatusEnum.*; +import static cn.daxpay.single.core.code.PaySyncStatusEnum.*; /** * 支付同步服务 @@ -64,10 +64,11 @@ public class PaySyncService { @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public PaySyncResult sync(PaySyncParam param) { PayOrder payOrder = payOrderQueryService.findByBizOrOrderNo(param.getOrderNo(), param.getBizOrderNo()) - .orElseThrow(() -> new PayFailureException("支付订单不存在")); - // 钱包支付钱包不需要 + .orElseThrow(() -> new TradeNotExistException("支付订单不存在")); + + // 钱包支付钱包不需要同步 if (PayChannelEnum.WALLET.getCode().equals(payOrder.getChannel())){ - throw new PayFailureException("订单没有异步支付方式,不需要同步"); + throw new TradeStatusErrorException("支付订单不需要同步"); } // 执行订单同步逻辑 return this.syncPayOrder(payOrder); @@ -85,10 +86,9 @@ public class PaySyncService { if (Objects.isNull(lock)){ throw new RepetitiveOperationException("支付同步处理中,请勿重复操作"); } - try { // 获取支付同步策略类 - AbsPaySyncStrategy syncPayStrategy = PaySyncStrategyFactory.create(payOrder.getChannel()); + AbsPaySyncStrategy syncPayStrategy = PayStrategyFactory.create(payOrder.getChannel(), AbsPaySyncStrategy.class); syncPayStrategy.initPayParam(payOrder); // 执行操作, 获取支付网关同步的结果 PayRemoteSyncResult payRemoteSyncResult = syncPayStrategy.doSyncStatus(); @@ -96,7 +96,7 @@ public class PaySyncService { if (Objects.equals(payRemoteSyncResult.getSyncStatus(), PaySyncStatusEnum.FAIL)){ // 同步失败, 返回失败响应, 同时记录失败的日志 this.saveRecord(payOrder, payRemoteSyncResult, false, null, payRemoteSyncResult.getErrorMsg()); - throw new PayFailureException(payRemoteSyncResult.getErrorMsg()); + throw new OperationFailException(payRemoteSyncResult.getErrorMsg()); } // 支付订单的网关订单号是否一致, 不一致进行更新 if (!Objects.equals(payRemoteSyncResult.getOutOrderNo(), payOrder.getOutOrderNo())){ @@ -163,18 +163,15 @@ public class PaySyncService { 未找到订单可能是发起支付用户未操作、支付已关闭、交易未找到三种情况 所以需要根据本地订单不同的状态进行特殊处理, 此处视为支付已关闭、交易未找到这两种, 处理方式相同, 都作为支付关闭处理 */ - List<String> payCloseEnums = Collections.singletonList(PayStatusEnum.CLOSE.getCode()); + List<String> payCloseEnums = Arrays.asList(PayStatusEnum.CLOSE.getCode(), PayStatusEnum.CANCEL.getCode()); List<PaySyncStatusEnum> syncClose = Arrays.asList(CLOSED, NOT_FOUND, NOT_FOUND_UNKNOWN); if (payCloseEnums.contains(orderStatus) && syncClose.contains(syncStatus)){ return true; } - // 退款比对状态不做额外处理, 需要通过退款接口进行处理 - List<String> orderClose = Arrays.asList( - PayStatusEnum.REFUNDED.getCode(), - PayStatusEnum.REFUNDING.getCode(), - PayStatusEnum.PARTIAL_REFUND.getCode()); - if (orderClose.contains(orderStatus) || syncStatus.equals(PaySyncStatusEnum.REFUND)){ + // 退款状态不做额外处理, 需要通过退款接口进行处理 + if (!Objects.equals(order.getRefundStatus(),PayOrderRefundStatusEnum.NO_REFUND.getCode()) + || syncStatus.equals(PaySyncStatusEnum.REFUND)){ return true; } return false; @@ -199,7 +196,7 @@ public class PaySyncService { break; } case REFUND: - throw new PayFailureException("支付订单为退款状态,请通过执行对应的退款订单进行同步,来更新具体为什么类型退款状态"); + throw new TradeStatusErrorException("支付订单为退款状态,请通过执行对应的退款订单进行同步,来更新具体为什么类型退款状态"); // 交易关闭和未找到, 都对本地支付订单进行关闭, 不需要再调用网关进行关闭 case CLOSED: case NOT_FOUND: { @@ -219,7 +216,7 @@ public class PaySyncService { break; } default: { - throw new PayFailureException("代码有问题"); + throw new SystemUnknownErrorException("代码有问题"); } } return repair; @@ -246,7 +243,8 @@ public class PaySyncService { .setRepair(repair) .setRepairNo(repairOrderNo) .setErrorMsg(errorMsg) - .setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp()); + .setClientIp(PaymentContextLocal.get().getClientInfo().getClientIp()); paySyncRecordService.saveRecord(paySyncRecord); } + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java index eff3f96b35d5fc2613f8dc19b6950c22d680e2e1..551debd97096b706d24f175e71d3789a89a35872 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/RefundSyncService.java @@ -2,11 +2,13 @@ package cn.daxpay.single.service.core.payment.sync.service; import cn.bootx.platform.common.core.exception.BizException; import cn.bootx.platform.common.core.exception.RepetitiveOperationException; -import cn.daxpay.single.code.RefundStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.exception.pay.PayFailureException; -import cn.daxpay.single.param.payment.refund.RefundSyncParam; -import cn.daxpay.single.result.sync.RefundSyncResult; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.exception.OperationFailException; +import cn.daxpay.single.core.exception.PayFailureException; +import cn.daxpay.single.core.exception.TradeNotExistException; +import cn.daxpay.single.core.param.payment.refund.RefundSyncParam; +import cn.daxpay.single.core.result.sync.RefundSyncResult; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.RefundRepairWayEnum; @@ -17,11 +19,11 @@ import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.order.refund.service.RefundOrderQueryService; import cn.daxpay.single.service.core.payment.repair.result.RefundRepairResult; import cn.daxpay.single.service.core.payment.repair.service.RefundRepairService; -import cn.daxpay.single.service.core.payment.sync.factory.RefundSyncStrategyFactory; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import cn.daxpay.single.service.core.record.sync.entity.PaySyncRecord; import cn.daxpay.single.service.core.record.sync.service.PaySyncRecordService; import cn.daxpay.single.service.func.AbsRefundSyncStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; import com.baomidou.lock.LockInfo; import com.baomidou.lock.LockTemplate; import lombok.RequiredArgsConstructor; @@ -58,7 +60,7 @@ public class RefundSyncService { public RefundSyncResult sync(RefundSyncParam param){ // 先获取退款单 RefundOrder refundOrder = refundOrderQueryService.findByBizOrRefundNo(param.getRefundNo(), param.getBizRefundNo()) - .orElseThrow(() -> new PayFailureException("未查询到退款订单")); + .orElseThrow(() -> new TradeNotExistException("未查询到退款订单")); // 如果订单已经关闭, 直接返回退款关闭 if (Objects.equals(refundOrder.getStatus(), RefundStatusEnum.CLOSE.getCode())){ return new RefundSyncResult().setStatus(RefundStatusEnum.CLOSE.getCode()); @@ -78,7 +80,7 @@ public class RefundSyncService { } try { // 获取支付同步策略类 - AbsRefundSyncStrategy syncPayStrategy = RefundSyncStrategyFactory.create(refundOrder.getChannel()); + AbsRefundSyncStrategy syncPayStrategy = PayStrategyFactory.create(refundOrder.getChannel(),AbsRefundSyncStrategy.class); syncPayStrategy.setRefundOrder(refundOrder); // 同步前处理, 主要预防请求过于迅速 syncPayStrategy.doBeforeHandler(); @@ -89,7 +91,7 @@ public class RefundSyncService { if (Objects.equals(refundRemoteSyncResult.getSyncStatus(), RefundSyncStatusEnum.FAIL)) { // 同步失败, 返回失败响应, 同时记录失败的日志 this.saveRecord(refundOrder, refundRemoteSyncResult, false, null, refundRemoteSyncResult.getErrorMsg()); - throw new PayFailureException(refundRemoteSyncResult.getErrorMsg()); + throw new OperationFailException(refundRemoteSyncResult.getErrorMsg()); } // 订单的通道交易号是否一致, 不一致进行更新 if (Objects.nonNull(refundRemoteSyncResult.getOutRefundNo()) && !Objects.equals(refundRemoteSyncResult.getOutRefundNo(), refundOrder.getOutRefundNo())){ @@ -200,7 +202,8 @@ public class RefundSyncService { .setRepair(repair) .setRepairNo(repairOrderNo) .setErrorMsg(errorMsg) - .setClientIp(PaymentContextLocal.get().getRequestInfo().getClientIp()); + .setClientIp(PaymentContextLocal.get().getClientInfo().getClientIp()); paySyncRecordService.saveRecord(paySyncRecord); } + } diff --git a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaMd5Service.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java similarity index 32% rename from bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaMd5Service.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java index cd4c27d11fc3dbe1950f317f1a1c474d7dfa4d3a..de6ac8b4e8d69753e8d9d1a9471927a5f7883200 100644 --- a/bootx-platform/bootx-common-starters/common-starter-dingtalk/src/main/java/cn/bootx/platform/starter/dingtalk/core/media/service/DingMediaMd5Service.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/service/TransferSyncService.java @@ -1,19 +1,26 @@ -package cn.bootx.platform.starter.dingtalk.core.media.service; +package cn.daxpay.single.service.core.payment.sync.service; -import cn.bootx.platform.starter.dingtalk.core.media.dao.DingMediaMd5Manager; +import cn.daxpay.single.core.param.payment.transfer.TransferSyncParam; +import cn.daxpay.single.core.result.sync.TransferSyncResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; /** + * 转账同步接口 * @author xxm - * @since 2022/7/26 + * @since 2024/6/17 */ @Slf4j @Service @RequiredArgsConstructor -public class DingMediaMd5Service { +public class TransferSyncService { - private final DingMediaMd5Manager dingMediaMd5Manager; + /** + * 转账同步接口 + */ + public TransferSyncResult sync(TransferSyncParam param) { + return null; + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java index 4b55e3a34a0568b4ae0ca34d9242df751be68549..188aa66a418b32f61ab0a9c05dc8ee8e3c97863a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/AliRefundSyncStrategy.java @@ -1,9 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.strategy.Refund; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; -import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.channel.alipay.service.AliPaySyncService; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import cn.daxpay.single.service.func.AbsRefundSyncStrategy; @@ -23,16 +21,14 @@ import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROT @RequiredArgsConstructor public class AliRefundSyncStrategy extends AbsRefundSyncStrategy { - private final AliPayConfigService alipayConfigService; - private final AliPaySyncService aliPaySyncService;; /** * 策略标识 */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** @@ -42,8 +38,6 @@ public class AliRefundSyncStrategy extends AbsRefundSyncStrategy { */ @Override public RefundRemoteSyncResult doSyncStatus() { - AliPayConfig config = alipayConfigService.getConfig(); - alipayConfigService.initConfig(config); return aliPaySyncService.syncRefundStatus(this.getRefundOrder()); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java index a2ab970610f68798a36a3caf2c79bc032ec53ca9..6583fd0140b2e20182cbeddaed73f1feba91ab0f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/UnionRefundSyncStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.strategy.Refund; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; import cn.daxpay.single.service.core.channel.union.service.UnionPaySyncService; @@ -43,7 +43,7 @@ public class UnionRefundSyncStrategy extends AbsRefundSyncStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java index 328aa49e3fced20629217f7c02a1ee4f4c4733cb..60730da630f7933d7215e0fe1dc73d222cf81c58 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/Refund/WeChatRefundSyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.sync.strategy.Refund; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPaySyncService; @@ -28,8 +28,8 @@ public class WeChatRefundSyncStrategy extends AbsRefundSyncStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java index eec17a41d63519d44b9301a86c36cf024aeace41..762fc8de8b714c32875cfb4eeec23b8183ecedf8 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/AliPaySyncStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPaySyncService; @@ -30,9 +30,9 @@ public class AliPaySyncStrategy extends AbsPaySyncStrategy { /** * 策略标识 */ - @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); } /** @@ -40,16 +40,7 @@ public class AliPaySyncStrategy extends AbsPaySyncStrategy { */ @Override public PayRemoteSyncResult doSyncStatus() { - this.initAlipayConfig(); - return alipaySyncService.syncPayStatus(this.getOrder()); - } - - /** - * 初始化支付宝配置信息 - */ - private void initAlipayConfig() { - // 检查并获取支付宝支付配置 AliPayConfig config = alipayConfigService.getConfig(); - alipayConfigService.initConfig(config); + return alipaySyncService.syncPayStatus(this.getOrder(),config); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java index b9cb545052aaf7a71e6034290fdd79ca4a9d77d5..8f1271652301e1645c7e647f8979519dd1312e52 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/UnionPaySyncStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.payment.sync.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.channel.union.entity.UnionPayConfig; import cn.daxpay.single.service.core.channel.union.service.UnionPayConfigService; import cn.daxpay.single.service.core.channel.union.service.UnionPaySyncService; @@ -44,7 +44,7 @@ public class UnionPaySyncStrategy extends AbsPaySyncStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.UNION_PAY; + public String getChannel() { + return PayChannelEnum.UNION_PAY.getCode(); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java index b1413c213c4a78f8bf8d744d45154dbd5faccc98..3bea7a2ed87e0c16c583a5ff4aad8f74ade40d39 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/pay/WeChatPaySyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.core.payment.sync.strategy.pay; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; import cn.daxpay.single.service.core.channel.wechat.service.WeChatPaySyncService; @@ -32,8 +32,8 @@ public class WeChatPaySyncStrategy extends AbsPaySyncStrategy { * 策略标识 */ @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.WECHAT; + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/transfer/AliTransferSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/transfer/AliTransferSyncStrategy.java new file mode 100644 index 0000000000000000000000000000000000000000..3ae1b75eab4a8b08779832988b097d824adebaaf --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/sync/strategy/transfer/AliTransferSyncStrategy.java @@ -0,0 +1,18 @@ +package cn.daxpay.single.service.core.payment.sync.strategy.transfer; + +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; + +import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; + +/** + * 转账同步接口 + * @author xxm + * @since 2024/6/17 + */ +@Scope(SCOPE_PROTOTYPE) +@Component +@RequiredArgsConstructor +public class AliTransferSyncStrategy { +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java deleted file mode 100644 index 9cde56acfe7ec501a0e8c79f21de015fa5b2f1b4..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/factory/TransferFactory.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.daxpay.single.service.core.payment.transfer.factory; - -import lombok.experimental.UtilityClass; - -/** - * 转账工具类 - * @author xxm - * @since 2024/3/21 - */ -@UtilityClass -public class TransferFactory { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java new file mode 100644 index 0000000000000000000000000000000000000000..a9c634d5b09b1ee5ff9fd19dd35ff80602497f4b --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferAssistService.java @@ -0,0 +1,72 @@ +package cn.daxpay.single.service.core.payment.transfer.service; + +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.result.transfer.TransferResult; +import cn.daxpay.single.service.common.context.ErrorInfoLocal; +import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 转账辅助服务 + * @author xxm + * @since 2024/6/6 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class TransferAssistService { + + private final TransferOrderManager transferOrderManager; + + /** + * 创建转账订单 + */ + @Transactional(rollbackFor = Exception.class) + public TransferOrder createOrder(TransferParam param) { + // 创建转账订单 + TransferOrder transferOrder = new TransferOrder() + .setTransferNo(OrderNoGenerateUtil.transfer()) + .setAmount(param.getAmount()) + .setBizTransferNo(param.getBizTransferNo()) + .setChannel(param.getChannel()) + .setPayeeName(param.getPayeeName()) + .setPayeeAccount(param.getPayeeAccount()) + .setPayeeType(param.getPayeeType()) + .setReason(param.getReason()) + .setStatus(TransferStatusEnum.TRANSFERRING.getCode()) + .setTitle(param.getTitle()) + .setNotifyUrl(param.getNotifyUrl()) + .setAttach(param.getAttach()) + .setClientIp(param.getClientIp()); + transferOrderManager.save(transferOrder); + return transferOrder; + } + + /** + * 更新转账订单错误信息 + */ + public void updateOrderByError(TransferOrder order) { + ErrorInfoLocal errorInfo = PaymentContextLocal.get().getErrorInfo(); + order.setStatus(TransferStatusEnum.FAIL.getCode()) + .setErrorMsg(errorInfo.getErrorMsg()) + .setErrorCode(String.valueOf(errorInfo.getErrorCode())); + transferOrderManager.updateById(order); + } + + /** + * 构造 + */ + public TransferResult buildResult(TransferOrder order) { + return new TransferResult() + .setTransferNo(order.getTransferNo()) + .setBizTransferNo(order.getBizTransferNo()) + .setStatus(order.getStatus()); + } +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java index acf7e17eeddef4e75fdada7ee9dc3877192e9165..9a6402123ee7611ec23433073d36e89826055b46 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/service/TransferService.java @@ -1,8 +1,20 @@ package cn.daxpay.single.service.core.payment.transfer.service; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.core.result.transfer.TransferResult; +import cn.daxpay.single.service.common.context.TransferLocal; +import cn.daxpay.single.service.common.local.PaymentContextLocal; +import cn.daxpay.single.service.core.order.transfer.dao.TransferOrderManager; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.func.AbsTransferStrategy; +import cn.daxpay.single.service.util.PayStrategyFactory; +import cn.hutool.extra.spring.SpringUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; /** * 转账服务 @@ -13,4 +25,50 @@ import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class TransferService { + + private final TransferAssistService transferAssistService; + + private final TransferOrderManager transferOrderManager; + + /** + * 转账 + */ + public TransferResult transfer(TransferParam transferParam){ + // 获取策略 + AbsTransferStrategy transferStrategy = PayStrategyFactory.create(transferParam.getChannel(),AbsTransferStrategy.class); + // 检查转账参数 + transferStrategy.doValidateParam(transferParam); + // 创建转账订单并设置 + TransferOrder order = transferAssistService.createOrder(transferParam); + transferStrategy.setTransferOrder(order); + // 执行预处理 + transferStrategy.doBeforeHandler(); + try { + // 执行转账策略 + transferStrategy.doTransferHandler(); + } catch (Exception e) { + log.error("转账出现错误", e); + // 记录处理失败状态 + PaymentContextLocal.get().getRefundInfo().setStatus(RefundStatusEnum.FAIL); + PaymentContextLocal.get().getErrorInfo().setException(e); + // 更新退款失败的记录 + transferAssistService.updateOrderByError(order); + return transferAssistService.buildResult(order); + } + SpringUtil.getBean(this.getClass()).successHandler(order); + return transferAssistService.buildResult(order); + } + + /** + * 成功处理 + */ + @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) + public void successHandler(TransferOrder order){ + TransferLocal transferInfo = PaymentContextLocal.get() + .getTransferInfo(); + order.setStatus(transferInfo.getStatus().getCode()) + .setSuccessTime(transferInfo.getFinishTime()) + .setOutTransferNo(transferInfo.getOutTransferNo()); + transferOrderManager.updateById(order); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java index 244e45b485dcab6b8515827a93f33af6687ae885..8e8c3d4bffefd06b272dbbf4375e109f0e0877f0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/AliPayTransferStrategy.java @@ -1,6 +1,8 @@ package cn.daxpay.single.service.core.payment.transfer.strategy; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.channel.alipay.entity.AliPayConfig; import cn.daxpay.single.service.core.channel.alipay.service.AliPayConfigService; import cn.daxpay.single.service.core.channel.alipay.service.AliPayTransferService; @@ -10,10 +12,13 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; +import java.util.Arrays; + +import static cn.daxpay.single.core.code.TransferPayeeTypeEnum.*; import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; /** - * 支付宝转账测策略 + * 支付宝转账策略 * @author xxm * @since 2024/3/21 */ @@ -32,9 +37,18 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { /** * 策略标识 */ + @Override + public String getChannel() { + return PayChannelEnum.ALI.getCode(); + } + @Override - public PayChannelEnum getChannel() { - return PayChannelEnum.ALI; + public void doValidateParam(TransferParam transferParam) { + // 转账接收方类型校验 + String payeeType = transferParam.getPayeeType(); + if (!Arrays.asList(ALI_USER_ID.getCode(), ALI_OPEN_ID.getCode(), ALI_LOGIN_NAME.getCode()).contains(payeeType)){ + throw new ValidationFailedException("支付宝不支持该类型收款人"); + } } /** @@ -43,7 +57,13 @@ public class AliPayTransferStrategy extends AbsTransferStrategy { @Override public void doBeforeHandler() { this.config = payConfigService.getAndCheckConfig(); - payConfigService.initConfig(this.config); } + /** + * 转账操作 + */ + @Override + public void doTransferHandler() { + aliPayTransferService.transfer(this.getTransferOrder(), this.config); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java new file mode 100644 index 0000000000000000000000000000000000000000..f0967f75c077647f1f064cd6430904475c1e11d0 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/payment/transfer/strategy/WeChatTransferStrategy.java @@ -0,0 +1,71 @@ +package cn.daxpay.single.service.core.payment.transfer.strategy; + +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.bootx.platform.common.core.exception.ValidationFailedException; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; +import cn.daxpay.single.service.core.channel.wechat.entity.WeChatPayConfig; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayConfigService; +import cn.daxpay.single.service.core.channel.wechat.service.WeChatPayTransferService; +import cn.daxpay.single.service.func.AbsTransferStrategy; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +import static cn.daxpay.single.core.code.TransferPayeeTypeEnum.WX_PERSONAL; +import static org.springframework.beans.factory.config.BeanDefinition.SCOPE_PROTOTYPE; + +/** + * 微信转账策略 + * @author xxm + * @since 2024/6/14 + */ +@Slf4j +@Service +@Scope(SCOPE_PROTOTYPE) +@RequiredArgsConstructor +public class WeChatTransferStrategy extends AbsTransferStrategy { + + private final WeChatPayConfigService weChatPayConfigService; + + private final WeChatPayTransferService weChatPayTransferService; + + private WeChatPayConfig weChatPayConfig; + + @Override + public String getChannel() { + return PayChannelEnum.WECHAT.getCode(); + } + + + /** + * 校验参数 + */ + @Override + public void doValidateParam(TransferParam transferParam) { + // 转账接收方类型校验 + String payeeType = transferParam.getPayeeType(); + if (!Objects.equals(WX_PERSONAL.getCode(), payeeType)){ + throw new ValidationFailedException("微信不支持该类型收款人"); + } + } + + /** + * 转账前操作 + */ + @Override + public void doBeforeHandler() { + this.weChatPayConfig = weChatPayConfigService.getConfig(); + } + + /** + * 转账操作 + */ + @Override + public void doTransferHandler() { + weChatPayTransferService.transfer(this.getTransferOrder(), weChatPayConfig); + } + +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java index 9a26d6b594894b5094979c93a6926a0b72e685fd..2f1ff3384b7f506f0bfba4f6b7bf90198e0adc76 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/callback/entity/PayCallbackRecord.java @@ -2,17 +2,17 @@ package cn.daxpay.single.service.core.record.callback.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.service.code.PayCallbackStatusEnum; -import cn.daxpay.single.service.code.PaymentTypeEnum; -import cn.daxpay.single.service.core.record.callback.convert.PayCallbackRecordConvert; -import cn.daxpay.single.service.dto.record.callback.PayCallbackRecordDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.service.code.PayCallbackStatusEnum; +import cn.daxpay.single.service.code.PaymentTypeEnum; +import cn.daxpay.single.service.core.record.callback.convert.PayCallbackRecordConvert; +import cn.daxpay.single.service.dto.record.callback.PayCallbackRecordDto; import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -30,49 +30,50 @@ import lombok.experimental.Accessors; public class PayCallbackRecord extends MpCreateEntity implements EntityBaseFunction<PayCallbackRecordDto> { /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号") + @DbMySqlIndex(comment = "通道交易号索引") + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; /** * 支付通道 * @see PayChannelEnum#getCode() */ - @DbColumn(comment = "支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; /** * 回调类型 * @see PaymentTypeEnum */ - @DbColumn(comment = "回调类型") + @DbColumn(comment = "回调类型", length = 20, isNull = false) private String callbackType; /** 通知消息内容 */ @DbMySqlFieldType(MySqlFieldTypeEnum.LONGTEXT) - @DbColumn(comment = "通知消息") + @DbColumn(comment = "通知消息", isNull = false) private String notifyInfo; /** * @see PayCallbackStatusEnum */ - @DbColumn(comment = "回调处理状态") + @DbColumn(comment = "回调处理状态", length = 20, isNull = false) private String status; - /** 修复号 */ - @Schema(description = "修复号") + @DbColumn(comment = "修复号", length = 32, isNull = false) private String repairOrderNo; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 提示信息 */ - @DbColumn(comment = "提示信息") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java index b4e1adf2e6891c64427251d2dd19e4e9428fd4bf..bd587b90e9220cee1de4d67b883524f6a419781c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/close/entity/PayCloseRecord.java @@ -2,7 +2,9 @@ package cn.daxpay.single.service.core.record.close.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import cn.daxpay.single.code.PayChannelEnum; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.service.code.PayCloseTypeEnum; import cn.daxpay.single.service.core.record.close.convert.PayCloseRecordConvert; import cn.daxpay.single.service.dto.record.close.PayCloseRecordDto; import cn.bootx.table.modify.annotation.DbColumn; @@ -24,37 +26,46 @@ import lombok.experimental.Accessors; @TableName("pay_close_record") public class PayCloseRecord extends MpCreateEntity implements EntityBaseFunction<PayCloseRecordDto> { - /** 订单号 */ - @DbColumn(comment = "订单号") + /** 支付订单号 */ + @DbMySqlIndex(comment = "支付订单号索引") + @DbColumn(comment = "支付订单号", length = 32, isNull = false) private String orderNo; - /** 商户订单号 */ - @DbColumn(comment = "商户订单号") + /** 商户支付订单号 */ + @DbMySqlIndex(comment = "商户支付订单号索引") + @DbColumn(comment = "商户支付订单号", length = 100, isNull = false) private String bizOrderNo; /** - * 关闭的支付通道 + * 支付通道 * @see PayChannelEnum */ - @DbColumn(comment = "关闭的支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; + /** + * 关闭类型 关闭/撤销 + * @see PayCloseTypeEnum + */ + @DbColumn(comment = "关闭类型", length = 20, isNull = false) + private String closeType; + /** * 是否关闭成功 */ - @DbColumn(comment = "是否关闭成功") + @DbColumn(comment = "是否关闭成功", isNull = false) private boolean closed; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 错误消息 */ - @DbColumn(comment = "错误消息") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; - /** 客户端IP */ - @DbColumn(comment = "客户端IP") + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java index 5e1a949c2aa6a4722e42227603e86562e461de22..95e2b6a382b96b681bf3f77f6a886a8c74ae7891 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/flow/entity/TradeFlowRecord.java @@ -4,7 +4,8 @@ import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; -import cn.daxpay.single.code.PayChannelEnum; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum; import cn.daxpay.single.service.core.record.flow.convert.TradeFlowRecordConvert; import cn.daxpay.single.service.dto.record.flow.TradeFlowRecordDto; @@ -26,37 +27,40 @@ import lombok.experimental.Accessors; public class TradeFlowRecord extends MpCreateEntity implements EntityBaseFunction<TradeFlowRecordDto> { /** 订单标题 */ - @DbColumn(comment = "标题") + @DbColumn(comment = "标题", length = 100, isNull = false) private String title; /** 金额 */ - @DbColumn(comment = "金额") + @DbColumn(comment = "金额", length = 8, isNull = false) private Integer amount; /** * 业务类型 * @see TradeFlowRecordTypeEnum */ - @DbColumn(comment = "业务类型") + @DbColumn(comment = "业务类型", length = 20, isNull = false) private String type; /** * 支付通道 * @see PayChannelEnum */ - @DbColumn(comment = "支付通道") + @DbColumn(comment = "支付通道", length = 20, isNull = false) private String channel; /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 商户交易号 */ - @DbColumn(comment = "商户交易号") + @DbMySqlIndex(comment = "商户交易号索引") + @DbColumn(comment = "商户交易号", length = 100, isNull = false) private String bizTradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号") + @DbMySqlIndex(comment = "通道交易号索引") + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; @Override diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java index 8d606587b72a55a08386c33d2fa53c39f663ef44..89390db74fe9b5320d413c86193223d8ae9f6e14 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/repair/entity/PayRepairRecord.java @@ -2,15 +2,16 @@ package cn.daxpay.single.service.core.record.repair.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.service.code.PaymentTypeEnum; +import cn.bootx.table.modify.annotation.DbColumn; +import cn.bootx.table.modify.annotation.DbTable; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; +import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.daxpay.single.service.code.RefundRepairWayEnum; import cn.daxpay.single.service.core.record.repair.convert.PayRepairRecordConvert; import cn.daxpay.single.service.dto.record.repair.PayRepairRecordDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -32,31 +33,32 @@ public class PayRepairRecord extends MpCreateEntity implements EntityBaseFunctio * 修复号 * 如果一次修复产生的修复记录有多个记录, 使用这个作为关联 */ - @DbColumn(comment = "修复号") + @DbColumn(comment = "修复号", length = 32, isNull = false) private String repairNo; /** 支付ID/退款ID */ - @DbColumn(comment = "本地订单ID") + @DbColumn(comment = "本地订单ID", isNull = false) private Long tradeId; /** * 本地交易号, 支付号/退款号 */ - @DbColumn(comment = "本地业务号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** * 修复类型 支付修复/退款修复 * @see PaymentTypeEnum */ - @DbColumn(comment = "修复类型") + @DbColumn(comment = "修复类型", length = 20, isNull = false) private String repairType; /** * 修复来源 * @see PayRepairSourceEnum */ - @DbColumn(comment = "修复来源") + @DbColumn(comment = "修复来源", length = 20, isNull = false) private String repairSource; /** @@ -64,25 +66,25 @@ public class PayRepairRecord extends MpCreateEntity implements EntityBaseFunctio * @see PayRepairWayEnum * @see RefundRepairWayEnum */ - @DbColumn(comment = "修复方式") + @DbColumn(comment = "修复方式", length = 20, isNull = false) private String repairWay; /** 修复的通道 */ - @DbColumn(comment = "修复的通道") + @DbColumn(comment = "修复的通道", length = 20, isNull = false) private String channel; /** * 修复前状态 * @see PayStatusEnum */ - @DbColumn(comment = "修复前状态") + @DbColumn(comment = "修复前状态", length = 20, isNull = false) private String beforeStatus; /** * 修复后状态 * @see PayStatusEnum */ - @DbColumn(comment = "修复后状态") + @DbColumn(comment = "修复后状态", length = 20, isNull = false) private String afterStatus; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java index 67acaf2662426e1e403f2dfaef4118f6f1455526..0d84ad0ff4ac604dd0bbc78daff3316e191a639c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/record/sync/entity/PaySyncRecord.java @@ -2,17 +2,17 @@ package cn.daxpay.single.service.core.record.sync.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import cn.daxpay.single.code.AllocOrderStatusEnum; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.service.code.PaymentTypeEnum; -import cn.daxpay.single.service.core.record.sync.convert.PaySyncRecordConvert; -import cn.daxpay.single.service.dto.record.sync.PaySyncRecordDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; +import cn.bootx.table.modify.mysql.annotation.DbMySqlIndex; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.service.code.PaymentTypeEnum; +import cn.daxpay.single.service.core.record.sync.convert.PaySyncRecordConvert; +import cn.daxpay.single.service.dto.record.sync.PaySyncRecordDto; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -31,65 +31,67 @@ import lombok.experimental.Accessors; public class PaySyncRecord extends MpCreateEntity implements EntityBaseFunction<PaySyncRecordDto> { /** 本地交易号 */ - @DbColumn(comment = "本地交易号") + @DbMySqlIndex(comment = "本地交易号索引") + @DbColumn(comment = "本地交易号", length = 32, isNull = false) private String tradeNo; /** 商户交易号 */ - @DbColumn(comment = "商户交易号") + @DbMySqlIndex(comment = "商户交易号索引") + @DbColumn(comment = "商户交易号", length = 100, isNull = false) private String bizTradeNo; /** 通道交易号 */ - @DbColumn(comment = "通道交易号") + @DbMySqlIndex(comment = "通道交易号索引") + @DbColumn(comment = "通道交易号", length = 150) private String outTradeNo; - /** - * 三方支付返回状态 + * 三方支付返回状态, 分账无返回状态 * @see PaySyncStatusEnum * @see RefundSyncStatusEnum */ - @DbColumn(comment = "网关返回状态") + @DbColumn(comment = "网关返回状态", length = 30) private String outTradeStatus; /** - * 同步类型 支付/退款 + * 同步类型 支付/退款/分账/转账 * @see PaymentTypeEnum */ - @DbColumn(comment = "同步类型") + @DbColumn(comment = "同步类型", length = 20, isNull = false) private String syncType; /** * 同步的异步通道 * @see PayChannelEnum#getCode() */ - @DbColumn(comment = "同步的异步通道") + @DbColumn(comment = "同步的异步通道", length = 20, isNull = false) private String channel; /** 网关返回的同步消息 */ @DbMySqlFieldType(MySqlFieldTypeEnum.LONGTEXT) - @DbColumn(comment = "同步消息") + @DbColumn(comment = "同步消息", isNull = false) private String syncInfo; /** * 支付单如果状态不一致, 是否进行修复 */ - @DbColumn(comment = "是否进行修复") + @DbColumn(comment = "是否进行修复", isNull = false) private boolean repair; /** 修复单号 */ - @DbColumn(comment = "修复单号") + @DbColumn(comment = "修复单号", length = 32) private String repairNo; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 错误消息 */ - @DbColumn(comment = "错误消息") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; - /** 客户端IP */ - @DbColumn(comment = "客户端IP") + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/report/service/CockpitReportService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/report/service/CockpitReportService.java index 79827e9498f383f817d723871e8cdb00d782ccc0..8f1d44beba2b3f77d2c26190e40a582a1368be92 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/report/service/CockpitReportService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/report/service/CockpitReportService.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.core.report.service; import cn.bootx.platform.common.core.function.CollectorsFunction; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.core.report.dao.CockpitReportMapper; import cn.daxpay.single.service.core.report.entity.ChannelOrderLine; import cn.daxpay.single.service.dto.report.ChannelLineReport; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/convert/WechatNoticeConfigConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/convert/WechatNoticeConfigConvert.java deleted file mode 100644 index c1b5cc344d0aae22f54a4e6da1d9a518a4366278..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/convert/WechatNoticeConfigConvert.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.core.system.config.convert; - -import cn.daxpay.single.service.core.system.config.entity.WechatNoticeConfig; -import cn.daxpay.single.service.dto.system.config.WechatNoticeConfigDto; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * - * @author xxm - * @since 2024/1/2 - */ -@Mapper -public interface WechatNoticeConfigConvert { - WechatNoticeConfigConvert CONVERT = Mappers.getMapper(WechatNoticeConfigConvert.class); - - WechatNoticeConfigDto convert(WechatNoticeConfig in); -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigManager.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigManager.java deleted file mode 100644 index c76fcbec3b3801e50dc4205e5b05ee0ea5dd5732..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigManager.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.daxpay.single.service.core.system.config.dao; - -import cn.bootx.platform.common.mybatisplus.impl.BaseManager; -import cn.daxpay.single.service.core.system.config.entity.WechatNoticeConfig; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Repository; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2023/12/24 - */ -@Slf4j -@Repository -@RequiredArgsConstructor -public class WechatNoticeConfigManager extends BaseManager<WechatNoticeConfigMapper, WechatNoticeConfig> { - -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigMapper.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigMapper.java deleted file mode 100644 index 32ec5020582991ee92170c96c5461843e49ca93f..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/dao/WechatNoticeConfigMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package cn.daxpay.single.service.core.system.config.dao; - -import cn.daxpay.single.service.core.system.config.entity.WechatNoticeConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - * - * @author xxm - * @since 2023/12/24 - */ -@Mapper -public interface WechatNoticeConfigMapper extends BaseMapper<WechatNoticeConfig> { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiCallRecord.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiCallRecord.java deleted file mode 100644 index 2ef42c78a126fc4659cc2924cca2609dfeb5f787..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiCallRecord.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.daxpay.single.service.core.system.config.entity; - -import cn.bootx.platform.common.mybatisplus.base.MpCreateEntity; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 支付接口调用记录 - * @author xxm - * @since 2023/12/22 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -//@DbTable(comment = "支付接口调用记录") -@TableName("pay_api_call_record") -public class PayApiCallRecord extends MpCreateEntity { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java index 06b58cc80cc8c783ffe09a70ce9ad3a5c12514fb..dbd49deedf0b8846a5f9e9f819ca88bfa859757d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayApiConfig.java @@ -2,11 +2,10 @@ package cn.daxpay.single.service.core.system.config.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.service.code.PayApiCallBackTypeEnum; -import cn.daxpay.single.service.core.system.config.convert.PayApiConfigConvert; -import cn.daxpay.single.service.dto.system.config.PayApiConfigDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.daxpay.single.service.core.system.config.convert.PayApiConfigConvert; +import cn.daxpay.single.service.dto.system.config.PayApiConfigDto; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; @@ -26,39 +25,22 @@ import lombok.experimental.Accessors; @TableName("pay_api_config") public class PayApiConfig extends MpBaseEntity implements EntityBaseFunction<PayApiConfigDto> { - @DbColumn(comment = "编码") + @DbColumn(comment = "编码",length = 50, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String code; - @DbColumn(comment = "接口地址") + @DbColumn(comment = "接口地址", length = 200, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String api; - @DbColumn(comment = "名称") + @DbColumn(comment = "名称", length = 100, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String name; - /** - * 支持回调通知 - * @see PayApiCallBackTypeEnum - */ - @DbColumn(comment = "支持回调通知") - @TableField(updateStrategy = FieldStrategy.NEVER) - private boolean noticeSupport; - - @DbColumn(comment = "是否启用") + @DbColumn(comment = "是否启用", isNull = false) private boolean enable; - @DbColumn(comment = "是否开启回调通知") - private boolean notice; - - @DbColumn(comment = "默认通知地址") - private String noticeUrl; - - @DbColumn(comment = "请求参数是否签名") - private boolean reqSign; - - @DbColumn(comment = "备注") + @DbColumn(comment = "备注", length = 200) private String remark; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java index 72070db54f46cdfbed39eac26a3225a2e8d7e670..c6516bc38215d875fcb2886f891ad5f86a4f42ef 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PayChannelConfig.java @@ -27,29 +27,17 @@ import lombok.experimental.Accessors; public class PayChannelConfig extends MpBaseEntity implements EntityBaseFunction<PayChannelConfigDto> { /** 需要与系统中配置的枚举一致 */ - @DbColumn(comment = "代码") + @DbColumn(comment = "代码", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String code; /** 需要与系统中配置的枚举一致 */ - @DbColumn(comment = "名称") + @DbColumn(comment = "名称", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String name; - /** ICON图片 */ - @DbColumn(comment = "ICON图片") - private Long iconId; - - /** 卡牌背景色 */ - @DbColumn(comment = "卡牌背景色") - private String bgColor; - - /** 是否启用 */ - @DbColumn(comment = "是否启用") - private Boolean enable; - /** 备注 */ - @DbColumn(comment = "备注") + @DbColumn(comment = "备注", length = 200) private String remark; /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java index 0b3ca32d5eb299bd1b8678e2ebdc01c75e6511a6..9c991739b20cfe6fb54043725d1e965f1e448fcd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/PlatformConfig.java @@ -2,11 +2,15 @@ package cn.daxpay.single.service.core.system.config.entity; import cn.bootx.platform.common.core.function.EntityBaseFunction; import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; +import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import cn.daxpay.single.service.core.system.config.convert.PlatformConfigConvert; import cn.daxpay.single.service.dto.system.config.PlatformConfigDto; import cn.bootx.table.modify.annotation.DbColumn; import cn.bootx.table.modify.annotation.DbTable; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,28 +28,59 @@ import lombok.experimental.Accessors; @TableName("pay_platform_config") public class PlatformConfig extends MpBaseEntity implements EntityBaseFunction<PlatformConfigDto> { - @DbColumn(comment = "网站地址") + @DbColumn(comment = "网站地址", length = 200, isNull = false) private String websiteUrl; /** * @see PaySignTypeEnum */ - @DbColumn(comment = "签名方式") + @DbColumn(comment = "签名方式", length = 20) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String signType; - @DbColumn(comment = "签名秘钥") + /** 签名秘钥 */ + @DbColumn(comment = "签名秘钥", length = 50) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String signSecret; - @DbColumn(comment = "支付通知地址") + /** 是否对请求进行验签 */ + @DbColumn(comment = "是否对请求进行验签", isNull = false) + private boolean reqSign; + + /** + * 请求有效时长(秒) + * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 + * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 + */ + @DbColumn(comment = "请求有效时长(秒)", length = 10, isNull = false) + private Integer reqTimeout; + + /** + * 消息通知方式, 目前只支持http + * @see TradeNotifyTypeEnum + */ + @DbColumn(comment = "消息通知方式", length = 20) + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String notifyType; + + /** 消息通知地址 */ + @DbColumn(comment = "消息通知地址", length = 200) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String notifyUrl; - @DbColumn(comment = "同步支付跳转地址") + /** 同步支付跳转地址 */ + @DbColumn(comment = "同步支付跳转地址", length = 200) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String returnUrl; - @DbColumn(comment = "支付限额") + /** 支付限额 */ + @DbColumn(comment = "支付限额", length = 15) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Integer limitAmount; - @DbColumn(comment = "订单默认超时时间(分钟)") + /** 订单默认超时时间(分钟) */ + @DbColumn(comment = "订单默认超时时间(分钟)", length = 8) + @TableField(updateStrategy = FieldStrategy.ALWAYS) private Integer orderTimeout; /** @@ -55,4 +90,8 @@ public class PlatformConfig extends MpBaseEntity implements EntityBaseFunction<P public PlatformConfigDto toDto() { return PlatformConfigConvert.CONVERT.convert(this); } + + public String getWebsiteUrl() { + return StrUtil.removeSuffix(websiteUrl, "/"); + } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/WechatNoticeConfig.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/WechatNoticeConfig.java deleted file mode 100644 index 878c654e2a6a998db72c695a5fcedddd342a0348..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/entity/WechatNoticeConfig.java +++ /dev/null @@ -1,52 +0,0 @@ -package cn.daxpay.single.service.core.system.config.entity; - -import cn.bootx.platform.common.core.function.EntityBaseFunction; -import cn.bootx.platform.common.mybatisplus.base.MpBaseEntity; -import cn.daxpay.single.service.core.system.config.convert.WechatNoticeConfigConvert; -import cn.daxpay.single.service.dto.system.config.WechatNoticeConfigDto; -import cn.bootx.table.modify.annotation.DbColumn; -import cn.bootx.table.modify.annotation.DbTable; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2023/12/24 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@DbTable(comment = "微信消息通知相关配置") -@TableName("pay_wechat_notice_config") -public class WechatNoticeConfig extends MpBaseEntity implements EntityBaseFunction<WechatNoticeConfigDto> { - - @DbColumn(comment = "应用id") - private String appId; - @DbColumn(comment = "应用秘钥") - private String appSecret; - @DbColumn(comment = "公众号二维码") - private String qrUrl; - @DbColumn(comment = "OAuth2地址") - private String oauth2Url; - @DbColumn(comment = "微信校验文件名称") - private String verifyFileName; - @DbColumn(comment = "微信校验文件内容") - private String verifyFileContent; - @DbColumn(comment = "模板消息Id") - private String templateId; - @DbColumn(comment = "模板消息内容") - private String templateContent; - @DbColumn(comment = "模板消息备注") - private String templateRemark; - - /** - * 转换 - */ - @Override - public WechatNoticeConfigDto toDto() { - return WechatNoticeConfigConvert.CONVERT.convert(this); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayApiConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayApiConfigService.java index 3fe2c4294f91c13352e0c6169bb46ad47c1cb806..51e5dd512b29cd598008f9fea7016013639b7d81 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayApiConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayApiConfigService.java @@ -2,8 +2,6 @@ package cn.daxpay.single.service.core.system.config.service; import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.bootx.platform.common.core.util.ResultConvertUtil; -import cn.daxpay.single.service.common.context.ApiInfoLocal; -import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.system.config.dao.PayApiConfigManager; import cn.daxpay.single.service.core.system.config.entity.PayApiConfig; import cn.daxpay.single.service.dto.system.config.PayApiConfigDto; @@ -49,18 +47,4 @@ public class PayApiConfigService { public PayApiConfigDto findById(Long id){ return openApiInfoManager.findById(id).map(PayApiConfig::toDto).orElseThrow(() -> new DataNotExistException("支付接口配置信息不存在")); } - - /** - * 初始化接口上下文信息 - */ - public void initApiInfo(PayApiConfig api){ - // 接口信息 - ApiInfoLocal apiInfoLocal = PaymentContextLocal.get().getApiInfo(); - apiInfoLocal.setApiCode(api.getCode()) - .setReqSign(api.isReqSign()) - .setNotice(api.isNotice()) - .setNoticeUrl(api.getNoticeUrl()); - } - - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayChannelConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayChannelConfigService.java index fb60e009542f590133de3795fcd0759c003272ea..3a1a4bac3cd9de639a184c4a8b70c421e59091b5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayChannelConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PayChannelConfigService.java @@ -4,9 +4,6 @@ import cn.bootx.platform.common.core.exception.DataNotExistException; import cn.daxpay.single.service.core.system.config.dao.PayChannelConfigManager; import cn.daxpay.single.service.core.system.config.entity.PayChannelConfig; import cn.daxpay.single.service.dto.system.config.PayChannelConfigDto; -import cn.daxpay.single.service.param.system.payinfo.PayChannelInfoParam; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -40,23 +37,4 @@ public class PayChannelConfigService { public PayChannelConfigDto findById(Long id){ return manager.findById(id).map(PayChannelConfig::toDto).orElseThrow(DataNotExistException::new); } - - /** - * 设置是否启用 - */ - public void setEnable(String code,boolean enable){ - PayChannelConfig info = manager.findByCode(code) - .orElseThrow(DataNotExistException::new); - info.setEnable(enable); - manager.updateById(info); - } - - /** - * 更新 - */ - public void update(PayChannelInfoParam param){ - PayChannelConfig info = manager.findById(param.getId()).orElseThrow(DataNotExistException::new); - BeanUtil.copyProperties(param,info, CopyOptions.create().ignoreNullValue()); - manager.updateById(info); - } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java index 0752fe79ecce69655fbbda68cfca6c8162a2a73c..5f2e7c510f38917718f053f85ab7f61adf640b6a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/PlatformConfigService.java @@ -47,11 +47,6 @@ public class PlatformConfigService { public void initPlatform(){ PlatformConfig config = this.getConfig(); PlatformLocal platform = PaymentContextLocal.get().getPlatformInfo(); - platform.setSignType(config.getSignType()); - platform.setSignSecret(config.getSignSecret()); - platform.setNotifyUrl(config.getNotifyUrl()); - platform.setOrderTimeout(config.getOrderTimeout()); - platform.setLimitAmount(config.getLimitAmount()); - platform.setWebsiteUrl(config.getWebsiteUrl()); + BeanUtil.copyProperties(config,platform); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/WechatNoticeConfigService.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/WechatNoticeConfigService.java deleted file mode 100644 index 4a2d51dd54099ad1e127d1b74c2eee8f47fa2f47..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/config/service/WechatNoticeConfigService.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.daxpay.single.service.core.system.config.service; - -import cn.bootx.platform.common.core.exception.DataNotExistException; -import cn.daxpay.single.service.core.system.config.entity.WechatNoticeConfig; -import cn.daxpay.single.service.core.system.config.dao.WechatNoticeConfigManager; -import cn.daxpay.single.service.param.system.config.WechatNoticeConfigParam; -import cn.hutool.core.bean.BeanUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2024/1/2 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class WechatNoticeConfigService { - /** 默认配置ID */ - private static final long ID = 0L; - - private final WechatNoticeConfigManager wechatNoticeConfigManager;; - - /** - * 获取支付平台配置 - */ - public WechatNoticeConfig getConfig(){ - return wechatNoticeConfigManager.findById(ID).orElseThrow(() -> new DataNotExistException("微信消息配置不存在")); - } - - /** - * 更新配置 - */ - public void update(WechatNoticeConfigParam param){ - WechatNoticeConfig config = wechatNoticeConfigManager.findById(ID).orElseThrow(() -> new DataNotExistException("微信消息配置不存在")); - BeanUtil.copyProperties(param,config); - wechatNoticeConfigManager.updateById(config); - } -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/payinfo/entity/PayMethodInfo.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/payinfo/entity/PayMethodInfo.java index c52507a6c0151d31ba325fe4f65c1713dee5e0ab..c59b4d93b85dd4d399ba403a3c486d72b584e9e0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/payinfo/entity/PayMethodInfo.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/core/system/payinfo/entity/PayMethodInfo.java @@ -27,17 +27,17 @@ import lombok.experimental.Accessors; public class PayMethodInfo extends MpBaseEntity implements EntityBaseFunction<PayMethodInfoDto> { /** 需要与系统中配置的枚举一致 */ - @DbColumn(comment = "代码") + @DbColumn(comment = "代码", length = 20, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String code; /** 需要与系统中配置的枚举一致 */ - @DbColumn(comment = "名称") + @DbColumn(comment = "名称", length = 100, isNull = false) @TableField(updateStrategy = FieldStrategy.NEVER) private String name; /** 备注 */ - @DbColumn(comment = "备注") + @DbColumn(comment = "备注", length = 200) private String remark; public static PayMethodInfoDto convert(PayMethodInfo in) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationGroupReceiverResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationGroupReceiverResult.java index 66187540b3e4eb6b356202f94f0c6429ccc56b32..42f8ce2a8664e3f5f0f5cd03cd2ad728a084d87b 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationGroupReceiverResult.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationGroupReceiverResult.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.allocation; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationReceiverDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationReceiverDto.java index e096a1cc11b8bbaddf95c3b81831b646245ad966..bf448d7e35c492af818d296449fda9f2128ecd22 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationReceiverDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/allocation/AllocationReceiverDto.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.dto.allocation; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.AllocReceiverTypeEnum; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java index fcd44504f7ca45e4eb75abd169c804ed70dab679..654b5696f2ab8296a02e012c1febe830b36deab0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/alipay/AliPayConfigDto.java @@ -33,14 +33,17 @@ public class AliPayConfigDto extends BaseDto implements Serializable { private Boolean allocation; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; - @Schema(description = "服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问") + @Schema(description = "服务器异步通知页面路径") private String notifyUrl; - @Schema(description = "页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址") + @Schema(description = "页面跳转同步通知页面路径") private String returnUrl; + @Schema(description = "授权回调地址") + private String redirectUrl; + @Schema(description = "请求网关地址") private String serverUrl; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/union/UnionPayConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/union/UnionPayConfigDto.java index 1e985472af7fc03c956b03e64dc85738c961f88b..f67a078f8932e339ea33feb80a98830cbcd2ee01 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/union/UnionPayConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/union/UnionPayConfigDto.java @@ -29,7 +29,7 @@ public class UnionPayConfigDto extends BaseDto { private Boolean enable; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; /** * 商户收款账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wallet/WalletConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wallet/WalletConfigDto.java index f65359ff723837306895e882dfcb1d1ee62346a6..fef64bddf405133b17729b547be357302ae53ad7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wallet/WalletConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wallet/WalletConfigDto.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.dto.channel.wallet; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.table.modify.annotation.DbColumn; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -30,7 +29,7 @@ public class WalletConfigDto extends BaseDto { /** 单次支持支持多少钱 */ @Schema(description = "单次支持支持多少钱") - private Integer singleLimit; + private Integer limitAmount; /** 备注 */ @Schema(description = "备注") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayAllocationReceiver.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayAllocationReceiver.java index 7ccf05f8cc5f952a60e1ead229a5ede61f6d582f..4c40aeaa780494830742c401caa2ca50b735f5c2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayAllocationReceiver.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayAllocationReceiver.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.dto.channel.wechat; -import cn.daxpay.single.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.hutool.core.annotation.Alias; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java index dd8369cb558d96dca41a13121e005940dabad0b1..fe06f21c4bf3e0ef5ba1625b1cf024450f155ab5 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/channel/wechat/WeChatPayConfigDto.java @@ -35,7 +35,7 @@ public class WeChatPayConfigDto extends BaseDto implements Serializable { private Boolean allocation; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; @Schema(description = "异步通知地址") private String notifyUrl; @@ -43,6 +43,9 @@ public class WeChatPayConfigDto extends BaseDto implements Serializable { @Schema(description = "同步跳转地址") private String returnUrl; + @Schema(description = "授权回调地址") + private String redirectUrl; + /** 接口版本, 使用v2还是v3接口 */ @Schema(description = "接口版本") private String apiVersion; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java new file mode 100644 index 0000000000000000000000000000000000000000..d9a6353a0ce7e76d47bd34447adb236eda7e6609 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/AuthUrlResult.java @@ -0,0 +1,25 @@ +package cn.daxpay.single.service.dto.extra; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 获取OpenId授权链接和查询标识返回类 + * @author xxm + * @since 2024/6/15 + */ +@Data +@Accessors(chain = true) +@Schema(title = "授权链接和查询标识返回类") +public class AuthUrlResult { + + /** 授权访问链接 */ + @Schema(description = "授权访问链接") + private String authUrl; + + /** 标识码, 用于查询是否获取到了OpenId */ + @Schema(description = "标识码") + private String code; + +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/OpenIdResult.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/OpenIdResult.java new file mode 100644 index 0000000000000000000000000000000000000000..2917608de77a3c3604bd851e071692e8da759910 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/extra/OpenIdResult.java @@ -0,0 +1,28 @@ +package cn.daxpay.single.service.dto.extra; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 微信OpenId查询结果 + * @author xxm + * @since 2024/6/15 + */ +@Data +@Accessors(chain = true) +@Schema(title = "微信OpenId查询结果") +public class OpenIdResult { + + @Schema(description = "OpenId") + private String openId; + + /** + * 状态 + * pending:查询中 + * success:查询成功 + * fail:查询失败 + */ + @Schema(description = "状态") + private String status; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java similarity index 72% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java index f30c28172694304f992a3967a17b7846f1b7f6ec..39c9422b8d89cc40639bd05370bce194db3ad6ad 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocOrderDto.java @@ -1,13 +1,15 @@ package cn.daxpay.single.service.dto.order.allocation; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.AllocOrderResultEnum; -import cn.daxpay.single.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.AllocOrderResultEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import java.time.LocalDateTime; + /** * 分账订单 * @author xxm @@ -17,24 +19,24 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @Schema(title = "分账订单") -public class AllocationOrderDto extends BaseDto { +public class AllocOrderDto extends BaseDto { /** * 分账订单号 */ @Schema(description = "分账订单号") - private String allocationNo; + private String allocNo; /** * 商户分账单号 */ @Schema(description = "商户分账单号") - private String bizAllocationNo; + private String bizAllocNo; /** * 通道分账单号 */ @Schema(description = "通道分账单号") - private String outAllocationNo; + private String outAllocNo; /** * 支付订单ID @@ -98,6 +100,22 @@ public class AllocationOrderDto extends BaseDto { @Schema(description = "分账处理结果") private String result; + /** 异步通知地址 */ + @Schema(description = "异步通知地址") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @Schema(description = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间 */ + @Schema(description = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @Schema(description = "支付终端ip") + private String clientIp; + /** * 错误码 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderAndExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderAndExtraDto.java deleted file mode 100644 index bb53763f0070dc3104e8b119a35cd806200f28f4..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderAndExtraDto.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.daxpay.single.service.dto.order.allocation; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 分账订单和扩展信息 - * @author xxm - * @since 2024/5/29 - */ -@Data -@Accessors(chain = true) -@Schema(title = "分账订单和扩展信息") -public class AllocationOrderAndExtraDto { - @Schema(description = "分账订单") - private AllocationOrderDto order; - @Schema(description = "分账订单扩展信息") - private AllocationOrderExtraDto extra; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDetailDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDetailDto.java index 03f2c3c3414e58a9d572447d49d0194c96832276..b66fe150d10e765ee55595a232234035a019dfe1 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDetailDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderDetailDto.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.dto.order.allocation; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.AllocDetailResultEnum; -import cn.daxpay.single.code.AllocReceiverTypeEnum; +import cn.daxpay.single.core.code.AllocDetailResultEnum; +import cn.daxpay.single.core.code.AllocReceiverTypeEnum; import cn.bootx.platform.starter.data.perm.sensitive.SensitiveInfo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderExtraDto.java deleted file mode 100644 index 36471ce8be3d260eadeef4756e4f604dcc78c594..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/allocation/AllocationOrderExtraDto.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.daxpay.single.service.dto.order.allocation; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** -* 分账订单扩展 -*/ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "分账订单扩展") -public class AllocationOrderExtraDto extends BaseDto { - - /** 异步通知地址 */ - @Schema(description = "异步通知地址") - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - @Schema(description = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间 */ - @Schema(description = "请求时间,传输时间戳") - private LocalDateTime reqTime; - - /** 终端ip */ - @Schema(description = "支付终端ip") - private String clientIp; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderAndExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderAndExtraDto.java deleted file mode 100644 index 0983fceb17999c8a28ac37265952e21564a062d9..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderAndExtraDto.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.daxpay.single.service.dto.order.pay; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -/** - * 支付订单和扩展信息 - * @author xxm - * @since 2024/4/26 - */ -@Data -@Schema(title = "支付订单和扩展信息") -public class PayOrderAndExtraDto { - @Schema(description = "支付订单") - private PayOrderDto payOrder; - @Schema(description = "支付订单扩展信息") - private PayOrderExtraDto payOrderExtra; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java index 7b37b0effcfe100aa82aa9e55b79883ac8087e4a..fc6c89222ddf9c284dcd70131dd355983ed57764 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderDto.java @@ -1,9 +1,10 @@ package cn.daxpay.single.service.dto.order.pay; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -78,12 +79,19 @@ public class PayOrderDto extends BaseDto { @Schema(description = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @Schema(description = "退款状态") + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ @Schema(description = "分账状态") - private String allocationStatus; + private String allocStatus; /** 支付时间 */ @Schema(description = "支付时间") @@ -97,6 +105,23 @@ public class PayOrderDto extends BaseDto { @Schema(description = "过期时间") private LocalDateTime expiredTime; + + /** 支付终端ip */ + @Schema(description = "支付终端ip") + private String clientIp; + + /** 异步通知地址 */ + @Schema(description = "异步通知地址,以最后一次为准") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回 */ + @Schema(description = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间, 以最后一次为准 */ + @Schema(description = "请求时间,传输时间戳,以最后一次为准") + private LocalDateTime reqTime; + /** 错误码 */ @Schema(description = "错误码") private String errorCode; @@ -104,6 +129,4 @@ public class PayOrderDto extends BaseDto { /** 错误信息 */ @Schema(description = "错误信息") private String errorMsg; - - } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderExtraDto.java deleted file mode 100644 index e9665e6eb39c4f80509a9bd19401b29bca21a014..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/pay/PayOrderExtraDto.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.daxpay.single.service.dto.order.pay; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 支付订单扩展信息 - * @author xxm - * @since 2024/1/9 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "支付订单扩展信息") -public class PayOrderExtraDto extends BaseDto { - - /** 描述 */ - @Schema(description = "描述") - private String description; - - /** 支付终端ip */ - @Schema(description = "支付终端ip") - private String clientIp; - - /** 异步通知地址 */ - @Schema(description = "异步通知地址,以最后一次为准") - private String notifyUrl; - - /** 签名类型 */ - @Schema(description = "签名类型") - private String reqSignType; - - /** 签名,以最后一次为准 */ - @Schema(description = "签名") - private String reqSign; - - /** 商户扩展参数,回调时会原样返回 */ - @Schema(description = "商户扩展参数") - private String attach; - - /** 请求时间,时间戳转时间, 以最后一次为准 */ - @Schema(description = "请求时间,传输时间戳,以最后一次为准") - private LocalDateTime reqTime; - - /** 错误码 */ - @Schema(description = "错误码") - private String errorCode; - - /** 错误信息 */ - @Schema(description = "错误信息") - private String errorMsg; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffDto.java index bcb5e8b29dd6e178bc46f9287aa0d7cd36229d76..83618e54f004f59ee2f9b12fcb381233857193ee 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffDto.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.dto.order.reconcile; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.daxpay.single.service.core.payment.reconcile.domain.ReconcileDiffDetail; import cn.bootx.table.modify.annotation.DbColumn; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffExcel.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffExcel.java index a53e33950fd9010e9ab5f9efa788de06b1ca441b..b7ff5763a896b5ee11f8820fbb8a59a9e4c952db 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffExcel.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/reconcile/ReconcileDiffExcel.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.order.reconcile; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.daxpay.single.service.core.payment.reconcile.domain.ReconcileDiffDetail; import cn.bootx.table.modify.annotation.DbColumn; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderAndExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderAndExtraDto.java deleted file mode 100644 index 2a87cfff2b2b2e402eb49a288f23ea51c9080efe..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderAndExtraDto.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.daxpay.single.service.dto.order.refund; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 退款订单信息 - * @author xxm - * @since 2024/4/28 - */ -@Data -@Accessors(chain = true) -@Schema(title = "退款订单信息") -public class RefundOrderAndExtraDto { - @Schema(description = "退款订单") - RefundOrderDto refundOrder; - @Schema(description = "退款订单扩展信息") - RefundOrderExtraDto refundOrderExtra; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java index e859f66e5884341ec4b999fa92707b675022ade0..cb6c5183aa28d1e7009d13b67579d92d28bd20f2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderDto.java @@ -1,8 +1,11 @@ package cn.daxpay.single.service.dto.order.refund; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.channel.WalletPayParam; +import cn.daxpay.single.core.param.channel.WeChatPayParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -73,6 +76,7 @@ public class RefundOrderDto extends BaseDto { @Schema(description = "退款原因") private String reason; + /** 退款结束时间 */ @Schema(description = "退款结束时间") private LocalDateTime finishTime; @@ -83,6 +87,31 @@ public class RefundOrderDto extends BaseDto { @Schema(description = "退款状态") private String status; + /** 异步通知地址 */ + @Schema(description = "异步通知地址") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @Schema(description = "商户扩展参数,回调时会原样返回, 以最后一次为准") + private String attach; + + /** + * 附加参数 以最后一次为准 + * @see AliPayParam + * @see WeChatPayParam + * @see WalletPayParam + */ + @Schema(description = "附加参数 以最后一次为准") + private String extraParam; + + /** 请求时间,时间戳转时间 */ + @Schema(description = "请求时间,时间戳转时间") + private LocalDateTime reqTime; + + /** 终端ip */ + @Schema(description = "终端ip") + private String clientIp; + /** 错误码 */ @Schema(description = "错误码") private String errorCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderExtraDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderExtraDto.java deleted file mode 100644 index 90171b474aea032af569640111a8b8d528b86ea1..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/refund/RefundOrderExtraDto.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.daxpay.single.service.dto.order.refund; - -import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.channel.WalletPayParam; -import cn.daxpay.single.param.channel.WeChatPayParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; - -/** - * 退款订单扩展信息 - * @author xxm - * @since 2024/4/26 - */ -@EqualsAndHashCode(callSuper = true) -@Data -@Accessors(chain = true) -@Schema(title = "退款订单扩展信息") -public class RefundOrderExtraDto extends BaseDto { - - /** 异步通知地址 */ - private String notifyUrl; - - /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ - private String attach; - - /** - * 附加参数 以最后一次为准 - * @see AliPayParam - * @see WeChatPayParam - * @see WalletPayParam - */ - private String extraParam; - - /** 请求时间,时间戳转时间 */ - private LocalDateTime reqTime; - - /** 终端ip */ - private String clientIp; -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java new file mode 100644 index 0000000000000000000000000000000000000000..2e3bbcad7c8daa3524c444adeadaef656abb49af --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/order/transfer/TransferOrderDto.java @@ -0,0 +1,118 @@ +package cn.daxpay.single.service.dto.order.transfer; + +import cn.bootx.platform.common.core.rest.dto.BaseDto; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 转账订单 + * @author xxm + * @since 2024/6/14 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账订单") +public class TransferOrderDto extends BaseDto { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + private String bizTransferNo; + + /** 转账号 */ + @Schema(description = "转账号") + private String transferNo; + + /** 通道转账号 */ + @Schema(description = "通道转账号") + private String outTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + @Schema(description = "支付通道") + private String channel; + + /** 转账金额 */ + @Schema(description = "转账金额") + private Integer amount; + + /** 标题 */ + @Schema(description = "标题") + private String title; + + /** 转账原因/备注 */ + @Schema(description = "转账原因/备注") + private String reason; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @Schema(description = "转账类型, 微信使用") + private String transferType; + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + @Schema(description = "收款人类型") + private String payeeType; + + /** 收款人账号 */ + @Schema(description = "收款人账号") + private String payeeAccount; + + /** 收款人姓名 */ + @Schema(description = "收款人姓名") + private String payeeName; + + /** + * 状态 + * @see TransferStatusEnum + */ + @Schema(description = "状态") + private String status; + + /** 成功时间 */ + @Schema(description = "成功时间") + private LocalDateTime successTime; + + + /** 异步通知地址 */ + @Schema(description = "异步通知地址") + private String notifyUrl; + + /** 商户扩展参数,回调时会原样返回, 以最后一次为准 */ + @Schema(description = "商户扩展参数") + private String attach; + + /** 请求时间,时间戳转时间 */ + @Schema(description = "请求时间,传输时间戳") + private LocalDateTime reqTime; + + /** 终端ip */ + @Schema(description = "支付终端ip") + private String clientIp; + + /** + * 错误码 + */ + @Schema(description = "错误码") + private String errorCode; + + /** + * 错误原因 + */ + @Schema(description = "错误原因") + private String errorMsg; +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/callback/PayCallbackRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/callback/PayCallbackRecordDto.java index 7fe3ac3be3e22fe0763f030a32a98b4088b69c83..09383b1986ad9bba361c3e37af7079d16b1a4d1d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/callback/PayCallbackRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/callback/PayCallbackRecordDto.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.record.callback; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java index 0659b30685fe4171719017d39eaf79f0615fb522..4c740946948dde59552c0d60072c840db1d3b9d7 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/close/PayCloseRecordDto.java @@ -1,8 +1,9 @@ package cn.daxpay.single.service.dto.record.close; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.bootx.table.modify.annotation.DbColumn; +import cn.daxpay.single.service.code.PayCloseTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -34,6 +35,13 @@ public class PayCloseRecordDto extends BaseDto { @DbColumn(comment = "关闭的异步支付通道") private String channel; + /** + * 关闭类型 关闭/撤销 + * @see PayCloseTypeEnum + */ + @DbColumn(comment = "关闭类型") + private String closeType; + /** * 是否关闭成功 */ @@ -41,14 +49,14 @@ public class PayCloseRecordDto extends BaseDto { private boolean closed; /** 错误码 */ - @DbColumn(comment = "错误码") + @DbColumn(comment = "错误码", length = 10) private String errorCode; - /** 错误消息 */ - @DbColumn(comment = "错误消息") + /** 错误信息 */ + @DbColumn(comment = "错误信息", length = 2048) private String errorMsg; - /** 客户端IP */ - @DbColumn(comment = "客户端IP") + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/flow/TradeFlowRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/flow/TradeFlowRecordDto.java index cd44cc33ff219140e446cef4a4cc4e4e78ee8685..69ec0397ba7a92f54010563df9321baf916e7ddc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/flow/TradeFlowRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/flow/TradeFlowRecordDto.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.dto.record.flow; import cn.bootx.platform.common.core.rest.dto.BaseDto; import cn.bootx.table.modify.annotation.DbColumn; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeRecordDto.java index e635e1b1ebe4d12897e483148169f8dd6dd65a2f..cbf960ce0fbf0c7feb2fc3a74161f12f638f8d9d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeRecordDto.java @@ -37,8 +37,8 @@ public class ClientNoticeRecordDto extends BaseDto { @Schema(description = "发送是否成功") private boolean success; - /** 错误编码 */ - @Schema(description = "错误编码") + /** 错误码 */ + @Schema(description = "错误码") private String errorCode; /** 错误信息 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeTaskDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeTaskDto.java index 9f0b7eefeb5dd65a7e920e762cb9804f79fdfa79..e53efc5b84ac9816ab657750d42e91e89ed7d5f4 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeTaskDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/notice/ClientNoticeTaskDto.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.dto.record.notice; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayStatusEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import cn.daxpay.single.service.code.ClientNoticeTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/repair/PayRepairRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/repair/PayRepairRecordDto.java index 9e91de9e4cf755659e2a16e41076e691d54810c1..0f444cc8560fa3e010bc14cc828baa02110cc3f0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/repair/PayRepairRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/repair/PayRepairRecordDto.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.dto.record.repair; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/sync/PaySyncRecordDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/sync/PaySyncRecordDto.java index 8b9cf14a63194e9a0f531c07211eff4897dabe24..947d2e7071644b50bf213436f322741a114a5685 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/sync/PaySyncRecordDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/record/sync/PaySyncRecordDto.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.dto.record.sync; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayApiConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayApiConfigDto.java index 8a32bb45930db904022ca971c41d688d57e47400..2f17b0e5e16c56a9e266bd388e4b84208ca27086 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayApiConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayApiConfigDto.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.dto.system.config; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.daxpay.single.service.code.PayApiCallBackTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -27,25 +26,9 @@ public class PayApiConfigDto extends BaseDto { @Schema(description = "名称") private String name; - /** - * 是否支持回调通知 - * @see PayApiCallBackTypeEnum - */ - @Schema(description = "是否支持回调通知") - private boolean noticeSupport; - @Schema(description = "是否启用") private boolean enable; - @Schema(description = "是否开启回调通知") - private boolean notice; - - @Schema(description = "默认通知回调地址") - private String noticeUrl; - - @Schema(description = "请求参数是否签名") - private boolean reqSign; - @Schema(description = "备注") private String remark; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayChannelConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayChannelConfigDto.java index 4aca7d1e7bb4d62eec4207071a68fb63a45e8bfb..219c74d74ac966cc35a944e02b856507914b215f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayChannelConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PayChannelConfigDto.java @@ -1,7 +1,6 @@ package cn.daxpay.single.service.dto.system.config; import cn.bootx.platform.common.core.rest.dto.BaseDto; -import cn.bootx.table.modify.annotation.DbColumn; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -26,18 +25,6 @@ public class PayChannelConfigDto extends BaseDto { @Schema(description = "名称") private String name; - /** 是否启用 */ - @Schema(description = "是否启用") - private Boolean enable; - - /** logo图片 */ - @Schema(description = "logo图片") - private Long iconId; - - /** 卡牌背景色 */ - @Schema(description = "卡牌背景色") - private String bgColor; - /** 备注 */ @Schema(description = "备注") private String remark; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java index 20db3a0b46cde6ec72f0a7c9ae4c97f3cb7ef6fd..183178e3d74181981beda8648beba56c4a0dbaee 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/PlatformConfigDto.java @@ -1,6 +1,7 @@ package cn.daxpay.single.service.dto.system.config; -import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; +import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; @@ -19,6 +20,7 @@ public class PlatformConfigDto { private String websiteUrl; /** + * 签名方式 * @see PaySignTypeEnum */ @Schema(description = "签名方式") @@ -27,7 +29,28 @@ public class PlatformConfigDto { @Schema(description = "签名秘钥") private String signSecret; - @Schema(description = "异步支付通知地址") + /** 是否对请求进行验签 */ + @Schema(description = "是否对请求进行验签") + private boolean reqSign; + + /** + * 请求有效时长(秒) + * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 + * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 + */ + @Schema(description = "请求有效时长(秒)") + private Integer reqTimeout; + + /** + * 消息通知方式, 目前只支持http + * @see TradeNotifyTypeEnum + */ + @Schema(description = "消息通知方式") + private String notifyType; + + /** 消息通知地址 */ + + @Schema(description = "消息通知地址") private String notifyUrl; @Schema(description = "同步支付跳转地址") @@ -36,6 +59,6 @@ public class PlatformConfigDto { @Schema(description = "订单默认超时时间(分钟)") private Integer orderTimeout; - @Schema(description = "订单默认超时时间(分钟)") + @Schema(description = "支付限额") private Integer limitAmount; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/WechatNoticeConfigDto.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/WechatNoticeConfigDto.java deleted file mode 100644 index 1a354a512814cfed242db7df8751123c3418d7ce..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/dto/system/config/WechatNoticeConfigDto.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.daxpay.single.service.dto.system.config; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2024/1/2 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信消息通知相关配置") -public class WechatNoticeConfigDto { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsAllocationStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsAllocationStrategy.java index 67218b73e21cfaa72975b520b8756d21dbc253e7..de8dde4e074a7d852a0cd3184a1ab8a4958ac25c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsAllocationStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsAllocationStrategy.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrderDetail; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrderDetail; import cn.daxpay.single.service.core.payment.sync.result.AllocRemoteSyncResult; import lombok.Getter; import lombok.Setter; @@ -19,16 +19,16 @@ import java.util.List; @Setter public abstract class AbsAllocationStrategy implements PayStrategy{ - private AllocationOrder allocationOrder; + private AllocOrder allocOrder; - private List<AllocationOrderDetail> allocationOrderDetails; + private List<AllocOrderDetail> allocOrderDetails; /** * 初始化参数 */ - public void initParam(AllocationOrder allocationOrder, List<AllocationOrderDetail> allocationOrderDetails) { - this.allocationOrder = allocationOrder; - this.allocationOrderDetails = allocationOrderDetails; + public void initParam(AllocOrder allocOrder, List<AllocOrderDetail> allocOrderDetails) { + this.allocOrder = allocOrder; + this.allocOrderDetails = allocOrderDetails; } /** diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayCancelStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayCancelStrategy.java new file mode 100644 index 0000000000000000000000000000000000000000..7ef7848d4d7db47ade1d73e159f181ca2819200a --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayCancelStrategy.java @@ -0,0 +1,28 @@ +package cn.daxpay.single.service.func; + +import cn.daxpay.single.service.core.order.pay.entity.PayOrder; +import lombok.Getter; +import lombok.Setter; + +/** + * 支付订单撤销接口 + * @author xxm + * @since 2024/6/5 + */ +@Getter +@Setter +public abstract class AbsPayCancelStrategy implements PayStrategy { + /** 支付订单 */ + private PayOrder order = null; + + + /** + * 撤销前的处理方式 + */ + public void doBeforeCancelHandler() {} + + /** + * 撤销操作 + */ + public abstract void doCancelHandler(); +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayStrategy.java index 2dc1d9695f16dde91fc55a6fcde0516915434ec4..3d4e6db6ec73c0b14a737a3ee3e990085ee3012f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPayStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.param.payment.pay.PayParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import lombok.Getter; import lombok.Setter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPaySyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPaySyncStrategy.java index 83390a289a9ecacf931a46f96b016b96ff4f7b5e..f35329783c73cf1a69ea1f5545953c479c653e85 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPaySyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsPaySyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.sync.result.PayRemoteSyncResult; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundStrategy.java index 845b8483e27bfb10b432f787dbf85a7871e9ede6..c471c9a83265886882c377d6f0a8e38726ef4e0e 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundStrategy.java @@ -17,7 +17,6 @@ public abstract class AbsRefundStrategy implements PayStrategy{ /** 退款订单 */ private RefundOrder refundOrder = null; - /** * 退款前对处理, 主要进行配置的加载和检查 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundSyncStrategy.java index 0a7a4bc4474ae1b6a5e256e20d523dde52d16d18..cfd666c7fd832f0be6c8b3a650a9d707412a6f28 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundSyncStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsRefundSyncStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; import cn.daxpay.single.service.core.order.refund.entity.RefundOrder; import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; import lombok.Getter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java index 13a67aeaf9605999aa9972e3e52e0172be8b90ac..ad69b21f229caec5c8a7540b1073b337279e7441 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferStrategy.java @@ -1,5 +1,6 @@ package cn.daxpay.single.service.func; +import cn.daxpay.single.core.param.payment.transfer.TransferParam; import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; import lombok.Getter; import lombok.Setter; @@ -15,9 +16,21 @@ public abstract class AbsTransferStrategy implements PayStrategy{ /** 转账订单 */ private TransferOrder transferOrder; + /** + * 校验参数 + */ + public void doValidateParam(TransferParam transferParam) { + + } + /** * 转账前操作 */ public void doBeforeHandler(){} + /** + * 转账操作 + */ + public abstract void doTransferHandler(); + } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java new file mode 100644 index 0000000000000000000000000000000000000000..2a9d8df69c8391a9a472e8c02ec205537f6d0176 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/AbsTransferSyncStrategy.java @@ -0,0 +1,29 @@ +package cn.daxpay.single.service.func; + +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.service.core.order.transfer.entity.TransferOrder; +import cn.daxpay.single.service.core.payment.sync.result.RefundRemoteSyncResult; +import lombok.Getter; +import lombok.Setter; + +/** + * 转账修复策略 + * @author xxm + * @since 2024/6/17 + */ +@Getter +@Setter +public abstract class AbsTransferSyncStrategy implements PayStrategy{ + + private TransferOrder transferOrder; + + /** + * 同步前处理 + */ + public void doBeforeHandler(){} + /** + * 异步支付单与支付网关进行状态比对后的结果 + * @see PaySyncStatusEnum + */ + public abstract RefundRemoteSyncResult doSyncStatus(); +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java index 2ee80f4e7ac4cb52017bbd9ebf9e4353c622177e..e469a92894393753dfdda1af18d5f368005c88d9 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/func/PayStrategy.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.func; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.param.payment.pay.PayCancelParam; /** * 支付相关策略标识接口 @@ -11,6 +11,7 @@ public interface PayStrategy { /** * 策略标识 + * @see PayCancelParam */ - PayChannelEnum getChannel(); + String getChannel(); } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/AmountConverter.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/AmountConverter.java index dbe8600be0dc17001309b5ba83071758db0625ae..333d7195da7aec20df9971f2eb3b59f87d07c461 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/AmountConverter.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/AmountConverter.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.handler.excel; -import cn.daxpay.single.util.PayUtil; +import cn.daxpay.single.core.util.PayUtil; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.data.WriteCellData; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java index 3d0d7c8dc3910ea1dc3e2cbe06632001c1f4c46f..f843b4ce2f57bf7bc8204f2ad62a94977d0f02dd 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/PayChannelConvert.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.handler.excel; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.data.WriteCellData; @@ -8,6 +8,7 @@ import com.alibaba.excel.metadata.property.ExcelContentProperty; /** * 支付通道转换 + * TODO 改为读取数据库 * @author xxm * @since 2024/5/6 */ diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/ReconcileTradeConvert.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/ReconcileTradeConvert.java index 63ea35acc7894209b140eb6ca1b2b997540255b1..d9ffb68e6551610e5a1bd34b4ff4d741a473da64 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/ReconcileTradeConvert.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/handler/excel/ReconcileTradeConvert.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.handler.excel; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.data.WriteCellData; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/group/AllocationGroupUnbindParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/group/AllocationGroupUnbindParam.java index f82de6dbd36d52d51e8ad893a94a4282ab0f7a8c..32810ab688a70f9c97e1bd790007d4793f64947f 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/group/AllocationGroupUnbindParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/group/AllocationGroupUnbindParam.java @@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.List; @@ -22,7 +23,7 @@ public class AllocationGroupUnbindParam { @Schema(description = "分账组ID") private Long groupId; - @NotEmpty(message = "分账接收方不可为空") + @NotBlank(message = "分账接收方不可为空") @Schema(description = "分账接收方集合") List<Long> receiverIds; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/receiver/AllocationReceiverQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/receiver/AllocationReceiverQuery.java index 4a0d81e2262ba84940caedaee0ed2aaa6d3cbbd0..cb72b2e9d11276b9e3a0e12ac4c8da611c62e678 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/receiver/AllocationReceiverQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/allocation/receiver/AllocationReceiverQuery.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.param.allocation.receiver; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.AllocRelationTypeEnum; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.AllocRelationTypeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java index f72073ce03bb6185367210f471c4903c2c637fa2..827f1eccaa4ef7e71fdcc53c16d9a4c8908d2522 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/alipay/AliPayConfigParam.java @@ -25,14 +25,17 @@ public class AliPayConfigParam { private Boolean allocation; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; - @Schema(description = "服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问") + @Schema(description = "服务器异步通知页面路径") private String notifyUrl; - @Schema(description = "页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址") + @Schema(description = "页面跳转同步通知页面路径") private String returnUrl; + @Schema(description = "授权回调地址") + private String redirectUrl; + @Schema(description = "请求网关地址") private String serverUrl; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/union/UnionPayConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/union/UnionPayConfigParam.java index 4e1104afe7c8b3954b6d94656af5850c815192bb..af1de2a81548405165ba9e731d15db9f813457e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/union/UnionPayConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/union/UnionPayConfigParam.java @@ -26,7 +26,7 @@ public class UnionPayConfigParam { private Boolean enable; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; /** * 商户收款账号 diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WalletConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WalletConfigParam.java index 7be86b172d6ff6249f7637079a6cd369a240c53a..66bf18e26432ae80661460552b3e69d6b7554649 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WalletConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WalletConfigParam.java @@ -29,7 +29,7 @@ public class WalletConfigParam { /** 单次支付最多少金额 */ @Schema(description = "单次支付最多少金额") - private Integer singleLimit; + private Integer limitAmount; /** 备注 */ @Schema(description = "备注") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java index bd198b5d482d1a2ac1f3d7caa80d5bc83d8d93a3..7bf1ee2e068e5b3f816101e8e7cc46722f3119b3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/channel/wechat/WeChatPayConfigParam.java @@ -33,7 +33,7 @@ public class WeChatPayConfigParam { private Boolean allocation; @Schema(description = "支付限额") - private Integer singleLimit; + private Integer limitAmount; @Schema(description = "异步通知地址") private String notifyUrl; @@ -41,6 +41,9 @@ public class WeChatPayConfigParam { @Schema(description = "同步通知地址") private String returnUrl; + @Schema(description = "授权回调地址") + private String redirectUrl; + /** 接口版本, 使用v2还是v3接口 */ @Schema(description = "接口版本") private String apiVersion; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocOrderQuery.java similarity index 90% rename from daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java rename to daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocOrderQuery.java index 5bcf0d1cd9e3bd47d1d9bd1a8a09d0fd97a40a1e..cedb9f68af44a6fc7773e70bebe1a173ab7198b2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocationOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/AllocOrderQuery.java @@ -12,7 +12,7 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) @Schema(title = "分账订单查询参数") -public class AllocationOrderQuery { +public class AllocOrderQuery { @Schema(description = "分账订单号") private String orderNo; @@ -24,7 +24,7 @@ public class AllocationOrderQuery { private String title; @Schema(description = "分账业务号") - private String allocationNo; + private String allocNo; @Schema(description = "分账通道") private String channel; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java index 831f03257b834be73b18697bf8f5b4f4f3cd68f8..86279a9753b89c7fb14b23ff188ba6099cf1adce 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/PayOrderQuery.java @@ -2,9 +2,10 @@ package cn.daxpay.single.service.param.order; import cn.bootx.platform.common.core.annotation.QueryParam; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PayOrderAllocStatusEnum; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayOrderAllocStatusEnum; +import cn.daxpay.single.core.code.PayOrderRefundStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -71,12 +72,19 @@ public class PayOrderQuery extends QueryOrder { @Schema(description = "支付状态") private String status; + /** + * 退款状态 + * @see PayOrderRefundStatusEnum + */ + @Schema(description = "退款状态") + private String refundStatus; + /** * 分账状态 * @see PayOrderAllocStatusEnum */ @Schema(description = "分账状态") - private String allocationStatus; + private String allocStatus; /** 错误码 */ @Schema(description = "错误码") diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/RefundOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/RefundOrderQuery.java index 536b99debdc05cbe726a4f7f1f2768d36ffe774b..aad18a3e2d5e7bb702012073f9800d1d306136ec 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/RefundOrderQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/RefundOrderQuery.java @@ -2,8 +2,8 @@ package cn.daxpay.single.service.param.order; import cn.bootx.platform.common.core.annotation.QueryParam; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.RefundStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.RefundStatusEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..5156ac26ad9d997d67822ae4b93972979fd53cc5 --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/order/TransferOrderQuery.java @@ -0,0 +1,99 @@ +package cn.daxpay.single.service.param.order; + +import cn.bootx.platform.common.core.annotation.QueryParam; +import cn.bootx.platform.common.core.rest.param.QueryOrder; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.TransferPayeeTypeEnum; +import cn.daxpay.single.core.code.TransferStatusEnum; +import cn.daxpay.single.core.code.TransferTypeEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 转账订单查询参数 + * @author xxm + * @since 2024/6/17 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Accessors(chain = true) +@Schema(title = "转账订单查询参数") +public class TransferOrderQuery extends QueryOrder { + + /** 商户转账号 */ + @Schema(description = "商户转账号") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String bizTransferNo; + + /** 转账号 */ + @Schema(description = "转账号") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String transferNo; + + /** 通道转账号 */ + @Schema(description = "通道转账号") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String outTransferNo; + + /** + * 支付通道 + * @see PayChannelEnum + */ + @Schema(description = "支付通道") + private String channel; + + /** 转账金额 */ + @Schema(description = "转账金额") + private Integer amount; + + /** 标题 */ + @Schema(description = "标题") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String title; + + /** + * 转账类型, 微信使用 + * @see TransferTypeEnum + */ + @Schema(description = "转账类型, 微信使用") + private String transferType; + + + /** + * 收款人类型 + * @see TransferPayeeTypeEnum + */ + @Schema(description = "收款人类型") + private String payeeType; + + /** 收款人账号 */ + @Schema(description = "收款人账号") + private String payeeAccount; + + /** 收款人姓名 */ + @Schema(description = "收款人姓名") + @QueryParam(type = QueryParam.CompareTypeEnum.LIKE) + private String payeeName; + + /** + * 状态 + * @see TransferStatusEnum + */ + @Schema(description = "状态") + private String status; + + /** 成功时间 */ + @Schema(description = "成功时间") + private LocalDateTime successTime; + + /** + * 错误码 + */ + @Schema(description = "错误码") + private String errorCode; + +} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileDiffQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileDiffQuery.java index a2da7dfaff71d78ffa3f6ed89c3fb7c86b287938..3d11507ff4904162f9e7d7cce1710cdf6a140274 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileDiffQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileDiffQuery.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.param.reconcile; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import cn.daxpay.single.service.code.ReconcileDiffTypeEnum; import cn.bootx.table.modify.annotation.DbColumn; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileTradeDetailQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileTradeDetailQuery.java index b1429319fe7497e2790474581a379beeac251c6c..653122c81e008d87cf816223c8baf7cb82bf43b2 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileTradeDetailQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/reconcile/ReconcileTradeDetailQuery.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.param.reconcile; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.ReconcileTradeEnum; +import cn.daxpay.single.core.code.ReconcileTradeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCallbackRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCallbackRecordQuery.java index 1a1d69253c062eb1a3f5185fee34baf68c405e1c..e8dda0f105d512da76148aaffeb707cf0aed8d35 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCallbackRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCallbackRecordQuery.java @@ -2,7 +2,7 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.annotation.QueryParam; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.PayCallbackStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java index 2fbdface8e5d73e1ac019d4bf22541b134dc72cd..0c90b2f5d7599ba150567c8ec3aff40d39c64d24 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayCloseRecordQuery.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.rest.param.QueryOrder; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.bootx.table.modify.annotation.DbColumn; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -38,7 +38,7 @@ public class PayCloseRecordQuery extends QueryOrder { * 是否关闭成功 */ @DbColumn(comment = "是否关闭成功") - private boolean closed; + private Boolean closed; /** 错误码 */ @DbColumn(comment = "错误码") @@ -48,7 +48,7 @@ public class PayCloseRecordQuery extends QueryOrder { @DbColumn(comment = "错误消息") private String errorMsg; - /** 客户端IP */ - @DbColumn(comment = "客户端IP") + /** 终端ip */ + @DbColumn(comment = "支付终端ip", length = 64) private String clientIp; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayRepairRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayRepairRecordQuery.java index c8453acaba4808e8158dfb3d607e56df0ad2b988..c448fb5819747afb8e9d49c4efe21f932f167c27 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayRepairRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PayRepairRecordQuery.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.PayStatusEnum; +import cn.daxpay.single.core.code.PayStatusEnum; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.code.PayRepairWayEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PaySyncRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PaySyncRecordQuery.java index de378bbdb6f469906b15df9196fb3c1710aba356..261a8c033d4e72400db436d9fb3ccc97f4001184 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PaySyncRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/PaySyncRecordQuery.java @@ -1,9 +1,9 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.PayChannelEnum; -import cn.daxpay.single.code.PaySyncStatusEnum; -import cn.daxpay.single.code.RefundSyncStatusEnum; +import cn.daxpay.single.core.code.PayChannelEnum; +import cn.daxpay.single.core.code.PaySyncStatusEnum; +import cn.daxpay.single.core.code.RefundSyncStatusEnum; import cn.daxpay.single.service.code.PaymentTypeEnum; import cn.bootx.table.modify.mysql.annotation.DbMySqlFieldType; import cn.bootx.table.modify.mysql.constants.MySqlFieldTypeEnum; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/TradeFlowRecordQuery.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/TradeFlowRecordQuery.java index d18eb284d269cf97c7a76dd39fbd545962b4e967..b78cb5aabaa510573daa6ff65f8b440841ac13cf 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/TradeFlowRecordQuery.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/record/TradeFlowRecordQuery.java @@ -1,7 +1,7 @@ package cn.daxpay.single.service.param.record; import cn.bootx.platform.common.core.annotation.QueryParam; -import cn.daxpay.single.code.PayChannelEnum; +import cn.daxpay.single.core.code.PayChannelEnum; import cn.daxpay.single.service.code.TradeFlowRecordTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java index 2feea44540e34b604cb6d71f989eb0affcc638f3..5282d84f21b6dbd14c74c2304cdf2573604803d0 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PayApiConfigParam.java @@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + /** * 支付开放接口管理 * @author xxm @@ -14,21 +17,15 @@ import lombok.experimental.Accessors; @Schema(title = "支付开放接口管理") public class PayApiConfigParam { - @Schema(description = "id") + + @NotNull(message = "主键不能为空") + @Schema(description = "主键") private Long id; @Schema(description = "是否启用") private boolean enable; - @Schema(description = "是否开启回调通知") - private boolean notice; - - @Schema(description = "默认回调地址") - private String noticeUrl; - - @Schema(description = "请求参数是否签名") - private boolean reqSign; - + @Size(max = 200, message = "备注长度不能超过200") @Schema(description = "备注") private String remark; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java index ef706e89357a30e14c666d11c430d85d88f87706..4c7334e388bd3a0457bfd634c7290212934a856a 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/PlatformConfigParam.java @@ -1,10 +1,15 @@ package cn.daxpay.single.service.param.system.config; -import cn.daxpay.single.code.PaySignTypeEnum; +import cn.daxpay.single.core.code.PaySignTypeEnum; +import cn.daxpay.single.service.code.TradeNotifyTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; + /** * 平台配置 * @author xxm @@ -15,27 +20,62 @@ import lombok.experimental.Accessors; @Schema(title = "平台配置") public class PlatformConfigParam { + @NotBlank(message = "网站地址必填") + @Size(min = 1, max = 200, message = "网站地址不可超过200位") @Schema(description = "网站地址") private String websiteUrl; + /** 是否对请求进行验签 */ + @Schema(description = "是否对请求进行验签") + private boolean reqSign; + + /** + * 请求有效时长(秒) + * 如果传输的请求时间早于当前服务时间, 而且差值超过配置的时长, 将会请求失败 + * 如果传输的请求时间比服务时间大于配置的时长(超过一分钟), 将会请求失败 + */ + @Min(value = 1, message = "请求有效时长不可小于1秒") + @Schema(description = "请求有效时长(秒)") + private Integer reqTimeout; + /** + * 签名方式 * @see PaySignTypeEnum */ + @Size(max = 20, message = "签名方式不可超过20位") @Schema(description = "签名方式") private String signType; + /** 签名秘钥 */ + @Size(max = 50, message = "签名秘钥不可超过50位") @Schema(description = "签名秘钥") private String signSecret; - @Schema(description = "支付通知地址") + /** + * 消息通知方式, 目前只支持http + * @see TradeNotifyTypeEnum + */ + @Size(max = 20, message = "消息通知方式不可超过20位") + @Schema(description = "消息通知方式") + private String notifyType; + + /** 消息通知地址 */ + @Size(max = 200, message = "消息通知地址不可超过200位") + @Schema(description = "消息通知地址") private String notifyUrl; + /** 同步支付跳转地址 */ + @Size(max = 200, message = "同步支付跳转地址不可超过200位") @Schema(description = "同步支付跳转地址") private String returnUrl; + /** 订单默认超时时间(分钟) */ + @Min(value = 5, message = "订单默认超时时间不可小于5分钟") @Schema(description = "订单默认超时时间(分钟)") private Integer orderTimeout; + /** 订单支付限额(分) */ + @Min(value = 1, message = "订单支付限额不可小于0.01元") @Schema(description = "订单支付限额(分)") private Integer limitAmount; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/WechatNoticeConfigParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/WechatNoticeConfigParam.java deleted file mode 100644 index 614a6e2297458f220f2a04bbb82f1ff4226df1ea..0000000000000000000000000000000000000000 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/config/WechatNoticeConfigParam.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.daxpay.single.service.param.system.config; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * 微信消息通知相关配置 - * @author xxm - * @since 2024/1/2 - */ -@Data -@Accessors(chain = true) -@Schema(title = "微信消息通知相关配置") -public class WechatNoticeConfigParam { -} diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayChannelInfoParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayChannelInfoParam.java index 11b1170afc313724c5b96051c8ecc6ddb5ea9cf8..5df6672da95e5974c3e27cd242adcd426e7d8dcc 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayChannelInfoParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayChannelInfoParam.java @@ -5,26 +5,18 @@ import lombok.Data; import lombok.experimental.Accessors; /** - * + * 支付通道配置 * @author xxm * @since 2024/1/8 */ @Data @Accessors(chain = true) -@Schema(title = "") +@Schema(title = "支付通道配置") public class PayChannelInfoParam { @Schema(description= "主键") private Long id; - /** logo图片 */ - @Schema(description = "logo图片") - private Long iconId; - - /** 卡牌背景色 */ - @Schema(description = "卡牌背景色") - private String bgColor; - /** 备注 */ @Schema(description = "备注") private String remark; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayWayInfoParam.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayWayInfoParam.java index dddd38cc9efabd26645707417e93a8fa49eea4f7..30547eb84316b2cb79e20ac5c57848bfbc588b9d 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayWayInfoParam.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/param/system/payinfo/PayWayInfoParam.java @@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + /** * * @author xxm @@ -14,9 +17,11 @@ import lombok.experimental.Accessors; @Schema(title = "支付方式信息") public class PayWayInfoParam { + @NotNull(message = "主键不能为空") @Schema(description= "主键") private Long id; + @Size(max = 200, message = "备注长度不能超过200") @Schema(description = "备注") private String remark; } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java index 11cb2b5196939a1cb46c8ed5f5dc011b7fac3b70..8166d5da3f11cb22807afa8d42502feaee3a2f43 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationAutoStartTask.java @@ -1,10 +1,10 @@ package cn.daxpay.single.service.task; -import cn.daxpay.single.param.payment.allocation.AllocationParam; +import cn.daxpay.single.core.param.payment.allocation.AllocationParam; import cn.daxpay.single.service.core.order.pay.dao.PayOrderManager; import cn.daxpay.single.service.core.order.pay.entity.PayOrder; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; -import cn.daxpay.single.util.OrderNoGenerateUtil; +import cn.daxpay.single.core.util.OrderNoGenerateUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.quartz.*; @@ -28,7 +28,7 @@ public class AllocationAutoStartTask implements Job { public void execute(JobExecutionContext jobExecutionContext) { for (PayOrder payOrder : payOrderManager.findAutoAllocation()) { AllocationParam param = new AllocationParam(); - param.setBizAllocationNo(OrderNoGenerateUtil.allocation()); + param.setBizAllocNo(OrderNoGenerateUtil.allocation()); try { allocationService.allocation(param, payOrder); } catch (Exception e) { diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java index 9ba89cd2f587abff564386703cf0023d524a637b..7815a8261be6f075517cebb7a0d1e5cf3eeb4c0c 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/AllocationSyncTask.java @@ -1,8 +1,8 @@ package cn.daxpay.single.service.task; -import cn.daxpay.single.code.AllocOrderStatusEnum; +import cn.daxpay.single.core.code.AllocOrderStatusEnum; import cn.daxpay.single.service.core.order.allocation.dao.AllocationOrderManager; -import cn.daxpay.single.service.core.order.allocation.entity.AllocationOrder; +import cn.daxpay.single.service.core.order.allocation.entity.AllocOrder; import cn.daxpay.single.service.core.payment.allocation.service.AllocationService; import cn.daxpay.single.service.core.payment.allocation.service.AllocationSyncService; import lombok.RequiredArgsConstructor; @@ -32,18 +32,18 @@ public class AllocationSyncTask implements Job { */ @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - for (AllocationOrder allocationOrder : allocationOrderManager.findSyncOrder()) { + for (AllocOrder allocOrder : allocationOrderManager.findSyncOrder()) { try { // 分账中走同步逻辑 - if (allocationOrder.getStatus().equals(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode())) { - allocationSyncService.sync(allocationOrder); + if (allocOrder.getStatus().equals(AllocOrderStatusEnum.ALLOCATION_PROCESSING.getCode())) { + allocationSyncService.sync(allocOrder); } // 如果分账结束, 调用自动完结逻辑 - if (allocationOrder.getStatus().equals(AllocOrderStatusEnum.ALLOCATION_END.getCode())) { - allocationService.finish(allocationOrder); + if (allocOrder.getStatus().equals(AllocOrderStatusEnum.ALLOCATION_END.getCode())) { + allocationService.finish(allocOrder); } } catch (Exception e) { - log.warn("分账同步或完结失败, 分账号:{}", allocationOrder.getAllocationNo()); + log.warn("分账同步或完结失败, 分账号:{}", allocOrder.getAllocNo()); log.warn("分账同步或完结失败", e); } } diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/PayExpiredTimeTask.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/PayExpiredTimeTask.java index 42de415649e8f4abb0b80466c177439afa840f65..ddd9a823be9e0d0f80cca1091929d60ba85a37e3 100644 --- a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/PayExpiredTimeTask.java +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/task/PayExpiredTimeTask.java @@ -1,6 +1,6 @@ package cn.daxpay.single.service.task; -import cn.daxpay.single.param.payment.pay.PaySyncParam; +import cn.daxpay.single.core.param.payment.pay.PaySyncParam; import cn.daxpay.single.service.code.PayRepairSourceEnum; import cn.daxpay.single.service.common.local.PaymentContextLocal; import cn.daxpay.single.service.core.payment.pay.dao.PayExpiredTimeRepository; diff --git a/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..7ae09bd3bf70f3a15fd6bcbe602d7d65c1d2d74a --- /dev/null +++ b/daxpay-single/daxpay-single-service/src/main/java/cn/daxpay/single/service/util/PayStrategyFactory.java @@ -0,0 +1,31 @@ +package cn.daxpay.single.service.util; + +import cn.daxpay.single.core.exception.UnsupportedAbilityException; +import cn.daxpay.single.service.func.PayStrategy; +import cn.hutool.extra.spring.SpringUtil; +import lombok.experimental.UtilityClass; +import lombok.val; + +/** + * 策略工厂工具类 + * @author xxm + * @since 2024/6/7 + */ +@UtilityClass +public class PayStrategyFactory { + + /** + * 获取策略 + * @param channel 通道编码 + * @param clazz 策略类型 + * @return 策略类 + * @param <T> 需要为 PayStrategy 的子类 + */ + public <T extends PayStrategy> T create(String channel, Class<T> clazz) { + val beansOfType = SpringUtil.getBeansOfType(clazz); + return beansOfType.values().stream() + .filter(strategy -> strategy.getChannel().equals(channel)) + .findFirst() + .orElseThrow(() -> new UnsupportedAbilityException("不支持的能力")); + } +} diff --git a/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java b/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java index e78f1e11319aa15bff449f6097b7aacad01f8243..1003587980ac85fb9aac30cc7f6ad255e719042d 100644 --- a/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java +++ b/daxpay-single/daxpay-single-service/src/test/java/cn/daxpay/single/core/util/PayParamSignTest.java @@ -1,8 +1,7 @@ package cn.daxpay.single.core.util; -import cn.daxpay.single.param.channel.AliPayParam; -import cn.daxpay.single.param.payment.pay.PayParam; -import cn.daxpay.single.util.PaySignUtil; +import cn.daxpay.single.core.param.channel.AliPayParam; +import cn.daxpay.single.core.param.payment.pay.PayParam; import cn.hutool.core.bean.BeanUtil; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -23,7 +22,6 @@ class PayParamSignTest { PayParam payParam = new PayParam(); payParam.setBizOrderNo("123"); payParam.setClientIp("127.0.0.1"); - payParam.setNotNotify(true); payParam.setNotifyUrl("http://127.0.0.1:8080/pay/notify"); payParam.setReturnUrl("http://127.0.0.1:8080/pay/return"); // 传入的话需要传输时间戳 diff --git a/daxpay-single/pom.xml b/daxpay-single/pom.xml index e9ea950f2fe6919f93438587b4c5101b98901bdd..67fdb648c57edf60d41d77b7479198cb9cbc36e9 100644 --- a/daxpay-single/pom.xml +++ b/daxpay-single/pom.xml @@ -13,7 +13,7 @@ <groupId>cn.daxpay.single</groupId> <artifactId>daxpay-single</artifactId> <packaging>pom</packaging> - <version>2.0.7</version> + <version>2.0.8</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> @@ -22,14 +22,15 @@ <!-- 二方库版本 --> <bootx-platform.version>1.3.6.2</bootx-platform.version> - <daxpay.version>2.0.7</daxpay.version> + <daxpay.version>2.0.8</daxpay.version> <!-- 三方库 --> <slf4j.version>1.7.30</slf4j.version> <redisson.version>3.16.8</redisson.version> <xml-apis.version>1.4.01</xml-apis.version> <spring.checkstyle.version>0.0.38</spring.checkstyle.version> <plumelog.version>3.5.2</plumelog.version> - <IJPay.version>2.9.10</IJPay.version> + <alipay.version>4.39.104.ALL</alipay.version> + <IJPay.version>2.9.11</IJPay.version> <egzosn-java.version>2.14.7</egzosn-java.version> <knife4j.version>4.4.0</knife4j.version> <mapstruct.version>1.5.3.Final</mapstruct.version> diff --git a/pom.xml b/pom.xml index d975eea4ddbc8faef2bd9fa95aca679256f50cdb..23ef617353b4f38de3cc1d8bb6fc3a9cdfd8562e 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ <groupId>cn.daxpay.single</groupId> <artifactId>dax-pay</artifactId> <packaging>pom</packaging> - <version>2.0.7</version> + <version>2.0.8</version> <modules> <module>daxpay-single</module>