From e193c3207463d6dbe84748cf26adb358c11c867f Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Sun, 30 Jul 2023 15:47:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 + .../cn/lihongjie/coal/annotation/SysLog.java | 16 ++ .../cn/lihongjie/coal/aop/ControllerAop.java | 155 ++++++++++++++++++ .../lihongjie/coal/common/RequestUtils.java | 16 ++ .../cn/lihongjie/coal/config/AopConfig.java | 7 + .../coal/config/GlobalExceptionHandler.java | 53 ------ .../coal/config/LogRequestBodyAdvice.java | 38 ----- .../lihongjie/coal/config/SecurityConfig.java | 34 ++++ .../coal/controller/BaseController.java | 44 ----- .../coal/controller/DepartmentController.java | 5 + .../coal/controller/DictionaryController.java | 48 +++++- .../controller/OrganizationController.java | 5 + .../coal/controller/PermissionController.java | 5 + .../coal/controller/ResourceController.java | 5 + .../coal/controller/RoleController.java | 5 + .../coal/controller/SysConfigController.java | 5 + .../coal/controller/UserController.java | 8 +- .../lihongjie/coal/dao/SysLogRepository.java | 8 + .../coal/dto/CreateDictionaryDto.java | 22 +++ .../lihongjie/coal/dto/CreateSysLogDto.java | 33 ++++ .../cn/lihongjie/coal/dto/DictionaryDto.java | 22 +++ .../java/cn/lihongjie/coal/dto/SysLogDto.java | 33 ++++ .../coal/dto/UpdateDictionaryDto.java | 22 +++ .../lihongjie/coal/dto/UpdateSysLogDto.java | 33 ++++ .../{OperationLog.java => SysLogEntity.java} | 8 +- .../java/cn/lihongjie/coal/log/SysLog.java | 12 -- .../lihongjie/coal/mapper/CommonMapper.java | 4 +- .../coal/mapper/DictionaryMapper.java | 24 +++ .../lihongjie/coal/mapper/SysLogMapper.java | 24 +++ .../lihongjie/coal/service/BaseService.java | 55 +++---- .../coal/service/DepartmentService.java | 2 +- .../coal/service/DictionaryService.java | 70 ++++++++ .../coal/service/OrganizationService.java | 2 +- .../coal/service/PermissionService.java | 2 +- .../coal/service/ResourceService.java | 2 +- .../lihongjie/coal/service/RoleService.java | 2 +- .../coal/service/SysConfigService.java | 2 +- .../lihongjie/coal/service/SysLogService.java | 91 ++++++++++ .../lihongjie/coal/service/UserService.java | 9 +- .../coal/service/UserSessionService.java | 10 +- 40 files changed, 733 insertions(+), 212 deletions(-) create mode 100644 src/main/java/cn/lihongjie/coal/annotation/SysLog.java create mode 100644 src/main/java/cn/lihongjie/coal/aop/ControllerAop.java create mode 100644 src/main/java/cn/lihongjie/coal/common/RequestUtils.java create mode 100644 src/main/java/cn/lihongjie/coal/config/AopConfig.java delete mode 100644 src/main/java/cn/lihongjie/coal/config/GlobalExceptionHandler.java delete mode 100644 src/main/java/cn/lihongjie/coal/config/LogRequestBodyAdvice.java create mode 100644 src/main/java/cn/lihongjie/coal/config/SecurityConfig.java delete mode 100644 src/main/java/cn/lihongjie/coal/controller/BaseController.java create mode 100644 src/main/java/cn/lihongjie/coal/dao/SysLogRepository.java create mode 100644 src/main/java/cn/lihongjie/coal/dto/CreateDictionaryDto.java create mode 100644 src/main/java/cn/lihongjie/coal/dto/CreateSysLogDto.java create mode 100644 src/main/java/cn/lihongjie/coal/dto/DictionaryDto.java create mode 100644 src/main/java/cn/lihongjie/coal/dto/SysLogDto.java create mode 100644 src/main/java/cn/lihongjie/coal/dto/UpdateDictionaryDto.java create mode 100644 src/main/java/cn/lihongjie/coal/dto/UpdateSysLogDto.java rename src/main/java/cn/lihongjie/coal/entity/{OperationLog.java => SysLogEntity.java} (76%) delete mode 100644 src/main/java/cn/lihongjie/coal/log/SysLog.java create mode 100644 src/main/java/cn/lihongjie/coal/mapper/DictionaryMapper.java create mode 100644 src/main/java/cn/lihongjie/coal/mapper/SysLogMapper.java create mode 100644 src/main/java/cn/lihongjie/coal/service/SysLogService.java diff --git a/pom.xml b/pom.xml index 211c9d4b..47135c32 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,10 @@ + + org.springframework.boot + spring-boot-starter-aop + org.springdoc springdoc-openapi-starter-webmvc-ui diff --git a/src/main/java/cn/lihongjie/coal/annotation/SysLog.java b/src/main/java/cn/lihongjie/coal/annotation/SysLog.java new file mode 100644 index 00000000..453d14f6 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/annotation/SysLog.java @@ -0,0 +1,16 @@ +package cn.lihongjie.coal.annotation; + + +import java.lang.annotation.*; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE, ElementType.METHOD}) +public @interface SysLog { + + String module() default ""; + + String msg() default ""; + + + +} diff --git a/src/main/java/cn/lihongjie/coal/aop/ControllerAop.java b/src/main/java/cn/lihongjie/coal/aop/ControllerAop.java new file mode 100644 index 00000000..d5df0b2d --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/aop/ControllerAop.java @@ -0,0 +1,155 @@ +package cn.lihongjie.coal.aop; + +import cn.lihongjie.coal.annotation.SysLog; +import cn.lihongjie.coal.common.RequestUtils; +import cn.lihongjie.coal.dto.R; +import cn.lihongjie.coal.entity.SysLogEntity; +import cn.lihongjie.coal.exception.BizException; +import cn.lihongjie.coal.service.SysLogService; +import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import java.lang.reflect.Method; +import java.util.Arrays; + +@Aspect +@Component +@Slf4j +public class ControllerAop { + + + + @Pointcut("execution (* cn.lihongjie.coal.controller.*.*(..))") + public void controllerMethods() { + + } + + + @Around("controllerMethods()") + public Object call(ProceedingJoinPoint proceedingJoinPoint) { + + Method method = ((MethodSignature) proceedingJoinPoint.getSignature()).getMethod(); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + + + long start = System.currentTimeMillis(); + SysLogEntity sysLogEntity = createSysLog(method, request); + try { + + + return proceedingJoinPoint.proceed(); + + } catch (Throwable e) { + + + + logException(e, proceedingJoinPoint); + + + updateSysLog(e, sysLogEntity); + + if (e instanceof BizException) { + return R.fail("bizError", e.getMessage()); + } else if (e instanceof RuntimeException) { + + return R.fail("sysError", "系统异常"); + } else { + + return R.fail("sysError", "系统异常"); + } + + + + + } finally { + + + saveSysLog(sysLogEntity, System.currentTimeMillis(), start); + } + + } + + private void saveSysLog(SysLogEntity sysLogEntity, long end, long start) { + if (sysLogEntity != null) { + sysLogEntity.setTimeCost((int) (end - start)); + + sysLogService.save(sysLogEntity); + + } + } + + private static void updateSysLog(Throwable e, SysLogEntity sysLogEntity) { + if (sysLogEntity != null) { + sysLogEntity.setStatus(1); + sysLogEntity.setStacktrace(ExceptionUtils.getStackTrace(e)); + + } + } + + private static SysLogEntity createSysLog(Method method, HttpServletRequest request) { + SysLog sysLog = AnnotationUtils.findAnnotation(method, SysLog.class); + + SysLogEntity sysLogEntity = null; + if (sysLog != null) { + + + String module = sysLog.module(); + String msg = sysLog.msg(); + + if (StringUtils.isEmpty(module)) { + SysLog classLog = AnnotationUtils.findAnnotation(method.getClass(), SysLog.class); + if (classLog != null) { + + module = classLog.module(); + } + } + + + sysLogEntity = new SysLogEntity(); + + sysLogEntity.setIp(RequestUtils.getIp(request)); + sysLogEntity.setIpLocation(RequestUtils.getIp(request)); + sysLogEntity.setUrl(request.getRequestURI()); + sysLogEntity.setStatus(0); + sysLogEntity.setTimeCost(0); + sysLogEntity.setUserAgent(RequestUtils.getUa(request)); + + } + return sysLogEntity; + } + + @Autowired + SysLogService sysLogService; + + private void logException(Throwable ex, ProceedingJoinPoint proceedingJoinPoint) { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + + + Object[] args = proceedingJoinPoint.getArgs(); + Method method = ((MethodSignature) proceedingJoinPoint.getSignature()).getMethod(); + + log.info("接口调用异常: {}\nurl:{} {}\nmethod: {}\nargs: {}", + ex.getMessage() == null ? "no message" : ex.getMessage(), + request.getMethod(), + request.getRequestURL(), + method, + Arrays.toString(args), + + + ex); + + + } +} diff --git a/src/main/java/cn/lihongjie/coal/common/RequestUtils.java b/src/main/java/cn/lihongjie/coal/common/RequestUtils.java new file mode 100644 index 00000000..7c1b1913 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/common/RequestUtils.java @@ -0,0 +1,16 @@ +package cn.lihongjie.coal.common; + +import jakarta.servlet.http.HttpServletRequest; +import lombok.experimental.UtilityClass; + +@UtilityClass +public class RequestUtils { + + public static String getIp(HttpServletRequest request) { + return null; + } + + public static String getUa(HttpServletRequest request) { + return null; + } +} diff --git a/src/main/java/cn/lihongjie/coal/config/AopConfig.java b/src/main/java/cn/lihongjie/coal/config/AopConfig.java new file mode 100644 index 00000000..8e6968e9 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/config/AopConfig.java @@ -0,0 +1,7 @@ +package cn.lihongjie.coal.config; + +import org.springframework.context.annotation.EnableAspectJAutoProxy; + +@EnableAspectJAutoProxy(proxyTargetClass = true) +public class AopConfig { +} diff --git a/src/main/java/cn/lihongjie/coal/config/GlobalExceptionHandler.java b/src/main/java/cn/lihongjie/coal/config/GlobalExceptionHandler.java deleted file mode 100644 index 1a58fac6..00000000 --- a/src/main/java/cn/lihongjie/coal/config/GlobalExceptionHandler.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.lihongjie.coal.config; - -import cn.lihongjie.coal.dto.R; -import cn.lihongjie.coal.exception.BizException; -import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; -import org.springframework.web.context.request.RequestAttributes; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.method.HandlerMethod; - -import java.util.Arrays; - -@RestControllerAdvice -@Slf4j -public class GlobalExceptionHandler { - - - @ExceptionHandler(BizException.class) - public R handleException(BizException ex, HttpServletRequest request, HandlerMethod handlerMethod) { - logException(ex, request, handlerMethod); - return R.fail("bizError", ex.getMessage()); - - } - - - @ExceptionHandler(RuntimeException.class) - public R handleException(RuntimeException ex, HttpServletRequest request,HandlerMethod handlerMethod) { - logException(ex, request, handlerMethod); - return R.fail("sysError", "系统异常"); - } - @ExceptionHandler(Exception.class) - public R handleException(Exception ex, HttpServletRequest request,HandlerMethod handlerMethod) { - logException(ex, request, handlerMethod); - return R.fail("sysError", "系统异常"); - } - - - private void logException(Throwable ex, HttpServletRequest request, HandlerMethod handlerMethod) { - -// Arrays.stream(handlerMethod.getMethodParameters()).map(x -> x.getParameterName() + ": ") - - log.info("接口调用异常: {}\nurl:{} {}\nmethod: {}\nrequestBody: {}", - ex.getMessage() == null ? "no message" : ex.getMessage(), - request.getMethod(), - request.getRequestURL(), - handlerMethod.toString(), - RequestContextHolder.currentRequestAttributes().getAttribute("__request_body", - RequestAttributes.SCOPE_REQUEST), - ex); - } -} diff --git a/src/main/java/cn/lihongjie/coal/config/LogRequestBodyAdvice.java b/src/main/java/cn/lihongjie/coal/config/LogRequestBodyAdvice.java deleted file mode 100644 index 236672e2..00000000 --- a/src/main/java/cn/lihongjie/coal/config/LogRequestBodyAdvice.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.lihongjie.coal.config; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.core.MethodParameter; -import org.springframework.http.HttpInputMessage; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.web.bind.annotation.RestControllerAdvice; -import org.springframework.web.context.request.RequestAttributes; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdvice; - -import java.io.IOException; -import java.lang.reflect.Type; - -@RestControllerAdvice -@Slf4j -public class LogRequestBodyAdvice implements RequestBodyAdvice { - @Override - public boolean supports(MethodParameter methodParameter, Type targetType, Class> converterType) { - return true; - } - - @Override - public HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class> converterType) throws IOException { - return inputMessage; - } - - @Override - public Object afterBodyRead(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class> converterType) { - RequestContextHolder.currentRequestAttributes().setAttribute("__request_body", body, RequestAttributes.SCOPE_REQUEST); - return body; - } - - @Override - public Object handleEmptyBody(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class> converterType) { - return null; - } -} diff --git a/src/main/java/cn/lihongjie/coal/config/SecurityConfig.java b/src/main/java/cn/lihongjie/coal/config/SecurityConfig.java new file mode 100644 index 00000000..6c8f1a45 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/config/SecurityConfig.java @@ -0,0 +1,34 @@ +package cn.lihongjie.coal.config; + +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; +import org.springframework.security.web.SecurityFilterChain; + +@Configuration +@Slf4j +@EnableWebSecurity +public class SecurityConfig { + + + @SneakyThrows + @Bean + SecurityFilterChain securityFilterChain(HttpSecurity httpSecurity) { + + + return httpSecurity.authorizeHttpRequests(x -> { + + x.requestMatchers("/**/*").permitAll(); + + }) + .csrf(AbstractHttpConfigurer::disable) + .build(); + + + } +} + diff --git a/src/main/java/cn/lihongjie/coal/controller/BaseController.java b/src/main/java/cn/lihongjie/coal/controller/BaseController.java deleted file mode 100644 index 9bb93ff4..00000000 --- a/src/main/java/cn/lihongjie/coal/controller/BaseController.java +++ /dev/null @@ -1,44 +0,0 @@ -package cn.lihongjie.coal.controller; - -import cn.lihongjie.coal.dao.BaseRepository; -import cn.lihongjie.coal.dto.CommonQuery; -import cn.lihongjie.coal.dto.IdRequest; -import cn.lihongjie.coal.entity.base.BaseEntity; -import cn.lihongjie.coal.service.BaseService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; - -public abstract class BaseController, Service extends BaseService< Entity, Repository>, Entity extends BaseEntity> { - - @Autowired - Service service; - - - @PostMapping("/create") - public Entity create(Entity entity){ - - return service.create(entity); - } - - @PostMapping("/update") - public Entity update(Entity entity){ - - return service.update(entity); - } - - - @PostMapping("/deleteAllById") - public Object deleteAllById(IdRequest request){ - - service.deleteAllById(request); - return null; - } - - - @PostMapping("/list") - public Object list(CommonQuery request){ - - return service.list(request); - } - -} diff --git a/src/main/java/cn/lihongjie/coal/controller/DepartmentController.java b/src/main/java/cn/lihongjie/coal/controller/DepartmentController.java index f3ef404d..d730e038 100644 --- a/src/main/java/cn/lihongjie/coal/controller/DepartmentController.java +++ b/src/main/java/cn/lihongjie/coal/controller/DepartmentController.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.controller; +import cn.lihongjie.coal.annotation.SysLog; import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.service.DepartmentService; import org.springframework.beans.factory.annotation.Autowired; @@ -11,23 +12,27 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/department") @RestController +@SysLog(module = "部门管理") public class DepartmentController { @Autowired DepartmentService service; @PostMapping("/create") + @SysLog(msg = "新增") public DepartmentDto create(@RequestBody CreateDepartmentDto dto) { return this.service.create(dto); } @PostMapping("/update") + @SysLog(msg = "编辑") public DepartmentDto update(@RequestBody UpdateDepartmentDto dto) { return this.service.update(dto); } @PostMapping("/delete") + @SysLog(msg = "删除") public Object delete(@RequestBody IdRequest dto) { this.service.delete(dto); return null; diff --git a/src/main/java/cn/lihongjie/coal/controller/DictionaryController.java b/src/main/java/cn/lihongjie/coal/controller/DictionaryController.java index 655dd42f..d716dc0a 100644 --- a/src/main/java/cn/lihongjie/coal/controller/DictionaryController.java +++ b/src/main/java/cn/lihongjie/coal/controller/DictionaryController.java @@ -1,12 +1,54 @@ package cn.lihongjie.coal.controller; -import cn.lihongjie.coal.dao.DictionaryRepository; -import cn.lihongjie.coal.entity.DictionaryEntity; +import cn.lihongjie.coal.annotation.SysLog; +import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.service.DictionaryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/dictionary") -public class DictionaryController extends BaseController { +@SysLog(module = "数据字典管理") +public class DictionaryController { + + + @Autowired + DictionaryService service; + + @PostMapping("/create") + @SysLog(msg = "新增") + public DictionaryDto create(@RequestBody CreateDictionaryDto dto) { + return this.service.create(dto); + } + + @PostMapping("/update") + @SysLog(msg = "编辑") + public DictionaryDto update(@RequestBody UpdateDictionaryDto dto) { + return this.service.update(dto); + } + + + @PostMapping("/delete") + @SysLog(msg = "删除") + public Object delete(@RequestBody IdRequest dto) { + this.service.delete(dto); + return null; + } + + + @PostMapping("/list") + public Page list(@RequestBody CommonQuery dto) { + return this.service.list(dto); + } + + + @PostMapping("/getById") + public DictionaryDto getById(@RequestBody IdRequest dto) { + return this.service.getById(dto.getId()); + } + } diff --git a/src/main/java/cn/lihongjie/coal/controller/OrganizationController.java b/src/main/java/cn/lihongjie/coal/controller/OrganizationController.java index 5afb31b8..3ee56f98 100644 --- a/src/main/java/cn/lihongjie/coal/controller/OrganizationController.java +++ b/src/main/java/cn/lihongjie/coal/controller/OrganizationController.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.controller; +import cn.lihongjie.coal.annotation.SysLog; import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.service.OrganizationService; import org.springframework.beans.factory.annotation.Autowired; @@ -11,23 +12,27 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/organization") @RestController +@SysLog(module = "机构管理") public class OrganizationController { @Autowired OrganizationService service; @PostMapping("/create") + @SysLog(msg = "新增") public OrganizationDto create(@RequestBody CreateOrganizationDto dto) { return this.service.create(dto); } @PostMapping("/update") + @SysLog(msg = "编辑") public OrganizationDto update(@RequestBody UpdateOrganizationDto dto) { return this.service.update(dto); } @PostMapping("/delete") + @SysLog(msg = "删除") public Object delete(@RequestBody IdRequest dto) { this.service.delete(dto); return null; diff --git a/src/main/java/cn/lihongjie/coal/controller/PermissionController.java b/src/main/java/cn/lihongjie/coal/controller/PermissionController.java index 94f55060..0474ad3f 100644 --- a/src/main/java/cn/lihongjie/coal/controller/PermissionController.java +++ b/src/main/java/cn/lihongjie/coal/controller/PermissionController.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.controller; +import cn.lihongjie.coal.annotation.SysLog; import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.service.PermissionService; import org.springframework.beans.factory.annotation.Autowired; @@ -11,23 +12,27 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/permission") @RestController +@SysLog(module = "权限管理") public class PermissionController { @Autowired PermissionService service; @PostMapping("/create") + @SysLog(msg = "新增") public PermissionDto create(@RequestBody CreatePermissionDto dto) { return this.service.create(dto); } @PostMapping("/update") + @SysLog(msg = "编辑") public PermissionDto update(@RequestBody UpdatePermissionDto dto) { return this.service.update(dto); } @PostMapping("/delete") + @SysLog(msg = "删除") public Object delete(@RequestBody IdRequest dto) { this.service.delete(dto); return null; diff --git a/src/main/java/cn/lihongjie/coal/controller/ResourceController.java b/src/main/java/cn/lihongjie/coal/controller/ResourceController.java index f53c26b2..381c9b04 100644 --- a/src/main/java/cn/lihongjie/coal/controller/ResourceController.java +++ b/src/main/java/cn/lihongjie/coal/controller/ResourceController.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.controller; +import cn.lihongjie.coal.annotation.SysLog; import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.service.ResourceService; import org.springframework.beans.factory.annotation.Autowired; @@ -11,23 +12,27 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/resource") @RestController +@SysLog(module = "资源管理") public class ResourceController { @Autowired ResourceService service; @PostMapping("/create") + @SysLog(msg = "新增") public ResourceDto create(@RequestBody CreateResourceDto dto) { return this.service.create(dto); } @PostMapping("/update") + @SysLog(msg = "编辑") public ResourceDto update(@RequestBody UpdateResourceDto dto) { return this.service.update(dto); } @PostMapping("/delete") + @SysLog(msg = "删除") public Object delete(@RequestBody IdRequest dto) { this.service.delete(dto); return null; diff --git a/src/main/java/cn/lihongjie/coal/controller/RoleController.java b/src/main/java/cn/lihongjie/coal/controller/RoleController.java index 3d28e1da..9b716c48 100644 --- a/src/main/java/cn/lihongjie/coal/controller/RoleController.java +++ b/src/main/java/cn/lihongjie/coal/controller/RoleController.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.controller; +import cn.lihongjie.coal.annotation.SysLog; import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.service.RoleService; import org.springframework.beans.factory.annotation.Autowired; @@ -11,23 +12,27 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/role") @RestController +@SysLog(module = "角色管理") public class RoleController { @Autowired RoleService service; @PostMapping("/create") + @SysLog(msg = "新增") public RoleDto create(@RequestBody CreateRoleDto dto) { return this.service.create(dto); } @PostMapping("/update") + @SysLog(msg = "编辑") public RoleDto update(@RequestBody UpdateRoleDto dto) { return this.service.update(dto); } @PostMapping("/delete") + @SysLog(msg = "删除") public Object delete(@RequestBody IdRequest dto) { this.service.delete(dto); return null; diff --git a/src/main/java/cn/lihongjie/coal/controller/SysConfigController.java b/src/main/java/cn/lihongjie/coal/controller/SysConfigController.java index 23ed04c2..e35789a0 100644 --- a/src/main/java/cn/lihongjie/coal/controller/SysConfigController.java +++ b/src/main/java/cn/lihongjie/coal/controller/SysConfigController.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.controller; +import cn.lihongjie.coal.annotation.SysLog; import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.service.SysConfigService; import org.springframework.beans.factory.annotation.Autowired; @@ -11,23 +12,27 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/sysConfig") @RestController +@SysLog(module = "系统参数") public class SysConfigController { @Autowired SysConfigService service; @PostMapping("/create") + @SysLog(msg = "新增") public SysConfigDto create(@RequestBody CreateSysConfigDto dto) { return this.service.create(dto); } @PostMapping("/update") + @SysLog(msg = "编辑") public SysConfigDto update(@RequestBody UpdateSysConfigDto dto) { return this.service.update(dto); } @PostMapping("/delete") + @SysLog(msg = "删除") public Object delete(@RequestBody IdRequest dto) { this.service.delete(dto); return null; diff --git a/src/main/java/cn/lihongjie/coal/controller/UserController.java b/src/main/java/cn/lihongjie/coal/controller/UserController.java index eaecd3d6..f702ebc3 100644 --- a/src/main/java/cn/lihongjie/coal/controller/UserController.java +++ b/src/main/java/cn/lihongjie/coal/controller/UserController.java @@ -1,5 +1,6 @@ package cn.lihongjie.coal.controller; +import cn.lihongjie.coal.annotation.SysLog; import cn.lihongjie.coal.dto.CommonQuery; import cn.lihongjie.coal.dto.IdRequest; import cn.lihongjie.coal.dto.ChangeUserPwdDto; @@ -16,23 +17,27 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/user") @RestController +@SysLog(module = "用户管理") public class UserController { @Autowired UserService service; @PostMapping("/create") + @SysLog(msg = "新增") public UserDto create(@RequestBody CreateUserDto dto) { return this.service.create(dto); } @PostMapping("/update") + @SysLog(msg = "编辑") public UserDto update(@RequestBody UpdateUserDto dto) { return this.service.update(dto); } @PostMapping("/delete") + @SysLog(msg = "删除") public Object delete(@RequestBody IdRequest dto) { this.service.delete(dto); return null; @@ -45,15 +50,12 @@ public class UserController { } - @PostMapping("/list") public Page list(@RequestBody CommonQuery dto) { return this.service.list(dto); } - - @PostMapping("/getById") public UserDto getById(@RequestBody IdRequest dto) { return this.service.getById(dto.getId()); diff --git a/src/main/java/cn/lihongjie/coal/dao/SysLogRepository.java b/src/main/java/cn/lihongjie/coal/dao/SysLogRepository.java new file mode 100644 index 00000000..41d488b4 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/dao/SysLogRepository.java @@ -0,0 +1,8 @@ +package cn.lihongjie.coal.dao; + +import cn.lihongjie.coal.entity.SysLogEntity; +import org.springframework.stereotype.Repository; + +@Repository +public interface SysLogRepository extends BaseRepository { +} \ No newline at end of file diff --git a/src/main/java/cn/lihongjie/coal/dto/CreateDictionaryDto.java b/src/main/java/cn/lihongjie/coal/dto/CreateDictionaryDto.java new file mode 100644 index 00000000..9365fbe8 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/dto/CreateDictionaryDto.java @@ -0,0 +1,22 @@ +package cn.lihongjie.coal.dto; + +import cn.lihongjie.coal.dto.base.CommonDto; +import lombok.Data; + +import java.util.List; + +@Data +public class CreateDictionaryDto extends CommonDto +{ + + private List item; + + @Data + public static class DictionaryItemDto extends CommonDto { + + + + private List children; + + } +} diff --git a/src/main/java/cn/lihongjie/coal/dto/CreateSysLogDto.java b/src/main/java/cn/lihongjie/coal/dto/CreateSysLogDto.java new file mode 100644 index 00000000..eec88702 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/dto/CreateSysLogDto.java @@ -0,0 +1,33 @@ +package cn.lihongjie.coal.dto; + +import cn.lihongjie.coal.dto.base.OrgCommonDto; +import lombok.Data; +import org.hibernate.annotations.Comment; + +@Data +public class CreateSysLogDto extends OrgCommonDto +{ + + @Comment("ip") + private String ip; + @Comment("ip定位") + private String ipLocation; + + @Comment("userAgent") + private String userAgent; + + + @Comment("耗时") + private Integer timeCost; + + @Comment("URL") + private String url; + + + @Comment("操作状态 0 成功 1 失败") + private Integer status; + + @Comment("错误堆栈") + private String stacktrace; + +} diff --git a/src/main/java/cn/lihongjie/coal/dto/DictionaryDto.java b/src/main/java/cn/lihongjie/coal/dto/DictionaryDto.java new file mode 100644 index 00000000..9d028f13 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/dto/DictionaryDto.java @@ -0,0 +1,22 @@ +package cn.lihongjie.coal.dto; + +import cn.lihongjie.coal.dto.base.CommonDto; +import lombok.Data; + +import java.util.List; + +@Data +public class DictionaryDto extends CommonDto +{ + + private List item; + + @Data + public static class DictionaryItemDto extends CommonDto { + + + + private List children; + + } +} diff --git a/src/main/java/cn/lihongjie/coal/dto/SysLogDto.java b/src/main/java/cn/lihongjie/coal/dto/SysLogDto.java new file mode 100644 index 00000000..4a57b163 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/dto/SysLogDto.java @@ -0,0 +1,33 @@ +package cn.lihongjie.coal.dto; + +import cn.lihongjie.coal.dto.base.OrgCommonDto; +import lombok.Data; +import org.hibernate.annotations.Comment; + +@Data +public class SysLogDto extends OrgCommonDto +{ + + @Comment("ip") + private String ip; + @Comment("ip定位") + private String ipLocation; + + @Comment("userAgent") + private String userAgent; + + + @Comment("耗时") + private Integer timeCost; + + @Comment("URL") + private String url; + + + @Comment("操作状态 0 成功 1 失败") + private Integer status; + + @Comment("错误堆栈") + private String stacktrace; + +} diff --git a/src/main/java/cn/lihongjie/coal/dto/UpdateDictionaryDto.java b/src/main/java/cn/lihongjie/coal/dto/UpdateDictionaryDto.java new file mode 100644 index 00000000..358a904b --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/dto/UpdateDictionaryDto.java @@ -0,0 +1,22 @@ +package cn.lihongjie.coal.dto; + +import cn.lihongjie.coal.dto.base.CommonDto; +import lombok.Data; + +import java.util.List; + +@Data +public class UpdateDictionaryDto extends CommonDto +{ + + private List item; + + @Data + public static class DictionaryItemDto extends CommonDto { + + + + private List children; + + } +} diff --git a/src/main/java/cn/lihongjie/coal/dto/UpdateSysLogDto.java b/src/main/java/cn/lihongjie/coal/dto/UpdateSysLogDto.java new file mode 100644 index 00000000..b46038fe --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/dto/UpdateSysLogDto.java @@ -0,0 +1,33 @@ +package cn.lihongjie.coal.dto; + +import cn.lihongjie.coal.dto.base.OrgCommonDto; +import lombok.Data; +import org.hibernate.annotations.Comment; + +@Data +public class UpdateSysLogDto extends OrgCommonDto +{ + + @Comment("ip") + private String ip; + @Comment("ip定位") + private String ipLocation; + + @Comment("userAgent") + private String userAgent; + + + @Comment("耗时") + private Integer timeCost; + + @Comment("URL") + private String url; + + + @Comment("操作状态 0 成功 1 失败") + private Integer status; + + @Comment("错误堆栈") + private String stacktrace; + +} diff --git a/src/main/java/cn/lihongjie/coal/entity/OperationLog.java b/src/main/java/cn/lihongjie/coal/entity/SysLogEntity.java similarity index 76% rename from src/main/java/cn/lihongjie/coal/entity/OperationLog.java rename to src/main/java/cn/lihongjie/coal/entity/SysLogEntity.java index 03a52170..5050e312 100644 --- a/src/main/java/cn/lihongjie/coal/entity/OperationLog.java +++ b/src/main/java/cn/lihongjie/coal/entity/SysLogEntity.java @@ -2,14 +2,13 @@ package cn.lihongjie.coal.entity; import cn.lihongjie.coal.entity.base.OrgBaseEntity; import jakarta.persistence.Entity; -import jakarta.persistence.OneToOne; import lombok.Data; import org.hibernate.annotations.Comment; @Entity @Data @Comment("操作日志") -public class OperationLog extends OrgBaseEntity { +public class SysLogEntity extends OrgBaseEntity { @Comment("ip") private String ip; @@ -27,9 +26,8 @@ public class OperationLog extends OrgBaseEntity { private String url; - @Comment("操作状态") - @OneToOne - private DictionaryItemEntity status; + @Comment("操作状态 0 成功 1 失败") + private Integer status; @Comment("错误堆栈") private String stacktrace; diff --git a/src/main/java/cn/lihongjie/coal/log/SysLog.java b/src/main/java/cn/lihongjie/coal/log/SysLog.java deleted file mode 100644 index 6bcd08ea..00000000 --- a/src/main/java/cn/lihongjie/coal/log/SysLog.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.lihongjie.coal.log; - -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface SysLog { - - String msg(); -} diff --git a/src/main/java/cn/lihongjie/coal/mapper/CommonMapper.java b/src/main/java/cn/lihongjie/coal/mapper/CommonMapper.java index 2790cccc..57a2159a 100644 --- a/src/main/java/cn/lihongjie/coal/mapper/CommonMapper.java +++ b/src/main/java/cn/lihongjie/coal/mapper/CommonMapper.java @@ -32,9 +32,9 @@ public interface CommonMapper { } - public default OperationLog createOperat(String id) { + public default SysLogEntity createOperat(String id) { - OperationLog e = new OperationLog(); + SysLogEntity e = new SysLogEntity(); e.setId(id); return e; diff --git a/src/main/java/cn/lihongjie/coal/mapper/DictionaryMapper.java b/src/main/java/cn/lihongjie/coal/mapper/DictionaryMapper.java new file mode 100644 index 00000000..4d918933 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/mapper/DictionaryMapper.java @@ -0,0 +1,24 @@ +package cn.lihongjie.coal.mapper; + + +import cn.lihongjie.coal.dto.CreateDictionaryDto; +import cn.lihongjie.coal.dto.UpdateDictionaryDto; +import cn.lihongjie.coal.dto.DictionaryDto; +import cn.lihongjie.coal.entity.DictionaryEntity; +import org.mapstruct.Mapper; +import org.mapstruct.MappingConstants; +import org.mapstruct.MappingTarget; + +@Mapper( + componentModel = MappingConstants.ComponentModel.SPRING, + uses = {CommonMapper.class} + +) +public interface DictionaryMapper { + DictionaryDto toDto(DictionaryEntity user); + + DictionaryEntity toEntity(CreateDictionaryDto request); + + + void updateEntity(@MappingTarget DictionaryEntity entity, UpdateDictionaryDto dto); +} diff --git a/src/main/java/cn/lihongjie/coal/mapper/SysLogMapper.java b/src/main/java/cn/lihongjie/coal/mapper/SysLogMapper.java new file mode 100644 index 00000000..8621e308 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/mapper/SysLogMapper.java @@ -0,0 +1,24 @@ +package cn.lihongjie.coal.mapper; + + +import cn.lihongjie.coal.dto.CreateSysLogDto; +import cn.lihongjie.coal.dto.UpdateSysLogDto; +import cn.lihongjie.coal.dto.SysLogDto; +import cn.lihongjie.coal.entity.SysLogEntity; +import org.mapstruct.Mapper; +import org.mapstruct.MappingConstants; +import org.mapstruct.MappingTarget; + +@Mapper( + componentModel = MappingConstants.ComponentModel.SPRING, + uses = {CommonMapper.class} + +) +public interface SysLogMapper { + SysLogDto toDto(SysLogEntity user); + + SysLogEntity toEntity(CreateSysLogDto request); + + + void updateEntity(@MappingTarget SysLogEntity entity, UpdateSysLogDto dto); +} diff --git a/src/main/java/cn/lihongjie/coal/service/BaseService.java b/src/main/java/cn/lihongjie/coal/service/BaseService.java index 574df88b..caa35323 100644 --- a/src/main/java/cn/lihongjie/coal/service/BaseService.java +++ b/src/main/java/cn/lihongjie/coal/service/BaseService.java @@ -1,59 +1,48 @@ package cn.lihongjie.coal.service; import cn.lihongjie.coal.dao.BaseRepository; -import cn.lihongjie.coal.dto.CommonQuery; -import cn.lihongjie.coal.dto.IdRequest; import cn.lihongjie.coal.entity.base.BaseEntity; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.convert.ConversionService; import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Sort; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.domain.Specification; + +import java.util.List; public abstract class BaseService> { @Autowired Repository dao; - @Autowired - ConversionService conversionService; + + public Entity get(String id){ + + return dao.get(id); + } - public Entity create(Entity entity){ - + public void save(Entity entity){ dao.save(entity); - - return entity; - - } - - public Entity update(Entity entity){ - - - dao.save(entity); - - return entity; - } + public void delete(String id) { + dao.deleteById(id); + } - - public void deleteAllById(IdRequest idRequest){ - dao.deleteAllById(idRequest.getIds()); + public void delete(List id) { + dao.deleteAllById(id); } - - public Page list(CommonQuery query){ - - Page page = dao.findAll(query.specification(conversionService), PageRequest.of(query.getPageNo(), query.getPageSize(), Sort.by(query.getOrders()))); - - - return page; - - + public Page search(Specification spec, Pageable page){ + return dao.findAll(spec, page); } + public List search(Specification spec){ + return dao.findAll(spec); + } + + } diff --git a/src/main/java/cn/lihongjie/coal/service/DepartmentService.java b/src/main/java/cn/lihongjie/coal/service/DepartmentService.java index fa31a5fd..42e71e83 100644 --- a/src/main/java/cn/lihongjie/coal/service/DepartmentService.java +++ b/src/main/java/cn/lihongjie/coal/service/DepartmentService.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Service; @Service @Slf4j -public class DepartmentService { +public class DepartmentService extends BaseService{ @Autowired DepartmentRepository repository; diff --git a/src/main/java/cn/lihongjie/coal/service/DictionaryService.java b/src/main/java/cn/lihongjie/coal/service/DictionaryService.java index a8ffb1ae..b238cff1 100644 --- a/src/main/java/cn/lihongjie/coal/service/DictionaryService.java +++ b/src/main/java/cn/lihongjie/coal/service/DictionaryService.java @@ -1,11 +1,81 @@ package cn.lihongjie.coal.service; import cn.lihongjie.coal.dao.DictionaryRepository; +import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.entity.DictionaryEntity; +import cn.lihongjie.coal.mapper.DictionaryMapper; +import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.convert.ConversionService; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; @Service @Slf4j public class DictionaryService extends BaseService { + + @Autowired + DictionaryRepository repository; + + @Autowired + DictionaryMapper mapper; + + + @PostConstruct + public void init() { + + + } + + + public DictionaryDto create(CreateDictionaryDto request) { + + + DictionaryEntity entity = mapper.toEntity(request); + + + this.repository.save(entity); + return getById(entity.getId()); + + } + + + public DictionaryDto update(UpdateDictionaryDto request) { + DictionaryEntity entity = this.repository.get(request.getId()); + this.mapper.updateEntity(entity, request); + + return null; + } + + + public void delete(IdRequest request) { + + this.repository.deleteAllById(request.getIds()); + + } + + + public DictionaryDto getById(String id) { + + DictionaryEntity entity = repository.get(id); + + + return mapper.toDto(entity); + } + + + @Autowired + ConversionService conversionService; + + public Page list(CommonQuery query) { + + Page page = repository.findAll(query.specification(conversionService), PageRequest.of(query.getPageNo(), query.getPageSize(), Sort.by(query.getOrders()))); + + + return page.map(this.mapper::toDto); + + } } diff --git a/src/main/java/cn/lihongjie/coal/service/OrganizationService.java b/src/main/java/cn/lihongjie/coal/service/OrganizationService.java index 5ce5c790..f61ba54f 100644 --- a/src/main/java/cn/lihongjie/coal/service/OrganizationService.java +++ b/src/main/java/cn/lihongjie/coal/service/OrganizationService.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Service; @Service @Slf4j -public class OrganizationService { +public class OrganizationService extends BaseService{ @Autowired OrganizationRepository repository; diff --git a/src/main/java/cn/lihongjie/coal/service/PermissionService.java b/src/main/java/cn/lihongjie/coal/service/PermissionService.java index b3e153ab..8f8dace6 100644 --- a/src/main/java/cn/lihongjie/coal/service/PermissionService.java +++ b/src/main/java/cn/lihongjie/coal/service/PermissionService.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Service; @Service @Slf4j -public class PermissionService { +public class PermissionService extends BaseService{ @Autowired PermissionRepository repository; diff --git a/src/main/java/cn/lihongjie/coal/service/ResourceService.java b/src/main/java/cn/lihongjie/coal/service/ResourceService.java index 97af9a82..58cbf819 100644 --- a/src/main/java/cn/lihongjie/coal/service/ResourceService.java +++ b/src/main/java/cn/lihongjie/coal/service/ResourceService.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Service; @Service @Slf4j -public class ResourceService { +public class ResourceService extends BaseService{ @Autowired ResourceRepository repository; diff --git a/src/main/java/cn/lihongjie/coal/service/RoleService.java b/src/main/java/cn/lihongjie/coal/service/RoleService.java index 8b9dffbf..538bffcf 100644 --- a/src/main/java/cn/lihongjie/coal/service/RoleService.java +++ b/src/main/java/cn/lihongjie/coal/service/RoleService.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Service; @Service @Slf4j -public class RoleService { +public class RoleService extends BaseService{ @Autowired RoleRepository repository; diff --git a/src/main/java/cn/lihongjie/coal/service/SysConfigService.java b/src/main/java/cn/lihongjie/coal/service/SysConfigService.java index d1521a32..a04b772c 100644 --- a/src/main/java/cn/lihongjie/coal/service/SysConfigService.java +++ b/src/main/java/cn/lihongjie/coal/service/SysConfigService.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Service; @Service @Slf4j -public class SysConfigService { +public class SysConfigService extends BaseService{ @Autowired SysConfigRepository repository; diff --git a/src/main/java/cn/lihongjie/coal/service/SysLogService.java b/src/main/java/cn/lihongjie/coal/service/SysLogService.java new file mode 100644 index 00000000..4a7efa7f --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/service/SysLogService.java @@ -0,0 +1,91 @@ +package cn.lihongjie.coal.service; + +import cn.lihongjie.coal.dao.SysLogRepository; +import cn.lihongjie.coal.dto.*; +import cn.lihongjie.coal.entity.SysLogEntity; +import cn.lihongjie.coal.mapper.SysLogMapper; +import jakarta.annotation.PostConstruct; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.convert.ConversionService; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class SysLogService extends BaseService{ + + @Autowired + SysLogRepository repository; + + @Autowired + SysLogMapper mapper; + + + @PostConstruct + public void init() { + + + } + + + + + public SysLogDto create(CreateSysLogDto request) { + + + SysLogEntity entity = mapper.toEntity(request); + + + this.repository.save(entity); + return getById(entity.getId()); + + } + + + public SysLogDto update(UpdateSysLogDto request) { + SysLogEntity entity = this.repository.get(request.getId()); + this.mapper.updateEntity(entity, request); + + return null; + } + + + public void delete(IdRequest request) { + + this.repository.deleteAllById(request.getIds()); + + } + + + public SysLogDto getById(String id) { + + SysLogEntity entity = repository.get(id); + + + return mapper.toDto(entity); + } + + + @Autowired + ConversionService conversionService; + + @Override + @Async + public void save(SysLogEntity entity) { + + super.save(entity); + } + + public Page list(CommonQuery query) { + + Page page = repository.findAll(query.specification(conversionService), PageRequest.of(query.getPageNo(), query.getPageSize(), Sort.by(query.getOrders()))); + + + return page.map(this.mapper::toDto); + + } +} diff --git a/src/main/java/cn/lihongjie/coal/service/UserService.java b/src/main/java/cn/lihongjie/coal/service/UserService.java index 5923b61b..836c4743 100644 --- a/src/main/java/cn/lihongjie/coal/service/UserService.java +++ b/src/main/java/cn/lihongjie/coal/service/UserService.java @@ -1,12 +1,7 @@ package cn.lihongjie.coal.service; import cn.lihongjie.coal.dao.UserRepository; -import cn.lihongjie.coal.dto.CommonQuery; -import cn.lihongjie.coal.dto.IdRequest; -import cn.lihongjie.coal.dto.ChangeUserPwdDto; -import cn.lihongjie.coal.dto.CreateUserDto; -import cn.lihongjie.coal.dto.UpdateUserDto; -import cn.lihongjie.coal.dto.UserDto; +import cn.lihongjie.coal.dto.*; import cn.lihongjie.coal.entity.UserEntity; import cn.lihongjie.coal.exception.BizException; import cn.lihongjie.coal.mapper.UserMapper; @@ -23,7 +18,7 @@ import org.springframework.stereotype.Service; @Service @Slf4j -public class UserService { +public class UserService extends BaseService{ @Autowired UserRepository repository; diff --git a/src/main/java/cn/lihongjie/coal/service/UserSessionService.java b/src/main/java/cn/lihongjie/coal/service/UserSessionService.java index 48c703fe..9226e5c1 100644 --- a/src/main/java/cn/lihongjie/coal/service/UserSessionService.java +++ b/src/main/java/cn/lihongjie/coal/service/UserSessionService.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.List; +import java.util.Optional; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; @@ -84,10 +85,7 @@ public class UserSessionService { } - - - - - - + public Optional getById(String sessionId) { + return repository.findById(sessionId); + } }