From 1550fc3395db5f8dc45805963371d40aa0df83e2 Mon Sep 17 00:00:00 2001 From: ex_dengzy Date: Thu, 25 Apr 2024 16:06:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7spring=20boot3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 24 ++++++-- renren-admin/pom.xml | 40 ++++++++++--- .../common/aspect/LogOperationAspect.java | 4 +- .../renren/common/config/SwaggerConfig.java | 52 +++++------------ .../common/exception/RenExceptionHandler.java | 4 +- .../io/renren/common/utils/ExcelUtils.java | 2 +- .../job/controller/ScheduleJobController.java | 44 +++++++------- .../controller/ScheduleJobLogController.java | 32 +++++------ .../modules/job/dto/ScheduleJobDTO.java | 27 +++++---- .../modules/job/dto/ScheduleJobLogDTO.java | 23 ++++---- .../log/controller/SysLogErrorController.java | 34 +++++------ .../log/controller/SysLogLoginController.java | 44 +++++++------- .../controller/SysLogOperationController.java | 36 ++++++------ .../modules/log/dto/SysLogErrorDTO.java | 23 ++++---- .../modules/log/dto/SysLogLoginDTO.java | 21 ++++--- .../modules/log/dto/SysLogOperationDTO.java | 31 +++++----- .../modules/oss/cloud/CloudStorageConfig.java | 55 +++++++++--------- .../oss/controller/SysOssController.java | 22 +++---- .../modules/security/config/FilterConfig.java | 2 +- .../modules/security/config/ShiroConfig.java | 7 +-- .../security/controller/LoginController.java | 23 ++++---- .../renren/modules/security/dto/LoginDTO.java | 17 +++--- .../modules/security/oauth2/Oauth2Filter.java | 10 ++-- .../security/service/CaptchaService.java | 3 +- .../service/impl/CaptchaServiceImpl.java | 6 +- .../sys/controller/SysDeptController.java | 18 +++--- .../sys/controller/SysDictDataController.java | 40 ++++++------- .../sys/controller/SysDictTypeController.java | 42 +++++++------- .../sys/controller/SysMenuController.java | 29 +++++----- .../sys/controller/SysParamsController.java | 46 +++++++-------- .../sys/controller/SysRoleController.java | 40 ++++++------- .../sys/controller/SysUserController.java | 54 +++++++++--------- .../renren/modules/sys/dto/PasswordDTO.java | 13 ++--- .../io/renren/modules/sys/dto/SysDeptDTO.java | 49 ++++++++-------- .../modules/sys/dto/SysDictDataDTO.java | 31 +++++----- .../modules/sys/dto/SysDictTypeDTO.java | 33 ++++++----- .../io/renren/modules/sys/dto/SysMenuDTO.java | 57 +++++++++---------- .../renren/modules/sys/dto/SysParamsDTO.java | 23 ++++---- .../io/renren/modules/sys/dto/SysRoleDTO.java | 29 +++++----- .../io/renren/modules/sys/dto/SysUserDTO.java | 49 ++++++++-------- .../io/renren/modules/sys/dto/SystemDTO.java | 10 ++-- .../src/main/resources/application-dev.yml | 2 +- .../src/main/resources/application.yml | 26 +++++---- .../java/io/renren/DynamicDataSourceTest.java | 2 +- .../src/test/java/io/renren/RedisTest.java | 4 +- .../service/DynamicDataSourceTestService.java | 4 +- renren-api/pom.xml | 7 ++- .../java/io/renren/config/FilterConfig.java | 2 +- .../java/io/renren/config/SwaggerConfig.java | 55 ++++++------------ .../java/io/renren/config/WebMvcConfig.java | 4 +- .../renren/controller/ApiLoginController.java | 16 +++--- .../controller/ApiRegisterController.java | 10 ++-- .../renren/controller/ApiTestController.java | 26 ++++----- .../src/main/java/io/renren/dto/LoginDTO.java | 13 ++--- .../main/java/io/renren/dto/RegisterDTO.java | 11 ++-- .../interceptor/AuthorizationInterceptor.java | 11 ++-- renren-api/src/main/resources/application.yml | 28 ++++----- .../java/io/renren/common/page/PageData.java | 11 ++-- .../io/renren/common/redis/RedisConfig.java | 4 +- .../io/renren/common/redis/RedisUtils.java | 4 +- .../renren/common/utils/HttpContextUtils.java | 4 +- .../java/io/renren/common/utils/IpUtils.java | 10 ++-- .../java/io/renren/common/utils/Result.java | 11 ++-- .../common/validator/ValidatorUtils.java | 8 +-- .../renren/common/validator/group/Group.java | 3 +- .../java/io/renren/common/xss/XssFilter.java | 7 ++- .../xss/XssHttpServletRequestWrapper.java | 10 ++-- .../config/DynamicDataSourceConfig.java | 4 +- renren-generator/pom.xml | 6 +- .../main/java/io/renren/config/DbConfig.java | 2 +- .../controller/SysGeneratorController.java | 4 +- .../renren/service/SysGeneratorService.java | 2 +- .../src/main/resources/application.yml | 6 +- .../resources/template/Controller.java.vm | 40 ++++++------- .../src/main/resources/template/DTO.java.vm | 8 +-- 75 files changed, 748 insertions(+), 766 deletions(-) diff --git a/pom.xml b/pom.xml index 5b09dea..832f50e 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.15 + 3.2.5 @@ -27,16 +27,18 @@ UTF-8 UTF-8 - 1.8 + 17 1.2.13 - 3.5.3.2 + 3.5.5 + 3.0.3 4.0 11.2.0.3 8.1.2.79 5.8.22 1.15.3 - 2.0.9 + 4.3.0 1.18.24 + 4.0.1 @@ -108,6 +110,11 @@ mybatis-plus-boot-starter ${mybatisplus.version} + + org.mybatis + mybatis-spring + ${mybatis.spring} + cn.hutool hutool-all @@ -120,7 +127,7 @@ com.github.xiaoymin - knife4j-spring-boot-starter + knife4j-openapi3-jakarta-spring-boot-starter ${knife4j.version} @@ -128,6 +135,11 @@ lombok ${lombok.version} + + + + + @@ -154,4 +166,4 @@ - \ No newline at end of file + diff --git a/renren-admin/pom.xml b/renren-admin/pom.xml index 17e5e1d..68a6a81 100644 --- a/renren-admin/pom.xml +++ b/renren-admin/pom.xml @@ -47,14 +47,40 @@ - org.apache.shiro - shiro-core - ${shiro.version} + org.apache.shiro + shiro-spring + jakarta + ${shiro.version} + + + + org.apache.shiro + shiro-core + + + org.apache.shiro + shiro-web + + + - org.apache.shiro - shiro-spring - ${shiro.version} + org.apache.shiro + shiro-core + jakarta + ${shiro.version} + + + org.apache.shiro + shiro-web + jakarta + ${shiro.version} + + + org.apache.shiro + shiro-core + + com.github.whvcse @@ -110,4 +136,4 @@ - \ No newline at end of file + diff --git a/renren-admin/src/main/java/io/renren/common/aspect/LogOperationAspect.java b/renren-admin/src/main/java/io/renren/common/aspect/LogOperationAspect.java index ee01f13..705009c 100644 --- a/renren-admin/src/main/java/io/renren/common/aspect/LogOperationAspect.java +++ b/renren-admin/src/main/java/io/renren/common/aspect/LogOperationAspect.java @@ -17,6 +17,7 @@ import io.renren.modules.log.enums.OperationStatusEnum; import io.renren.modules.log.service.SysLogOperationService; import io.renren.modules.security.user.SecurityUser; import io.renren.modules.security.user.UserDetail; +import jakarta.servlet.http.HttpServletRequest; import lombok.AllArgsConstructor; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; @@ -26,7 +27,6 @@ import org.aspectj.lang.reflect.MethodSignature; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; -import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; /** @@ -107,4 +107,4 @@ public class LogOperationAspect { //保存到DB sysLogOperationService.save(log); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/common/config/SwaggerConfig.java b/renren-admin/src/main/java/io/renren/common/config/SwaggerConfig.java index 232f57f..283d643 100644 --- a/renren-admin/src/main/java/io/renren/common/config/SwaggerConfig.java +++ b/renren-admin/src/main/java/io/renren/common/config/SwaggerConfig.java @@ -8,20 +8,12 @@ package io.renren.common.config; -import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver; import io.renren.common.constant.Constant; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.security.SecurityRequirement; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.ApiKey; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; import java.util.ArrayList; import java.util.List; @@ -32,41 +24,27 @@ import java.util.List; * @author Mark sunlightcs@gmail.com */ @Configuration -@EnableSwagger2WebMvc -@AllArgsConstructor public class SwaggerConfig { - private final OpenApiExtensionResolver openApiExtensionResolver; - @Bean - public Docket createRestApi() { - return new Docket(DocumentationType.SWAGGER_2) - .apiInfo(apiInfo()) - .select() - //加了ApiOperation注解的类,生成接口文档 - .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) - //包下的类,生成接口文档 - //.apis(RequestHandlerSelectors.basePackage("io.renren.modules.job.controller")) - .paths(PathSelectors.any()) - .build() - .extensions(openApiExtensionResolver.buildExtensions("Renren")) - .directModelSubstitute(java.util.Date.class, String.class) - .securitySchemes(security()); + public OpenAPI createRestApi() { + return new OpenAPI() + .info(apiInfo()) + .security(security()); } - private ApiInfo apiInfo() { - return new ApiInfoBuilder() + private Info apiInfo() { + return new Info() .title("人人开源") .description("renren-admin文档") - .termsOfServiceUrl("https://www.renren.io") - .version("5.x") - .build(); + .version("5.x"); } - private List security() { - ApiKey key = new ApiKey(Constant.TOKEN_HEADER, Constant.TOKEN_HEADER, "header"); + private List security() { + SecurityRequirement key = new SecurityRequirement(); + key.addList(Constant.TOKEN_HEADER, Constant.TOKEN_HEADER); - List list = new ArrayList<>(); + List list = new ArrayList<>(); list.add(key); return list; } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/common/exception/RenExceptionHandler.java b/renren-admin/src/main/java/io/renren/common/exception/RenExceptionHandler.java index 134baa4..6bcc92e 100644 --- a/renren-admin/src/main/java/io/renren/common/exception/RenExceptionHandler.java +++ b/renren-admin/src/main/java/io/renren/common/exception/RenExceptionHandler.java @@ -15,6 +15,7 @@ import io.renren.common.utils.JsonUtils; import io.renren.common.utils.Result; import io.renren.modules.log.entity.SysLogErrorEntity; import io.renren.modules.log.service.SysLogErrorService; +import jakarta.servlet.http.HttpServletRequest; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DuplicateKeyException; @@ -22,7 +23,6 @@ import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; -import javax.servlet.http.HttpServletRequest; import java.util.Map; @@ -89,4 +89,4 @@ public class RenExceptionHandler { //保存 sysLogErrorService.save(log); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/common/utils/ExcelUtils.java b/renren-admin/src/main/java/io/renren/common/utils/ExcelUtils.java index 41f0b97..ada0a28 100644 --- a/renren-admin/src/main/java/io/renren/common/utils/ExcelUtils.java +++ b/renren-admin/src/main/java/io/renren/common/utils/ExcelUtils.java @@ -12,9 +12,9 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.URLUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.converters.longconverter.LongStringConverter; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.BeanUtils; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; diff --git a/renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobController.java b/renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobController.java index 6d69ab3..f52e8b8 100644 --- a/renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobController.java +++ b/renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobController.java @@ -18,14 +18,14 @@ import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; import io.renren.modules.job.dto.ScheduleJobDTO; import io.renren.modules.job.service.ScheduleJobService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import java.util.Map; @@ -36,29 +36,29 @@ import java.util.Map; */ @RestController @RequestMapping("/sys/schedule") -@Api(tags = "定时任务") +@Tag(name = "定时任务") @AllArgsConstructor public class ScheduleJobController { private final ScheduleJobService scheduleJobService; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "beanName", value = "beanName", paramType = "query", dataType = "String") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "beanName", description = "beanName", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:schedule:page") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = scheduleJobService.page(params); return new Result>().ok(page); } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:schedule:info") public Result info(@PathVariable("id") Long id) { ScheduleJobDTO schedule = scheduleJobService.get(id); @@ -67,7 +67,7 @@ public class ScheduleJobController { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("sys:schedule:save") public Result save(@RequestBody ScheduleJobDTO dto) { @@ -79,7 +79,7 @@ public class ScheduleJobController { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("sys:schedule:update") public Result update(@RequestBody ScheduleJobDTO dto) { @@ -91,7 +91,7 @@ public class ScheduleJobController { } @DeleteMapping - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:schedule:delete") public Result delete(@RequestBody Long[] ids) { @@ -101,7 +101,7 @@ public class ScheduleJobController { } @PutMapping("/run") - @ApiOperation("立即执行") + @Operation(summary = "立即执行") @LogOperation("立即执行") @RequiresPermissions("sys:schedule:run") public Result run(@RequestBody Long[] ids) { @@ -111,7 +111,7 @@ public class ScheduleJobController { } @PutMapping("/pause") - @ApiOperation("暂停") + @Operation(summary = "暂停") @LogOperation("暂停") @RequiresPermissions("sys:schedule:pause") public Result pause(@RequestBody Long[] ids) { @@ -121,7 +121,7 @@ public class ScheduleJobController { } @PutMapping("/resume") - @ApiOperation("恢复") + @Operation(summary = "恢复") @LogOperation("恢复") @RequiresPermissions("sys:schedule:resume") public Result resume(@RequestBody Long[] ids) { @@ -130,4 +130,4 @@ public class ScheduleJobController { return new Result(); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobLogController.java b/renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobLogController.java index b506be9..d97ea4e 100644 --- a/renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobLogController.java +++ b/renren-admin/src/main/java/io/renren/modules/job/controller/ScheduleJobLogController.java @@ -13,14 +13,14 @@ import io.renren.common.page.PageData; import io.renren.common.utils.Result; import io.renren.modules.job.dto.ScheduleJobLogDTO; import io.renren.modules.job.service.ScheduleJobLogService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import java.util.Map; @@ -31,33 +31,33 @@ import java.util.Map; */ @RestController @RequestMapping("/sys/scheduleLog") -@Api(tags = "定时任务日志") +@Tag(name = "定时任务日志") @AllArgsConstructor public class ScheduleJobLogController { private final ScheduleJobLogService scheduleJobLogService; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "jobId", value = "jobId", paramType = "query", dataType = "String") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "jobId", description = "jobId", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:schedule:log") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = scheduleJobLogService.page(params); return new Result>().ok(page); } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:schedule:log") public Result info(@PathVariable("id") Long id) { ScheduleJobLogDTO log = scheduleJobLogService.get(id); return new Result().ok(log); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/job/dto/ScheduleJobDTO.java b/renren-admin/src/main/java/io/renren/modules/job/dto/ScheduleJobDTO.java index 7ca4a22..4fc1334 100644 --- a/renren-admin/src/main/java/io/renren/modules/job/dto/ScheduleJobDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/job/dto/ScheduleJobDTO.java @@ -12,14 +12,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Null; import lombok.Data; import org.hibernate.validator.constraints.Range; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; @@ -30,34 +29,34 @@ import java.util.Date; * @since 1.0.0 */ @Data -@ApiModel(value = "定时任务") +@Schema(title = "定时任务") public class ScheduleJobDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; - @ApiModelProperty(value = "spring bean名称") + @Schema(title = "spring bean名称") @NotBlank(message = "{schedule.bean.require}", groups = DefaultGroup.class) - private String beanName; + private String beantitle; - @ApiModelProperty(value = "参数") + @Schema(title = "参数") private String params; - @ApiModelProperty(value = "cron表达式") + @Schema(title = "cron表达式") @NotBlank(message = "{schedule.cron.require}", groups = DefaultGroup.class) private String cronExpression; - @ApiModelProperty(value = "任务状态 0:暂停 1:正常") + @Schema(title = "任务状态 0:暂停 1:正常") @Range(min=0, max=1, message = "{schedule.status.range}", groups = DefaultGroup.class) private Integer status; - @ApiModelProperty(value = "备注") + @Schema(title = "备注") private String remark; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; diff --git a/renren-admin/src/main/java/io/renren/modules/job/dto/ScheduleJobLogDTO.java b/renren-admin/src/main/java/io/renren/modules/job/dto/ScheduleJobLogDTO.java index 0a2459a..e5f1b6e 100644 --- a/renren-admin/src/main/java/io/renren/modules/job/dto/ScheduleJobLogDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/job/dto/ScheduleJobLogDTO.java @@ -8,8 +8,7 @@ package io.renren.modules.job.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; @@ -22,32 +21,32 @@ import java.util.Date; * @since 1.0.0 */ @Data -@ApiModel(value = "定时任务日志") +@Schema(title = "定时任务日志") public class ScheduleJobLogDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") private Long id; - @ApiModelProperty(value = "任务id") + @Schema(title = "任务id") private Long jobId; - @ApiModelProperty(value = "spring bean名称") - private String beanName; + @Schema(title = "spring bean名称") + private String beantitle; - @ApiModelProperty(value = "参数") + @Schema(title = "参数") private String params; - @ApiModelProperty(value = "任务状态 0:失败 1:成功") + @Schema(title = "任务状态 0:失败 1:成功") private Integer status; - @ApiModelProperty(value = "失败信息") + @Schema(title = "失败信息") private String error; - @ApiModelProperty(value = "耗时(单位:毫秒)") + @Schema(title = "耗时(单位:毫秒)") private Integer times; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") private Date createDate; } diff --git a/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogErrorController.java b/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogErrorController.java index 5beadde..e02266b 100644 --- a/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogErrorController.java +++ b/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogErrorController.java @@ -16,19 +16,19 @@ import io.renren.common.utils.Result; import io.renren.modules.log.dto.SysLogErrorDTO; import io.renren.modules.log.excel.SysLogErrorExcel; import io.renren.modules.log.service.SysLogErrorService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import springfox.documentation.annotations.ApiIgnore; -import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -41,34 +41,34 @@ import java.util.Map; */ @RestController @RequestMapping("sys/log/error") -@Api(tags = "异常日志") +@Tag(name = "异常日志") @AllArgsConstructor public class SysLogErrorController { private final SysLogErrorService sysLogErrorService; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:log:error") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = sysLogErrorService.page(params); return new Result>().ok(page); } @GetMapping("export") - @ApiOperation("导出") + @Operation(summary = "导出") @LogOperation("导出") @RequiresPermissions("sys:log:error") - public void export(@ApiIgnore @RequestParam Map params, HttpServletResponse response) throws Exception { + public void export(@Parameter(hidden = true) @RequestParam Map params, HttpServletResponse response) throws Exception { List list = sysLogErrorService.list(params); ExcelUtils.exportExcelToTarget(response, null, "异常日志", list, SysLogErrorExcel.class); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogLoginController.java b/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogLoginController.java index 51506b5..b7dd76d 100644 --- a/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogLoginController.java +++ b/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogLoginController.java @@ -16,19 +16,19 @@ import io.renren.common.utils.Result; import io.renren.modules.log.dto.SysLogLoginDTO; import io.renren.modules.log.excel.SysLogLoginExcel; import io.renren.modules.log.service.SysLogLoginService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import springfox.documentation.annotations.ApiIgnore; -import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -41,41 +41,41 @@ import java.util.Map; */ @RestController @RequestMapping("sys/log/login") -@Api(tags = "登录日志") +@Tag(name = "登录日志") @AllArgsConstructor public class SysLogLoginController { private final SysLogLoginService sysLogLoginService; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "status", value = "状态 0:失败 1:成功 2:账号已锁定", paramType = "query", dataType = "int"), - @ApiImplicitParam(name = "creatorName", value = "用户名", paramType = "query", dataType = "String") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "status", description = "状态 0:失败 1:成功 2:账号已锁定", in = ParameterIn.QUERY, ref = "int"), + @Parameter(name = "creatorName", description = "用户名", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:log:login") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = sysLogLoginService.page(params); return new Result>().ok(page); } @GetMapping("export") - @ApiOperation("导出") + @Operation(summary = "导出") @LogOperation("导出") - @ApiImplicitParams({ - @ApiImplicitParam(name = "status", value = "状态 0:失败 1:成功 2:账号已锁定", paramType = "query", dataType = "int"), - @ApiImplicitParam(name = "creatorName", value = "用户名", paramType = "query", dataType = "String") + @Parameters({ + @Parameter(name = "status", description = "状态 0:失败 1:成功 2:账号已锁定", in = ParameterIn.QUERY, ref = "int"), + @Parameter(name = "creatorName", description = "用户名", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:log:login") - public void export(@ApiIgnore @RequestParam Map params, HttpServletResponse response) throws Exception { + public void export(@Parameter(hidden = true) @RequestParam Map params, HttpServletResponse response) throws Exception { List list = sysLogLoginService.list(params); ExcelUtils.exportExcelToTarget(response, null, "登录日志", list, SysLogLoginExcel.class); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogOperationController.java b/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogOperationController.java index 1c5f77e..eb9c15f 100644 --- a/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogOperationController.java +++ b/renren-admin/src/main/java/io/renren/modules/log/controller/SysLogOperationController.java @@ -16,19 +16,19 @@ import io.renren.common.utils.Result; import io.renren.modules.log.dto.SysLogOperationDTO; import io.renren.modules.log.excel.SysLogOperationExcel; import io.renren.modules.log.service.SysLogOperationService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import springfox.documentation.annotations.ApiIgnore; -import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -41,35 +41,35 @@ import java.util.Map; */ @RestController @RequestMapping("sys/log/operation") -@Api(tags = "操作日志") +@Tag(name = "操作日志") @AllArgsConstructor public class SysLogOperationController { private final SysLogOperationService sysLogOperationService; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "status", value = "状态 0:失败 1:成功", paramType = "query", dataType = "int") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "status", description = "状态 0:失败 1:成功", in = ParameterIn.QUERY, ref = "int") }) @RequiresPermissions("sys:log:operation") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = sysLogOperationService.page(params); return new Result>().ok(page); } @GetMapping("export") - @ApiOperation("导出") + @Operation(summary = "导出") @LogOperation("导出") @RequiresPermissions("sys:log:operation") - public void export(@ApiIgnore @RequestParam Map params, HttpServletResponse response) throws Exception { + public void export(@Parameter(hidden = true) @RequestParam Map params, HttpServletResponse response) throws Exception { List list = sysLogOperationService.list(params); ExcelUtils.exportExcelToTarget(response, null, "操作日志", list, SysLogOperationExcel.class); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogErrorDTO.java b/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogErrorDTO.java index 7df2a4c..8b503b1 100644 --- a/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogErrorDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogErrorDTO.java @@ -8,8 +8,7 @@ package io.renren.modules.log.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; @@ -22,25 +21,25 @@ import java.util.Date; * @since 1.0.0 */ @Data -@ApiModel(value = "异常日志") +@Schema(title = "异常日志") public class SysLogErrorDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") private Long id; - @ApiModelProperty(value = "请求URI") + @Schema(title = "请求URI") private String requestUri; - @ApiModelProperty(value = "请求方式") + @Schema(title = "请求方式") private String requestMethod; - @ApiModelProperty(value = "请求参数") + @Schema(title = "请求参数") private String requestParams; - @ApiModelProperty(value = "用户代理") + @Schema(title = "用户代理") private String userAgent; - @ApiModelProperty(value = "操作IP") + @Schema(title = "操作IP") private String ip; - @ApiModelProperty(value = "异常信息") + @Schema(title = "异常信息") private String errorInfo; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") private Date createDate; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogLoginDTO.java b/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogLoginDTO.java index c638d60..565c794 100644 --- a/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogLoginDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogLoginDTO.java @@ -8,8 +8,7 @@ package io.renren.modules.log.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; @@ -22,29 +21,29 @@ import java.util.Date; * @since 1.0.0 */ @Data -@ApiModel(value = "登录日志") +@Schema(title = "登录日志") public class SysLogLoginDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") private Long id; - @ApiModelProperty(value = "用户操作 0:用户登录 1:用户退出") + @Schema(title = "用户操作 0:用户登录 1:用户退出") private Integer operation; - @ApiModelProperty(value = "状态 0:失败 1:成功 2:账号已锁定") + @Schema(title = "状态 0:失败 1:成功 2:账号已锁定") private Integer status; - @ApiModelProperty(value = "用户代理") + @Schema(title = "用户代理") private String userAgent; - @ApiModelProperty(value = "操作IP") + @Schema(title = "操作IP") private String ip; - @ApiModelProperty(value = "用户名") - private String creatorName; + @Schema(title = "用户名") + private String creatortitle; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") private Date createDate; } diff --git a/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogOperationDTO.java b/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogOperationDTO.java index 133b3c4..f9967fb 100644 --- a/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogOperationDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/log/dto/SysLogOperationDTO.java @@ -8,8 +8,7 @@ package io.renren.modules.log.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; @@ -22,41 +21,41 @@ import java.util.Date; * @since 1.0.0 */ @Data -@ApiModel(value = "操作日志") +@Schema(title = "操作日志") public class SysLogOperationDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") private Long id; - @ApiModelProperty(value = "用户操作") + @Schema(title = "用户操作") private String operation; - @ApiModelProperty(value = "请求URI") + @Schema(title = "请求URI") private String requestUri; - @ApiModelProperty(value = "请求方式") + @Schema(title = "请求方式") private String requestMethod; - @ApiModelProperty(value = "请求参数") + @Schema(title = "请求参数") private String requestParams; - @ApiModelProperty(value = "请求时长(毫秒)") + @Schema(title = "请求时长(毫秒)") private Integer requestTime; - @ApiModelProperty(value = "用户代理") + @Schema(title = "用户代理") private String userAgent; - @ApiModelProperty(value = "操作IP") + @Schema(title = "操作IP") private String ip; - @ApiModelProperty(value = "状态 0:失败 1:成功") + @Schema(title = "状态 0:失败 1:成功") private Integer status; - @ApiModelProperty(value = "用户名") - private String creatorName; + @Schema(title = "用户名") + private String creatortitle; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") private Date createDate; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/oss/cloud/CloudStorageConfig.java b/renren-admin/src/main/java/io/renren/modules/oss/cloud/CloudStorageConfig.java index 880f0d3..0fe557f 100644 --- a/renren-admin/src/main/java/io/renren/modules/oss/cloud/CloudStorageConfig.java +++ b/renren-admin/src/main/java/io/renren/modules/oss/cloud/CloudStorageConfig.java @@ -11,14 +11,13 @@ package io.renren.modules.oss.cloud; import io.renren.common.validator.group.AliyunGroup; import io.renren.common.validator.group.QcloudGroup; import io.renren.common.validator.group.QiniuGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.URL; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; import java.io.Serializable; /** @@ -27,84 +26,84 @@ import java.io.Serializable; * @author Mark sunlightcs@gmail.com */ @Data -@ApiModel(value = "云存储配置信息") +@Schema(title = "云存储配置信息") public class CloudStorageConfig implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "类型 1:七牛 2:阿里云 3:腾讯云 ") + @Schema(title = "类型 1:七牛 2:阿里云 3:腾讯云 ") @Range(min = 1, max = 6, message = "{oss.type.range}") private Integer type; - @ApiModelProperty(value = "七牛绑定的域名") + @Schema(title = "七牛绑定的域名") @NotBlank(message = "{qiniu.domain.require}", groups = QiniuGroup.class) @URL(message = "{qiniu.domain.url}", groups = QiniuGroup.class) private String qiniuDomain; - @ApiModelProperty(value = "七牛路径前缀") + @Schema(title = "七牛路径前缀") private String qiniuPrefix; - @ApiModelProperty(value = "七牛ACCESS_KEY") + @Schema(title = "七牛ACCESS_KEY") @NotBlank(message = "{qiniu.accesskey.require}", groups = QiniuGroup.class) private String qiniuAccessKey; - @ApiModelProperty(value = "七牛SECRET_KEY") + @Schema(title = "七牛SECRET_KEY") @NotBlank(message = "{qiniu.secretkey.require}", groups = QiniuGroup.class) private String qiniuSecretKey; - @ApiModelProperty(value = "七牛存储空间名") - @NotBlank(message = "{qiniu.bucketname.require}", groups = QiniuGroup.class) + @Schema(title = "七牛存储空间名") + @NotBlank(message = "{qiniu.bucketName.require}", groups = QiniuGroup.class) private String qiniuBucketName; - @ApiModelProperty(value = "阿里云绑定的域名") + @Schema(title = "阿里云绑定的域名") @NotBlank(message = "{aliyun.domain.require}", groups = AliyunGroup.class) @URL(message = "{aliyun.domain.url}", groups = AliyunGroup.class) private String aliyunDomain; - @ApiModelProperty(value = "阿里云路径前缀") + @Schema(title = "阿里云路径前缀") private String aliyunPrefix; - @ApiModelProperty(value = "阿里云EndPoint") + @Schema(title = "阿里云EndPoint") @NotBlank(message = "{aliyun.endPoint.require}", groups = AliyunGroup.class) private String aliyunEndPoint; - @ApiModelProperty(value = "阿里云AccessKeyId") + @Schema(title = "阿里云AccessKeyId") @NotBlank(message = "{aliyun.accesskeyid.require}", groups = AliyunGroup.class) private String aliyunAccessKeyId; - @ApiModelProperty(value = "阿里云AccessKeySecret") + @Schema(title = "阿里云AccessKeySecret") @NotBlank(message = "{aliyun.accesskeysecret.require}", groups = AliyunGroup.class) private String aliyunAccessKeySecret; - @ApiModelProperty(value = "阿里云BucketName") - @NotBlank(message = "{aliyun.bucketname.require}", groups = AliyunGroup.class) + @Schema(title = "阿里云BucketName") + @NotBlank(message = "{aliyun.bucketName.require}", groups = AliyunGroup.class) private String aliyunBucketName; - @ApiModelProperty(value = "腾讯云绑定的域名") + @Schema(title = "腾讯云绑定的域名") @NotBlank(message = "{qcloud.domain.require}", groups = QcloudGroup.class) @URL(message = "{qcloud.domain.url}", groups = QcloudGroup.class) private String qcloudDomain; - @ApiModelProperty(value = "腾讯云路径前缀") + @Schema(title = "腾讯云路径前缀") private String qcloudPrefix; - @ApiModelProperty(value = "腾讯云AppId") + @Schema(title = "腾讯云AppId") @NotNull(message = "{qcloud.appid.require}", groups = QcloudGroup.class) private Integer qcloudAppId; - @ApiModelProperty(value = "腾讯云SecretId") + @Schema(title = "腾讯云SecretId") @NotBlank(message = "{qcloud.secretId.require}", groups = QcloudGroup.class) private String qcloudSecretId; - @ApiModelProperty(value = "腾讯云SecretKey") + @Schema(title = "腾讯云SecretKey") @NotBlank(message = "{qcloud.secretkey.require}", groups = QcloudGroup.class) private String qcloudSecretKey; - @ApiModelProperty(value = "腾讯云BucketName") - @NotBlank(message = "{qcloud.bucketname.require}", groups = QcloudGroup.class) + @Schema(title = "腾讯云BucketName") + @NotBlank(message = "{qcloud.bucketName.require}", groups = QcloudGroup.class) private String qcloudBucketName; - @ApiModelProperty(value = "腾讯云COS所属地区") + @Schema(title = "腾讯云COS所属地区") @NotBlank(message = "{qcloud.region.require}", groups = QcloudGroup.class) private String qcloudRegion; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/oss/controller/SysOssController.java b/renren-admin/src/main/java/io/renren/modules/oss/controller/SysOssController.java index 04a3cef..b08cd23 100644 --- a/renren-admin/src/main/java/io/renren/modules/oss/controller/SysOssController.java +++ b/renren-admin/src/main/java/io/renren/modules/oss/controller/SysOssController.java @@ -24,13 +24,13 @@ import io.renren.modules.oss.cloud.OSSFactory; import io.renren.modules.oss.entity.SysOssEntity; import io.renren.modules.oss.service.SysOssService; import io.renren.modules.sys.service.SysParamsService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import springfox.documentation.annotations.ApiIgnore; import java.util.Arrays; import java.util.Date; @@ -44,7 +44,7 @@ import java.util.Map; */ @RestController @RequestMapping("sys/oss") -@Api(tags = "文件上传") +@Tag(name = "文件上传") @AllArgsConstructor public class SysOssController { private final SysOssService sysOssService; @@ -53,16 +53,16 @@ public class SysOssController { private final static String KEY = Constant.CLOUD_STORAGE_CONFIG_KEY; @GetMapping("page") - @ApiOperation(value = "分页") + @Operation(summary = "分页") @RequiresPermissions("sys:oss:all") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = sysOssService.page(params); return new Result>().ok(page); } @GetMapping("info") - @ApiOperation(value = "云存储配置信息") + @Operation(summary = "云存储配置信息") @RequiresPermissions("sys:oss:all") public Result info() { CloudStorageConfig config = sysParamsService.getValueObject(KEY, CloudStorageConfig.class); @@ -71,7 +71,7 @@ public class SysOssController { } @PostMapping - @ApiOperation(value = "保存云存储配置信息") + @Operation(summary = "保存云存储配置信息") @LogOperation("保存云存储配置信息") @RequiresPermissions("sys:oss:all") public Result saveConfig(@RequestBody CloudStorageConfig config) { @@ -95,7 +95,7 @@ public class SysOssController { } @PostMapping("upload") - @ApiOperation(value = "上传文件") + @Operation(summary = "上传文件") @RequiresPermissions("sys:oss:all") public Result> upload(@RequestParam("file") MultipartFile file) throws Exception { if (file.isEmpty()) { @@ -119,7 +119,7 @@ public class SysOssController { } @DeleteMapping - @ApiOperation(value = "删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:oss:all") public Result delete(@RequestBody Long[] ids) { @@ -128,4 +128,4 @@ public class SysOssController { return new Result(); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/security/config/FilterConfig.java b/renren-admin/src/main/java/io/renren/modules/security/config/FilterConfig.java index 5915cb1..e2b7126 100644 --- a/renren-admin/src/main/java/io/renren/modules/security/config/FilterConfig.java +++ b/renren-admin/src/main/java/io/renren/modules/security/config/FilterConfig.java @@ -9,12 +9,12 @@ package io.renren.modules.security.config; import io.renren.common.xss.XssFilter; +import jakarta.servlet.DispatcherType; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.filter.DelegatingFilterProxy; -import javax.servlet.DispatcherType; /** * Filter配置 diff --git a/renren-admin/src/main/java/io/renren/modules/security/config/ShiroConfig.java b/renren-admin/src/main/java/io/renren/modules/security/config/ShiroConfig.java index 5387e5c..020dda8 100644 --- a/renren-admin/src/main/java/io/renren/modules/security/config/ShiroConfig.java +++ b/renren-admin/src/main/java/io/renren/modules/security/config/ShiroConfig.java @@ -19,8 +19,7 @@ import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.apache.shiro.web.session.mgt.DefaultWebSessionManager; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; - -import javax.servlet.Filter; +import jakarta.servlet.Filter; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; @@ -66,7 +65,7 @@ public class ShiroConfig { filterMap.put("/druid/**", "anon"); filterMap.put("/login", "anon"); filterMap.put("/swagger/**", "anon"); - filterMap.put("/v2/api-docs", "anon"); + filterMap.put("/v3/api-docs/**", "anon"); filterMap.put("/doc.html", "anon"); filterMap.put("/swagger-resources/**", "anon"); filterMap.put("/captcha", "anon"); @@ -89,4 +88,4 @@ public class ShiroConfig { advisor.setSecurityManager(securityManager); return advisor; } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/security/controller/LoginController.java b/renren-admin/src/main/java/io/renren/modules/security/controller/LoginController.java index e12c30b..017b430 100644 --- a/renren-admin/src/main/java/io/renren/modules/security/controller/LoginController.java +++ b/renren-admin/src/main/java/io/renren/modules/security/controller/LoginController.java @@ -27,9 +27,12 @@ import io.renren.modules.security.user.UserDetail; import io.renren.modules.sys.dto.SysUserDTO; import io.renren.modules.sys.enums.UserStatusEnum; import io.renren.modules.sys.service.SysUserService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.GetMapping; @@ -37,8 +40,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Date; @@ -48,7 +49,7 @@ import java.util.Date; * @author Mark sunlightcs@gmail.com */ @RestController -@Api(tags = "登录管理") +@Tag(name = "登录管理") @AllArgsConstructor public class LoginController { private final SysUserService sysUserService; @@ -57,8 +58,8 @@ public class LoginController { private final SysLogLoginService sysLogLoginService; @GetMapping("captcha") - @ApiOperation(value = "验证码", produces = "application/octet-stream") - @ApiImplicitParam(paramType = "query", dataType = "string", name = "uuid", required = true) + @Operation(summary = "验证码") + @Parameter(in = ParameterIn.QUERY, ref = "string", name = "uuid", required = true) public void captcha(HttpServletResponse response, String uuid) throws IOException { //uuid不能为空 AssertUtils.isBlank(uuid, ErrorCode.IDENTIFIER_NOT_NULL); @@ -68,7 +69,7 @@ public class LoginController { } @PostMapping("login") - @ApiOperation(value = "登录") + @Operation(summary = "登录") public Result login(HttpServletRequest request, @RequestBody LoginDTO login) { //效验数据 ValidatorUtils.validateEntity(login); @@ -127,7 +128,7 @@ public class LoginController { } @PostMapping("logout") - @ApiOperation(value = "退出") + @Operation(summary = "退出") public Result logout(HttpServletRequest request) { UserDetail user = SecurityUser.getUser(); @@ -149,4 +150,4 @@ public class LoginController { return new Result(); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/security/dto/LoginDTO.java b/renren-admin/src/main/java/io/renren/modules/security/dto/LoginDTO.java index 608fc9b..50422b3 100644 --- a/renren-admin/src/main/java/io/renren/modules/security/dto/LoginDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/security/dto/LoginDTO.java @@ -8,11 +8,10 @@ package io.renren.modules.security.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; -import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -21,24 +20,24 @@ import java.io.Serializable; * @author Mark sunlightcs@gmail.com */ @Data -@ApiModel(value = "登录表单") +@Schema(title = "登录表单") public class LoginDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "用户名", required = true) + @Schema(title = "用户名", required = true) @NotBlank(message="{sysuser.username.require}") private String username; - @ApiModelProperty(value = "密码") + @Schema(title = "密码") @NotBlank(message="{sysuser.password.require}") private String password; - @ApiModelProperty(value = "验证码") + @Schema(title = "验证码") @NotBlank(message="{sysuser.captcha.require}") private String captcha; - @ApiModelProperty(value = "唯一标识") + @Schema(title = "唯一标识") @NotBlank(message="{sysuser.uuid.require}") private String uuid; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/security/oauth2/Oauth2Filter.java b/renren-admin/src/main/java/io/renren/modules/security/oauth2/Oauth2Filter.java index 18beeb8..f6015c2 100644 --- a/renren-admin/src/main/java/io/renren/modules/security/oauth2/Oauth2Filter.java +++ b/renren-admin/src/main/java/io/renren/modules/security/oauth2/Oauth2Filter.java @@ -14,16 +14,16 @@ import io.renren.common.exception.ErrorCode; import io.renren.common.utils.HttpContextUtils; import io.renren.common.utils.JsonUtils; import io.renren.common.utils.Result; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.apache.http.HttpStatus; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.web.filter.authc.AuthenticatingFilter; import org.springframework.web.bind.annotation.RequestMethod; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** @@ -109,4 +109,4 @@ public class Oauth2Filter extends AuthenticatingFilter { return token; } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/security/service/CaptchaService.java b/renren-admin/src/main/java/io/renren/modules/security/service/CaptchaService.java index e660f75..07ef78d 100644 --- a/renren-admin/src/main/java/io/renren/modules/security/service/CaptchaService.java +++ b/renren-admin/src/main/java/io/renren/modules/security/service/CaptchaService.java @@ -8,7 +8,8 @@ package io.renren.modules.security.service; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; + import java.io.IOException; /** diff --git a/renren-admin/src/main/java/io/renren/modules/security/service/impl/CaptchaServiceImpl.java b/renren-admin/src/main/java/io/renren/modules/security/service/impl/CaptchaServiceImpl.java index 863a24e..9c60ad2 100644 --- a/renren-admin/src/main/java/io/renren/modules/security/service/impl/CaptchaServiceImpl.java +++ b/renren-admin/src/main/java/io/renren/modules/security/service/impl/CaptchaServiceImpl.java @@ -15,11 +15,11 @@ import com.wf.captcha.base.Captcha; import io.renren.common.redis.RedisKeys; import io.renren.common.redis.RedisUtils; import io.renren.modules.security.service.CaptchaService; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** @@ -96,4 +96,4 @@ public class CaptchaServiceImpl implements CaptchaService { } return captcha; } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDeptController.java b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDeptController.java index 8e26cd7..d232079 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDeptController.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDeptController.java @@ -17,8 +17,8 @@ import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; import io.renren.modules.sys.dto.SysDeptDTO; import io.renren.modules.sys.service.SysDeptService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; @@ -33,13 +33,13 @@ import java.util.List; */ @RestController @RequestMapping("/sys/dept") -@Api(tags = "部门管理") +@Tag(name = "部门管理") @AllArgsConstructor public class SysDeptController { private final SysDeptService sysDeptService; @GetMapping("list") - @ApiOperation("列表") + @Operation(summary = "列表") @RequiresPermissions("sys:dept:list") public Result> list() { List list = sysDeptService.list(new HashMap<>(1)); @@ -48,7 +48,7 @@ public class SysDeptController { } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:dept:info") public Result get(@PathVariable("id") Long id) { SysDeptDTO data = sysDeptService.get(id); @@ -57,7 +57,7 @@ public class SysDeptController { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("sys:dept:save") public Result save(@RequestBody SysDeptDTO dto) { @@ -70,7 +70,7 @@ public class SysDeptController { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("sys:dept:update") public Result update(@RequestBody SysDeptDTO dto) { @@ -83,7 +83,7 @@ public class SysDeptController { } @DeleteMapping("{id}") - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:dept:delete") public Result delete(@PathVariable("id") Long id) { @@ -95,4 +95,4 @@ public class SysDeptController { return new Result(); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDictDataController.java b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDictDataController.java index 960a310..40fd04c 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDictDataController.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDictDataController.java @@ -18,14 +18,14 @@ import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; import io.renren.modules.sys.dto.SysDictDataDTO; import io.renren.modules.sys.service.SysDictDataService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import java.util.Map; @@ -36,23 +36,23 @@ import java.util.Map; */ @RestController @RequestMapping("sys/dict/data") -@Api(tags = "字典数据") +@Tag(name = "字典数据") @AllArgsConstructor public class SysDictDataController { private final SysDictDataService sysDictDataService; @GetMapping("page") - @ApiOperation("字典数据") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "dictLabel", value = "字典标签", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "dictValue", value = "字典值", paramType = "query", dataType = "String") + @Operation(summary = "字典数据") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "dictLabel", description = "字典标签", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "dictValue", description = "字典值", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:dict:page") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { //字典类型 PageData page = sysDictDataService.page(params); @@ -60,7 +60,7 @@ public class SysDictDataController { } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:dict:info") public Result get(@PathVariable("id") Long id) { SysDictDataDTO data = sysDictDataService.get(id); @@ -69,7 +69,7 @@ public class SysDictDataController { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("sys:dict:save") public Result save(@RequestBody SysDictDataDTO dto) { @@ -82,7 +82,7 @@ public class SysDictDataController { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("sys:dict:update") public Result update(@RequestBody SysDictDataDTO dto) { @@ -95,7 +95,7 @@ public class SysDictDataController { } @DeleteMapping - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:dict:delete") public Result delete(@RequestBody Long[] ids) { @@ -107,4 +107,4 @@ public class SysDictDataController { return new Result(); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDictTypeController.java b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDictTypeController.java index aa79db5..beed4ff 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDictTypeController.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysDictTypeController.java @@ -19,14 +19,14 @@ import io.renren.common.validator.group.UpdateGroup; import io.renren.modules.sys.dto.SysDictTypeDTO; import io.renren.modules.sys.entity.DictType; import io.renren.modules.sys.service.SysDictTypeService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import java.util.List; import java.util.Map; @@ -38,23 +38,23 @@ import java.util.Map; */ @RestController @RequestMapping("sys/dict/type") -@Api(tags = "字典类型") +@Tag(name = "字典类型") @AllArgsConstructor public class SysDictTypeController { private final SysDictTypeService sysDictTypeService; @GetMapping("page") - @ApiOperation("字典类型") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "dictType", value = "字典类型", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "dictName", value = "字典名称", paramType = "query", dataType = "String") + @Operation(summary = "字典类型") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "dictType", description = "字典类型", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "dictName", description = "字典名称", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:dict:page") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { //字典类型 PageData page = sysDictTypeService.page(params); @@ -62,7 +62,7 @@ public class SysDictTypeController { } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:dict:info") public Result get(@PathVariable("id") Long id) { SysDictTypeDTO data = sysDictTypeService.get(id); @@ -71,7 +71,7 @@ public class SysDictTypeController { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("sys:dict:save") public Result save(@RequestBody SysDictTypeDTO dto) { @@ -84,7 +84,7 @@ public class SysDictTypeController { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("sys:dict:update") public Result update(@RequestBody SysDictTypeDTO dto) { @@ -97,7 +97,7 @@ public class SysDictTypeController { } @DeleteMapping - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:dict:delete") public Result delete(@RequestBody Long[] ids) { @@ -110,11 +110,11 @@ public class SysDictTypeController { } @GetMapping("all") - @ApiOperation("所有字典数据") + @Operation(summary = "所有字典数据") public Result> all() { List list = sysDictTypeService.getAllList(); return new Result>().ok(list); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysMenuController.java b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysMenuController.java index 2bba23a..3bb8ff0 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysMenuController.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysMenuController.java @@ -20,9 +20,10 @@ import io.renren.modules.security.user.UserDetail; import io.renren.modules.sys.dto.SysMenuDTO; import io.renren.modules.sys.enums.MenuTypeEnum; import io.renren.modules.sys.service.SysMenuService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; @@ -37,14 +38,14 @@ import java.util.Set; */ @RestController @RequestMapping("/sys/menu") -@Api(tags = "菜单管理") +@Tag(name = "菜单管理") @AllArgsConstructor public class SysMenuController { private final SysMenuService sysMenuService; private final ShiroService shiroService; @GetMapping("nav") - @ApiOperation("导航") + @Operation(summary = "导航") public Result> nav() { UserDetail user = SecurityUser.getUser(); List list = sysMenuService.getUserMenuList(user, MenuTypeEnum.MENU.value()); @@ -53,7 +54,7 @@ public class SysMenuController { } @GetMapping("permissions") - @ApiOperation("权限标识") + @Operation(summary = "权限标识") public Result> permissions() { UserDetail user = SecurityUser.getUser(); Set set = shiroService.getUserPermissions(user); @@ -62,8 +63,8 @@ public class SysMenuController { } @GetMapping("list") - @ApiOperation("列表") - @ApiImplicitParam(name = "type", value = "菜单类型 0:菜单 1:按钮 null:全部", paramType = "query", dataType = "int") + @Operation(summary = "列表") + @Parameter(name = "type", description = "菜单类型 0:菜单 1:按钮 null:全部", in = ParameterIn.QUERY, ref = "int") @RequiresPermissions("sys:menu:list") public Result> list(Integer type) { List list = sysMenuService.getAllMenuList(type); @@ -72,7 +73,7 @@ public class SysMenuController { } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:menu:info") public Result get(@PathVariable("id") Long id) { SysMenuDTO data = sysMenuService.get(id); @@ -81,7 +82,7 @@ public class SysMenuController { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("sys:menu:save") public Result save(@RequestBody SysMenuDTO dto) { @@ -94,7 +95,7 @@ public class SysMenuController { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("sys:menu:update") public Result update(@RequestBody SysMenuDTO dto) { @@ -107,7 +108,7 @@ public class SysMenuController { } @DeleteMapping("{id}") - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:menu:delete") public Result delete(@PathVariable("id") Long id) { @@ -126,7 +127,7 @@ public class SysMenuController { } @GetMapping("select") - @ApiOperation("角色菜单权限") + @Operation(summary = "角色菜单权限") @RequiresPermissions("sys:menu:select") public Result> select() { UserDetail user = SecurityUser.getUser(); @@ -134,4 +135,4 @@ public class SysMenuController { return new Result>().ok(list); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysParamsController.java b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysParamsController.java index 5a3cc5b..eb13ece 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysParamsController.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysParamsController.java @@ -21,16 +21,16 @@ import io.renren.common.validator.group.UpdateGroup; import io.renren.modules.sys.dto.SysParamsDTO; import io.renren.modules.sys.excel.SysParamsExcel; import io.renren.modules.sys.service.SysParamsService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; -import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -43,29 +43,29 @@ import java.util.Map; */ @RestController @RequestMapping("sys/params") -@Api(tags = "参数管理") +@Tag(name = "参数管理") @AllArgsConstructor public class SysParamsController { private final SysParamsService sysParamsService; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "paramCode", value = "参数编码", paramType = "query", dataType = "String") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "paramCode", description = "参数编码", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:params:page") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = sysParamsService.page(params); return new Result>().ok(page); } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:params:info") public Result get(@PathVariable("id") Long id) { SysParamsDTO data = sysParamsService.get(id); @@ -74,7 +74,7 @@ public class SysParamsController { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("sys:params:save") public Result save(@RequestBody SysParamsDTO dto) { @@ -87,7 +87,7 @@ public class SysParamsController { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("sys:params:update") public Result update(@RequestBody SysParamsDTO dto) { @@ -100,7 +100,7 @@ public class SysParamsController { } @DeleteMapping - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:params:delete") public Result delete(@RequestBody Long[] ids) { @@ -113,14 +113,14 @@ public class SysParamsController { } @GetMapping("export") - @ApiOperation("导出") + @Operation(summary = "导出") @LogOperation("导出") @RequiresPermissions("sys:params:export") - @ApiImplicitParam(name = "paramCode", value = "参数编码", paramType = "query", dataType = "String") - public void export(@ApiIgnore @RequestParam Map params, HttpServletResponse response) throws Exception { + @Parameter(name = "paramCode", description = "参数编码", in = ParameterIn.QUERY, ref = "String") + public void export(@Parameter(hidden = true) @RequestParam Map params, HttpServletResponse response) throws Exception { List list = sysParamsService.list(params); ExcelUtils.exportExcelToTarget(response, null, "参数管理", list, SysParamsExcel.class); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysRoleController.java b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysRoleController.java index 297446d..a9d5776 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysRoleController.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysRoleController.java @@ -21,14 +21,14 @@ import io.renren.modules.sys.dto.SysRoleDTO; import io.renren.modules.sys.service.SysRoleDataScopeService; import io.renren.modules.sys.service.SysRoleMenuService; import io.renren.modules.sys.service.SysRoleService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import java.util.HashMap; import java.util.List; @@ -41,7 +41,7 @@ import java.util.Map; */ @RestController @RequestMapping("/sys/role") -@Api(tags = "角色管理") +@Tag(name = "角色管理") @AllArgsConstructor public class SysRoleController { private final SysRoleService sysRoleService; @@ -49,23 +49,23 @@ public class SysRoleController { private final SysRoleDataScopeService sysRoleDataScopeService; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "name", value = "角色名", paramType = "query", dataType = "String") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "name", description = "角色名", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:role:page") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = sysRoleService.page(params); return new Result>().ok(page); } @GetMapping("list") - @ApiOperation("列表") + @Operation(summary = "列表") @RequiresPermissions("sys:role:list") public Result> list() { List data = sysRoleService.list(new HashMap<>(1)); @@ -74,7 +74,7 @@ public class SysRoleController { } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:role:info") public Result get(@PathVariable("id") Long id) { SysRoleDTO data = sysRoleService.get(id); @@ -91,7 +91,7 @@ public class SysRoleController { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("sys:role:save") public Result save(@RequestBody SysRoleDTO dto) { @@ -104,7 +104,7 @@ public class SysRoleController { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("sys:role:update") public Result update(@RequestBody SysRoleDTO dto) { @@ -117,7 +117,7 @@ public class SysRoleController { } @DeleteMapping - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:role:delete") public Result delete(@RequestBody Long[] ids) { @@ -128,4 +128,4 @@ public class SysRoleController { return new Result(); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysUserController.java b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysUserController.java index 6e202eb..25c20eb 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/controller/SysUserController.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/controller/SysUserController.java @@ -28,16 +28,16 @@ import io.renren.modules.sys.dto.SysUserDTO; import io.renren.modules.sys.excel.SysUserExcel; import io.renren.modules.sys.service.SysRoleUserService; import io.renren.modules.sys.service.SysUserService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; -import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -49,32 +49,32 @@ import java.util.Map; */ @RestController @RequestMapping("/sys/user") -@Api(tags = "用户管理") +@Tag(name = "用户管理") @AllArgsConstructor public class SysUserController { private final SysUserService sysUserService; private final SysRoleUserService sysRoleUserService; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "username", value = "用户名", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "gender", value = "性别", paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "deptId", value = "部门ID", paramType = "query", dataType = "String") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY, required = true, ref = "int"), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "username", description = "用户名", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "gender", description = "性别", in = ParameterIn.QUERY, ref = "String"), + @Parameter(name = "deptId", description = "部门ID", in = ParameterIn.QUERY, ref = "String") }) @RequiresPermissions("sys:user:page") - public Result> page(@ApiIgnore @RequestParam Map params) { + public Result> page(@Parameter(hidden = true) @RequestParam Map params) { PageData page = sysUserService.page(params); return new Result>().ok(page); } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("sys:user:info") public Result get(@PathVariable("id") Long id) { SysUserDTO data = sysUserService.get(id); @@ -87,14 +87,14 @@ public class SysUserController { } @GetMapping("info") - @ApiOperation("登录用户信息") + @Operation(summary = "登录用户信息") public Result info() { SysUserDTO data = ConvertUtils.sourceToTarget(SecurityUser.getUser(), SysUserDTO.class); return new Result().ok(data); } @PutMapping("password") - @ApiOperation("修改密码") + @Operation(summary = "修改密码") @LogOperation("修改密码") public Result password(@RequestBody PasswordDTO dto) { //效验数据 @@ -113,7 +113,7 @@ public class SysUserController { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("sys:user:save") public Result save(@RequestBody SysUserDTO dto) { @@ -126,7 +126,7 @@ public class SysUserController { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("sys:user:update") public Result update(@RequestBody SysUserDTO dto) { @@ -139,7 +139,7 @@ public class SysUserController { } @DeleteMapping - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("sys:user:delete") public Result delete(@RequestBody Long[] ids) { @@ -152,13 +152,13 @@ public class SysUserController { } @GetMapping("export") - @ApiOperation("导出") + @Operation(summary = "导出") @LogOperation("导出") @RequiresPermissions("sys:user:export") - @ApiImplicitParam(name = "username", value = "用户名", paramType = "query", dataType = "String") - public void export(@ApiIgnore @RequestParam Map params, HttpServletResponse response) throws Exception { + @Parameter(name = "username", description = "用户名", in = ParameterIn.QUERY, ref = "String") + public void export(@Parameter(hidden = true) @RequestParam Map params, HttpServletResponse response) throws Exception { List list = sysUserService.list(params); ExcelUtils.exportExcelToTarget(response, null, "用户管理", list, SysUserExcel.class); } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/PasswordDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/PasswordDTO.java index bc3f79d..f0cd075 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/PasswordDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/PasswordDTO.java @@ -8,11 +8,10 @@ package io.renren.modules.sys.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; -import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -22,16 +21,16 @@ import java.io.Serializable; * @since 1.0.0 */ @Data -@ApiModel(value = "修改密码") +@Schema(title = "修改密码") public class PasswordDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "原密码") + @Schema(title = "原密码") @NotBlank(message="{sysuser.password.require}") private String password; - @ApiModelProperty(value = "新密码") + @Schema(title = "新密码") @NotBlank(message="{sysuser.password.require}") private String newPassword; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDeptDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDeptDTO.java index e9f3166..879f685 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDeptDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDeptDTO.java @@ -13,13 +13,12 @@ import io.renren.common.utils.TreeNode; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Null; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; @@ -29,33 +28,33 @@ import java.util.Date; * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ -@ApiModel(value = "部门管理") +@Schema(title = "部门管理") public class SysDeptDTO extends TreeNode implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; - @ApiModelProperty(value = "上级ID") + @Schema(title = "上级ID") @NotNull(message="{sysdept.pid.require}", groups = DefaultGroup.class) private Long pid; - @ApiModelProperty(value = "部门名称") - @NotBlank(message="{sysdept.name.require}", groups = DefaultGroup.class) - private String name; + @Schema(title = "部门名称") + @NotBlank(message="{sysdept.title.require}", groups = DefaultGroup.class) + private String title; - @ApiModelProperty(value = "排序") + @Schema(title = "排序") @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) private Integer sort; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; - @ApiModelProperty(value = "上级部门名称") - private String parentName; + @Schema(title = "上级部门名称") + private String parenttitle; @Override public Long getId() { @@ -77,12 +76,12 @@ public class SysDeptDTO extends TreeNode implements Serializable { this.pid = pid; } - public String getName() { - return name; + public String gettitle() { + return title; } - public void setName(String name) { - this.name = name; + public void settitle(String title) { + this.title = title; } public Integer getSort() { @@ -101,11 +100,11 @@ public class SysDeptDTO extends TreeNode implements Serializable { this.createDate = createDate; } - public String getParentName() { - return parentName; + public String getParenttitle() { + return parenttitle; } - public void setParentName(String parentName) { - this.parentName = parentName; + public void setParenttitle(String parenttitle) { + this.parenttitle = parenttitle; } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDictDataDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDictDataDTO.java index 46b6ab6..1fada6b 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDictDataDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDictDataDTO.java @@ -12,14 +12,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Null; import lombok.Data; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; @@ -29,38 +28,38 @@ import java.util.Date; * @author Mark sunlightcs@gmail.com */ @Data -@ApiModel(value = "字典数据") +@Schema(title = "字典数据") public class SysDictDataDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; - @ApiModelProperty(value = "字典类型ID") + @Schema(title = "字典类型ID") @NotNull(message="{sysdict.type.require}", groups = DefaultGroup.class) private Long dictTypeId; - @ApiModelProperty(value = "字典标签") + @Schema(title = "字典标签") @NotBlank(message="{sysdict.label.require}", groups = DefaultGroup.class) private String dictLabel; - @ApiModelProperty(value = "字典值") + @Schema(title = "字典值") private String dictValue; - @ApiModelProperty(value = "备注") + @Schema(title = "备注") private String remark; - @ApiModelProperty(value = "排序") + @Schema(title = "排序") @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) private Integer sort; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; - @ApiModelProperty(value = "更新时间") + @Schema(title = "更新时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date updateDate; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDictTypeDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDictTypeDTO.java index 81ae398..8ab184e 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDictTypeDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysDictTypeDTO.java @@ -12,14 +12,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Null; import lombok.Data; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; @@ -29,35 +28,35 @@ import java.util.Date; * @author Mark sunlightcs@gmail.com */ @Data -@ApiModel(value = "字典类型") +@Schema(title = "字典类型") public class SysDictTypeDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; - @ApiModelProperty(value = "字典类型") + @Schema(title = "字典类型") @NotBlank(message="{sysdict.type.require}", groups = DefaultGroup.class) private String dictType; - @ApiModelProperty(value = "字典名称") - @NotBlank(message="{sysdict.name.require}", groups = DefaultGroup.class) - private String dictName; + @Schema(title = "字典名称") + @NotBlank(message="{sysdict.title.require}", groups = DefaultGroup.class) + private String dicttitle; - @ApiModelProperty(value = "备注") + @Schema(title = "备注") private String remark; - @ApiModelProperty(value = "排序") + @Schema(title = "排序") @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) private Integer sort; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; - @ApiModelProperty(value = "更新时间") + @Schema(title = "更新时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date updateDate; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysMenuDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysMenuDTO.java index e6a7b5e..1a93cb4 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysMenuDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysMenuDTO.java @@ -13,14 +13,13 @@ import io.renren.common.utils.TreeNode; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Null; import org.hibernate.validator.constraints.Range; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; @@ -30,46 +29,46 @@ import java.util.Date; * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ -@ApiModel(value = "菜单管理") +@Schema(title = "菜单管理") public class SysMenuDTO extends TreeNode implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; - @ApiModelProperty(value = "上级ID") + @Schema(title = "上级ID") @NotNull(message="{sysmenu.pid.require}", groups = DefaultGroup.class) private Long pid; - @ApiModelProperty(value = "菜单名称") - @NotBlank(message="{sysmenu.name.require}", groups = DefaultGroup.class) - private String name; + @Schema(title = "菜单名称") + @NotBlank(message="{sysmenu.title.require}", groups = DefaultGroup.class) + private String title; - @ApiModelProperty(value = "菜单URL") + @Schema(title = "菜单URL") private String url; - @ApiModelProperty(value = "类型 0:菜单 1:按钮") + @Schema(title = "类型 0:菜单 1:按钮") @Range(min=0, max=1, message = "{sysmenu.type.range}", groups = DefaultGroup.class) private Integer menuType; - @ApiModelProperty(value = "菜单图标") + @Schema(title = "菜单图标") private String icon; - @ApiModelProperty(value = "授权(多个用逗号分隔,如:sys:user:list,sys:user:save)") + @Schema(title = "授权(多个用逗号分隔,如:sys:user:list,sys:user:save)") private String permissions; - @ApiModelProperty(value = "排序") + @Schema(title = "排序") @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) private Integer sort; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; - @ApiModelProperty(value = "上级菜单名称") - private String parentName; + @Schema(title = "上级菜单名称") + private String parenttitle; @Override public Long getId() { @@ -91,12 +90,12 @@ public class SysMenuDTO extends TreeNode implements Serializable { this.pid = pid; } - public String getName() { - return name; + public String gettitle() { + return title; } - public void setName(String name) { - this.name = name; + public void settitle(String title) { + this.title = title; } public String getUrl() { @@ -147,11 +146,11 @@ public class SysMenuDTO extends TreeNode implements Serializable { this.createDate = createDate; } - public String getParentName() { - return parentName; + public String getParenttitle() { + return parenttitle; } - public void setParentName(String parentName) { - this.parentName = parentName; + public void setParenttitle(String parenttitle) { + this.parenttitle = parenttitle; } -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysParamsDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysParamsDTO.java index bf275a7..ee743ed 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysParamsDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysParamsDTO.java @@ -12,13 +12,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Null; import lombok.Data; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; @@ -29,31 +28,31 @@ import java.util.Date; * @since 1.0.0 */ @Data -@ApiModel(value = "参数管理") +@Schema(title = "参数管理") public class SysParamsDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; - @ApiModelProperty(value = "参数编码") + @Schema(title = "参数编码") @NotBlank(message="{sysparams.paramcode.require}", groups = DefaultGroup.class) private String paramCode; - @ApiModelProperty(value = "参数值") + @Schema(title = "参数值") @NotBlank(message="{sysparams.paramvalue.require}", groups = DefaultGroup.class) private String paramValue; - @ApiModelProperty(value = "备注") + @Schema(title = "备注") private String remark; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; - @ApiModelProperty(value = "更新时间") + @Schema(title = "更新时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date updateDate; diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysRoleDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysRoleDTO.java index a57b4b3..ed6a68b 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysRoleDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysRoleDTO.java @@ -12,13 +12,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Null; import lombok.Data; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; import java.util.List; @@ -30,30 +29,30 @@ import java.util.List; * @since 1.0.0 */ @Data -@ApiModel(value = "角色管理") +@Schema(title = "角色管理") public class SysRoleDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; - @ApiModelProperty(value = "角色名称") - @NotBlank(message="{sysrole.name.require}", groups = DefaultGroup.class) - private String name; + @Schema(title = "角色名称") + @NotBlank(message="{sysrole.title.require}", groups = DefaultGroup.class) + private String title; - @ApiModelProperty(value = "备注") + @Schema(title = "备注") private String remark; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; - @ApiModelProperty(value = "菜单ID列表") + @Schema(title = "菜单ID列表") private List menuIdList; - @ApiModelProperty(value = "部门ID列表") + @Schema(title = "部门ID列表") private List deptIdList; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysUserDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysUserDTO.java index c42a66f..10e8b71 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/SysUserDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/SysUserDTO.java @@ -12,15 +12,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.renren.common.validator.group.AddGroup; import io.renren.common.validator.group.DefaultGroup; import io.renren.common.validator.group.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Null; import lombok.Data; import org.hibernate.validator.constraints.Range; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; import java.util.List; @@ -32,62 +31,62 @@ import java.util.List; * @since 1.0.0 */ @Data -@ApiModel(value = "用户管理") +@Schema(title = "用户管理") public class SysUserDTO implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @Schema(title = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; - @ApiModelProperty(value = "用户名", required = true) + @Schema(title = "用户名", required = true) @NotBlank(message="{sysuser.username.require}", groups = DefaultGroup.class) private String username; - @ApiModelProperty(value = "密码") + @Schema(title = "密码") @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @NotBlank(message="{sysuser.password.require}", groups = AddGroup.class) private String password; - @ApiModelProperty(value = "姓名", required = true) - @NotBlank(message="{sysuser.realname.require}", groups = DefaultGroup.class) - private String realName; + @Schema(title = "姓名", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message="{sysuser.realtitle.require}", groups = DefaultGroup.class) + private String realtitle; - @ApiModelProperty(value = "头像") + @Schema(title = "头像") private String headUrl; - @ApiModelProperty(value = "性别 0:男 1:女 2:保密", required = true) + @Schema(title = "性别 0:男 1:女 2:保密", required = true) @Range(min=0, max=2, message = "{sysuser.gender.range}", groups = DefaultGroup.class) private Integer gender; - @ApiModelProperty(value = "邮箱") + @Schema(title = "邮箱") @Email(message="{sysuser.email.error}", groups = DefaultGroup.class) private String email; - @ApiModelProperty(value = "手机号") + @Schema(title = "手机号") private String mobile; - @ApiModelProperty(value = "部门ID", required = true) + @Schema(title = "部门ID", required = true) @NotNull(message="{sysuser.deptId.require}", groups = DefaultGroup.class) private Long deptId; - @ApiModelProperty(value = "状态 0:停用 1:正常", required = true) + @Schema(title = "状态 0:停用 1:正常", required = true) @Range(min=0, max=1, message = "{sysuser.status.range}", groups = DefaultGroup.class) private Integer status; - @ApiModelProperty(value = "创建时间") + @Schema(title = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; - @ApiModelProperty(value = "超级管理员 0:否 1:是") + @Schema(title = "超级管理员 0:否 1:是") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Integer superAdmin; - @ApiModelProperty(value = "角色ID列表") + @Schema(title = "角色ID列表") private List roleIdList; - @ApiModelProperty(value = "部门名称") - private String deptName; + @Schema(title = "部门名称") + private String depttitle; -} \ No newline at end of file +} diff --git a/renren-admin/src/main/java/io/renren/modules/sys/dto/SystemDTO.java b/renren-admin/src/main/java/io/renren/modules/sys/dto/SystemDTO.java index 1412b41..b027e51 100644 --- a/renren-admin/src/main/java/io/renren/modules/sys/dto/SystemDTO.java +++ b/renren-admin/src/main/java/io/renren/modules/sys/dto/SystemDTO.java @@ -8,7 +8,7 @@ package io.renren.modules.sys.dto; -import io.swagger.annotations.ApiModel; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; @@ -21,12 +21,12 @@ import java.math.BigDecimal; * @since 1.0.0 */ @Data -@ApiModel(value = "系统数据") +@Schema(title = "系统数据") public class SystemDTO implements Serializable { private static final long serialVersionUID = 1L; private Long sysTime; - private String osName; + private String ostitle; private String osArch; private String osVersion; private String userLanguage; @@ -35,13 +35,13 @@ public class SystemDTO implements Serializable { private Long freePhysical; private BigDecimal memoryRate; private Integer processors; - private String jvmName; + private String jvmtitle; private String javaVersion; private String javaHome; private Long javaTotalMemory; private Long javaFreeMemory; private Long javaMaxMemory; - private String userName; + private String usertitle; private BigDecimal systemCpuLoad; private String userTimezone; diff --git a/renren-admin/src/main/resources/application-dev.yml b/renren-admin/src/main/resources/application-dev.yml index ad7412a..af80fc7 100644 --- a/renren-admin/src/main/resources/application-dev.yml +++ b/renren-admin/src/main/resources/application-dev.yml @@ -66,4 +66,4 @@ spring: # driver-class-name: org.postgresql.Driver # url: jdbc:postgresql://123456:5432/renren_security # username: postgres -# password: 123456 \ No newline at end of file +# password: 123456 diff --git a/renren-admin/src/main/resources/application.yml b/renren-admin/src/main/resources/application.yml index 26bc012..0c57798 100644 --- a/renren-admin/src/main/resources/application.yml +++ b/renren-admin/src/main/resources/application.yml @@ -36,18 +36,20 @@ spring: max-file-size: 100MB max-request-size: 100MB enabled: true - redis: - database: 0 - host: 192.168.10.10 - port: 6379 - password: # 密码(默认为空) - timeout: 6000ms # 连接超时时长(毫秒) - lettuce: - pool: - max-active: 1000 # 连接池最大连接数(使用负值表示没有限制) - max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) - max-idle: 10 # 连接池中的最大空闲连接 - min-idle: 5 # 连接池中的最小空闲连接 + + data: + redis: + database: 0 + host: 192.168.10.10 + port: 6379 + password: # 密码(默认为空) + timeout: 6000ms # 连接超时时长(毫秒) + lettuce: + pool: + max-active: 1000 # 连接池最大连接数(使用负值表示没有限制) + max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-idle: 10 # 连接池中的最大空闲连接 + min-idle: 5 # 连接池中的最小空闲连接 # 是否开启redis缓存 true开启 false关闭 renren: diff --git a/renren-admin/src/test/java/io/renren/DynamicDataSourceTest.java b/renren-admin/src/test/java/io/renren/DynamicDataSourceTest.java index 213fc61..a410df6 100644 --- a/renren-admin/src/test/java/io/renren/DynamicDataSourceTest.java +++ b/renren-admin/src/test/java/io/renren/DynamicDataSourceTest.java @@ -9,12 +9,12 @@ package io.renren; import io.renren.service.DynamicDataSourceTestService; +import jakarta.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -import javax.annotation.Resource; /** * 多数据源测试 diff --git a/renren-admin/src/test/java/io/renren/RedisTest.java b/renren-admin/src/test/java/io/renren/RedisTest.java index 3dc3cf3..9070892 100644 --- a/renren-admin/src/test/java/io/renren/RedisTest.java +++ b/renren-admin/src/test/java/io/renren/RedisTest.java @@ -11,12 +11,12 @@ package io.renren; import cn.hutool.core.util.StrUtil; import io.renren.common.redis.RedisUtils; import io.renren.modules.sys.entity.SysUserEntity; +import jakarta.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -import javax.annotation.Resource; @RunWith(SpringRunner.class) @SpringBootTest @@ -33,4 +33,4 @@ public class RedisTest { System.out.println(StrUtil.toString(redisUtils.get("user"))); } -} \ No newline at end of file +} diff --git a/renren-admin/src/test/java/io/renren/service/DynamicDataSourceTestService.java b/renren-admin/src/test/java/io/renren/service/DynamicDataSourceTestService.java index b9b2ad8..cb30782 100644 --- a/renren-admin/src/test/java/io/renren/service/DynamicDataSourceTestService.java +++ b/renren-admin/src/test/java/io/renren/service/DynamicDataSourceTestService.java @@ -11,10 +11,10 @@ package io.renren.service; import io.renren.commons.dynamic.datasource.annotation.DataSource; import io.renren.modules.sys.dao.SysUserDao; import io.renren.modules.sys.entity.SysUserEntity; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; /** * 测试多数据源 @@ -57,4 +57,4 @@ public class DynamicDataSourceTestService { // //测试事物 // int i = 1/0; // } -} \ No newline at end of file +} diff --git a/renren-api/pom.xml b/renren-api/pom.xml index 5177f91..b40ca52 100644 --- a/renren-api/pom.xml +++ b/renren-api/pom.xml @@ -15,6 +15,11 @@ renren-common 5.3.0 + + io.renren + renren-dynamic-datasource + 5.3.0 + @@ -33,4 +38,4 @@ - \ No newline at end of file + diff --git a/renren-api/src/main/java/io/renren/config/FilterConfig.java b/renren-api/src/main/java/io/renren/config/FilterConfig.java index 68bd80a..217e61f 100644 --- a/renren-api/src/main/java/io/renren/config/FilterConfig.java +++ b/renren-api/src/main/java/io/renren/config/FilterConfig.java @@ -9,11 +9,11 @@ package io.renren.config; import io.renren.common.xss.XssFilter; +import jakarta.servlet.DispatcherType; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import javax.servlet.DispatcherType; /** * Filter配置 diff --git a/renren-api/src/main/java/io/renren/config/SwaggerConfig.java b/renren-api/src/main/java/io/renren/config/SwaggerConfig.java index f6c5af2..8128ef8 100644 --- a/renren-api/src/main/java/io/renren/config/SwaggerConfig.java +++ b/renren-api/src/main/java/io/renren/config/SwaggerConfig.java @@ -8,61 +8,40 @@ package io.renren.config; -import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; +import io.renren.common.constant.Constant; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.security.SecurityRequirement; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.ApiKey; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; import java.util.ArrayList; import java.util.List; @Configuration -@EnableSwagger2WebMvc -@AllArgsConstructor public class SwaggerConfig { - private final OpenApiExtensionResolver openApiExtensionResolver; - @Bean - public Docket createRestApi() { - return new Docket(DocumentationType.SWAGGER_2) - .apiInfo(apiInfo()) - .select() - //加了ApiOperation注解的类,才生成接口文档 - .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) - //包下的类,才生成接口文档 - //.apis(RequestHandlerSelectors.basePackage("io.renren.controller")) - .paths(PathSelectors.any()) - .build() - .extensions(openApiExtensionResolver.buildExtensions("Renren")) - .directModelSubstitute(java.util.Date.class, String.class) - .securitySchemes(security()); + public OpenAPI createRestApi() { + return new OpenAPI() + .info(apiInfo()) + .security(security()); } - private ApiInfo apiInfo() { - return new ApiInfoBuilder() + private Info apiInfo() { + return new Info() .title("人人开源") - .description("renren-api模块接口文档") - .termsOfServiceUrl("https://www.renren.io") - .version("5.x") - .build(); + .description("renren-api文档") + .version("5.x"); } - private List security() { - ApiKey key = new ApiKey("token", "token", "header"); + private List security() { + SecurityRequirement key = new SecurityRequirement(); + key.addList(Constant.TOKEN_HEADER, Constant.TOKEN_HEADER); - List list = new ArrayList<>(); + List list = new ArrayList<>(); list.add(key); return list; } -} \ No newline at end of file +} diff --git a/renren-api/src/main/java/io/renren/config/WebMvcConfig.java b/renren-api/src/main/java/io/renren/config/WebMvcConfig.java index debabc8..8627f4e 100644 --- a/renren-api/src/main/java/io/renren/config/WebMvcConfig.java +++ b/renren-api/src/main/java/io/renren/config/WebMvcConfig.java @@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.renren.common.utils.DateUtils; import io.renren.interceptor.AuthorizationInterceptor; import io.renren.resolver.LoginUserHandlerMethodArgumentResolver; +import jakarta.annotation.Resource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.ByteArrayHttpMessageConverter; @@ -27,7 +28,6 @@ import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.List; import java.util.TimeZone; @@ -83,4 +83,4 @@ public class WebMvcConfig implements WebMvcConfigurer { converter.setObjectMapper(mapper); return converter; } -} \ No newline at end of file +} diff --git a/renren-api/src/main/java/io/renren/controller/ApiLoginController.java b/renren-api/src/main/java/io/renren/controller/ApiLoginController.java index f13f181..14df755 100644 --- a/renren-api/src/main/java/io/renren/controller/ApiLoginController.java +++ b/renren-api/src/main/java/io/renren/controller/ApiLoginController.java @@ -15,11 +15,11 @@ import io.renren.common.validator.ValidatorUtils; import io.renren.dto.LoginDTO; import io.renren.service.TokenService; import io.renren.service.UserService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import java.util.Map; @@ -30,7 +30,7 @@ import java.util.Map; */ @RestController @RequestMapping("/api") -@Api(tags = "登录接口") +@Tag(name = "登录接口") @AllArgsConstructor public class ApiLoginController { private final UserService userService; @@ -38,7 +38,7 @@ public class ApiLoginController { @PostMapping("login") - @ApiOperation("登录") + @Operation(summary = "登录") public Result> login(@RequestBody LoginDTO dto) { //表单校验 ValidatorUtils.validateEntity(dto); @@ -51,10 +51,10 @@ public class ApiLoginController { @Login @PostMapping("logout") - @ApiOperation("退出") - public Result logout(@ApiIgnore @RequestAttribute("userId") Long userId) { + @Operation(summary = "退出") + public Result logout(@Parameter(hidden = true) @RequestAttribute("userId") Long userId) { tokenService.expireToken(userId); return new Result(); } -} \ No newline at end of file +} diff --git a/renren-api/src/main/java/io/renren/controller/ApiRegisterController.java b/renren-api/src/main/java/io/renren/controller/ApiRegisterController.java index 126417e..d2dd544 100644 --- a/renren-api/src/main/java/io/renren/controller/ApiRegisterController.java +++ b/renren-api/src/main/java/io/renren/controller/ApiRegisterController.java @@ -14,8 +14,8 @@ import io.renren.common.validator.ValidatorUtils; import io.renren.dto.RegisterDTO; import io.renren.entity.UserEntity; import io.renren.service.UserService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -31,13 +31,13 @@ import java.util.Date; */ @RestController @RequestMapping("/api") -@Api(tags = "注册接口") +@Tag(name = "注册接口") @AllArgsConstructor public class ApiRegisterController { private final UserService userService; @PostMapping("register") - @ApiOperation("注册") + @Operation(summary = "注册") public Result register(@RequestBody RegisterDTO dto) { //表单校验 ValidatorUtils.validateEntity(dto); @@ -51,4 +51,4 @@ public class ApiRegisterController { return new Result(); } -} \ No newline at end of file +} diff --git a/renren-api/src/main/java/io/renren/controller/ApiTestController.java b/renren-api/src/main/java/io/renren/controller/ApiTestController.java index e85f55f..0d600a8 100644 --- a/renren-api/src/main/java/io/renren/controller/ApiTestController.java +++ b/renren-api/src/main/java/io/renren/controller/ApiTestController.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2018 人人开源 All rights reserved. - * + *

* https://www.renren.io - * + *

* 版权所有,侵权必究! */ @@ -12,13 +12,13 @@ import io.renren.annotation.Login; import io.renren.annotation.LoginUser; import io.renren.common.utils.Result; import io.renren.entity.UserEntity; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +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.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import springfox.documentation.annotations.ApiIgnore; /** * 测试接口 @@ -27,27 +27,27 @@ import springfox.documentation.annotations.ApiIgnore; */ @RestController @RequestMapping("/api") -@Api(tags="测试接口") +@Tag(name = "测试接口") public class ApiTestController { @Login @GetMapping("userInfo") - @ApiOperation(value="获取用户信息", response=UserEntity.class) - public Result userInfo(@ApiIgnore @LoginUser UserEntity user){ + @Operation(summary = "获取用户信息") + public Result userInfo(@Parameter(hidden = true) @LoginUser UserEntity user) { return new Result().ok(user); } @Login @GetMapping("userId") - @ApiOperation("获取用户ID") - public Result userInfo(@ApiIgnore @RequestAttribute("userId") Long userId){ + @Operation(summary = "获取用户ID") + public Result userInfo(@Parameter(hidden = true) @RequestAttribute("userId") Long userId) { return new Result().ok(userId); } @GetMapping("notToken") - @ApiOperation("忽略Token验证测试") - public Result notToken(){ + @Operation(summary = "忽略Token验证测试") + public Result notToken() { return new Result().ok("无需token也能访问。。。"); } -} \ No newline at end of file +} diff --git a/renren-api/src/main/java/io/renren/dto/LoginDTO.java b/renren-api/src/main/java/io/renren/dto/LoginDTO.java index 935bd1a..7f0cb54 100644 --- a/renren-api/src/main/java/io/renren/dto/LoginDTO.java +++ b/renren-api/src/main/java/io/renren/dto/LoginDTO.java @@ -9,11 +9,10 @@ package io.renren.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; -import javax.validation.constraints.NotBlank; /** * 登录表单 @@ -21,14 +20,14 @@ import javax.validation.constraints.NotBlank; * @author Mark sunlightcs@gmail.com */ @Data -@ApiModel(value = "登录表单") +@Schema(title = "登录表单") public class LoginDTO { - @ApiModelProperty(value = "手机号") + @Schema(title = "手机号") @NotBlank(message="手机号不能为空") private String mobile; - @ApiModelProperty(value = "密码") + @Schema(title = "密码") @NotBlank(message="密码不能为空") private String password; -} \ No newline at end of file +} diff --git a/renren-api/src/main/java/io/renren/dto/RegisterDTO.java b/renren-api/src/main/java/io/renren/dto/RegisterDTO.java index ff1f45a..4fadc84 100644 --- a/renren-api/src/main/java/io/renren/dto/RegisterDTO.java +++ b/renren-api/src/main/java/io/renren/dto/RegisterDTO.java @@ -8,11 +8,10 @@ package io.renren.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; -import javax.validation.constraints.NotBlank; /** * 注册表单 @@ -20,13 +19,13 @@ import javax.validation.constraints.NotBlank; * @author Mark sunlightcs@gmail.com */ @Data -@ApiModel(value = "注册表单") +@Schema(title = "注册表单") public class RegisterDTO { - @ApiModelProperty(value = "手机号") + @Schema(title = "手机号") @NotBlank(message="手机号不能为空") private String mobile; - @ApiModelProperty(value = "密码") + @Schema(title = "密码") @NotBlank(message="密码不能为空") private String password; diff --git a/renren-api/src/main/java/io/renren/interceptor/AuthorizationInterceptor.java b/renren-api/src/main/java/io/renren/interceptor/AuthorizationInterceptor.java index 42dd5b0..2a7b9be 100644 --- a/renren-api/src/main/java/io/renren/interceptor/AuthorizationInterceptor.java +++ b/renren-api/src/main/java/io/renren/interceptor/AuthorizationInterceptor.java @@ -14,13 +14,12 @@ import io.renren.common.exception.ErrorCode; import io.renren.common.exception.RenException; import io.renren.entity.TokenEntity; import io.renren.service.TokenService; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import org.springframework.web.servlet.HandlerInterceptor; /** * 权限(Token)验证 @@ -28,7 +27,7 @@ import javax.servlet.http.HttpServletResponse; * @author Mark sunlightcs@gmail.com */ @Component -public class AuthorizationInterceptor extends HandlerInterceptorAdapter { +public class AuthorizationInterceptor implements HandlerInterceptor { @Resource private TokenService tokenService; diff --git a/renren-api/src/main/resources/application.yml b/renren-api/src/main/resources/application.yml index a4ce80d..02fbf50 100644 --- a/renren-api/src/main/resources/application.yml +++ b/renren-api/src/main/resources/application.yml @@ -40,18 +40,20 @@ spring: max-file-size: 100MB max-request-size: 100MB enabled: true - redis: - database: 0 - host: 192.168.10.10 - port: 6379 - password: # 密码(默认为空) - timeout: 6000ms # 连接超时时长(毫秒) - lettuce: - pool: - max-active: 1000 # 连接池最大连接数(使用负值表示没有限制) - max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) - max-idle: 10 # 连接池中的最大空闲连接 - min-idle: 5 # 连接池中的最小空闲连接 + + data: + redis: + database: 0 + host: 192.168.10.10 + port: 6379 + password: # 密码(默认为空) + timeout: 6000ms # 连接超时时长(毫秒) + lettuce: + pool: + max-active: 1000 # 连接池最大连接数(使用负值表示没有限制) + max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-idle: 10 # 连接池中的最大空闲连接 + min-idle: 5 # 连接池中的最小空闲连接 renren: redis: @@ -78,4 +80,4 @@ mybatis-plus: configuration-properties: prefix: blobType: BLOB - boolValue: TRUE \ No newline at end of file + boolValue: TRUE diff --git a/renren-common/src/main/java/io/renren/common/page/PageData.java b/renren-common/src/main/java/io/renren/common/page/PageData.java index c8dd3ce..abe523e 100644 --- a/renren-common/src/main/java/io/renren/common/page/PageData.java +++ b/renren-common/src/main/java/io/renren/common/page/PageData.java @@ -8,8 +8,7 @@ package io.renren.common.page; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; @@ -21,14 +20,14 @@ import java.util.List; * @author Mark sunlightcs@gmail.com */ @Data -@ApiModel(value = "分页数据") +@Schema(title = "分页数据") public class PageData implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "总记录数") + @Schema(title = "总记录数") private int total; - @ApiModelProperty(value = "列表数据") + @Schema(title = "列表数据") private List list; /** @@ -40,4 +39,4 @@ public class PageData implements Serializable { this.list = list; this.total = (int)total; } -} \ No newline at end of file +} diff --git a/renren-common/src/main/java/io/renren/common/redis/RedisConfig.java b/renren-common/src/main/java/io/renren/common/redis/RedisConfig.java index 44b9554..a3104ff 100644 --- a/renren-common/src/main/java/io/renren/common/redis/RedisConfig.java +++ b/renren-common/src/main/java/io/renren/common/redis/RedisConfig.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; +import jakarta.annotation.Resource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; @@ -19,7 +20,6 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; -import javax.annotation.Resource; /** * Redis配置 @@ -53,4 +53,4 @@ public class RedisConfig { return redisTemplate; } -} \ No newline at end of file +} diff --git a/renren-common/src/main/java/io/renren/common/redis/RedisUtils.java b/renren-common/src/main/java/io/renren/common/redis/RedisUtils.java index 5fdbba9..dea505b 100644 --- a/renren-common/src/main/java/io/renren/common/redis/RedisUtils.java +++ b/renren-common/src/main/java/io/renren/common/redis/RedisUtils.java @@ -8,11 +8,11 @@ package io.renren.common.redis; +import jakarta.annotation.Resource; import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; -import javax.annotation.Resource; import java.util.Collection; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -123,4 +123,4 @@ public class RedisUtils { public Object rightPop(String key) { return redisTemplate.opsForList().rightPop(key); } -} \ No newline at end of file +} diff --git a/renren-common/src/main/java/io/renren/common/utils/HttpContextUtils.java b/renren-common/src/main/java/io/renren/common/utils/HttpContextUtils.java index 369e4a9..ed45763 100644 --- a/renren-common/src/main/java/io/renren/common/utils/HttpContextUtils.java +++ b/renren-common/src/main/java/io/renren/common/utils/HttpContextUtils.java @@ -9,12 +9,12 @@ package io.renren.common.utils; import cn.hutool.core.util.StrUtil; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.http.HttpHeaders; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import javax.servlet.http.HttpServletRequest; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -60,4 +60,4 @@ public class HttpContextUtils { HttpServletRequest request = getHttpServletRequest(); return request.getHeader(HttpHeaders.ORIGIN); } -} \ No newline at end of file +} diff --git a/renren-common/src/main/java/io/renren/common/utils/IpUtils.java b/renren-common/src/main/java/io/renren/common/utils/IpUtils.java index d5396b9..013f4b4 100644 --- a/renren-common/src/main/java/io/renren/common/utils/IpUtils.java +++ b/renren-common/src/main/java/io/renren/common/utils/IpUtils.java @@ -9,14 +9,14 @@ package io.renren.common.utils; import cn.hutool.core.util.StrUtil; +import jakarta.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.http.HttpServletRequest; /** * IP地址 - * + * * @author Mark sunlightcs@gmail.com */ public class IpUtils { @@ -24,7 +24,7 @@ public class IpUtils { /** * 获取IP地址 - * + * * 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址 * 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址 */ @@ -51,8 +51,8 @@ public class IpUtils { } catch (Exception e) { logger.error("IPUtils ERROR ", e); } - + return ip; } - + } diff --git a/renren-common/src/main/java/io/renren/common/utils/Result.java b/renren-common/src/main/java/io/renren/common/utils/Result.java index 801d183..b6a1a2d 100644 --- a/renren-common/src/main/java/io/renren/common/utils/Result.java +++ b/renren-common/src/main/java/io/renren/common/utils/Result.java @@ -9,8 +9,7 @@ package io.renren.common.utils; import io.renren.common.exception.ErrorCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; @@ -20,23 +19,23 @@ import java.io.Serializable; * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ -@ApiModel(value = "响应") +@Schema(title = "响应") public class Result implements Serializable { private static final long serialVersionUID = 1L; /** * 编码:0表示成功,其他值表示失败 */ - @ApiModelProperty(value = "编码:0表示成功,其他值表示失败") + @Schema(title = "编码:0表示成功,其他值表示失败") private int code = 0; /** * 消息内容 */ - @ApiModelProperty(value = "消息内容") + @Schema(title = "消息内容") private String msg = "success"; /** * 响应数据 */ - @ApiModelProperty(value = "响应数据") + @Schema(title = "响应数据") private T data; public Result ok(T data) { diff --git a/renren-common/src/main/java/io/renren/common/validator/ValidatorUtils.java b/renren-common/src/main/java/io/renren/common/validator/ValidatorUtils.java index 61a02f7..263d8cc 100644 --- a/renren-common/src/main/java/io/renren/common/validator/ValidatorUtils.java +++ b/renren-common/src/main/java/io/renren/common/validator/ValidatorUtils.java @@ -9,14 +9,14 @@ package io.renren.common.validator; import io.renren.common.exception.RenException; +import jakarta.validation.ConstraintViolation; +import jakarta.validation.Validation; +import jakarta.validation.Validator; import org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.context.support.ResourceBundleMessageSource; import org.springframework.validation.beanvalidation.MessageSourceResourceBundleLocator; -import javax.validation.ConstraintViolation; -import javax.validation.Validation; -import javax.validation.Validator; import java.util.Locale; import java.util.Set; @@ -54,4 +54,4 @@ public class ValidatorUtils { throw new RenException(constraint.getMessage()); } } -} \ No newline at end of file +} diff --git a/renren-common/src/main/java/io/renren/common/validator/group/Group.java b/renren-common/src/main/java/io/renren/common/validator/group/Group.java index 23b2328..05c4775 100644 --- a/renren-common/src/main/java/io/renren/common/validator/group/Group.java +++ b/renren-common/src/main/java/io/renren/common/validator/group/Group.java @@ -8,7 +8,8 @@ package io.renren.common.validator.group; -import javax.validation.GroupSequence; + +import jakarta.validation.GroupSequence; /** * 定义校验顺序,如果AddGroup组失败,则UpdateGroup组不会再校验 diff --git a/renren-common/src/main/java/io/renren/common/xss/XssFilter.java b/renren-common/src/main/java/io/renren/common/xss/XssFilter.java index d9936c8..f518df0 100644 --- a/renren-common/src/main/java/io/renren/common/xss/XssFilter.java +++ b/renren-common/src/main/java/io/renren/common/xss/XssFilter.java @@ -8,8 +8,9 @@ package io.renren.common.xss; -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.*; +import jakarta.servlet.http.HttpServletRequest; + import java.io.IOException; /** @@ -34,4 +35,4 @@ public class XssFilter implements Filter { public void destroy() { } -} \ No newline at end of file +} diff --git a/renren-common/src/main/java/io/renren/common/xss/XssHttpServletRequestWrapper.java b/renren-common/src/main/java/io/renren/common/xss/XssHttpServletRequestWrapper.java index b1d76ac..6bf4f33 100644 --- a/renren-common/src/main/java/io/renren/common/xss/XssHttpServletRequestWrapper.java +++ b/renren-common/src/main/java/io/renren/common/xss/XssHttpServletRequestWrapper.java @@ -10,13 +10,13 @@ package io.renren.common.xss; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.StrUtil; +import jakarta.servlet.ReadListener; +import jakarta.servlet.ServletInputStream; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequestWrapper; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; -import javax.servlet.ReadListener; -import javax.servlet.ServletInputStream; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; import java.io.ByteArrayInputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -151,4 +151,4 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { String header = super.getHeader(HttpHeaders.CONTENT_TYPE); return StrUtil.startWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE); } -} \ No newline at end of file +} diff --git a/renren-dynamic-datasource/src/main/java/io/renren/commons/dynamic/datasource/config/DynamicDataSourceConfig.java b/renren-dynamic-datasource/src/main/java/io/renren/commons/dynamic/datasource/config/DynamicDataSourceConfig.java index 114cd31..ed17f31 100644 --- a/renren-dynamic-datasource/src/main/java/io/renren/commons/dynamic/datasource/config/DynamicDataSourceConfig.java +++ b/renren-dynamic-datasource/src/main/java/io/renren/commons/dynamic/datasource/config/DynamicDataSourceConfig.java @@ -11,12 +11,12 @@ package io.renren.commons.dynamic.datasource.config; import com.alibaba.druid.pool.DruidDataSource; import io.renren.commons.dynamic.datasource.properties.DataSourceProperties; import io.renren.commons.dynamic.datasource.properties.DynamicDataSourceProperties; +import jakarta.annotation.Resource; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; @@ -61,4 +61,4 @@ public class DynamicDataSourceConfig { return targetDataSources; } -} \ No newline at end of file +} diff --git a/renren-generator/pom.xml b/renren-generator/pom.xml index 27b258f..3d3a7a0 100644 --- a/renren-generator/pom.xml +++ b/renren-generator/pom.xml @@ -11,14 +11,14 @@ org.springframework.boot spring-boot-starter-parent - 2.7.15 + 3.2.5 UTF-8 UTF-8 - 1.8 - 2.2.2 + 17 + 3.0.3 1.4.2 1.2.14 1.10 diff --git a/renren-generator/src/main/java/io/renren/config/DbConfig.java b/renren-generator/src/main/java/io/renren/config/DbConfig.java index 0c2f01a..484e31c 100644 --- a/renren-generator/src/main/java/io/renren/config/DbConfig.java +++ b/renren-generator/src/main/java/io/renren/config/DbConfig.java @@ -10,12 +10,12 @@ package io.renren.config; import io.renren.dao.*; import io.renren.utils.RenException; +import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; -import javax.annotation.Resource; /** * 数据库配置 diff --git a/renren-generator/src/main/java/io/renren/controller/SysGeneratorController.java b/renren-generator/src/main/java/io/renren/controller/SysGeneratorController.java index d37dad9..6eda8ea 100644 --- a/renren-generator/src/main/java/io/renren/controller/SysGeneratorController.java +++ b/renren-generator/src/main/java/io/renren/controller/SysGeneratorController.java @@ -13,13 +13,13 @@ import io.renren.service.SysGeneratorService; import io.renren.utils.PageUtils; import io.renren.utils.Query; import io.renren.utils.R; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; diff --git a/renren-generator/src/main/java/io/renren/service/SysGeneratorService.java b/renren-generator/src/main/java/io/renren/service/SysGeneratorService.java index 1f98cfd..0c0ef6d 100644 --- a/renren-generator/src/main/java/io/renren/service/SysGeneratorService.java +++ b/renren-generator/src/main/java/io/renren/service/SysGeneratorService.java @@ -14,10 +14,10 @@ import io.renren.dao.GeneratorDao; import io.renren.utils.GenUtils; import io.renren.utils.PageUtils; import io.renren.utils.Query; +import jakarta.annotation.Resource; import org.apache.tomcat.util.http.fileupload.IOUtils; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.io.ByteArrayOutputStream; import java.util.List; import java.util.Map; diff --git a/renren-generator/src/main/resources/application.yml b/renren-generator/src/main/resources/application.yml index 9e7d648..54cec86 100644 --- a/renren-generator/src/main/resources/application.yml +++ b/renren-generator/src/main/resources/application.yml @@ -10,8 +10,8 @@ spring: #MySQL配置 driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/renren_security?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true - username: renren - password: 123456 + username: root + password: root #oracle配置 # driverClassName: oracle.jdbc.OracleDriver # url: jdbc:oracle:thin:@192.168.10.10:1521:xe @@ -47,4 +47,4 @@ pagehelper: #指定数据库,可选值有【mysql、oracle、sqlserver、postgresql】 renren: - database: mysql \ No newline at end of file + database: mysql diff --git a/renren-generator/src/main/resources/template/Controller.java.vm b/renren-generator/src/main/resources/template/Controller.java.vm index bcb855b..4b556e7 100644 --- a/renren-generator/src/main/resources/template/Controller.java.vm +++ b/renren-generator/src/main/resources/template/Controller.java.vm @@ -13,16 +13,12 @@ import ${package}.common.validator.group.UpdateGroup; import ${package}.modules.${moduleName}.dto.${className}DTO; import ${package}.modules.${moduleName}.excel.${className}Excel; import ${package}.modules.${moduleName}.service.${className}Service; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; - -import javax.servlet.http.HttpServletResponse; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import jakarta.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -35,28 +31,28 @@ import java.util.Map; */ @RestController @RequestMapping("${moduleName}/${pathName}") -@Api(tags="${comments}") +@Tag(name="${comments}") public class ${className}Controller { @Autowired private ${className}Service ${classname}Service; @GetMapping("page") - @ApiOperation("分页") - @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") , - @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") , - @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") , - @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", in = ParameterIn.QUERY, required = true, ref="int") , + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY,required = true, ref="int") , + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref="String") , + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref="String") }) @RequiresPermissions("${moduleName}:${pathName}:page") - public Result> page(@ApiIgnore @RequestParam Map params){ + public Result> page(@Parameter(hidden = true) @RequestParam Map params){ PageData<${className}DTO> page = ${classname}Service.page(params); return new Result>().ok(page); } @GetMapping("{id}") - @ApiOperation("信息") + @Operation(summary = "信息") @RequiresPermissions("${moduleName}:${pathName}:info") public Result<${className}DTO> get(@PathVariable("id") Long id){ ${className}DTO data = ${classname}Service.get(id); @@ -65,7 +61,7 @@ public class ${className}Controller { } @PostMapping - @ApiOperation("保存") + @Operation(summary = "保存") @LogOperation("保存") @RequiresPermissions("${moduleName}:${pathName}:save") public Result save(@RequestBody ${className}DTO dto){ @@ -78,7 +74,7 @@ public class ${className}Controller { } @PutMapping - @ApiOperation("修改") + @Operation(summary = "修改") @LogOperation("修改") @RequiresPermissions("${moduleName}:${pathName}:update") public Result update(@RequestBody ${className}DTO dto){ @@ -91,7 +87,7 @@ public class ${className}Controller { } @DeleteMapping - @ApiOperation("删除") + @Operation(summary = "删除") @LogOperation("删除") @RequiresPermissions("${moduleName}:${pathName}:delete") public Result delete(@RequestBody Long[] ids){ @@ -104,13 +100,13 @@ public class ${className}Controller { } @GetMapping("export") - @ApiOperation("导出") + @Operation(summary = "导出") @LogOperation("导出") @RequiresPermissions("${moduleName}:${pathName}:export") - public void export(@ApiIgnore @RequestParam Map params, HttpServletResponse response) throws Exception { + public void export(@Parameter(hidden = true) @RequestParam Map params, HttpServletResponse response) throws Exception { List<${className}DTO> list = ${classname}Service.list(params); ExcelUtils.exportExcelToTarget(response, null, "${comments}", list, ${className}Excel.class); } -} \ No newline at end of file +} diff --git a/renren-generator/src/main/resources/template/DTO.java.vm b/renren-generator/src/main/resources/template/DTO.java.vm index 5080f4e..b05bc69 100644 --- a/renren-generator/src/main/resources/template/DTO.java.vm +++ b/renren-generator/src/main/resources/template/DTO.java.vm @@ -1,7 +1,5 @@ package ${package}.modules.${moduleName}.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -18,14 +16,14 @@ import java.math.BigDecimal; * @since ${version} ${date} */ @Data -@ApiModel(value = "${comments}") +@Schema(name = "${comments}") public class ${className}DTO implements Serializable { private static final long serialVersionUID = 1L; #foreach ($column in $columns) - @ApiModelProperty(value = "$column.comments") + @SchemaProperty(name = "$column.comments") private $column.attrType $column.attrname; #end -} \ No newline at end of file +} -- Gitee