From cee97cf13e91ddd87a6a55dccecc2397f408fa91 Mon Sep 17 00:00:00 2001 From: chenchuchuan <13554600537@163.com> Date: Mon, 12 Oct 2026 10:53:48 +0800 Subject: [PATCH] =?UTF-8?q?feat(openapi):=20=E6=8E=A5=E5=85=A5=20OpenAPI?= =?UTF-8?q?=20=E7=94=A8=E6=88=B7=E6=9F=A5=E8=AF=A2=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=8F=8A=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 common-openapi 配置块,包含 urlPrefix、operationEnabled、tokenSigningKey、tokenExpiration - 新增 TenantOpenApiUserServiceImpl 实现类,按登录名查询用户信息 - mybatis-plus mapper-locations 增加 openapi 模块 Mapper 路径 - 新增导入导出异步任务相关配置项(阈值、保留时间等) --- .../service/TenantOpenApiUserServiceImpl.java | 41 ++++++++++++++++++++++ .../src/main/resources/tenant-admin-dev.yml | 18 ++++++++-- 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/openapi/service/TenantOpenApiUserServiceImpl.java diff --git a/application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/openapi/service/TenantOpenApiUserServiceImpl.java b/application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/openapi/service/TenantOpenApiUserServiceImpl.java new file mode 100644 index 0000000..5e04984 --- /dev/null +++ b/application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/openapi/service/TenantOpenApiUserServiceImpl.java @@ -0,0 +1,41 @@ +package apelet.tenantadmin.openapi.service; + +import apelet.common.core.constant.ErrorCodeEnum; +import apelet.common.core.object.ResponseResult; +import apelet.common.openapi.dto.OpenApiUserInfo; +import apelet.common.openapi.service.OpenApiUserService; +import apelet.tenantadmin.upms.model.SysUser; +import apelet.tenantadmin.upms.service.SysUserService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * OpenAPI 调用用户查询实现:按登录名查 xy_sys_user(tenant-admin 接入方)。 + * + * @author chenchuchuan + * @date 2026-09-02 + */ +@Slf4j +@Service("tenantOpenApiUserService") +public class TenantOpenApiUserServiceImpl implements OpenApiUserService { + + @Autowired + private SysUserService sysUserService; + + @Override + public ResponseResult getByLoginName(String loginName, Long tenantId) { + // 复用 upms 原有按登录名查用户接口(与平台登录链路同一查询),不在此处另写条件 + SysUser user = sysUserService.getSysUserByLoginName(loginName); + if (user == null) { + return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, "用户不存在!"); + } + OpenApiUserInfo info = new OpenApiUserInfo(); + info.setUserId(user.getUserId()); + info.setLoginName(user.getLoginName()); + info.setShowName(user.getShowName()); + // 本期应用 tenant_id 默认为空(不限租户),SysUser 无租户字段,直接回传入参租户Id + info.setTenantId(tenantId); + return ResponseResult.success(info); + } +} diff --git a/application-tenant/tenant-admin/src/main/resources/tenant-admin-dev.yml b/application-tenant/tenant-admin/src/main/resources/tenant-admin-dev.yml index ec4b018..f60b9c4 100644 --- a/application-tenant/tenant-admin/src/main/resources/tenant-admin-dev.yml +++ b/application-tenant/tenant-admin/src/main/resources/tenant-admin-dev.yml @@ -39,6 +39,15 @@ common-mobile: urlPrefix: /tenantadmin/mobile # 在线表单业务数据上传资源路径 uploadFileBaseDir: ./zz-resource/upload-files/mobile +common-openapi: + # 注意不要以反斜杠(/)结尾。 + urlPrefix: /tenantadmin/openapi + # 如果为false,OpenAPI 开放平台中所有Controller接口将不能使用。 + operationEnabled: true + # JWT 签名密钥(开放 token 校验使用)。HMAC-SHA 要求密钥 >= 256bit,即至少 32 个字节。 + tokenSigningKey: tenantadmin-openapi-signing-key-2026-secret-9f3a + # token 有效期(秒)。 + tokenExpiration: 7200 common-online: # 注意不要以反斜杠(/)结尾。 urlPrefix: /tenantadmin/online @@ -76,7 +85,12 @@ common-online: - ${common-online.urlPrefix}/onlineOperation/deleteBatchOneToManyRelation/ - ${common-online.urlPrefix}/onlineOperation/uploadDatasource/ - ${common-online.urlPrefix}/onlineOperation/uploadOneToManyRelation/ - + # 下面这些有默认值,按需覆盖 + importExportFileRetainHours: 24 + # ==== 临时联调用:调到 5 行方便走异步分支,联调完记得还原(正式值 5000 / 50000)==== + importAsyncRowThreshold: 5 + exportAsyncRowThreshold: 5 + asyncTaskRetainDays: 7 common-flow: # 请慎重修改urlPrefix的缺省配置,注意不要以反斜杠(/)结尾。如必须修改其他路径,请同步修改数据库脚本。 urlPrefix: /tenantadmin/flow @@ -146,7 +160,7 @@ common-log: kafkaTopic: SysOperationLog-TenantAdmin mybatis-plus: - mapper-locations: classpath:apelet/tenantadmin/tenant/dao/mapper/*Mapper.xml,apelet/tenantadmin/upms/dao/mapper/*Mapper.xml,apelet/common/report/dao/mapper/*Mapper.xml,apelet/common/datasync/dao/mapper/*Mapper.xml,apelet/common/log/dao/mapper/*Mapper.xml,apelet/common/flow/dao/mapper/*Mapper.xml,apelet/common/online/dao/mapper/*Mapper.xml,apelet/common/generator/dao/mapper/*Mapper.xml,apelet/common/botp/dao/mapper/*Mapper.xml,apelet/tenantadmin/app/dao/mapper/*Mapper.xml,apelet/common/mobile/dao/mapper/*Mapper.xml,apelet/common/eas/dao/mapper/*Mapper.xml,classpath:mapper/*Mapper.xml + mapper-locations: classpath:apelet/tenantadmin/tenant/dao/mapper/*Mapper.xml,apelet/tenantadmin/upms/dao/mapper/*Mapper.xml,apelet/common/report/dao/mapper/*Mapper.xml,apelet/common/datasync/dao/mapper/*Mapper.xml,apelet/common/log/dao/mapper/*Mapper.xml,apelet/common/flow/dao/mapper/*Mapper.xml,apelet/common/online/dao/mapper/*Mapper.xml,apelet/common/generator/dao/mapper/*Mapper.xml,apelet/common/botp/dao/mapper/*Mapper.xml,apelet/tenantadmin/app/dao/mapper/*Mapper.xml,apelet/common/mobile/dao/mapper/*Mapper.xml,apelet/common/eas/dao/mapper/*Mapper.xml,apelet/common/openapi/dao/mapper/*Mapper.xml,classpath:mapper/*Mapper.xml type-aliases-package: apelet.tenantadmin.*.model,apelet.common.report.model,apelet.common.datasync.model,apelet.common.log.model,apelet.common.flow.model,apelet.common.online.model,apelet.common.mobile.model,apelet.common.eas.model global-config: db-config: