diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java index 128939f8..6f61e100 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/domain/form/GoodsQueryForm.java @@ -1,9 +1,11 @@ package net.lab1024.sa.admin.module.business.goods.domain.form; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import net.lab1024.sa.admin.module.business.goods.constant.GoodsStatusEnum; import net.lab1024.sa.base.common.domain.PageParam; +import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer; import net.lab1024.sa.base.common.swagger.SchemaEnum; import net.lab1024.sa.base.common.validator.enumeration.CheckEnum; import org.hibernate.validator.constraints.Length; @@ -32,6 +34,7 @@ public class GoodsQueryForm extends PageParam { private Integer goodsStatus; @Schema(description = "产地") + @JsonDeserialize(using = DictValueVoDeserializer.class) private String place; @Schema(description = "上架状态") diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java index 7904a7a8..2f2404de 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/service/NoticeEmployeeService.java @@ -52,7 +52,6 @@ public class NoticeEmployeeService { public ResponseDTO> queryList(Long requestEmployeeId, NoticeEmployeeQueryForm noticeEmployeeQueryForm) { Page page = SmartPageUtil.convert2PageQuery(noticeEmployeeQueryForm); - //获取请求人的 部门及其子部门 List employeeDepartmentIdList = Lists.newArrayList(); EmployeeEntity employeeEntity = employeeService.getById(requestEmployeeId); // 如果不是管理员 则获取请求人的 部门及其子部门 diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java index 0d357f32..6393827a 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java @@ -25,7 +25,7 @@ import java.util.List; * @Date 2021-12-09 22:57:49 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @RestController @Tag(name = AdminSwaggerTagConst.System.SYSTEM_EMPLOYEE) @@ -110,7 +110,7 @@ public class EmployeeController { @Operation(summary = "重置员工密码 @author 卓大") @GetMapping("/employee/update/password/reset/{employeeId}") @SaCheckPermission("system:employee:password:reset") - public ResponseDTO resetPassword(@PathVariable Integer employeeId) { + public ResponseDTO resetPassword(@PathVariable Long employeeId) { return employeeService.resetPassword(employeeId); } diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java index c1297a84..6ef0acab 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java @@ -113,6 +113,6 @@ public interface EmployeeDao extends BaseMapper { /** * 员工重置密码 */ - Integer updatePassword(@Param("employeeId") Integer employeeId, @Param("password") String password); + Integer updatePassword(@Param("employeeId") Long employeeId, @Param("password") String password); } \ No newline at end of file diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java index b86067d2..959e474e 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java @@ -47,8 +47,6 @@ import java.util.stream.Collectors; @Service public class EmployeeService { - private static final String PASSWORD_SALT_FORMAT = "smart_%s_admin_$^&*"; - @Resource private EmployeeDao employeeDao; @@ -364,7 +362,7 @@ public class EmployeeService { /** * 重置密码 */ - public ResponseDTO resetPassword(Integer employeeId) { + public ResponseDTO resetPassword(Long employeeId) { String password = securityPasswordService.randomPassword(); employeeDao.updatePassword(employeeId, SecurityPasswordService.getEncryptPwd(password)); return ResponseDTO.ok(password); diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java index 886cb71c..6e2d9751 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/role/manager/RoleEmployeeManager.java @@ -16,7 +16,7 @@ import java.util.List; * @Date 2022-04-08 21:53:04 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Service public class RoleEmployeeManager extends ServiceImpl { diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminProtectController.java b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminProtectController.java index 2d409235..69f7e3fa 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminProtectController.java +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/support/AdminProtectController.java @@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RestController; * @Date 2023/10/17 19:07:27 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室,Since 2012 + * @Copyright 1024创新实验室,Since 2012 */ @RestController diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml index 17d1805e..b1dc8ad5 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeMapper.xml @@ -95,25 +95,25 @@ left join t_notice_type on t_notice.notice_type_id = t_notice_type.notice_type_id - ( + ( t_notice.notice_id in (select t_notice_visible_range.notice_id from t_notice_visible_range where ( t_notice_visible_range.data_type = #{departmentDataType} - - and - t_notice_visible_range.data_id - in - - #{item} - - - ) - or ( t_notice_visible_range.data_type = #{employeeDataType} and t_notice_visible_range.data_id = #{requestEmployeeId} ) + + and + t_notice_visible_range.data_id + in + + #{item} + + + ) + or ( t_notice_visible_range.data_type = #{employeeDataType} and t_notice_visible_range.data_id = #{requestEmployeeId} ) ) or t_notice.all_visible_flag = true - ) + ) and t_notice.deleted_flag = #{deletedFlag} diff --git a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/test/application.yaml b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/test/application.yaml index faa8e1ad..6ca92cf3 100644 --- a/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/test/application.yaml +++ b/smart-admin-api-java17-springboot3/sa-admin/src/main/resources/test/application.yaml @@ -8,7 +8,7 @@ # 项目配置: 名称、日志目录 project: name: sa-admin - log-directory: /home/project/smartadmin/sit/log + log-directory: /home/project/smartadmin/test/log # 项目端口和url根路径 server: diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java index 3a4a1dd0..aa295489 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java @@ -14,15 +14,24 @@ import java.io.IOException; * @Date 2020-06-02 22:55:07 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class LongJsonSerializer extends JsonSerializer { + public static final LongJsonSerializer INSTANCE = new LongJsonSerializer(); + @Override - public void serialize(Long value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { - String text = (value == null ? null : String.valueOf(value)); - if (text != null) { - jsonGenerator.writeString(text); + public void serialize(Long value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + if (null == value) { + gen.writeNull(); + return; + } + // js中最大安全整数16位 Number.MAX_SAFE_INTEGER + String longStr = String.valueOf(value); + if (longStr.length() > 16) { + gen.writeString(longStr); + } else { + gen.writeNumber(value); } } } \ No newline at end of file diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java similarity index 91% rename from smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java rename to smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java index a5ae138b..b9605c3c 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import net.lab1024.sa.base.common.json.serializer.LongJsonSerializer; import org.apache.commons.lang3.StringUtils; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.context.annotation.Bean; @@ -17,16 +18,16 @@ import java.time.LocalDateTime; import java.time.format.DateTimeParseException; /** - * java8 localDate 时间类格式化配置 + * Json 序列化配置 * * @Author 1024创新实验室-主任: 卓大 * @Date 2017-11-28 15:21:10 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Configuration -public class DateConfig { +public class JsonConfig { @Bean public Jackson2ObjectMapperBuilderCustomizer customizer() { @@ -35,6 +36,7 @@ public class DateConfig { builder.deserializers(new LocalDateTimeDeserializer(DatePattern.NORM_DATETIME_FORMAT.getDateTimeFormatter())); builder.serializers(new LocalDateSerializer(DatePattern.NORM_DATE_FORMAT.getDateTimeFormatter())); builder.serializers(new LocalDateTimeSerializer(DatePattern.NORM_DATETIME_FORMAT.getDateTimeFormatter())); + builder.serializerByType(Long.class, LongJsonSerializer.INSTANCE); }; } diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/SwaggerConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/SwaggerConfig.java index de54d48a..6d93ccda 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/SwaggerConfig.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/SwaggerConfig.java @@ -31,10 +31,9 @@ import java.util.Optional; /** * springdoc-openapi 配置 * nginx配置前缀时如果需要访问【/swagger-ui/index.html】需添加额外nginx配置 - * location /v3/api-docs/ { - * proxy_pass http://127.0.0.1:11024/v3/api-docs/; + * location /v3/api-docs/ { + * proxy_pass http://127.0.0.1:1024/v3/api-docs/; * } - * * @Author 1024创新实验室-主任: 卓大 * @Date 2020-03-25 22:54:46 * @Wechat zhuoda1024 @@ -48,7 +47,7 @@ public class SwaggerConfig { /** * 用于解决/swagger-ui/index.html页面ServersUrl 测试环境部署错误问题 */ - @Value("${springdoc.swagger-ui.server-base-url:''}") + @Value("${springdoc.swagger-ui.server-base-url}") private String serverBaseUrl; public static final String[] SWAGGER_WHITELIST = { @@ -59,20 +58,20 @@ public class SwaggerConfig { "/v3/api-docs", "/v3/api-docs/**", "/doc.html", - }; + }; @Bean public OpenAPI api() { return new OpenAPI() .components(components()) .info(new Info() - .title("SmartAdmin 3.X 接口文档") - .contact(new Contact().name("1024创新实验室").email("lab1024@163.com").url("https://1024lab.net")) - .version("v3.X") - .description("**以「高质量代码」为核心,「简洁、高效、安全」**基于 SpringBoot + Sa-Token + Mybatis-Plus 和 Vue3 + Vite5 + Ant Design (同时支持JavaScript和TypeScript双版本) 的快速开发平台。" + - "
**国内首个满足《网络安全》、《数据安全》、三级等保**, 支持登录限制、支持国产接口加解密等安全、支持数据加解密等一系列安全体系的开源项目。" + - "
**我们开源一套漂亮的代码和一套整洁的代码规范**,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,保持谦逊,保持学习,热爱代码,更热爱生活!") - ) + .title("SmartAdmin 3.X 接口文档") + .contact(new Contact().name("1024创新实验室").email("lab1024@163.com").url("https://1024lab.net")) + .version("v3.X") + .description("**以「高质量代码」为核心,「简洁、高效、安全」**基于 SpringBoot + Sa-Token + Mybatis-Plus 和 Vue3 + Vite5 + Ant Design (同时支持JavaScript和TypeScript双版本) 的快速开发平台。" + + "
**国内首个满足《网络安全》、《数据安全》、三级等保**, 支持登录限制、支持国产接口加解密等安全、支持数据加解密等一系列安全体系的开源项目。" + + "
**我们开源一套漂亮的代码和一套整洁的代码规范**,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,保持谦逊,保持学习,热爱代码,更热爱生活!") + ) .addSecurityItem(new SecurityRequirement().addList(RequestHeaderConst.TOKEN)); } @@ -84,27 +83,26 @@ public class SwaggerConfig { @Bean public GroupedOpenApi businessApi() { return GroupedOpenApi.builder() - .group("业务接口") - .pathsToMatch("/**") - .pathsToExclude(SwaggerTagConst.Support.URL_PREFIX + "/**") - .addOperationCustomizer(new SmartOperationCustomizer()) - .build(); + .group("业务接口") + .pathsToMatch("/**") + .pathsToExclude(SwaggerTagConst.Support.URL_PREFIX + "/**") + .addOperationCustomizer(new SmartOperationCustomizer()) + .build(); } @Bean public GroupedOpenApi supportApi() { return GroupedOpenApi.builder() - .group("支撑接口(Support)") - .pathsToMatch(SwaggerTagConst.Support.URL_PREFIX + "/**") - .addOperationCustomizer(new SmartOperationCustomizer()) - .build(); + .group("支撑接口(Support)") + .pathsToMatch(SwaggerTagConst.Support.URL_PREFIX + "/**") + .addOperationCustomizer(new SmartOperationCustomizer()) + .build(); } /** * 以下代码可以用于设置 /swagger-ui/index.html 的serverBaseUrl * 如果使用knife4j则不需要 - * * @param openAPI * @param securityParser * @param springDocConfigProperties @@ -132,6 +130,6 @@ public class SwaggerConfig { } }); return new OpenAPIService(openAPI, securityParser, springDocConfigProperties, - propertyResolverUtils, openApiBuilderCustomizers, Optional.of(list), javadocProvider); + propertyResolverUtils, openApiBuilderCustomizers, Optional.of(list), javadocProvider); } } diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/UrlConfig.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/UrlConfig.java index ffb26fcc..4937a9ff 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/UrlConfig.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/config/UrlConfig.java @@ -28,7 +28,7 @@ import java.util.Set; * @Date 2022-05-30 21:22:12 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Configuration @Slf4j diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/listener/WebServerListener.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/listener/WebServerListener.java index e715520d..c248c7da 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/listener/WebServerListener.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/listener/WebServerListener.java @@ -67,14 +67,14 @@ public class WebServerListener implements ApplicationListener { @Resource private ApiEncryptService apiEncryptService; + @Resource + private ObjectMapper objectMapper; + @Override public boolean supports(MethodParameter returnType, Class> converterType) { return returnType.hasMethodAnnotation(ApiEncrypt.class) || returnType.getContainingClass().isAnnotationPresent(ApiEncrypt.class); @@ -44,7 +49,12 @@ public class EncryptResponseAdvice implements ResponseBodyAdvice { return body; } - String encrypt = apiEncryptService.encrypt(JSON.toJSONString(body.getData())); + String encrypt = null; + try { + encrypt = apiEncryptService.encrypt(objectMapper.writeValueAsString(body.getData())); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } body.setData(encrypt); body.setDataType(DataTypeEnum.ENCRYPT.getValue()); return body; diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptServiceSmImpl.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptServiceSmImpl.java index 95486e5e..d8d63fa0 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptServiceSmImpl.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/service/ApiEncryptServiceSmImpl.java @@ -52,14 +52,6 @@ public class ApiEncryptServiceSmImpl implements ApiEncryptService { } } - public static void main(String[] args) { - String content = "zkm1024"; - String en = new ApiEncryptServiceSmImpl().encrypt(content); - System.out.println(en); - String ori = new ApiEncryptServiceSmImpl().decrypt(en); - System.out.println(ori); - } - @Override public String decrypt(String data) { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java index 20d50f04..22cd5e09 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java @@ -45,7 +45,7 @@ import java.util.stream.Collectors; * @Date 2022-06-30 22:15:38 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Service diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java index f81f86c4..d39bf6bf 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java @@ -18,7 +18,7 @@ import java.util.stream.Collectors; * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public abstract class CodeGenerateBaseVariableService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java index 6bde65d4..1d29259a 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/AddFormVariableService.java @@ -101,7 +101,6 @@ public class AddFormVariableService extends CodeGenerateBaseVariableService { } } - //字典 if (SmartStringUtil.isNotEmpty(codeField.getDict())) { finalFieldMap.put("dict", "\n @JsonDeserialize(using = DictValueVoDeserializer.class)"); diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java index cacb97bf..bc16c991 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/MapperVariableService.java @@ -15,7 +15,7 @@ import java.util.*; * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class MapperVariableService extends CodeGenerateBaseVariableService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java index b696a2a7..4101d5e0 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/QueryFormVariableService.java @@ -18,7 +18,7 @@ import java.util.stream.Collectors; * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class QueryFormVariableService extends CodeGenerateBaseVariableService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java index c96de2e5..cde09227 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/backend/domain/VOVariableService.java @@ -17,7 +17,7 @@ import java.util.stream.Collectors; * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class VOVariableService extends CodeGenerateBaseVariableService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileService.java index 94a1d056..f31a797b 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/file/service/FileService.java @@ -39,7 +39,7 @@ import java.util.stream.Collectors; * @Date 2019年10月11日 15:34:47 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Service public class FileService { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/dev/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/dev/sa-base.yaml index 4f437d0f..20df9939 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/dev/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/dev/sa-base.yaml @@ -4,13 +4,13 @@ spring: url: jdbc:p6spy:mysql://127.0.0.1:3306/smart_admin_v3?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai username: root password: SmartAdmin666 - driver-class-name: com.p6spy.engine.spy.P6SpyDriver initial-size: 2 min-idle: 2 max-active: 10 max-wait: 60000 time-between-eviction-runs-millis: 60000 min-evictable-idle-time-millis: 300000 + driver-class-name: com.p6spy.engine.spy.P6SpyDriver filters: stat druid: username: druid @@ -40,7 +40,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml index 4f437d0f..9f66ae61 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/pre/sa-base.yaml @@ -40,7 +40,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml index b70a4d16..ea51a9a7 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/prod/sa-base.yaml @@ -30,10 +30,11 @@ spring: timeout: 10000ms lettuce: pool: - max-active: 100 - min-idle: 10 - max-idle: 50 + max-active: 5 + min-idle: 1 + max-idle: 3 max-wait: 30000ms + # 邮件,置以SSL的方式发送, 这个需要使用这种方式并且端口是465 mail: host: smtp.163.com diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml index 4f437d0f..9f66ae61 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/test/sa-base.yaml @@ -40,7 +40,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java index 9b01d544..4731cab8 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/interceptor/AdminInterceptor.java @@ -86,7 +86,7 @@ public class AdminInterceptor implements HandlerInterceptor { Method method = ((HandlerMethod) handler).getMethod(); NoNeedLogin noNeedLogin = ((HandlerMethod) handler).getMethodAnnotation(NoNeedLogin.class); if (noNeedLogin != null) { - checkActiveTimeout(requestEmployee,debugNumberTokenFlag); + checkActiveTimeout(requestEmployee, debugNumberTokenFlag); return true; } @@ -96,7 +96,7 @@ public class AdminInterceptor implements HandlerInterceptor { } // 检测token 活跃频率 - checkActiveTimeout(requestEmployee,debugNumberTokenFlag); + checkActiveTimeout(requestEmployee, debugNumberTokenFlag); // --------------- 第三步: 校验 权限 --------------- @@ -107,8 +107,8 @@ public class AdminInterceptor implements HandlerInterceptor { } // 如果是超级管理员的话,不需要校验权限 - if(requestEmployee.getAdministratorFlag()){ - return true; + if (requestEmployee.getAdministratorFlag()) { + return true; } SaStrategy.instance.checkMethodAnnotation.accept(method); diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java index b6d1c6d5..56c9856b 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/controller/EmployeeController.java @@ -110,7 +110,7 @@ public class EmployeeController { @Operation(summary = "重置员工密码 @author 卓大") @GetMapping("/employee/update/password/reset/{employeeId}") @SaCheckPermission("system:employee:password:reset") - public ResponseDTO resetPassword(@PathVariable Integer employeeId) { + public ResponseDTO resetPassword(@PathVariable Long employeeId) { return employeeService.resetPassword(employeeId); } diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java index c1297a84..6ef0acab 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/dao/EmployeeDao.java @@ -113,6 +113,6 @@ public interface EmployeeDao extends BaseMapper { /** * 员工重置密码 */ - Integer updatePassword(@Param("employeeId") Integer employeeId, @Param("password") String password); + Integer updatePassword(@Param("employeeId") Long employeeId, @Param("password") String password); } \ No newline at end of file diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java index 61cd6f79..c4e57e92 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/employee/service/EmployeeService.java @@ -362,7 +362,7 @@ public class EmployeeService { /** * 重置密码 */ - public ResponseDTO resetPassword(Integer employeeId) { + public ResponseDTO resetPassword(Long employeeId) { String password = securityPasswordService.randomPassword(); employeeDao.updatePassword(employeeId, SecurityPasswordService.getEncryptPwd(password)); return ResponseDTO.ok(password); diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java index 3a4a1dd0..aa295489 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/json/serializer/LongJsonSerializer.java @@ -14,15 +14,24 @@ import java.io.IOException; * @Date 2020-06-02 22:55:07 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class LongJsonSerializer extends JsonSerializer { + public static final LongJsonSerializer INSTANCE = new LongJsonSerializer(); + @Override - public void serialize(Long value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { - String text = (value == null ? null : String.valueOf(value)); - if (text != null) { - jsonGenerator.writeString(text); + public void serialize(Long value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { + if (null == value) { + gen.writeNull(); + return; + } + // js中最大安全整数16位 Number.MAX_SAFE_INTEGER + String longStr = String.valueOf(value); + if (longStr.length() > 16) { + gen.writeString(longStr); + } else { + gen.writeNumber(value); } } } \ No newline at end of file diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java similarity index 91% rename from smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java rename to smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java index a5ae138b..9164b35c 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/DateConfig.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/config/JsonConfig.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import net.lab1024.sa.base.common.json.serializer.LongJsonSerializer; import org.apache.commons.lang3.StringUtils; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.context.annotation.Bean; @@ -17,16 +18,16 @@ import java.time.LocalDateTime; import java.time.format.DateTimeParseException; /** - * java8 localDate 时间类格式化配置 + * json 序列化配置 * * @Author 1024创新实验室-主任: 卓大 * @Date 2017-11-28 15:21:10 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ @Configuration -public class DateConfig { +public class JsonConfig { @Bean public Jackson2ObjectMapperBuilderCustomizer customizer() { @@ -35,6 +36,7 @@ public class DateConfig { builder.deserializers(new LocalDateTimeDeserializer(DatePattern.NORM_DATETIME_FORMAT.getDateTimeFormatter())); builder.serializers(new LocalDateSerializer(DatePattern.NORM_DATE_FORMAT.getDateTimeFormatter())); builder.serializers(new LocalDateTimeSerializer(DatePattern.NORM_DATETIME_FORMAT.getDateTimeFormatter())); + builder.serializerByType(Long.class, LongJsonSerializer.INSTANCE); }; } diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java index c90e2c2a..d38544fc 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/apiencrypt/advice/EncryptResponseAdvice.java @@ -1,6 +1,8 @@ package net.lab1024.sa.base.module.support.apiencrypt.advice; import com.alibaba.fastjson.JSON; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.enumeration.DataTypeEnum; @@ -34,6 +36,9 @@ public class EncryptResponseAdvice implements ResponseBodyAdvice { @Resource private ApiEncryptService apiEncryptService; + @Resource + private ObjectMapper objectMapper; + @Override public boolean supports(MethodParameter returnType, Class> converterType) { return returnType.hasMethodAnnotation(ApiEncrypt.class) || returnType.getContainingClass().isAnnotationPresent(ApiEncrypt.class); @@ -45,7 +50,12 @@ public class EncryptResponseAdvice implements ResponseBodyAdvice { return body; } - String encrypt = apiEncryptService.encrypt(JSON.toJSONString(body.getData())); + String encrypt = null; + try { + encrypt = apiEncryptService.encrypt(objectMapper.writeValueAsString(body.getData())); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } body.setData(encrypt); body.setDataType(DataTypeEnum.ENCRYPT.getValue()); return body; diff --git a/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml b/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml index 778ed821..9e5a9d21 100644 --- a/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml +++ b/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml @@ -39,7 +39,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api/sa-base/src/main/resources/pre/sa-base.yaml b/smart-admin-api/sa-base/src/main/resources/pre/sa-base.yaml index 778ed821..9e5a9d21 100644 --- a/smart-admin-api/sa-base/src/main/resources/pre/sa-base.yaml +++ b/smart-admin-api/sa-base/src/main/resources/pre/sa-base.yaml @@ -39,7 +39,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-api/sa-base/src/main/resources/test/sa-base.yaml b/smart-admin-api/sa-base/src/main/resources/test/sa-base.yaml index 778ed821..9e5a9d21 100644 --- a/smart-admin-api/sa-base/src/main/resources/test/sa-base.yaml +++ b/smart-admin-api/sa-base/src/main/resources/test/sa-base.yaml @@ -39,7 +39,7 @@ spring: host: smtp.163.com port: 465 username: lab1024@163.com - password: 1 + password: 1024lab properties: mail: smtp: diff --git a/smart-admin-web/javascript-ant-design-vue3/src/App.vue b/smart-admin-web/javascript-ant-design-vue3/src/App.vue index 3c7370f7..972a9ba1 100644 --- a/smart-admin-web/javascript-ant-design-vue3/src/App.vue +++ b/smart-admin-web/javascript-ant-design-vue3/src/App.vue @@ -32,6 +32,7 @@ }, }, }" + :getPopupContainer="getPopupContainer" > @@ -49,6 +50,8 @@ import { useSpinStore } from '/@/store/modules/system/spin'; import { theme } from 'ant-design-vue'; import { themeColors } from '/@/theme/color.js'; + import { SmartLoading } from '/@/components/framework/smart-loading/index.js'; + import { LAYOUT_ELEMENT_IDS } from '/@/layout/layout-const.js'; const antdLocale = computed(() => messages[useAppConfigStore().language].antdLocale); const dayjsLocale = computed(() => messages[useAppConfigStore().language].dayjsLocale); @@ -67,4 +70,31 @@ const borderRadius = computed(() => { return useAppConfigStore().borderRadius; }); + + function getPopupContainer(node, dialogContext) { + let fullScreenFlag = useAppConfigStore().$state.fullScreenFlag; + if(fullScreenFlag){ + return getFullScreenContainer(node, dialogContext); + }else{ + return getNotFullScreenContainer(node, dialogContext); + } + } + + function getFullScreenContainer(node, dialogContext) { + if (node === document.body) { + return document.getElementById(LAYOUT_ELEMENT_IDS.content); + }else if (node) { + return node.parentNode; + } else { + return document.getElementById(LAYOUT_ELEMENT_IDS.content); + } + } + + function getNotFullScreenContainer(node, dialogContext) { + if (node) { + return node.parentNode; + } else { + return document.body; + } + } diff --git a/smart-admin-web/javascript-ant-design-vue3/src/components/support/table-operator/index.vue b/smart-admin-web/javascript-ant-design-vue3/src/components/support/table-operator/index.vue index f77fc2a5..a3facbb4 100644 --- a/smart-admin-web/javascript-ant-design-vue3/src/components/support/table-operator/index.vue +++ b/smart-admin-web/javascript-ant-design-vue3/src/components/support/table-operator/index.vue @@ -12,12 +12,12 @@