mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-20 05:00:12 +08:00
refactor(open): 重构及优化应用管理代码
This commit is contained in:
@@ -20,27 +20,27 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.enums.ParameterIn;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import top.continew.admin.open.model.resp.AppSecretGetResp;
|
||||
import top.continew.starter.extension.crud.enums.Api;
|
||||
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import top.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.continew.starter.extension.crud.controller.BaseController;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PatchMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import top.continew.admin.open.model.query.AppQuery;
|
||||
import top.continew.admin.open.model.req.AppReq;
|
||||
import top.continew.admin.open.model.resp.AppDetailResp;
|
||||
import top.continew.admin.open.model.resp.AppResp;
|
||||
import top.continew.admin.open.model.resp.AppSecretResp;
|
||||
import top.continew.admin.open.service.AppService;
|
||||
import top.continew.starter.extension.crud.model.resp.BaseIdResp;
|
||||
import top.continew.starter.extension.crud.annotation.CrudRequestMapping;
|
||||
import top.continew.starter.extension.crud.controller.BaseController;
|
||||
import top.continew.starter.extension.crud.enums.Api;
|
||||
|
||||
/**
|
||||
* 应用管理 API
|
||||
*
|
||||
* @author chengzi
|
||||
* @author Charles7c
|
||||
* @since 2024/10/17 16:03
|
||||
*/
|
||||
@Tag(name = "应用管理 API")
|
||||
@@ -49,31 +49,19 @@ import top.continew.starter.extension.crud.model.resp.BaseIdResp;
|
||||
@CrudRequestMapping(value = "/open/app", api = {Api.PAGE, Api.DETAIL, Api.ADD, Api.UPDATE, Api.DELETE, Api.EXPORT})
|
||||
public class AppController extends BaseController<AppService, AppResp, AppDetailResp, AppQuery, AppReq> {
|
||||
|
||||
private final AppService appService;
|
||||
private final static String APP_DISABLED_KEY = "0";
|
||||
|
||||
@Operation(summary = "刷新应用密码", description = "刷新应用密码")
|
||||
@Parameter(name = "id", description = "ID", example = "test", in = ParameterIn.PATH)
|
||||
@SaCheckPermission("open:app:refreshas")
|
||||
@GetMapping(value = "/{id}/refreshas")
|
||||
public void refreshAppSecret(@PathVariable Long id) {
|
||||
appService.refreshAppSecretByID(id);
|
||||
@Operation(summary = "获取密钥", description = "获取应用密钥")
|
||||
@Parameter(name = "id", description = "ID", example = "1", in = ParameterIn.PATH)
|
||||
@SaCheckPermission("open:app:secret")
|
||||
@GetMapping("/{id}/secret")
|
||||
public AppSecretResp getSecret(@PathVariable Long id) {
|
||||
return baseService.getSecret(id);
|
||||
}
|
||||
|
||||
@Operation(summary = "获取应用密码", description = "获取应用密码")
|
||||
@Parameter(name = "appKey", description = "应用密钥", example = "test", in = ParameterIn.PATH)
|
||||
@SaCheckPermission("open:app:getas")
|
||||
@GetMapping("/{id}/appsecret")
|
||||
public AppSecretGetResp getAppSecret(@PathVariable Long id) {
|
||||
return appService.getAppSecretById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseIdResp<Long> add(AppReq req) {
|
||||
BaseIdResp<Long> baseIdResp = super.add(req);
|
||||
Long appId = baseIdResp.getId();
|
||||
appService.refreshAppSecretByID(appId);
|
||||
appService.resetAppSecretStatusById(appId, APP_DISABLED_KEY);
|
||||
return baseIdResp;
|
||||
@Operation(summary = "重置密钥", description = "重置应用密钥")
|
||||
@Parameter(name = "id", description = "ID", example = "1", in = ParameterIn.PATH)
|
||||
@SaCheckPermission("open:app:resetSecret")
|
||||
@PatchMapping("/{id}/secret")
|
||||
public void resetSecret(@PathVariable Long id) {
|
||||
baseService.resetSecret(id);
|
||||
}
|
||||
}
|
@@ -7,8 +7,8 @@ databaseChangeLog:
|
||||
file: db/changelog/mysql/main_data.sql
|
||||
- include:
|
||||
file: db/changelog/mysql/plugin/plugin_schedule.sql
|
||||
# - include:
|
||||
# file: db/changelog/mysql/plugin/plugin_open.sql
|
||||
- include:
|
||||
file: db/changelog/mysql/plugin/plugin_open.sql
|
||||
- include:
|
||||
file: db/changelog/mysql/plugin/plugin_generator.sql
|
||||
# PostgreSQL
|
||||
|
@@ -4,19 +4,19 @@
|
||||
-- comment 初始化能力开放插件
|
||||
-- 初始化表结构
|
||||
CREATE TABLE IF NOT EXISTS `sys_app` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||||
`name` varchar(255) DEFAULT NULL COMMENT '应用名称',
|
||||
`app_key` varchar(255) DEFAULT NULL COMMENT '应用密钥',
|
||||
`app_secret` varchar(255) DEFAULT NULL COMMENT '应用密码',
|
||||
`status` varchar(255) DEFAULT NULL COMMENT '应用状态 (0: 未激活;1: 激活)',
|
||||
`expiration_time` datetime DEFAULT NULL COMMENT '失效时间',
|
||||
`app_desc` varchar(255) DEFAULT NULL COMMENT '应用描述',
|
||||
`secret_status` varchar(255) DEFAULT NULL COMMENT '应用密码查看状态 (0: 未查看;1: 已查看)',
|
||||
`create_user` bigint(20) NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||||
`name` varchar(100) NOT NULL COMMENT '名称',
|
||||
`access_key` varchar(255) NOT NULL COMMENT 'Access Key(访问密钥)',
|
||||
`secret_key` varchar(255) NOT NULL COMMENT 'Secret Key(私有密钥)',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '失效时间',
|
||||
`description` varchar(200) DEFAULT NULL COMMENT '描述',
|
||||
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
|
||||
`create_user` bigint(20) NOT NULL COMMENT '创建人',
|
||||
`create_time` datetime NOT NULL COMMENT '创建时间',
|
||||
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `uk_access_key`(`access_key`),
|
||||
INDEX `idx_create_user`(`create_user`),
|
||||
INDEX `idx_update_user`(`update_user`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用表';
|
||||
@@ -32,5 +32,6 @@ VALUES
|
||||
(7013, '新增', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:add', 3, 1, 1, NOW(), NULL, NULL),
|
||||
(7014, '修改', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:update', 4, 1, 1, NOW(), NULL, NULL),
|
||||
(7015, '删除', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:delete', 5, 1, 1, NOW(), NULL, NULL),
|
||||
(7016, '导出', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:export', 6, 1, 1, NOW(), NULL, NULL);
|
||||
|
||||
(7016, '导出', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:export', 6, 1, 1, NOW(), NULL, NULL),
|
||||
(7017, '查看密钥', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:secret', 7, 1, 1, NOW(), NULL, NULL),
|
||||
(7018, '重置密钥', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:resetSecret', 8, 1, 1, NOW(), NULL, NULL);
|
||||
|
@@ -4,30 +4,29 @@
|
||||
-- comment 初始化能力开放插件
|
||||
-- 初始化表结构
|
||||
CREATE TABLE IF NOT EXISTS "sys_app" (
|
||||
"id" int8 DEFAULT NULL,
|
||||
"name" varchar(255) DEFAULT NULL,
|
||||
"app_key" varchar(255) DEFAULT NULL,
|
||||
"app_secret" varchar(255) DEFAULT NULL,
|
||||
"status" varchar(255) DEFAULT NULL,
|
||||
"expiration_time" timestamp DEFAULT NULL,
|
||||
"app_desc" varchar(255) DEFAULT NULL,
|
||||
"secret_status" varchar(255) DEFAULT NULL,
|
||||
"create_user" int8 NOT NULL,
|
||||
"create_time" timestamp NOT NULL,
|
||||
"update_user" int8 NOT NULL,
|
||||
"update_time" timestamp NOT NULL,
|
||||
"id" int8 NOT NULL,
|
||||
"name" varchar(100) NOT NULL,
|
||||
"access_key" varchar(255) NOT NULL,
|
||||
"secret_key" varchar(255) NOT NULL,
|
||||
"expire_time" timestamp DEFAULT NULL,
|
||||
"description" varchar(200) DEFAULT NULL,
|
||||
"status" int2 NOT NULL DEFAULT 1,
|
||||
"create_user" int8 NOT NULL,
|
||||
"create_time" timestamp NOT NULL,
|
||||
"update_user" int8 DEFAULT NULL,
|
||||
"update_time" timestamp DEFAULT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
CREATE UNIQUE INDEX "uk_app_access_key" ON "sys_app" ("access_key");
|
||||
CREATE INDEX "idx_app_create_user" ON "sys_app" ("create_user");
|
||||
CREATE INDEX "idx_app_update_user" ON "sys_app" ("update_user");
|
||||
COMMENT ON COLUMN "sys_app"."id" IS 'ID';
|
||||
COMMENT ON COLUMN "sys_app"."name" IS '名称';
|
||||
COMMENT ON COLUMN "sys_app"."app_key" IS '应用密钥';
|
||||
COMMENT ON COLUMN "sys_app"."app_secret" IS '应用密码';
|
||||
COMMENT ON COLUMN "sys_app"."status" IS '应用状态 (0: 未激活;1: 激活)';
|
||||
COMMENT ON COLUMN "sys_app"."expiration_time" IS '失效时间';
|
||||
COMMENT ON COLUMN "sys_app"."app_desc" IS '应用描述';
|
||||
COMMENT ON COLUMN "sys_app"."secret_status" IS '应用密码查看状态 (0: 未查看;1: 已查看)';
|
||||
COMMENT ON COLUMN "sys_app"."access_key" IS 'Access Key(访问密钥)';
|
||||
COMMENT ON COLUMN "sys_app"."secret_key" IS 'Secret Key(私有密钥)';
|
||||
COMMENT ON COLUMN "sys_app"."expire_time" IS '失效时间';
|
||||
COMMENT ON COLUMN "sys_app"."description" IS '描述';
|
||||
COMMENT ON COLUMN "sys_app"."status" IS '状态(1:启用;2:禁用)';
|
||||
COMMENT ON COLUMN "sys_app"."create_user" IS '创建人';
|
||||
COMMENT ON COLUMN "sys_app"."create_time" IS '创建时间';
|
||||
COMMENT ON COLUMN "sys_app"."update_user" IS '修改人';
|
||||
@@ -45,5 +44,6 @@ VALUES
|
||||
(7013, '新增', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:add', 3, 1, 1, NOW(), NULL, NULL),
|
||||
(7014, '修改', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:update', 4, 1, 1, NOW(), NULL, NULL),
|
||||
(7015, '删除', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:delete', 5, 1, 1, NOW(), NULL, NULL),
|
||||
(7016, '导出', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:export', 6, 1, 1, NOW(), NULL, NULL);
|
||||
|
||||
(7016, '导出', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:export', 6, 1, 1, NOW(), NULL, NULL),
|
||||
(7017, '查看密钥', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:secret', 7, 1, 1, NOW(), NULL, NULL),
|
||||
(7018, '重置密钥', 7010, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'open:app:resetSecret', 8, 1, 1, NOW(), NULL, NULL);
|
||||
|
Reference in New Issue
Block a user