From f1e4dc9d183d6266bf62971fc1476f325d3e14c5 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Tue, 13 Jan 2026 14:52:29 +0800 Subject: [PATCH] =?UTF-8?q?application=E5=BA=94=E7=94=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=97=A0=E7=94=A8=E4=BB=A3=E7=A0=81=E7=A7=BB=E9=99=A4=E3=80=81?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/ApplicationController.java | 81 ------------- .../vo/application/ApplicationPageReqVO.java | 47 -------- .../vo/application/ApplicationRespVO.java | 57 --------- .../vo/application/ApplicationSaveReqVO.java | 48 -------- .../vo/auth/ApplicationLoginRespVO.java | 31 ----- .../mysql/application/ApplicationMapper.java | 23 ---- .../application/ApplicationService.java | 55 --------- .../application/ApplicationServiceImpl.java | 111 ------------------ .../ApplicationServiceImplTest.java | 41 +++++++ .../src/test/resources/sql/clean.sql | 3 +- .../src/test/resources/sql/create_tables.sql | 23 +++- 11 files changed, 65 insertions(+), 455 deletions(-) delete mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/ApplicationController.java delete mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationPageReqVO.java delete mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationRespVO.java delete mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationSaveReqVO.java delete mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/auth/ApplicationLoginRespVO.java create mode 100644 cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/application/ApplicationServiceImplTest.java diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/ApplicationController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/ApplicationController.java deleted file mode 100644 index f6ba9d24f..000000000 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/ApplicationController.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.cf.imes.module.system.controller.admin.application; - -import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationPageReqVO; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationRespVO; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationSaveReqVO; -import com.cf.imes.module.system.controller.admin.application.vo.auth.ApplicationLoginRespVO; -import com.cf.imes.module.system.dal.dataobject.application.ApplicationDO; -import com.cf.imes.module.system.service.application.ApplicationService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import jakarta.annotation.Resource; -import jakarta.validation.Valid; - -import static com.cf.imes.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 应用注册信息") -@RestController -@RequestMapping("/system/application") -@Validated -public class ApplicationController { - - @Resource - private ApplicationService applicationService; - - @PostMapping("/create") - @Operation(summary = "新建应用注册") - @PreAuthorize("@ss.hasPermission('system:application:create')") - public CommonResult createApplication(@Valid @RequestBody ApplicationSaveReqVO createReqVO) { - return success(applicationService.createApplication(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新应用注册") - @PreAuthorize("@ss.hasPermission('system:application:update')") - public CommonResult updateApplication(@Valid @RequestBody ApplicationSaveReqVO updateReqVO) { - applicationService.updateApplication(updateReqVO); - return success(true); - } - - @DeleteMapping("/delete") - @Operation(summary = "删除应用注册") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('system:application:delete')") - public CommonResult deleteApplication(@RequestParam("id") Long id) { - applicationService.deleteApplication(id); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得应用注册") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:application:query')") - public CommonResult getApplication(@RequestParam("id") Long id) { - ApplicationDO applicationDO = applicationService.getApplication(id); - return success(BeanUtils.toBean(applicationDO, ApplicationRespVO.class)); - } - - @GetMapping("/page") - @Operation(summary = "获得应用注册分页") - @PreAuthorize("@ss.hasPermission('system:application:query')") - public CommonResult> getApplicationPage(@Valid ApplicationPageReqVO pageReqVO) { - PageResult pageResult = applicationService.getApplicationPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, ApplicationRespVO.class)); - } - - @PostMapping("/appLogin") - @Operation(summary = "应用登陆") - @PreAuthorize("@ss.hasPermission('system:application:create')") - public CommonResult loginApplication(@Valid @RequestBody ApplicationRespVO applicationRespVO) { - return success(applicationService.loginApplication(applicationRespVO)); - } - -} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationPageReqVO.java deleted file mode 100644 index ff326cf63..000000000 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationPageReqVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.cf.imes.module.system.controller.admin.application.vo.application; - -import com.cf.imes.framework.common.pojo.PageParam; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 应用注册表分页 Request VO") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -public class ApplicationPageReqVO extends PageParam { - - @Schema(description = "应用标识", example = "okk") - private String appId; - - @Schema(description = "应用密钥", example = "121gfrsg5sb4gs") - private String appKey; - - @Schema(description = "服务器IP列表", example = "0.0.0.0") - private String serverIp; - - @Schema(description = "应用简称") - private String code; - - @Schema(description = "应用名") - private String name; - - @Schema(description = "应用主体") - private String company; - - @Schema(description = "状态: 0停用,1正常") - private Boolean status; - - @Schema(description = "备注") - private String remark; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; -} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationRespVO.java deleted file mode 100644 index 250f5a596..000000000 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationRespVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.cf.imes.module.system.controller.admin.application.vo.application; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; - -import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; - -@Schema(description = "管理后台 - 应用注册表 Response VO") -@Data -@ExcelIgnoreUnannotated -public class ApplicationRespVO { - - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4109") - @ExcelProperty("主键") - private int id; - - @Schema(description = "应用标识", example = "okk") - @ExcelProperty("应用标识") - private String appId; - - @Schema(description = "应用密钥", example = "121gfrsg5sb4gs") - @ExcelProperty("应用密钥") - private String appKey; - - @Schema(description = "服务器IP列表", example = "0.0.0.0") - @ExcelProperty("服务器IP列表") - private String serverIp; - - @Schema(description = "应用简称") - @ExcelProperty("应用简称") - private String code; - - @Schema(description = "应用名") - @ExcelProperty("应用名") - private String name; - - @Schema(description = "应用主体") - @ExcelProperty("应用主体") - private String company; - - @Schema(description = "状态: 0停用,1正常") - @ExcelProperty("状态") - private Boolean status; - - @Schema(description = "备注") - @ExcelProperty("备注") - private String remark; - - @Schema(description = "创建时间") - @ExcelProperty("创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; - -} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationSaveReqVO.java deleted file mode 100644 index d83e9562d..000000000 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/application/ApplicationSaveReqVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.cf.imes.module.system.controller.admin.application.vo.application; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import jakarta.validation.constraints.NotNull; - -@Schema(description = "管理后台 - 应用注册表新增/修改 Request VO") -@Data -public class ApplicationSaveReqVO{ - - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4109") - private Long id; - - @Schema(description = "应用标识", example = "okk") - @NotNull(message = "应用标识不能为空") - private String appId; - - @Schema(description = "应用密钥", example = "121gfrsg5sb4gs") - @NotNull(message = "应用密钥不能为空") - private String appKey; - -// private String appSecret; - - @Schema(description = "服务器IP列表", example = "0.0.0.0") - @NotNull(message = "服务器IP列表不能为空") - private String serverIp; - - @Schema(description = "应用简称") - @NotNull(message = "应用简称不能为空") - private String code; - - @Schema(description = "应用名") - @NotNull(message = "应用名不能为空") - private String name; - - @Schema(description = "应用主体") - @NotNull(message = "应用主体不能为空") - private String company; - - @Schema(description = "状态: 0停用,1正常") - @NotNull(message = "不能为空") - private Boolean status; - - @Schema(description = "备注") - private String remark; - -} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/auth/ApplicationLoginRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/auth/ApplicationLoginRespVO.java deleted file mode 100644 index f9e71fc69..000000000 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/application/vo/auth/ApplicationLoginRespVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.cf.imes.module.system.controller.admin.application.vo.auth; - - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 应用登录 Response VO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class ApplicationLoginRespVO { - - @Schema(description = "应用编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - private Integer appId; - - @Schema(description = "访问令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "happy") - private String accessToken; - - @Schema(description = "刷新令牌", requiredMode = Schema.RequiredMode.REQUIRED, example = "nice") - private String refreshToken; - - @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime expiresTime; - -} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/application/ApplicationMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/application/ApplicationMapper.java index d16f36642..4d2807476 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/application/ApplicationMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/application/ApplicationMapper.java @@ -1,14 +1,9 @@ package com.cf.imes.module.system.dal.mysql.application; -import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationPageReqVO; import com.cf.imes.module.system.dal.dataobject.application.ApplicationDO; -import com.cf.imes.module.system.dal.dataobject.user.AdminUserDO; import org.apache.ibatis.annotations.Mapper; -import java.util.List; /** * 应用信息表 process Mapper @@ -17,24 +12,6 @@ import java.util.List; */ @Mapper public interface ApplicationMapper extends BaseMapperX { - - default PageResult selectPage(ApplicationPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(ApplicationDO::getName, reqVO.getName()) - .eqIfPresent(ApplicationDO::getAppId, reqVO.getAppId()) - .eqIfPresent(ApplicationDO::getCode, reqVO.getCode()) - .eqIfPresent(ApplicationDO::getServerIp, reqVO.getServerIp()) - .eqIfPresent(ApplicationDO::getCompany, reqVO.getCompany()) - .eqIfPresent(ApplicationDO::getStatus, reqVO.getStatus()) - .eqIfPresent(ApplicationDO::getRemark, reqVO.getRemark()) - .betweenIfPresent(ApplicationDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(ApplicationDO::getId)); - } - - default ApplicationDO selectByAppId(String appId) { - return selectOne(ApplicationDO::getAppId, appId); - } - default ApplicationDO selectByOrganId(Long organId) { return selectOne(ApplicationDO::getOrganId, organId); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/application/ApplicationService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/application/ApplicationService.java index 70588b227..1a2b09904 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/application/ApplicationService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/application/ApplicationService.java @@ -1,63 +1,8 @@ package com.cf.imes.module.system.service.application; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationPageReqVO; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationRespVO; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationSaveReqVO; -import com.cf.imes.module.system.controller.admin.application.vo.auth.ApplicationLoginRespVO; import com.cf.imes.module.system.dal.dataobject.application.ApplicationDO; -import jakarta.validation.Valid; -import java.util.List; - public interface ApplicationService { - - /** - * 创建应用信息表 application - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Integer createApplication(@Valid ApplicationSaveReqVO createReqVO); - - /** - * 更新应用信息表 application - * - * @param updateReqVO 更新信息 - */ - void updateApplication(@Valid ApplicationSaveReqVO updateReqVO); - - /** - * 删除应用信息表 application - * - * @param id 编号 - */ - void deleteApplication(Long id); - - /** - * 获得应用信息表 application - * - * @param id 编号 - * @return 工序信息表 application - */ - ApplicationDO getApplication(Long id); - - /** - * 获得应用信息表 application - * - * @param pageReqVO 分页查询 - * @return 工序信息表 application - */ - PageResult getApplicationPage(ApplicationPageReqVO pageReqVO); - - - /** - * 应用登陆 - * @param reqVO: 登陆信息 - * @return 登录结果 - */ - ApplicationLoginRespVO loginApplication(@Valid ApplicationRespVO reqVO); - /** * 应用信息 * @param organId: 组织信息 diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/application/ApplicationServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/application/ApplicationServiceImpl.java index c0884340f..db93a6d7d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/application/ApplicationServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/application/ApplicationServiceImpl.java @@ -1,32 +1,11 @@ package com.cf.imes.module.system.service.application; -import com.cf.imes.framework.common.exception.ServiceException; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationPageReqVO; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationRespVO; -import com.cf.imes.module.system.controller.admin.application.vo.application.ApplicationSaveReqVO; -import com.cf.imes.module.system.controller.admin.application.vo.auth.ApplicationLoginRespVO; -import com.cf.imes.module.system.controller.admin.auth.vo.AuthLoginRespVO; -import com.cf.imes.module.system.convert.auth.AuthConvert; import com.cf.imes.module.system.dal.dataobject.application.ApplicationDO; -import com.cf.imes.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; import com.cf.imes.module.system.dal.mysql.application.ApplicationMapper; -import com.cf.imes.module.system.enums.ErrorCodeConstants; -import com.cf.imes.module.system.enums.logger.LoginLogTypeEnum; -import com.cf.imes.module.system.enums.oauth2.OAuth2ClientConstants; -import com.cf.imes.module.system.service.oauth2.OAuth2TokenService; -import com.cf.imes.module.system.util.rsa.AsymmetricAlgorithmUtil; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import jakarta.annotation.Resource; -import java.util.LinkedList; -import java.util.Objects; - - -import static com.cf.imes.module.system.enums.ErrorCodeConstants.APPLICATION_NOT_EXISTS; - /** * 应用信息表 application Service 实现类 * @@ -39,98 +18,8 @@ public class ApplicationServiceImpl implements ApplicationService{ @Resource private ApplicationMapper applicationMapper; - @Resource - private OAuth2TokenService oauth2TokenService; - - @Override - public Integer createApplication(ApplicationSaveReqVO createReqVO) { - // 插入 - LinkedList priKeyAndPubKey = AsymmetricAlgorithmUtil.getPriKeyAndPubKey(); - String privateKey = priKeyAndPubKey.get(0); - String publicKey = priKeyAndPubKey.get(1); - String appKey = AsymmetricAlgorithmUtil.encryptByPublic(createReqVO.getAppId(), publicKey); -// 公钥加密,私钥解密 - ApplicationDO applicationDO = BeanUtils.toBean(createReqVO, ApplicationDO.class) - .setAppKey(appKey).setAppSecret(privateKey); - applicationMapper.insert(applicationDO); - // 返回 - return applicationDO.getId(); - } - - @Override - public void updateApplication(ApplicationSaveReqVO updateReqVO) { - // 校验存在 - validateApplicationExists(updateReqVO.getId()); - // 更新 - ApplicationDO updateObj = BeanUtils.toBean(updateReqVO, ApplicationDO.class); - applicationMapper.updateById(updateObj); - } - - @Override - public void deleteApplication(Long id) { - // 校验存在 - validateApplicationExists(id); - // 删除 - applicationMapper.deleteById(id); - } - - private void validateApplicationExists(Long id) { - if (applicationMapper.selectById(id) == null) { - throw new ServiceException(APPLICATION_NOT_EXISTS); - } - } - - @Override - public ApplicationDO getApplication(Long id) { - return applicationMapper.selectById(id); - } - - @Override - public PageResult getApplicationPage(ApplicationPageReqVO pageReqVO) { - return applicationMapper.selectPage(pageReqVO); - } - - @Override - public ApplicationLoginRespVO loginApplication(ApplicationRespVO reqVO) { - ApplicationDO app = applicationMapper.selectByAppId(reqVO.getAppId()); - if (Objects.isNull(app)) { - throw new ServiceException(ErrorCodeConstants.APPLICATION_NOT_EXISTS); - } -// 公钥加密,私钥解密 - String appId = AsymmetricAlgorithmUtil.encryptByPublic(reqVO.getAppKey(), app.getAppSecret()); - if (!appId.equals(app.getAppId())) { - throw new ServiceException(ErrorCodeConstants.APPLICATION_LOGIN_USER_DISABLED); - } - // 创建 Token 令牌,记录登录日志 - return BeanUtils.toBean(createTokenAfterLoginSuccess(app.getId(), app.getAppId(), LoginLogTypeEnum.LOGIN_USERNAME), ApplicationLoginRespVO.class).setAppId(app.getId()); - } - @Override public ApplicationDO getApplicationByOrganId(Long organId) { return applicationMapper.selectByOrganId(organId); } - - private AuthLoginRespVO createTokenAfterLoginSuccess(Integer userId, String username, LoginLogTypeEnum logType) { -// Long organId = OrganContextHolder.getOrganId(); -// OrganizationDO organ = organService.getOrgan(organId); -// if(Objects.isNull(organ)) { -// throw new ServerException(10023,"组织不存在"); -// } - // 创建访问令牌 - OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken( - 1L, - null, - OAuth2ClientConstants.CLIENT_ID_DEFAULT, - null, - null, - null, - null, - null, - null, - null - ); - // 构建返回结果 - return AuthConvert.INSTANCE.convert(accessTokenDO); - } - } diff --git a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/application/ApplicationServiceImplTest.java b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/application/ApplicationServiceImplTest.java new file mode 100644 index 000000000..fd293dd0a --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/application/ApplicationServiceImplTest.java @@ -0,0 +1,41 @@ +package com.cf.imes.module.system.service.application; + +import com.cf.imes.framework.test.core.ut.BaseDbAndRedisUnitTest; +import com.cf.imes.module.system.dal.dataobject.application.ApplicationDO; +import com.cf.imes.module.system.dal.mysql.application.ApplicationMapper; +import jakarta.annotation.Resource; +import org.junit.jupiter.api.Test; +import org.springframework.context.annotation.Import; + +import static com.cf.imes.framework.test.core.util.RandomUtils.randomPojo; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +/** + * 应用管理服务单元测试 + * + * @author Gqr + * @since 2026/1/13 14:37 + */ +@Import(ApplicationServiceImpl.class) +class ApplicationServiceImplTest extends BaseDbAndRedisUnitTest { + + @Resource + private ApplicationServiceImpl applicationService; + + @Resource + private ApplicationMapper applicationMapper; + + @Test + void getApplicationByOrganId() { + Long organId = 1L; + ApplicationDO applicationDO = randomPojo(ApplicationDO.class, o -> { + o.setOrganId(organId); + }); + applicationMapper.insert(applicationDO); + + ApplicationDO applicationByOrganId = applicationService.getApplicationByOrganId(organId); + assertNotNull(applicationByOrganId); + assertEquals(applicationDO.getId(), applicationByOrganId.getId()); + } +} diff --git a/cf-module-system/cf-module-system-biz/src/test/resources/sql/clean.sql b/cf-module-system/cf-module-system-biz/src/test/resources/sql/clean.sql index db8b0eaa7..b29673e93 100644 --- a/cf-module-system/cf-module-system-biz/src/test/resources/sql/clean.sql +++ b/cf-module-system/cf-module-system-biz/src/test/resources/sql/clean.sql @@ -44,4 +44,5 @@ DELETE FROM "purchase_record"; DELETE FROM "income_expense_details"; DELETE FROM "invoice_title_info"; DELETE FROM "invoice_records"; -DELETE FROM "system_config_token"; \ No newline at end of file +DELETE FROM "system_config_token"; +DELETE FROM "application"; \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/test/resources/sql/create_tables.sql b/cf-module-system/cf-module-system-biz/src/test/resources/sql/create_tables.sql index 82627868b..3d05e83ea 100644 --- a/cf-module-system/cf-module-system-biz/src/test/resources/sql/create_tables.sql +++ b/cf-module-system/cf-module-system-biz/src/test/resources/sql/create_tables.sql @@ -899,4 +899,25 @@ CREATE TABLE IF NOT EXISTS "system_config_token" "update_time" TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', "deleted" BIT DEFAULT FALSE COMMENT '是否删除', PRIMARY KEY ("id") -) COMMENT 'Token配置表'; \ No newline at end of file +) COMMENT 'Token配置表'; + +CREATE TABLE IF NOT EXISTS "application" ( + "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, + "app_id" varchar(32) NOT NULL COMMENT '应用唯一标识', + "app_key" varchar(255) DEFAULT NULL, + "app_secret" varchar(255) DEFAULT NULL COMMENT '对应私钥', + "organ_id" bigint NOT NULL COMMENT '组织ID', + "server_ip" varchar(255) NOT NULL DEFAULT '' COMMENT '服务器IP列表', + "code" varchar(64) NOT NULL DEFAULT '' COMMENT '应用简称', + "name" varchar(64) NOT NULL DEFAULT '' COMMENT '应用名', + "company" varchar(64) NOT NULL DEFAULT '' COMMENT '应用主体', + "status" bit NOT NULL DEFAULT FALSE COMMENT '状态: 0停用,1正常', + "remark" varchar(255) NOT NULL DEFAULT '' COMMENT '备注', + "creator" varchar(64) NOT NULL DEFAULT '' COMMENT '创建人', + "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + "updater" varchar(64) NOT NULL DEFAULT '' COMMENT '更新人', + "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + "deleted" bit NOT NULL DEFAULT FALSE COMMENT '删除标识: 0不删除,1已删除', + CONSTRAINT "idx_app_appid" UNIQUE ("app_id", "status", "deleted"), + PRIMARY KEY ("id") +) COMMENT '应用注册表'; \ No newline at end of file