From ae24df4741960529f4f2760a041eb5257040376c Mon Sep 17 00:00:00 2001 From: XiaoLFeng Date: Fri, 19 Jan 2024 21:21:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BD=AE=E6=92=AD=E5=9B=BE=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsl/oa/controllers/InfoController.java | 5 ++--- .../com/jsl/oa/exception/ProcessException.java | 15 ++++++++++++--- .../java/com/jsl/oa/services/InfoService.java | 10 ++++++++++ .../jsl/oa/services/impl/InfoServiceImpl.java | 17 +++++++++++++++++ 4 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/InfoController.java b/src/main/java/com/jsl/oa/controllers/InfoController.java index d3665fe..d002dcc 100755 --- a/src/main/java/com/jsl/oa/controllers/InfoController.java +++ b/src/main/java/com/jsl/oa/controllers/InfoController.java @@ -9,7 +9,6 @@ import com.jsl.oa.utils.ResultUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -70,8 +69,8 @@ public class InfoController { } @PutMapping("/info/header-image/edit-setting") - public BaseResponse infoEditSettingHeaderImage(@RequestBody @Validated CarouselVO carouselVO, @RequestParam Integer id, HttpServletRequest πrequest, @NotNull BindingResult bindingResult) { + public BaseResponse infoEditSettingHeaderImage(@RequestParam Boolean showType, HttpServletRequest request) { log.info("请求接口[PUT]: /info/header-image/edit-setting"); - return null; + return infoService.editSettingHeaderImage(request, showType); } } diff --git a/src/main/java/com/jsl/oa/exception/ProcessException.java b/src/main/java/com/jsl/oa/exception/ProcessException.java index 841f3b0..0692eea 100755 --- a/src/main/java/com/jsl/oa/exception/ProcessException.java +++ b/src/main/java/com/jsl/oa/exception/ProcessException.java @@ -1,6 +1,7 @@ package com.jsl.oa.exception; import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.ErrorCode; import com.jsl.oa.utils.ResultUtil; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; @@ -8,6 +9,7 @@ import org.springframework.dao.DuplicateKeyException; import org.springframework.http.ResponseEntity; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.MissingServletRequestParameterException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -17,21 +19,28 @@ public class ProcessException { @ExceptionHandler(value = HttpRequestMethodNotSupportedException.class) public ResponseEntity businessMethodNotAllowedException() { - log.debug("请求方法错误"); + log.warn("请求方法错误"); return ResultUtil.error("MethodNotAllowed", 405, "请求方法错误"); } @ExceptionHandler(value = DuplicateKeyException.class) public ResponseEntity businessDuplicateKeyException(@NotNull DuplicateKeyException e) { - log.debug(e.getMessage(), e); + log.warn(e.getMessage(), e); return ResultUtil.error("DuplicateEntry", 400, "数据重复/外键约束"); } @ExceptionHandler(value = HttpMessageNotReadableException.class) public ResponseEntity businessHttpMessageNotReadableException(HttpMessageNotReadableException e) { - log.debug(e.getMessage(), e); + log.warn(e.getMessage(), e); return ResultUtil.error("HttpMessageNotReadable", 400, "请求参数错误"); } + @ExceptionHandler(value = MissingServletRequestParameterException.class) + public ResponseEntity businessMissingServletRequestParameterExceptionException(MissingServletRequestParameterException e) { + log.error(e.getMessage(), e); + return ResponseEntity + .status(400) + .body(ResultUtil.error(ErrorCode.PARAMETER_ERROR, e.getMessage())); + } @ExceptionHandler(value = Exception.class) public ResponseEntity businessException(@NotNull Exception e) { diff --git a/src/main/java/com/jsl/oa/services/InfoService.java b/src/main/java/com/jsl/oa/services/InfoService.java index c841a7b..6c293cf 100644 --- a/src/main/java/com/jsl/oa/services/InfoService.java +++ b/src/main/java/com/jsl/oa/services/InfoService.java @@ -57,4 +57,14 @@ public interface InfoService { * @return {@link BaseResponse} */ BaseResponse delHeaderImage(HttpServletRequest request, Integer id); + + /** + *

编辑轮播图设置

+ *
+ * 编辑轮播图显示类型 + * + * @param showType 显示类型(true:顺序,false:倒序) + * @return {@link BaseResponse} + */ + BaseResponse editSettingHeaderImage(HttpServletRequest request, Boolean showType); } diff --git a/src/main/java/com/jsl/oa/services/impl/InfoServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/InfoServiceImpl.java index ab041c4..42d6937 100644 --- a/src/main/java/com/jsl/oa/services/impl/InfoServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/InfoServiceImpl.java @@ -121,4 +121,21 @@ public class InfoServiceImpl implements InfoService { return ResultUtil.error(ErrorCode.DATABASE_UPDATE_ERROR); } } + + @Override + public BaseResponse editSettingHeaderImage(HttpServletRequest request, Boolean showType) { + // 用户权限校验 + if (!Processing.checkUserIsAdmin(request, roleMapper)) { + return ResultUtil.error(ErrorCode.NOT_ADMIN); + } + // 获取轮播图信息 + CarouselDO carouselDO = infoDAO.getCarousel(); + carouselDO.setOrder(showType ? "asc" : "desc"); + // 保存轮播图 + if (infoDAO.setCarousel(carouselDO)) { + return ResultUtil.success(); + } else { + return ResultUtil.error(ErrorCode.DATABASE_UPDATE_ERROR); + } + } }