From c2d356864c9b972a76b97130fcd455be595e6bf0 Mon Sep 17 00:00:00 2001 From: chen-xin-zhi <3588068430@qq.com> Date: Mon, 3 Mar 2025 22:08:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E5=86=99=E7=9C=9F?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E7=89=B9=E6=AE=8A=E4=BA=A7=E5=93=81=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/PhotoProductsController.java | 88 ++++++++++++++++++- .../order/AdvanceOrderController.java | 2 - .../service/good/impl/CouponServiceImpl.java | 2 +- 3 files changed, 85 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/cultural/heritage/controller/book/PhotoProductsController.java b/src/main/java/com/cultural/heritage/controller/book/PhotoProductsController.java index 07b7cb9..4eacb06 100644 --- a/src/main/java/com/cultural/heritage/controller/book/PhotoProductsController.java +++ b/src/main/java/com/cultural/heritage/controller/book/PhotoProductsController.java @@ -38,16 +38,15 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.util.CollectionUtils; 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; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; @RestController @RequestMapping("/photoProducts") @@ -80,6 +79,11 @@ public class PhotoProductsController { private AdvanceOrderService advanceOrderService; + + @Resource + private RedisTemplate redisTemplate; + + /** * Web端管理员添加写真产品 * @param photoProductsAddRequest 写真产品添加请求体 @@ -427,4 +431,80 @@ public class PhotoProductsController { + + /** + * Web端管理员获取Map集合(键:编号(从1开始), 值:写真产品id) + * @return map集合 + */ + @PostMapping("/list/map") + @Operation(summary = "Web端管理员获取Map集合(键:编号(从1开始), 值:写真产品id)", description = "参数:无,权限:管理员(admin, boss),方法名:queryPhotoProductsMap") + @AuthCheck(mustRole = UserConstant.ADMIN_ROLE) + public BaseResponse> queryPhotoProductsMap() { + List photoProductsList = photoProductsService.list(); + Collections.reverse(photoProductsList); + Map map = new HashMap<>(); + int cnt = 1; + for (PhotoProducts photoProducts : photoProductsList) { + Long id = photoProducts.getId(); + Integer isShelves = photoProducts.getIsShelves(); + if (isShelves == 1) { + map.put(cnt, id); + } + cnt ++; + } + return ResultUtils.success(map); + } + + + + + /** + * Web端管理员保存特殊写真产品指向的id + * @return 是否保存成功 + */ + @PostMapping("/special/save") + @Operation(summary = "Web端管理员保存特殊写真产品指向的id", description = "参数:无,权限:管理员(admin, boss),方法名:saveSpecialPhotoProductById") + @AuthCheck(mustRole = UserConstant.ADMIN_ROLE) + public BaseResponse saveSpecialPhotoProductById(@RequestBody CommonBatchRequest commonBatchRequest) { + if (commonBatchRequest == null) { + throw new BusinessException(ErrorCode.PARAMS_ERROR); + } + List idList = commonBatchRequest.getIdList(); + redisTemplate.opsForValue().set("photoProductIds", idList); + return ResultUtils.success(true); + } + + + + /** + * Web端(小程序端)管理员查询特殊写真产品指向的id + * @return 写真产品id列表 + */ + @PostMapping("/special/get") + @Operation(summary = "Web端管理员(小程序端)查询特殊写真产品指向的id", description = "参数:写真产品id列表,权限:管理员(admin, boss),方法名:getSpecialPhotoProductIds") + public BaseResponse> getSpecialPhotoProductIds () { + + Object valueObj = redisTemplate.opsForValue().get("photoProductIds"); + List newIds = new ArrayList<>(); + if (valueObj != null) { + List ids = ((List) valueObj).stream() + .map(obj -> ((Number) obj).longValue()) + .collect(Collectors.toList()); + for (Long id: ids) { + PhotoProducts photoProducts = photoProductsService.getById(id); + if (photoProducts == null || photoProducts.getIsShelves() == 0) { + newIds.add(0L); + } else { + newIds.add(id); + } + } + } else { + newIds = Arrays.asList(0L, 0L); + } + redisTemplate.opsForValue().set("photoProductIds", newIds); + return ResultUtils.success(newIds); + } + + + } diff --git a/src/main/java/com/cultural/heritage/controller/order/AdvanceOrderController.java b/src/main/java/com/cultural/heritage/controller/order/AdvanceOrderController.java index 71b2917..e33771e 100644 --- a/src/main/java/com/cultural/heritage/controller/order/AdvanceOrderController.java +++ b/src/main/java/com/cultural/heritage/controller/order/AdvanceOrderController.java @@ -229,6 +229,4 @@ public class AdvanceOrderController { } - - } diff --git a/src/main/java/com/cultural/heritage/service/good/impl/CouponServiceImpl.java b/src/main/java/com/cultural/heritage/service/good/impl/CouponServiceImpl.java index 175fbea..b41d854 100644 --- a/src/main/java/com/cultural/heritage/service/good/impl/CouponServiceImpl.java +++ b/src/main/java/com/cultural/heritage/service/good/impl/CouponServiceImpl.java @@ -94,7 +94,7 @@ public class CouponServiceImpl extends ServiceImpl impleme throw new BusinessException(ErrorCode.PARAMS_ERROR, "满减价格不能超过标准价格"); } - if (ObjectUtils.isEmpty(requirePoints) || requirePoints <= 0) { + if (ObjectUtils.isEmpty(requirePoints) || requirePoints < 0) { throw new BusinessException(ErrorCode.PARAMS_ERROR, "积分参数错误"); } if (StringUtils.isAnyBlank(name, startTime, endTime, description, content, status)) {