diff --git a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopTableController.java b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopTableController.java index a408ac268..e3f07b1b3 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopTableController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopTableController.java @@ -78,7 +78,9 @@ public class ShopTableController { queryWrapper.eq(ShopTable::getTableCode, tableCode); } ShopTable one = shopTableService.getOne(queryWrapper); - one.setStatusMsg(ShopTableStatusEnum.getMsgByValue(one.getStatus())); + if (one != null) { + one.setStatusMsg(ShopTableStatusEnum.getMsgByValue(one.getStatus())); + } return CzgResult.success(one); } diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index b806ab5e5..a8b305df8 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -14,6 +14,7 @@ import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.validation.ObjectError; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.MissingServletRequestParameterException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; @@ -63,14 +64,14 @@ public class CzgControllerAdvice { @ResponseBody @ExceptionHandler(value = NotPermissionException.class) @ResponseStatus(HttpStatus.OK) - public CzgResult notPermissionErrorHandler(NotPermissionException ex) { + public CzgResult notPermissionErrorHandler() { return CzgResult.failure(CzgRespCode.UN_PERMISSION); } @ResponseBody @ExceptionHandler(value = NotRoleException.class) @ResponseStatus(HttpStatus.OK) - public CzgResult notRoleErrorHandler(NotRoleException ex) { + public CzgResult notRoleErrorHandler() { return CzgResult.failure(CzgRespCode.UN_ROLE); } @@ -118,6 +119,12 @@ public class CzgControllerAdvice { return CzgResult.failure(701, "订单已过期,请重新下单"); } + @ExceptionHandler(MissingServletRequestParameterException.class) + public CzgResult handleMissingServletRequestParameterException(MissingServletRequestParameterException ex) { + log.error("传参错误", ex); + return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), "系统繁忙,请稍后再试"); + } + /** * 处理Hutool的断言抛出异常 */ @@ -156,7 +163,7 @@ public class CzgControllerAdvice { public CzgResult errorHandler(Exception ex) { // setErrorLog(ex); // 3. 处理未捕获的异常(系统异常,隐藏敏感信息) - log.error("系统未处理异常", ex); // 替换原有 setErrorLog,使用日志框架 + log.error("系统未处理异常", ex); return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), "系统繁忙,请稍后再试"); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/vo/ProductVO.java b/cash-common/cash-common-service/src/main/java/com/czg/product/vo/ProductVO.java index 917eadf43..3be396c05 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/vo/ProductVO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/vo/ProductVO.java @@ -15,6 +15,8 @@ import java.util.List; @Data public class ProductVO extends Product { private BigDecimal lowPrice; + private String unitName; + private BigDecimal lowMemberPrice; private List skuList; private Integer isSaleTime; } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/PadProdServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/PadProdServiceImpl.java index 664cccb01..f0d6efa8e 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/PadProdServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/PadProdServiceImpl.java @@ -1,6 +1,7 @@ package com.czg.service.account.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.czg.account.dto.pad.*; @@ -27,6 +28,7 @@ import jakarta.annotation.Resource; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.LocalTime; @@ -34,6 +36,7 @@ import java.time.format.TextStyle; import java.util.ArrayList; import java.util.List; import java.util.Locale; +import java.util.Optional; /** * @author Administrator @@ -115,7 +118,8 @@ public class PadProdServiceImpl implements PadProdService { List skuList = prodSkuService.list(new QueryWrapper().eq(ProdSku::getProductId, item.getId())); item.setSkuList(skuList); item.setIsSaleTime(calcIsSaleTime(item.getDays(), item.getStartTime(), item.getEndTime())); - +// Optional lowMemberPriceIsPresent = skuList.stream().map(obj -> NumberUtil.nullToZero(obj.getMemberPrice())).min(BigDecimal::compareTo); +// lowMemberPriceIsPresent.ifPresent(item::setLowMemberPrice); }); padDetailDTO.setProductList(products); } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index 68b1bfb01..5c0806a81 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -264,7 +264,7 @@ public class OrderInfoServiceImpl extends ServiceImpl