pull/229/head
YunaiV 2025-12-07 18:20:52 +08:00
commit 667cf9d1c9
26 changed files with 339 additions and 160 deletions

View File

@ -1240,6 +1240,7 @@ INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_t
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-05-02 12:01:15', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-05-02 12:01:15', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3035, 40, '支付宝小程序', '40', 'system_social_type', 0, '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', '0');
COMMIT; COMMIT;
SET IDENTITY_INSERT system_dict_data OFF; SET IDENTITY_INSERT system_dict_data OFF;
-- @formatter:on -- @formatter:on
@ -4179,7 +4180,8 @@ CREATE TABLE system_social_client
social_type smallint NOT NULL, social_type smallint NOT NULL,
user_type smallint NOT NULL, user_type smallint NOT NULL,
client_id varchar(255) NOT NULL, client_id varchar(255) NOT NULL,
client_secret varchar(255) NOT NULL, client_secret varchar(2048) NOT NULL,
public_key varchar(2048) DEFAULT NULL NULL,
agent_id varchar(255) DEFAULT NULL NULL, agent_id varchar(255) DEFAULT NULL NULL,
status smallint NOT NULL, status smallint NOT NULL,
creator varchar(64) DEFAULT '' NULL, creator varchar(64) DEFAULT '' NULL,
@ -4195,6 +4197,7 @@ COMMENT ON COLUMN system_social_client.name IS '应用名';
COMMENT ON COLUMN system_social_client.social_type IS '社交平台的类型'; COMMENT ON COLUMN system_social_client.social_type IS '社交平台的类型';
COMMENT ON COLUMN system_social_client.user_type IS '用户类型'; COMMENT ON COLUMN system_social_client.user_type IS '用户类型';
COMMENT ON COLUMN system_social_client.client_id IS '客户端编号'; COMMENT ON COLUMN system_social_client.client_id IS '客户端编号';
COMMENT ON COLUMN system_social_client.public_key IS 'publicKey公钥';
COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥'; COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥';
COMMENT ON COLUMN system_social_client.agent_id IS '代理编号'; COMMENT ON COLUMN system_social_client.agent_id IS '代理编号';
COMMENT ON COLUMN system_social_client.status IS '状态'; COMMENT ON COLUMN system_social_client.status IS '状态';

View File

@ -1354,6 +1354,7 @@ INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_t
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-05-02 12:01:15', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-05-02 12:01:15', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3035, 40, '支付宝小程序', 40, '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', '0');
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
@ -4461,7 +4462,8 @@ CREATE TABLE system_social_client
social_type int2 NOT NULL, social_type int2 NOT NULL,
user_type int2 NOT NULL, user_type int2 NOT NULL,
client_id varchar(255) NOT NULL, client_id varchar(255) NOT NULL,
client_secret varchar(255) NOT NULL, client_secret varchar(2048) NOT NULL,
public_key varchar(2048) NULL DEFAULT NULL,
agent_id varchar(255) NULL DEFAULT NULL, agent_id varchar(255) NULL DEFAULT NULL,
status int2 NOT NULL, status int2 NOT NULL,
creator varchar(64) NULL DEFAULT '', creator varchar(64) NULL DEFAULT '',
@ -4481,6 +4483,7 @@ COMMENT ON COLUMN system_social_client.social_type IS '社交平台的类型';
COMMENT ON COLUMN system_social_client.user_type IS '用户类型'; COMMENT ON COLUMN system_social_client.user_type IS '用户类型';
COMMENT ON COLUMN system_social_client.client_id IS '客户端编号'; COMMENT ON COLUMN system_social_client.client_id IS '客户端编号';
COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥'; COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥';
COMMENT ON COLUMN system_social_client.public_key IS 'publicKey公钥';
COMMENT ON COLUMN system_social_client.agent_id IS '代理编号'; COMMENT ON COLUMN system_social_client.agent_id IS '代理编号';
COMMENT ON COLUMN system_social_client.status IS '状态'; COMMENT ON COLUMN system_social_client.status IS '状态';
COMMENT ON COLUMN system_social_client.creator IS '创建者'; COMMENT ON COLUMN system_social_client.creator IS '创建者';

View File

@ -1092,6 +1092,7 @@ INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `st
INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3032, 50, 'Vben5.0 Element Plus Schema 模版', '50', 'infra_codegen_front_type', 0, '', '', '', '1', '2025-09-04 23:26:38', '1', '2025-09-04 23:26:38', b'0'); INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3032, 50, 'Vben5.0 Element Plus Schema 模版', '50', 'infra_codegen_front_type', 0, '', '', '', '1', '2025-09-04 23:26:38', '1', '2025-09-04 23:26:38', b'0');
INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3033, 51, 'Vben5.0 Element Plus 标准模版', '51', 'infra_codegen_front_type', 0, '', '', '', '1', '2025-09-04 23:26:49', '1', '2025-09-04 23:26:49', b'0'); INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3033, 51, 'Vben5.0 Element Plus 标准模版', '51', 'infra_codegen_front_type', 0, '', '', '', '1', '2025-09-04 23:26:49', '1', '2025-09-04 23:26:49', b'0');
INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3034, 1, 'ttt', 'tt', 'iot_ota_task_record_status', 0, 'success', '', NULL, '1', '2025-09-06 00:02:21', '1', '2025-09-06 00:02:31', b'0'); INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3034, 1, 'ttt', 'tt', 'iot_ota_task_record_status', 0, 'success', '', NULL, '1', '2025-09-06 00:02:21', '1', '2025-09-06 00:02:31', b'0');
INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (3035, 40, '支付宝小程序', '40', 'system_social_type', 0, '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', b'0');
COMMIT; COMMIT;
-- ---------------------------- -- ----------------------------
@ -3669,7 +3670,8 @@ CREATE TABLE `system_social_client` (
`social_type` tinyint NOT NULL COMMENT '社交平台的类型', `social_type` tinyint NOT NULL COMMENT '社交平台的类型',
`user_type` tinyint NOT NULL COMMENT '用户类型', `user_type` tinyint NOT NULL COMMENT '用户类型',
`client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端编号', `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端编号',
`client_secret` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端密钥', `client_secret` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端密钥',
`public_key` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT 'publicKey公钥',
`agent_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '代理编号', `agent_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '代理编号',
`status` tinyint NOT NULL COMMENT '状态', `status` tinyint NOT NULL COMMENT '状态',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',

View File

@ -1354,6 +1354,7 @@ INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_t
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', '2025-03-23 12:15:46', '1', '2025-03-23 12:15:46', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-05-02 12:01:15', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', '2025-04-23 21:47:47', '1', '2025-05-02 12:01:15', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', '2025-05-10 08:24:49', '1', '2025-05-10 08:24:49', '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3035, 40, '支付宝小程序', '40', 'system_social_type', 0, '', '', '', '1', '2023-11-04 13:05:38', '1', '2023-11-04 13:07:16', '0');
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
@ -4461,7 +4462,8 @@ CREATE TABLE system_social_client
social_type int2 NOT NULL, social_type int2 NOT NULL,
user_type int2 NOT NULL, user_type int2 NOT NULL,
client_id varchar(255) NOT NULL, client_id varchar(255) NOT NULL,
client_secret varchar(255) NOT NULL, client_secret varchar(2048) NOT NULL,
public_key varchar(2048) NULL DEFAULT NULL,
agent_id varchar(255) NULL DEFAULT NULL, agent_id varchar(255) NULL DEFAULT NULL,
status int2 NOT NULL, status int2 NOT NULL,
creator varchar(64) NULL DEFAULT '', creator varchar(64) NULL DEFAULT '',
@ -4481,6 +4483,7 @@ COMMENT ON COLUMN system_social_client.social_type IS '社交平台的类型';
COMMENT ON COLUMN system_social_client.user_type IS '用户类型'; COMMENT ON COLUMN system_social_client.user_type IS '用户类型';
COMMENT ON COLUMN system_social_client.client_id IS '客户端编号'; COMMENT ON COLUMN system_social_client.client_id IS '客户端编号';
COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥'; COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥';
COMMENT ON COLUMN system_social_client.public_key IS 'publicKey公钥';
COMMENT ON COLUMN system_social_client.agent_id IS '代理编号'; COMMENT ON COLUMN system_social_client.agent_id IS '代理编号';
COMMENT ON COLUMN system_social_client.status IS '状态'; COMMENT ON COLUMN system_social_client.status IS '状态';
COMMENT ON COLUMN system_social_client.creator IS '创建者'; COMMENT ON COLUMN system_social_client.creator IS '创建者';

View File

@ -1306,6 +1306,7 @@ INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_t
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', to_date('2025-03-23 12:15:46', 'SYYYY-MM-DD HH24:MI:SS'), '1', to_date('2025-03-23 12:15:46', 'SYYYY-MM-DD HH24:MI:SS'), '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3000, 16, '百川智能', 'BaiChuan', 'ai_platform', 0, '', '', '', '1', to_date('2025-03-23 12:15:46', 'SYYYY-MM-DD HH24:MI:SS'), '1', to_date('2025-03-23 12:15:46', 'SYYYY-MM-DD HH24:MI:SS'), '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', to_date('2025-04-23 21:47:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', to_date('2025-05-02 12:01:15', 'SYYYY-MM-DD HH24:MI:SS'), '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3001, 50, 'Vben5.0 Ant Design Schema 模版', '40', 'infra_codegen_front_type', 0, '', '', NULL, '1', to_date('2025-04-23 21:47:47', 'SYYYY-MM-DD HH24:MI:SS'), '1', to_date('2025-05-02 12:01:15', 'SYYYY-MM-DD HH24:MI:SS'), '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', to_date('2025-05-10 08:24:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', to_date('2025-05-10 08:24:49', 'SYYYY-MM-DD HH24:MI:SS'), '0'); INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, '支付宝余额', '6', 'brokerage_withdraw_type', 0, '', '', 'API 打款', '1', to_date('2025-05-10 08:24:49', 'SYYYY-MM-DD HH24:MI:SS'), '1', to_date('2025-05-10 08:24:49', 'SYYYY-MM-DD HH24:MI:SS'), '0');
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3035, 40, '支付宝小程序', '40', 'system_social_type', 0, '', '', '', '1', to_date('2023-11-04 13:05:38', 'SYYYY-MM-DD HH24:MI:SS'), '1', to_date('2023-11-04 13:07:16', 'SYYYY-MM-DD HH24:MI:SS'), '0');
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
@ -4355,7 +4356,8 @@ CREATE TABLE system_social_client
social_type smallint NOT NULL, social_type smallint NOT NULL,
user_type smallint NOT NULL, user_type smallint NOT NULL,
client_id varchar2(255) NULL, client_id varchar2(255) NULL,
client_secret varchar2(255) NULL, client_secret varchar2(2048) NULL,
public_key varchar2(2048) DEFAULT NULL NULL,
agent_id varchar2(255) DEFAULT NULL NULL, agent_id varchar2(255) DEFAULT NULL NULL,
status smallint NOT NULL, status smallint NOT NULL,
creator varchar2(64) DEFAULT '' NULL, creator varchar2(64) DEFAULT '' NULL,
@ -4375,6 +4377,7 @@ COMMENT ON COLUMN system_social_client.social_type IS '社交平台的类型';
COMMENT ON COLUMN system_social_client.user_type IS '用户类型'; COMMENT ON COLUMN system_social_client.user_type IS '用户类型';
COMMENT ON COLUMN system_social_client.client_id IS '客户端编号'; COMMENT ON COLUMN system_social_client.client_id IS '客户端编号';
COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥'; COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥';
COMMENT ON COLUMN system_social_client.public_key IS 'publicKey公钥';
COMMENT ON COLUMN system_social_client.agent_id IS '代理编号'; COMMENT ON COLUMN system_social_client.agent_id IS '代理编号';
COMMENT ON COLUMN system_social_client.status IS '状态'; COMMENT ON COLUMN system_social_client.status IS '状态';
COMMENT ON COLUMN system_social_client.creator IS '创建者'; COMMENT ON COLUMN system_social_client.creator IS '创建者';

View File

@ -27,6 +27,10 @@ COMMENT ON TABLE dual IS '数据库连接的表';
INSERT INTO dual VALUES (1); INSERT INTO dual VALUES (1);
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS infra_api_access_log_seq;
CREATE SEQUENCE infra_api_access_log_seq
START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for infra_api_access_log -- Table structure for infra_api_access_log
-- ---------------------------- -- ----------------------------
@ -92,8 +96,8 @@ COMMENT ON COLUMN infra_api_access_log.deleted IS '是否删除';
COMMENT ON COLUMN infra_api_access_log.tenant_id IS '租户编号'; COMMENT ON COLUMN infra_api_access_log.tenant_id IS '租户编号';
COMMENT ON TABLE infra_api_access_log IS 'API 访问日志表'; COMMENT ON TABLE infra_api_access_log IS 'API 访问日志表';
DROP SEQUENCE IF EXISTS infra_api_access_log_seq; DROP SEQUENCE IF EXISTS infra_api_error_log_seq;
CREATE SEQUENCE infra_api_access_log_seq CREATE SEQUENCE infra_api_error_log_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -165,8 +169,8 @@ COMMENT ON COLUMN infra_api_error_log.deleted IS '是否删除';
COMMENT ON COLUMN infra_api_error_log.tenant_id IS '租户编号'; COMMENT ON COLUMN infra_api_error_log.tenant_id IS '租户编号';
COMMENT ON TABLE infra_api_error_log IS '系统异常日志'; COMMENT ON TABLE infra_api_error_log IS '系统异常日志';
DROP SEQUENCE IF EXISTS infra_api_error_log_seq; DROP SEQUENCE IF EXISTS infra_codegen_column_seq;
CREATE SEQUENCE infra_api_error_log_seq CREATE SEQUENCE infra_codegen_column_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -228,8 +232,8 @@ COMMENT ON COLUMN infra_codegen_column.update_time IS '更新时间';
COMMENT ON COLUMN infra_codegen_column.deleted IS '是否删除'; COMMENT ON COLUMN infra_codegen_column.deleted IS '是否删除';
COMMENT ON TABLE infra_codegen_column IS '代码生成表字段定义'; COMMENT ON TABLE infra_codegen_column IS '代码生成表字段定义';
DROP SEQUENCE IF EXISTS infra_codegen_column_seq; DROP SEQUENCE IF EXISTS infra_codegen_table_seq;
CREATE SEQUENCE infra_codegen_column_seq CREATE SEQUENCE infra_codegen_table_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -293,8 +297,9 @@ COMMENT ON COLUMN infra_codegen_table.update_time IS '更新时间';
COMMENT ON COLUMN infra_codegen_table.deleted IS '是否删除'; COMMENT ON COLUMN infra_codegen_table.deleted IS '是否删除';
COMMENT ON TABLE infra_codegen_table IS '代码生成表定义'; COMMENT ON TABLE infra_codegen_table IS '代码生成表定义';
DROP SEQUENCE IF EXISTS infra_codegen_table_seq;
CREATE SEQUENCE infra_codegen_table_seq DROP SEQUENCE IF EXISTS infra_config_seq;
CREATE SEQUENCE infra_config_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -352,9 +357,9 @@ INSERT INTO infra_config (id, category, type, name, config_key, value, visible,
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS infra_config_seq; DROP SEQUENCE IF EXISTS infra_data_source_config_seq;
CREATE SEQUENCE infra_config_seq CREATE SEQUENCE infra_data_source_config_seq
START 14; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for infra_data_source_config -- Table structure for infra_data_source_config
@ -389,8 +394,8 @@ COMMENT ON COLUMN infra_data_source_config.update_time IS '更新时间';
COMMENT ON COLUMN infra_data_source_config.deleted IS '是否删除'; COMMENT ON COLUMN infra_data_source_config.deleted IS '是否删除';
COMMENT ON TABLE infra_data_source_config IS '数据源配置表'; COMMENT ON TABLE infra_data_source_config IS '数据源配置表';
DROP SEQUENCE IF EXISTS infra_data_source_config_seq; DROP SEQUENCE IF EXISTS infra_file_seq;
CREATE SEQUENCE infra_data_source_config_seq CREATE SEQUENCE infra_file_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -430,9 +435,9 @@ COMMENT ON COLUMN infra_file.update_time IS '更新时间';
COMMENT ON COLUMN infra_file.deleted IS '是否删除'; COMMENT ON COLUMN infra_file.deleted IS '是否删除';
COMMENT ON TABLE infra_file IS '文件表'; COMMENT ON TABLE infra_file IS '文件表';
DROP SEQUENCE IF EXISTS infra_file_seq; DROP SEQUENCE IF EXISTS infra_file_config_seq;
CREATE SEQUENCE infra_file_seq CREATE SEQUENCE infra_file_config_seq
START 1; START 31;
-- ---------------------------- -- ----------------------------
-- Table structure for infra_file_config -- Table structure for infra_file_config
@ -486,9 +491,9 @@ INSERT INTO infra_file_config (id, name, storage, remark, master, config, creato
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS infra_file_config_seq; DROP SEQUENCE IF EXISTS infra_file_content_seq;
CREATE SEQUENCE infra_file_config_seq CREATE SEQUENCE infra_file_content_seq
START 31; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for infra_file_content -- Table structure for infra_file_content
@ -521,8 +526,8 @@ COMMENT ON COLUMN infra_file_content.update_time IS '更新时间';
COMMENT ON COLUMN infra_file_content.deleted IS '是否删除'; COMMENT ON COLUMN infra_file_content.deleted IS '是否删除';
COMMENT ON TABLE infra_file_content IS '文件表'; COMMENT ON TABLE infra_file_content IS '文件表';
DROP SEQUENCE IF EXISTS infra_file_content_seq; DROP SEQUENCE IF EXISTS infra_job_seq;
CREATE SEQUENCE infra_file_content_seq CREATE SEQUENCE infra_job_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -587,9 +592,9 @@ INSERT INTO infra_job (id, name, status, handler_name, handler_param, cron_expre
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS infra_job_seq; DROP SEQUENCE IF EXISTS infra_job_log_seq;
CREATE SEQUENCE infra_job_seq CREATE SEQUENCE infra_job_log_seq
START 36; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for infra_job_log -- Table structure for infra_job_log
@ -634,8 +639,8 @@ COMMENT ON COLUMN infra_job_log.update_time IS '更新时间';
COMMENT ON COLUMN infra_job_log.deleted IS '是否删除'; COMMENT ON COLUMN infra_job_log.deleted IS '是否删除';
COMMENT ON TABLE infra_job_log IS '定时任务日志表'; COMMENT ON TABLE infra_job_log IS '定时任务日志表';
DROP SEQUENCE IF EXISTS infra_job_log_seq; DROP SEQUENCE IF EXISTS system_dept_seq;
CREATE SEQUENCE infra_job_log_seq CREATE SEQUENCE system_dept_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -701,9 +706,9 @@ INSERT INTO system_dept (id, name, parent_id, sort, leader_user_id, phone, email
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_dept_seq; DROP SEQUENCE IF EXISTS system_dict_data_seq;
CREATE SEQUENCE system_dept_seq CREATE SEQUENCE system_dict_data_seq
START 114; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_dict_data -- Table structure for system_dict_data
@ -1357,9 +1362,9 @@ INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_t
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_dict_data_seq; DROP SEQUENCE IF EXISTS system_dict_type_seq;
CREATE SEQUENCE system_dict_data_seq CREATE SEQUENCE system_dict_type_seq
START 3003; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_dict_type -- Table structure for system_dict_type
@ -1511,9 +1516,9 @@ INSERT INTO system_dict_type (id, name, type, status, remark, creator, create_ti
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_dict_type_seq; DROP SEQUENCE IF EXISTS system_login_log_seq;
CREATE SEQUENCE system_dict_type_seq CREATE SEQUENCE system_login_log_seq
START 1014; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_login_log -- Table structure for system_login_log
@ -1558,8 +1563,8 @@ COMMENT ON COLUMN system_login_log.deleted IS '是否删除';
COMMENT ON COLUMN system_login_log.tenant_id IS '租户编号'; COMMENT ON COLUMN system_login_log.tenant_id IS '租户编号';
COMMENT ON TABLE system_login_log IS '系统访问记录'; COMMENT ON TABLE system_login_log IS '系统访问记录';
DROP SEQUENCE IF EXISTS system_login_log_seq; DROP SEQUENCE IF EXISTS system_mail_account_seq;
CREATE SEQUENCE system_login_log_seq CREATE SEQUENCE system_mail_account_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -1613,9 +1618,9 @@ INSERT INTO system_mail_account (id, mail, username, password, host, port, ssl_e
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_mail_account_seq; DROP SEQUENCE IF EXISTS system_mail_log_seq;
CREATE SEQUENCE system_mail_account_seq CREATE SEQUENCE system_mail_log_seq
START 5; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_mail_log -- Table structure for system_mail_log
@ -1672,8 +1677,8 @@ COMMENT ON COLUMN system_mail_log.update_time IS '更新时间';
COMMENT ON COLUMN system_mail_log.deleted IS '是否删除'; COMMENT ON COLUMN system_mail_log.deleted IS '是否删除';
COMMENT ON TABLE system_mail_log IS '邮件日志表'; COMMENT ON TABLE system_mail_log IS '邮件日志表';
DROP SEQUENCE IF EXISTS system_mail_log_seq; DROP SEQUENCE IF EXISTS system_mail_template_seq;
CREATE SEQUENCE system_mail_log_seq CREATE SEQUENCE system_mail_template_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -1730,9 +1735,9 @@ INSERT INTO system_mail_template (id, name, code, account_id, nickname, title, c
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_mail_template_seq; DROP SEQUENCE IF EXISTS system_menu_seq;
CREATE SEQUENCE system_mail_template_seq CREATE SEQUENCE system_menu_seq
START 16; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_menu -- Table structure for system_menu
@ -2704,9 +2709,9 @@ INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_menu_seq; DROP SEQUENCE IF EXISTS system_notice_seq;
CREATE SEQUENCE system_menu_seq CREATE SEQUENCE system_notice_seq
START 5013; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_notice -- Table structure for system_notice
@ -2754,9 +2759,9 @@ INSERT INTO system_notice (id, title, content, type, status, creator, create_tim
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_notice_seq; DROP SEQUENCE IF EXISTS system_notify_message_seq;
CREATE SEQUENCE system_notice_seq CREATE SEQUENCE system_notify_message_seq
START 5; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_notify_message -- Table structure for system_notify_message
@ -2822,9 +2827,9 @@ INSERT INTO system_notify_message (id, user_id, user_type, template_id, template
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_notify_message_seq; DROP SEQUENCE IF EXISTS system_notify_template_seq;
CREATE SEQUENCE system_notify_message_seq CREATE SEQUENCE system_notify_template_seq
START 11; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_notify_template -- Table structure for system_notify_template
@ -2867,8 +2872,8 @@ COMMENT ON COLUMN system_notify_template.update_time IS '更新时间';
COMMENT ON COLUMN system_notify_template.deleted IS '是否删除'; COMMENT ON COLUMN system_notify_template.deleted IS '是否删除';
COMMENT ON TABLE system_notify_template IS '站内信模板表'; COMMENT ON TABLE system_notify_template IS '站内信模板表';
DROP SEQUENCE IF EXISTS system_notify_template_seq; DROP SEQUENCE IF EXISTS system_oauth2_access_token_seq;
CREATE SEQUENCE system_notify_template_seq CREATE SEQUENCE system_oauth2_access_token_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -2917,8 +2922,8 @@ COMMENT ON COLUMN system_oauth2_access_token.deleted IS '是否删除';
COMMENT ON COLUMN system_oauth2_access_token.tenant_id IS '租户编号'; COMMENT ON COLUMN system_oauth2_access_token.tenant_id IS '租户编号';
COMMENT ON TABLE system_oauth2_access_token IS 'OAuth2 访问令牌'; COMMENT ON TABLE system_oauth2_access_token IS 'OAuth2 访问令牌';
DROP SEQUENCE IF EXISTS system_oauth2_access_token_seq; DROP SEQUENCE IF EXISTS system_oauth2_approve_seq;
CREATE SEQUENCE system_oauth2_access_token_seq CREATE SEQUENCE system_oauth2_approve_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -2960,8 +2965,8 @@ COMMENT ON COLUMN system_oauth2_approve.deleted IS '是否删除';
COMMENT ON COLUMN system_oauth2_approve.tenant_id IS '租户编号'; COMMENT ON COLUMN system_oauth2_approve.tenant_id IS '租户编号';
COMMENT ON TABLE system_oauth2_approve IS 'OAuth2 批准表'; COMMENT ON TABLE system_oauth2_approve IS 'OAuth2 批准表';
DROP SEQUENCE IF EXISTS system_oauth2_approve_seq; DROP SEQUENCE IF EXISTS system_oauth2_client_seq;
CREATE SEQUENCE system_oauth2_approve_seq CREATE SEQUENCE system_oauth2_client_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -3031,9 +3036,9 @@ INSERT INTO system_oauth2_client (id, client_id, secret, name, logo, description
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_oauth2_client_seq; DROP SEQUENCE IF EXISTS system_oauth2_code_seq;
CREATE SEQUENCE system_oauth2_client_seq CREATE SEQUENCE system_oauth2_code_seq
START 43; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_oauth2_code -- Table structure for system_oauth2_code
@ -3078,8 +3083,8 @@ COMMENT ON COLUMN system_oauth2_code.deleted IS '是否删除';
COMMENT ON COLUMN system_oauth2_code.tenant_id IS '租户编号'; COMMENT ON COLUMN system_oauth2_code.tenant_id IS '租户编号';
COMMENT ON TABLE system_oauth2_code IS 'OAuth2 授权码表'; COMMENT ON TABLE system_oauth2_code IS 'OAuth2 授权码表';
DROP SEQUENCE IF EXISTS system_oauth2_code_seq; DROP SEQUENCE IF EXISTS system_oauth2_refresh_token_seq;
CREATE SEQUENCE system_oauth2_code_seq CREATE SEQUENCE system_oauth2_refresh_token_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -3121,8 +3126,8 @@ COMMENT ON COLUMN system_oauth2_refresh_token.deleted IS '是否删除';
COMMENT ON COLUMN system_oauth2_refresh_token.tenant_id IS '租户编号'; COMMENT ON COLUMN system_oauth2_refresh_token.tenant_id IS '租户编号';
COMMENT ON TABLE system_oauth2_refresh_token IS 'OAuth2 刷新令牌'; COMMENT ON TABLE system_oauth2_refresh_token IS 'OAuth2 刷新令牌';
DROP SEQUENCE IF EXISTS system_oauth2_refresh_token_seq; DROP SEQUENCE IF EXISTS system_operate_log_seq;
CREATE SEQUENCE system_oauth2_refresh_token_seq CREATE SEQUENCE system_operate_log_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -3178,8 +3183,8 @@ COMMENT ON COLUMN system_operate_log.deleted IS '是否删除';
COMMENT ON COLUMN system_operate_log.tenant_id IS '租户编号'; COMMENT ON COLUMN system_operate_log.tenant_id IS '租户编号';
COMMENT ON TABLE system_operate_log IS '操作日志记录 V2 版本'; COMMENT ON TABLE system_operate_log IS '操作日志记录 V2 版本';
DROP SEQUENCE IF EXISTS system_operate_log_seq; DROP SEQUENCE IF EXISTS system_post_seq;
CREATE SEQUENCE system_operate_log_seq CREATE SEQUENCE system_post_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -3231,9 +3236,9 @@ INSERT INTO system_post (id, code, name, sort, status, remark, creator, create_t
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_post_seq; DROP SEQUENCE IF EXISTS system_role_seq;
CREATE SEQUENCE system_post_seq CREATE SEQUENCE system_role_seq
START 6; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_role -- Table structure for system_role
@ -3294,9 +3299,9 @@ INSERT INTO system_role (id, name, code, sort, data_scope, data_scope_dept_ids,
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_role_seq; DROP SEQUENCE IF EXISTS system_role_menu_seq;
CREATE SEQUENCE system_role_seq CREATE SEQUENCE system_role_menu_seq
START 159; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_role_menu -- Table structure for system_role_menu
@ -4200,9 +4205,9 @@ INSERT INTO system_role_menu (id, role_id, menu_id, creator, create_time, update
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_role_menu_seq; DROP SEQUENCE IF EXISTS system_sms_channel_seq;
CREATE SEQUENCE system_role_menu_seq CREATE SEQUENCE system_sms_channel_seq
START 6139; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_sms_channel -- Table structure for system_sms_channel
@ -4254,9 +4259,9 @@ INSERT INTO system_sms_channel (id, signature, code, status, remark, api_key, ap
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_sms_channel_seq; DROP SEQUENCE IF EXISTS system_sms_code_seq;
CREATE SEQUENCE system_sms_channel_seq CREATE SEQUENCE system_sms_code_seq
START 8; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_sms_code -- Table structure for system_sms_code
@ -4303,8 +4308,8 @@ COMMENT ON COLUMN system_sms_code.deleted IS '是否删除';
COMMENT ON COLUMN system_sms_code.tenant_id IS '租户编号'; COMMENT ON COLUMN system_sms_code.tenant_id IS '租户编号';
COMMENT ON TABLE system_sms_code IS '手机验证码'; COMMENT ON TABLE system_sms_code IS '手机验证码';
DROP SEQUENCE IF EXISTS system_sms_code_seq; DROP SEQUENCE IF EXISTS system_sms_log_seq;
CREATE SEQUENCE system_sms_code_seq CREATE SEQUENCE system_sms_log_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -4374,8 +4379,8 @@ COMMENT ON COLUMN system_sms_log.update_time IS '更新时间';
COMMENT ON COLUMN system_sms_log.deleted IS '是否删除'; COMMENT ON COLUMN system_sms_log.deleted IS '是否删除';
COMMENT ON TABLE system_sms_log IS '短信日志'; COMMENT ON TABLE system_sms_log IS '短信日志';
DROP SEQUENCE IF EXISTS system_sms_log_seq; DROP SEQUENCE IF EXISTS system_sms_template_seq;
CREATE SEQUENCE system_sms_log_seq CREATE SEQUENCE system_sms_template_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -4446,9 +4451,9 @@ INSERT INTO system_sms_template (id, type, status, code, name, content, params,
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_sms_template_seq; DROP SEQUENCE IF EXISTS system_social_client_seq;
CREATE SEQUENCE system_sms_template_seq CREATE SEQUENCE system_social_client_seq
START 20; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_social_client -- Table structure for system_social_client
@ -4462,6 +4467,7 @@ CREATE TABLE system_social_client
user_type int2 NOT NULL, user_type int2 NOT NULL,
client_id varchar(255) NOT NULL, client_id varchar(255) NOT NULL,
client_secret varchar(255) NOT NULL, client_secret varchar(255) NOT NULL,
public_key varchar(255) NULL DEFAULT NULL,
agent_id varchar(255) NULL DEFAULT NULL, agent_id varchar(255) NULL DEFAULT NULL,
status int2 NOT NULL, status int2 NOT NULL,
creator varchar(64) NULL DEFAULT '', creator varchar(64) NULL DEFAULT '',
@ -4481,6 +4487,7 @@ COMMENT ON COLUMN system_social_client.social_type IS '社交平台的类型';
COMMENT ON COLUMN system_social_client.user_type IS '用户类型'; COMMENT ON COLUMN system_social_client.user_type IS '用户类型';
COMMENT ON COLUMN system_social_client.client_id IS '客户端编号'; COMMENT ON COLUMN system_social_client.client_id IS '客户端编号';
COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥'; COMMENT ON COLUMN system_social_client.client_secret IS '客户端密钥';
COMMENT ON COLUMN system_social_client.public_key IS 'publicKey 公钥';
COMMENT ON COLUMN system_social_client.agent_id IS '代理编号'; COMMENT ON COLUMN system_social_client.agent_id IS '代理编号';
COMMENT ON COLUMN system_social_client.status IS '状态'; COMMENT ON COLUMN system_social_client.status IS '状态';
COMMENT ON COLUMN system_social_client.creator IS '创建者'; COMMENT ON COLUMN system_social_client.creator IS '创建者';
@ -4504,9 +4511,9 @@ INSERT INTO system_social_client (id, name, social_type, user_type, client_id, c
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_social_client_seq; DROP SEQUENCE IF EXISTS system_social_user_seq;
CREATE SEQUENCE system_social_client_seq CREATE SEQUENCE system_social_user_seq
START 45; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_social_user -- Table structure for system_social_user
@ -4553,8 +4560,8 @@ COMMENT ON COLUMN system_social_user.deleted IS '是否删除';
COMMENT ON COLUMN system_social_user.tenant_id IS '租户编号'; COMMENT ON COLUMN system_social_user.tenant_id IS '租户编号';
COMMENT ON TABLE system_social_user IS '社交用户表'; COMMENT ON TABLE system_social_user IS '社交用户表';
DROP SEQUENCE IF EXISTS system_social_user_seq; DROP SEQUENCE IF EXISTS system_social_user_bind_seq;
CREATE SEQUENCE system_social_user_seq CREATE SEQUENCE system_social_user_bind_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -4592,8 +4599,8 @@ COMMENT ON COLUMN system_social_user_bind.deleted IS '是否删除';
COMMENT ON COLUMN system_social_user_bind.tenant_id IS '租户编号'; COMMENT ON COLUMN system_social_user_bind.tenant_id IS '租户编号';
COMMENT ON TABLE system_social_user_bind IS '社交绑定表'; COMMENT ON TABLE system_social_user_bind IS '社交绑定表';
DROP SEQUENCE IF EXISTS system_social_user_bind_seq; DROP SEQUENCE IF EXISTS system_tenant_seq;
CREATE SEQUENCE system_social_user_bind_seq CREATE SEQUENCE system_tenant_seq
START 1; START 1;
-- ---------------------------- -- ----------------------------
@ -4650,9 +4657,9 @@ INSERT INTO system_tenant (id, name, contact_user_id, contact_name, contact_mobi
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_tenant_seq; DROP SEQUENCE IF EXISTS system_tenant_package_seq;
CREATE SEQUENCE system_tenant_seq CREATE SEQUENCE system_tenant_package_seq
START 123; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_tenant_package -- Table structure for system_tenant_package
@ -4697,9 +4704,9 @@ INSERT INTO system_tenant_package (id, name, status, remark, menu_ids, creator,
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_tenant_package_seq; DROP SEQUENCE IF EXISTS system_user_post_seq;
CREATE SEQUENCE system_tenant_package_seq CREATE SEQUENCE system_user_post_seq
START 113; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_user_post -- Table structure for system_user_post
@ -4749,9 +4756,9 @@ INSERT INTO system_user_post (id, user_id, post_id, creator, create_time, update
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_user_post_seq; DROP SEQUENCE IF EXISTS system_user_role_seq;
CREATE SEQUENCE system_user_post_seq CREATE SEQUENCE system_user_role_seq
START 126; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_user_role -- Table structure for system_user_role
@ -4809,9 +4816,9 @@ INSERT INTO system_user_role (id, user_id, role_id, creator, create_time, update
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_user_role_seq; DROP SEQUENCE IF EXISTS system_users_seq;
CREATE SEQUENCE system_user_role_seq CREATE SEQUENCE system_users_seq
START 49; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for system_users -- Table structure for system_users
@ -4892,9 +4899,9 @@ INSERT INTO system_users (id, username, password, nickname, remark, dept_id, pos
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS system_users_seq; DROP SEQUENCE IF EXISTS yudao_demo01_contact_seq;
CREATE SEQUENCE system_users_seq CREATE SEQUENCE yudao_demo01_contact_seq
START 142; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for yudao_demo01_contact -- Table structure for yudao_demo01_contact
@ -4942,9 +4949,9 @@ INSERT INTO yudao_demo01_contact (id, name, sex, birthday, description, avatar,
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS yudao_demo01_contact_seq; DROP SEQUENCE IF EXISTS yudao_demo02_category_seq;
CREATE SEQUENCE yudao_demo01_contact_seq CREATE SEQUENCE yudao_demo02_category_seq
START 2; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for yudao_demo02_category -- Table structure for yudao_demo02_category
@ -4991,9 +4998,9 @@ INSERT INTO yudao_demo02_category (id, name, parent_id, creator, create_time, up
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS yudao_demo02_category_seq; DROP SEQUENCE IF EXISTS yudao_demo03_course_seq;
CREATE SEQUENCE yudao_demo02_category_seq CREATE SEQUENCE yudao_demo03_course_seq
START 7; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for yudao_demo03_course -- Table structure for yudao_demo03_course
@ -5053,9 +5060,9 @@ INSERT INTO yudao_demo03_course (id, student_id, name, score, creator, create_ti
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS yudao_demo03_course_seq; DROP SEQUENCE IF EXISTS yudao_demo03_grade_seq;
CREATE SEQUENCE yudao_demo03_course_seq CREATE SEQUENCE yudao_demo03_grade_seq
START 21; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for yudao_demo03_grade -- Table structure for yudao_demo03_grade
@ -5101,9 +5108,9 @@ INSERT INTO yudao_demo03_grade (id, student_id, name, teacher, creator, create_t
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS yudao_demo03_grade_seq; DROP SEQUENCE IF EXISTS yudao_demo03_student_seq;
CREATE SEQUENCE yudao_demo03_grade_seq CREATE SEQUENCE yudao_demo03_student_seq
START 10; START 1;
-- ---------------------------- -- ----------------------------
-- Table structure for yudao_demo03_student -- Table structure for yudao_demo03_student
@ -5151,7 +5158,3 @@ INSERT INTO yudao_demo03_student (id, name, sex, birthday, description, creator,
COMMIT; COMMIT;
-- @formatter:on -- @formatter:on
DROP SEQUENCE IF EXISTS yudao_demo03_student_seq;
CREATE SEQUENCE yudao_demo03_student_seq
START 10;

View File

@ -3299,6 +3299,8 @@ INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_t
GO GO
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, N'支付宝余额', N'6', N'brokerage_withdraw_type', 0, N'', N'', N'API 打款', N'1', N'2025-05-10 08:24:49', N'1', N'2025-05-10 08:24:49', N'0') INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3002, 6, N'支付宝余额', N'6', N'brokerage_withdraw_type', 0, N'', N'', N'API 打款', N'1', N'2025-05-10 08:24:49', N'1', N'2025-05-10 08:24:49', N'0')
GO GO
INSERT INTO system_dict_data (id, sort, label, value, dict_type, status, color_type, css_class, remark, creator, create_time, updater, update_time, deleted) VALUES (3035, 40, N'支付宝小程序', N'40', N'system_social_type', 0, N'', N'', N'', N'1', N'2023-11-04 13:05:38', N'1', N'2023-11-04 13:07:16', N'0')
GO
SET IDENTITY_INSERT system_dict_data OFF SET IDENTITY_INSERT system_dict_data OFF
GO GO
COMMIT COMMIT
@ -10433,7 +10435,8 @@ CREATE TABLE system_social_client
social_type tinyint NOT NULL, social_type tinyint NOT NULL,
user_type tinyint NOT NULL, user_type tinyint NOT NULL,
client_id nvarchar(255) NOT NULL, client_id nvarchar(255) NOT NULL,
client_secret nvarchar(255) NOT NULL, client_secret nvarchar(2048) NOT NULL,
public_key nvarchar(2048) DEFAULT NULL NULL,
agent_id nvarchar(255) DEFAULT NULL NULL, agent_id nvarchar(255) DEFAULT NULL NULL,
status tinyint NOT NULL, status tinyint NOT NULL,
creator nvarchar(64) DEFAULT '' NULL, creator nvarchar(64) DEFAULT '' NULL,
@ -10487,6 +10490,13 @@ EXEC sp_addextendedproperty
'COLUMN', N'client_secret' 'COLUMN', N'client_secret'
GO GO
EXEC sp_addextendedproperty
'MS_Description', N'publicKey公钥',
'SCHEMA', N'dbo',
'TABLE', N'system_social_client',
'COLUMN', N'public_key'
GO
EXEC sp_addextendedproperty EXEC sp_addextendedproperty
'MS_Description', N'代理编号', 'MS_Description', N'代理编号',
'SCHEMA', N'dbo', 'SCHEMA', N'dbo',

View File

@ -27,10 +27,10 @@ public class PageParam implements Serializable {
@Min(value = 1, message = "页码最小值为 1") @Min(value = 1, message = "页码最小值为 1")
private Integer pageNo = PAGE_NO; private Integer pageNo = PAGE_NO;
@Schema(description = "每页条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") @Schema(description = "每页条数,最大值为 200", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
@NotNull(message = "每页条数不能为空") @NotNull(message = "每页条数不能为空")
@Min(value = 1, message = "每页条数最小值为 1") @Min(value = 1, message = "每页条数最小值为 1")
@Max(value = 100, message = "每页条数最大值为 100") @Max(value = 200, message = "每页条数最大值为 200")
private Integer pageSize = PAGE_SIZE; private Integer pageSize = PAGE_SIZE;
} }

View File

@ -14,6 +14,7 @@ import org.springframework.web.util.UriComponentsBuilder;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.net.URI; import java.net.URI;
import java.net.URLDecoder;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
@ -37,6 +38,16 @@ public class HttpUtils {
return URLEncoder.encode(value, StandardCharsets.UTF_8.name()); return URLEncoder.encode(value, StandardCharsets.UTF_8.name());
} }
/**
* URL
*
* @param value
* @return
*/
public static String decodeUtf8(String value) {
return URLDecoder.decode(value, StandardCharsets.UTF_8);
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static String replaceUrlQuery(String url, String key, String value) { public static String replaceUrlQuery(String url, String key, String value) {
UrlBuilder builder = UrlBuilder.of(url, Charset.defaultCharset()); UrlBuilder builder = UrlBuilder.of(url, Charset.defaultCharset());

View File

@ -23,16 +23,18 @@ public class TimestampLocalDateTimeSerializer extends JsonSerializer<LocalDateTi
@Override @Override
public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider serializers) throws IOException { public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
String fieldName = gen.getOutputContext().getCurrentName();
Class<?> clazz = gen.getOutputContext().getCurrentValue().getClass();
Field field = ReflectUtil.getField(clazz, fieldName);
// 情况一:有 JsonFormat 自定义注解则使用它。https://github.com/YunaiV/ruoyi-vue-pro/pull/1019 // 情况一:有 JsonFormat 自定义注解则使用它。https://github.com/YunaiV/ruoyi-vue-pro/pull/1019
JsonFormat[] jsonFormats = field.getAnnotationsByType(JsonFormat.class); String fieldName = gen.getOutputContext().getCurrentName();
if (jsonFormats.length > 0) { if (fieldName != null) {
String pattern = jsonFormats[0].pattern(); Class<?> clazz = gen.getOutputContext().getCurrentValue().getClass();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); Field field = ReflectUtil.getField(clazz, fieldName);
gen.writeString(formatter.format(value)); JsonFormat[] jsonFormats = field.getAnnotationsByType(JsonFormat.class);
return; if (jsonFormats.length > 0) {
String pattern = jsonFormats[0].pattern();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
gen.writeString(formatter.format(value));
return;
}
} }
// 情况二:默认将 LocalDateTime 对象,转换为 Long 时间戳 // 情况二:默认将 LocalDateTime 对象,转换为 Long 时间戳

View File

@ -34,7 +34,9 @@ import javax.servlet.Filter;
import java.util.Map; import java.util.Map;
import java.util.function.Predicate; import java.util.function.Predicate;
@AutoConfiguration @AutoConfiguration(beforeName = {
"com.fhs.trans.config.TransServiceConfig" // cloud 独有避免一键改包后RestTemplate 初始化的冲突。可见 https://t.zsxq.com/T4yj7 帖子
})
@EnableConfigurationProperties(WebProperties.class) @EnableConfigurationProperties(WebProperties.class)
public class YudaoWebAutoConfiguration { public class YudaoWebAutoConfiguration {

View File

@ -922,16 +922,12 @@ public class BpmTaskServiceImpl implements BpmTaskService {
List<UserTask> returnUserTaskList = BpmnModelUtils.iteratorFindChildUserTasks(targetElement, runTaskKeyList, null, null); List<UserTask> returnUserTaskList = BpmnModelUtils.iteratorFindChildUserTasks(targetElement, runTaskKeyList, null, null);
List<String> returnTaskKeyList = convertList(returnUserTaskList, UserTask::getId); List<String> returnTaskKeyList = convertList(returnUserTaskList, UserTask::getId);
List<String> runExecutionIds = new ArrayList<>();
// 2. 给当前要被退回的 task 数组,设置退回意见 // 2. 给当前要被退回的 task 数组,设置退回意见
taskList.forEach(task -> { taskList.forEach(task -> {
// 需要排除掉,不需要设置退回意见的任务 // 需要排除掉,不需要设置退回意见的任务
if (!returnTaskKeyList.contains(task.getTaskDefinitionKey())) { if (!returnTaskKeyList.contains(task.getTaskDefinitionKey())) {
return; return;
} }
if (task.getExecutionId() != null) {
runExecutionIds.add(task.getExecutionId());
}
// 判断是否分配给自己任务,因为会签任务,一个节点会有多个任务 // 判断是否分配给自己任务,因为会签任务,一个节点会有多个任务
if (isAssignUserTask(userId, task)) { // 情况一:自己的任务,进行 RETURN 标记 if (isAssignUserTask(userId, task)) { // 情况一:自己的任务,进行 RETURN 标记
@ -955,7 +951,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
// 相关 issuehttps://github.com/YunaiV/ruoyi-vue-pro/issues/1018 // 相关 issuehttps://github.com/YunaiV/ruoyi-vue-pro/issues/1018
runtimeService.createChangeActivityStateBuilder() runtimeService.createChangeActivityStateBuilder()
.processInstanceId(currentTask.getProcessInstanceId()) .processInstanceId(currentTask.getProcessInstanceId())
.moveActivityIdsToSingleActivityId(runExecutionIds, reqVO.getTargetTaskDefinitionKey()) .moveActivityIdsToSingleActivityId(returnTaskKeyList, reqVO.getTargetTaskDefinitionKey())
// 设置需要预测的任务 ids 的流程变量,用于辅助预测 // 设置需要预测的任务 ids 的流程变量,用于辅助预测
.processVariable(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_NEED_SIMULATE_TASK_IDS, needSimulateTaskDefinitionKeys) .processVariable(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_NEED_SIMULATE_TASK_IDS, needSimulateTaskDefinitionKeys)
// 设置流程变量local节点退回标记, 用于退回到节点,不执行 BpmUserTaskAssignStartUserHandlerTypeEnum 策略,导致自动通过 // 设置流程变量local节点退回标记, 用于退回到节点,不执行 BpmUserTaskAssignStartUserHandlerTypeEnum 策略,导致自动通过
@ -1467,7 +1463,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
return; return;
} }
// 自动去重,通过自动审批的方式 TODO @芋艿 驳回的情况得考虑一下;@lesan驳回后又自动审批么 // 自动去重,通过自动审批的方式
BpmProcessDefinitionInfoDO processDefinitionInfo = bpmProcessDefinitionService.getProcessDefinitionInfo(task.getProcessDefinitionId()); BpmProcessDefinitionInfoDO processDefinitionInfo = bpmProcessDefinitionService.getProcessDefinitionInfo(task.getProcessDefinitionId());
if (processDefinitionInfo == null) { if (processDefinitionInfo == null) {
log.error("[processTaskAssigned][taskId({}) 没有找到流程定义({})]", task.getId(), task.getProcessDefinitionId()); log.error("[processTaskAssigned][taskId({}) 没有找到流程定义({})]", task.getId(), task.getProcessDefinitionId());

View File

@ -47,7 +47,9 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
config.setDomain(buildDomain()); config.setDomain(buildDomain());
} }
// 初始化 S3 客户端 // 初始化 S3 客户端
Region region = Region.of("us-east-1"); // 必须填,但填什么都行,常见的值有 "us-east-1",不填会报错 // 优先级:配置的 region > 从 endpoint 解析的 region > 默认值 us-east-1
String regionStr = resolveRegion();
Region region = Region.of(regionStr);
AwsCredentialsProvider credentialsProvider = StaticCredentialsProvider.create( AwsCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(
AwsBasicCredentials.create(config.getAccessKey(), config.getAccessSecret())); AwsBasicCredentials.create(config.getAccessKey(), config.getAccessSecret()));
URI endpoint = URI.create(buildEndpoint()); URI endpoint = URI.create(buildEndpoint());
@ -105,8 +107,8 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
@Override @Override
public String presignPutUrl(String path) { public String presignPutUrl(String path) {
return presigner.presignPutObject(PutObjectPresignRequest.builder() return presigner.presignPutObject(PutObjectPresignRequest.builder()
.signatureDuration(EXPIRATION_DEFAULT) .signatureDuration(EXPIRATION_DEFAULT)
.putObjectRequest(b -> b.bucket(config.getBucket()).key(path)).build()) .putObjectRequest(b -> b.bucket(config.getBucket()).key(path)).build())
.url().toString(); .url().toString();
} }
@ -114,7 +116,7 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
public String presignGetUrl(String url, Integer expirationSeconds) { public String presignGetUrl(String url, Integer expirationSeconds) {
// 1. 将 url 转换为 path // 1. 将 url 转换为 path
String path = StrUtil.removePrefix(url, config.getDomain() + "/"); String path = StrUtil.removePrefix(url, config.getDomain() + "/");
path = HttpUtils.removeUrlQuery(path); path = HttpUtils.decodeUtf8(HttpUtils.removeUrlQuery(path));
// 2.1 情况一:公开访问:无需签名 // 2.1 情况一:公开访问:无需签名
// 考虑到老版本的兼容,所以必须是 config.getEnablePublicAccess() 为 false 时,才进行签名 // 考虑到老版本的兼容,所以必须是 config.getEnablePublicAccess() 为 false 时,才进行签名
@ -126,8 +128,8 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
String finalPath = path; String finalPath = path;
Duration expiration = expirationSeconds != null ? Duration.ofSeconds(expirationSeconds) : EXPIRATION_DEFAULT; Duration expiration = expirationSeconds != null ? Duration.ofSeconds(expirationSeconds) : EXPIRATION_DEFAULT;
URL signedUrl = presigner.presignGetObject(GetObjectPresignRequest.builder() URL signedUrl = presigner.presignGetObject(GetObjectPresignRequest.builder()
.signatureDuration(expiration) .signatureDuration(expiration)
.getObjectRequest(b -> b.bucket(config.getBucket()).key(finalPath)).build()) .getObjectRequest(b -> b.bucket(config.getBucket()).key(finalPath)).build())
.url(); .url();
return signedUrl.toString(); return signedUrl.toString();
} }
@ -159,4 +161,73 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> {
return StrUtil.format("https://{}", config.getEndpoint()); return StrUtil.format("https://{}", config.getEndpoint());
} }
/**
* AWS
* region > endpoint region > us-east-1
*
* @return
*/
private String resolveRegion() {
// 1. 如果配置了 region直接使用
if (StrUtil.isNotEmpty(config.getRegion())) {
return config.getRegion();
}
// 2.1 尝试从 endpoint 中解析 region
String endpoint = config.getEndpoint();
if (StrUtil.isEmpty(endpoint)) {
return "us-east-1";
}
// 2.2 移除协议头http:// 或 https://
String host = endpoint;
if (HttpUtil.isHttp(endpoint) || HttpUtil.isHttps(endpoint)) {
try {
host = URI.create(endpoint).getHost();
} catch (Exception e) {
// 解析失败,使用默认值
return "us-east-1";
}
}
if (StrUtil.isEmpty(host)) {
return "us-east-1";
}
// 3.1 AWS S3 格式s3.us-west-2.amazonaws.com 或 s3.amazonaws.com
if (host.contains("amazonaws.com")) {
// 匹配 s3.{region}.amazonaws.com 格式
if (host.startsWith("s3.") && host.contains(".amazonaws.com")) {
String regionPart = host.substring(3, host.indexOf(".amazonaws.com"));
if (StrUtil.isNotEmpty(regionPart) && !regionPart.equals("accelerate")) {
return regionPart;
}
}
// s3.amazonaws.com 或 s3-accelerate.amazonaws.com 使用默认值
return "us-east-1";
}
// 3.2 阿里云 OSS 格式oss-cn-beijing.aliyuncs.com
if (host.contains(S3FileClientConfig.ENDPOINT_ALIYUN)) {
// 匹配 oss-{region}.aliyuncs.com 格式
if (host.startsWith("oss-") && host.contains("." + S3FileClientConfig.ENDPOINT_ALIYUN)) {
String regionPart = host.substring(4, host.indexOf("." + S3FileClientConfig.ENDPOINT_ALIYUN));
if (StrUtil.isNotEmpty(regionPart)) {
return regionPart;
}
}
}
// 3.3 腾讯云 COS 格式cos.ap-shanghai.myqcloud.com
if (host.contains(S3FileClientConfig.ENDPOINT_TENCENT)) {
// 匹配 cos.{region}.myqcloud.com 格式
if (host.startsWith("cos.") && host.contains("." + S3FileClientConfig.ENDPOINT_TENCENT)) {
String regionPart = host.substring(4, host.indexOf("." + S3FileClientConfig.ENDPOINT_TENCENT));
if (StrUtil.isNotEmpty(regionPart)) {
return regionPart;
}
}
}
// 3.4 其他情况MinIO、七牛云等使用默认值
return "us-east-1";
}
} }

View File

@ -82,6 +82,18 @@ public class S3FileClientConfig implements FileClientConfig {
@NotNull(message = "是否公开访问不能为空") @NotNull(message = "是否公开访问不能为空")
private Boolean enablePublicAccess; private Boolean enablePublicAccess;
/**
*
* 1. AWS S3https://docs.aws.amazon.com/general/latest/gr/s3.html 例如说us-east-1、us-west-2
* 2. MinIO使 us-east-1
* 3.
* 4.
* 5.
* 6.
* 7.
*/
private String region;
@SuppressWarnings("RedundantIfStatement") @SuppressWarnings("RedundantIfStatement")
@AssertTrue(message = "domain 不能为空") @AssertTrue(message = "domain 不能为空")
@JsonIgnore @JsonIgnore

View File

@ -28,7 +28,7 @@ public class KeFuMessageListReqVO {
@Schema(description = "每次查询条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") @Schema(description = "每次查询条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
@NotNull(message = "每次查询条数不能为空") @NotNull(message = "每次查询条数不能为空")
@Min(value = 1, message = "每次查询条数最小值为 1") @Min(value = 1, message = "每次查询条数最小值为 1")
@Max(value = 100, message = "每次查询最大值为 100") @Max(value = 200, message = "每次查询最大值为 200")
private Integer limit = LIMIT; private Integer limit = LIMIT;
} }

View File

@ -27,7 +27,7 @@ public class AppKeFuMessagePageReqVO {
@Schema(description = "每次查询条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") @Schema(description = "每次查询条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
@NotNull(message = "每次查询条数不能为空") @NotNull(message = "每次查询条数不能为空")
@Min(value = 1, message = "每次查询条数最小值为 1") @Min(value = 1, message = "每次查询条数最小值为 1")
@Max(value = 100, message = "每次查询最大值为 100") @Max(value = 200, message = "每次查询最大值为 200")
private Integer limit = LIMIT; private Integer limit = LIMIT;
} }

View File

@ -53,6 +53,12 @@ public enum SocialTypeEnum implements ArrayValuable<Integer> {
* @see <a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html"></a> * @see <a href="https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html"></a>
*/ */
WECHAT_MINI_PROGRAM(34, "WECHAT_MINI_PROGRAM"), WECHAT_MINI_PROGRAM(34, "WECHAT_MINI_PROGRAM"),
/**
*
*
* @see <a href="https://opendocs.alipay.com/mini/05dxgc?pathHash=1a3ecb13"></a>
*/
ALIPAY_MINI_PROGRAM(40, "ALIPAY"),
; ;
public static final Integer[] ARRAYS = Arrays.stream(values()).map(SocialTypeEnum::getType).toArray(Integer[]::new); public static final Integer[] ARRAYS = Arrays.stream(values()).map(SocialTypeEnum::getType).toArray(Integer[]::new);

View File

@ -27,9 +27,12 @@ public class SocialClientRespVO {
@Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "peter") @Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "peter")
private String clientSecret; private String clientSecret;
@Schema(description = "授权方的网页应用编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2000045") @Schema(description = "授权方的网页应用编号", example = "2000045")
private String agentId; private String agentId;
@Schema(description = "publicKey 公钥", example = "2000045")
private String publicKey;
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Integer status; private Integer status;

View File

@ -45,6 +45,9 @@ public class SocialClientSaveReqVO {
@Schema(description = "授权方的网页应用编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2000045") @Schema(description = "授权方的网页应用编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2000045")
private String agentId; private String agentId;
@Schema(description = "publicKey 公钥", example = "2000045")
private String publicKey;
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "状态不能为空") @NotNull(message = "状态不能为空")
@InEnum(CommonStatusEnum.class) @InEnum(CommonStatusEnum.class)
@ -58,4 +61,12 @@ public class SocialClientSaveReqVO {
|| !StrUtil.isEmpty(agentId); || !StrUtil.isEmpty(agentId);
} }
@AssertTrue(message = "publicKey 不能为空")
@JsonIgnore
public boolean isPublicKeyValid() {
// 如果是支付宝,必须填写 publicKey 属性
return !Objects.equals(socialType, SocialTypeEnum.ALIPAY_MINI_PROGRAM.getType())
|| !StrUtil.isEmpty(publicKey);
}
} }

View File

@ -73,4 +73,12 @@ public class SocialClientDO extends TenantBaseDO {
*/ */
private String agentId; private String agentId;
/**
* publicKey
*
* 使
* 1.
*/
private String publicKey;
} }

View File

@ -50,6 +50,7 @@ import me.zhyd.oauth.config.AuthConfig;
import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthCallback;
import me.zhyd.oauth.model.AuthResponse; import me.zhyd.oauth.model.AuthResponse;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import me.zhyd.oauth.request.AuthAlipayRequest;
import me.zhyd.oauth.request.AuthRequest; import me.zhyd.oauth.request.AuthRequest;
import me.zhyd.oauth.utils.AuthStateUtils; import me.zhyd.oauth.utils.AuthStateUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -168,7 +169,7 @@ public class SocialClientServiceImpl implements SocialClientService {
public AuthUser getAuthUser(Integer socialType, Integer userType, String code, String state) { public AuthUser getAuthUser(Integer socialType, Integer userType, String code, String state) {
// 构建请求 // 构建请求
AuthRequest authRequest = buildAuthRequest(socialType, userType); AuthRequest authRequest = buildAuthRequest(socialType, userType);
AuthCallback authCallback = AuthCallback.builder().code(code).state(state).build(); AuthCallback authCallback = AuthCallback.builder().code(code).auth_code(code).state(state).build();
// 执行请求 // 执行请求
AuthResponse<?> authResponse = authRequest.login(authCallback); AuthResponse<?> authResponse = authRequest.login(authCallback);
log.info("[getAuthUser][请求社交平台 type({}) request({}) response({})]", socialType, log.info("[getAuthUser][请求社交平台 type({}) request({}) response({})]", socialType,
@ -205,6 +206,10 @@ public class SocialClientServiceImpl implements SocialClientService {
newAuthConfig.setAgentId(client.getAgentId()); newAuthConfig.setAgentId(client.getAgentId());
} }
// 2.3 设置会 request 里,进行后续使用 // 2.3 设置会 request 里,进行后续使用
if (SocialTypeEnum.ALIPAY_MINI_PROGRAM.getType().equals(socialType)) {
// 特殊:如果是支付宝的小程序,多了 publicKey 属性,可见 AuthConfig 里的 alipayPublicKey 字段说明
return new AuthAlipayRequest(newAuthConfig, client.getPublicKey());
}
ReflectUtil.setFieldValue(request, "config", newAuthConfig); ReflectUtil.setFieldValue(request, "config", newAuthConfig);
} }
return request; return request;

View File

@ -180,6 +180,12 @@ justauth:
client-id: ${wx.mp.app-id} client-id: ${wx.mp.app-id}
client-secret: ${wx.mp.secret} client-secret: ${wx.mp.secret}
ignore-check-redirect-uri: true ignore-check-redirect-uri: true
ALIPAY: # 支付宝小程序
client-id: xx
client-secret: xx
alipay-public-key: xx
ignore-check-redirect-uri: true
ignore-check-state: true
cache: cache:
type: REDIS type: REDIS
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE:: prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::

View File

@ -209,6 +209,12 @@ justauth:
client-id: ${wx.mp.app-id} client-id: ${wx.mp.app-id}
client-secret: ${wx.mp.secret} client-secret: ${wx.mp.secret}
ignore-check-redirect-uri: true ignore-check-redirect-uri: true
ALIPAY: # 支付宝小程序
client-id: xx
client-secret: xx
alipay-public-key: xx
ignore-check-redirect-uri: true
ignore-check-state: true
cache: cache:
type: REDIS type: REDIS
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE:: prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::

View File

@ -339,6 +339,7 @@ CREATE TABLE IF NOT EXISTS "system_social_client" (
"user_type" int NOT NULL, "user_type" int NOT NULL,
"client_id" varchar(255) NOT NULL, "client_id" varchar(255) NOT NULL,
"client_secret" varchar(255) NOT NULL, "client_secret" varchar(255) NOT NULL,
"public_key" varchar(2048) NOT NULL,
"agent_id" varchar(255) NOT NULL, "agent_id" varchar(255) NOT NULL,
"status" int NOT NULL, "status" int NOT NULL,
"creator" varchar(64) DEFAULT '', "creator" varchar(64) DEFAULT '',

View File

@ -175,6 +175,12 @@ justauth:
client-id: ${wx.mp.app-id} client-id: ${wx.mp.app-id}
client-secret: ${wx.mp.secret} client-secret: ${wx.mp.secret}
ignore-check-redirect-uri: true ignore-check-redirect-uri: true
ALIPAY: # 支付宝小程序
client-id: xx
client-secret: xx
alipay-public-key: xx
ignore-check-redirect-uri: true
ignore-check-state: true
cache: cache:
type: REDIS type: REDIS
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE:: prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::

View File

@ -237,6 +237,12 @@ justauth:
client-id: ${wx.mp.app-id} client-id: ${wx.mp.app-id}
client-secret: ${wx.mp.secret} client-secret: ${wx.mp.secret}
ignore-check-redirect-uri: true ignore-check-redirect-uri: true
ALIPAY: # 支付宝小程序
client-id: xx
client-secret: xx
alipay-public-key: xx
ignore-check-redirect-uri: true
ignore-check-state: true
cache: cache:
type: REDIS type: REDIS
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE:: prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::