From cc0f5e58f68c554f239740acff22b8d37d8c61eb Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Fri, 21 Nov 2025 13:21:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../heyu/api/data/dto/VvProductFrontDTO.java | 17 +++++ .../com/heyu/api/data/dto/vv/VvSkuDTO.java | 10 +++ .../controller/vv/AppActivityController.java | 4 +- .../controller/vv/AppIndexPageController.java | 64 +++++++++++-------- ...r.java => AppPromoterBuyerController.java} | 2 +- ...AppPromoterTradeOrderAwardController.java} | 2 +- 6 files changed, 70 insertions(+), 29 deletions(-) create mode 100644 api-mapper/src/main/java/com/heyu/api/data/dto/VvProductFrontDTO.java rename api-web/api-interface/src/main/java/com/heyu/api/controller/vv/{AppPromoterController.java => AppPromoterBuyerController.java} (97%) rename api-web/api-interface/src/main/java/com/heyu/api/controller/vv/{AppPromoterAwardLineController.java => AppPromoterTradeOrderAwardController.java} (97%) diff --git a/api-mapper/src/main/java/com/heyu/api/data/dto/VvProductFrontDTO.java b/api-mapper/src/main/java/com/heyu/api/data/dto/VvProductFrontDTO.java new file mode 100644 index 0000000..da99691 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/dto/VvProductFrontDTO.java @@ -0,0 +1,17 @@ +package com.heyu.api.data.dto; + +import com.heyu.api.data.entity.vv.VvProductEntity; +import lombok.Data; + +import java.math.BigDecimal; + + +@Data +public class VvProductFrontDTO extends VvProductEntity { + + /*** + * 折扣价格 + */ + private BigDecimal discountAmount = BigDecimal.ZERO; + +} diff --git a/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VvSkuDTO.java b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VvSkuDTO.java index 82b595d..c59a314 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VvSkuDTO.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dto/vv/VvSkuDTO.java @@ -4,12 +4,22 @@ import com.heyu.api.data.entity.vv.VvSkuEntity; import com.heyu.api.data.entity.vv.VvSkuPropertyValueEntity; import lombok.Data; +import java.math.BigDecimal; import java.util.List; @Data public class VvSkuDTO extends VvSkuEntity { + /*** + * + */ private List vvSkuPropertyValueList; + + /*** + * 折扣价格 + */ + private BigDecimal discountAmount = BigDecimal.ZERO; + } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppActivityController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppActivityController.java index a337f82..7244941 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppActivityController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppActivityController.java @@ -42,10 +42,12 @@ public class AppActivityController { @Describe("访问推广链接") @RequestMapping("/info") public R list(@RequestBody AppActivityRequest request) { + Long activityId = request.getActivityId(); if (request.getActivityId() == null) { - activityId = 1L; + activityId = 2L; } + VvActivityEntity vvActivityEntity = vvActivityDao.selectVvActivityById(activityId); if (StringUtils.isNotEmpty(request.getToken())) { VvActivityDTO vvActivityDTO = new VvActivityDTO(); diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppIndexPageController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppIndexPageController.java index 6263a37..5cd7cf5 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppIndexPageController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppIndexPageController.java @@ -1,18 +1,24 @@ package com.heyu.api.controller.vv; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.alibaba.request.mm.VvProductDetailRequest; -import com.heyu.api.data.enums.ProductStatusEnums; +import com.heyu.api.alibaba.request.mm.order.VvActivityDTO; import com.heyu.api.alibaba.request.vv.AppIndexPageRequest; import com.heyu.api.common.annotation.Describe; +import com.heyu.api.data.constants.ApiConstants; import com.heyu.api.data.dao.vv.*; +import com.heyu.api.data.dto.VvProductFrontDTO; import com.heyu.api.data.dto.vv.VvProductDTO; import com.heyu.api.data.dto.vv.VvProductPropertyDTO; import com.heyu.api.data.dto.vv.VvSkuDTO; import com.heyu.api.data.entity.vv.*; +import com.heyu.api.data.enums.ProductStatusEnums; import com.heyu.api.data.utils.NumberUtil; import com.heyu.api.data.utils.R; +import com.heyu.api.data.utils.RedisUtils; +import com.heyu.api.data.utils.StringUtils; import com.heyu.api.utils.ISelect; import com.heyu.api.utils.PPageUtils; import lombok.extern.slf4j.Slf4j; @@ -56,7 +62,10 @@ public class AppIndexPageController { @Autowired - private VvBuyerDao vvBuyerDao ; + private VvBuyerDao vvBuyerDao; + + @Autowired + private RedisUtils redisUtils; /*** * 列表 /app/index/page/list @@ -64,13 +73,11 @@ public class AppIndexPageController { @RequestMapping("/page/list") @Describe("商品首页列表") public R list(@RequestBody AppIndexPageRequest vvProductRequest) { - vvProductRequest.setFrontPage(1); vvProductRequest.setStatus(ProductStatusEnums.online.getStatus()); - - if(NumberUtil.equals(vvProductRequest.getIsTest() ,1)){ + if (NumberUtil.equals(vvProductRequest.getIsTest(), 1)) { Long buyerId = vvProductRequest.getBuyerId(); VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerIsTestById(buyerId, 1); - if(vvBuyerEntity == null){ + if (vvBuyerEntity == null) { return R.error("非内部用户"); } } @@ -95,6 +102,22 @@ public class AppIndexPageController { } }); + // 折扣价格 + VvActivityDTO vvActivityDTO = null; + String activityTokenInfo = redisUtils.get(ApiConstants.token_activity + vvProductRequest.getToken()); + + if(StringUtils.isNotEmpty(activityTokenInfo)){ + vvActivityDTO = JSONObject.parseObject(activityTokenInfo, VvActivityDTO.class); + } + List vvProductEntities = pageUtils.getRows(); + for (VvProductEntity vvProductEntity : vvProductEntities) { + VvProductFrontDTO vvProductFrontDTO = new VvProductFrontDTO(); + BeanUtils.copyProperties(vvProductEntity, vvProductFrontDTO); + if (vvActivityDTO !=null) { + vvProductFrontDTO.setDiscountAmount(vvActivityDTO.getDiscountAmount()); + } + } + pageUtils.setRows(vvProductEntities); return R.ok().setData(pageUtils); } @@ -108,15 +131,10 @@ public class AppIndexPageController { VvProductEntity vvProduct = vvProductDao.selectVvProductById(vvProductDetailRequest.getProductId()); BeanUtils.copyProperties(vvProduct, vvProductDTO); - List productDetailEntities = vvProductDetailDao.selectVvProductDetailByProductId(vvProductDetailRequest.getProductId()); - vvProductDTO.setVvProductDetailList(productDetailEntities); - List vvSkuEntities = vvSkuDao.selectAppSkuByProductId(vvProductDetailRequest.getProductId()); - List vvSkuDTOS = new ArrayList<>(); - List vvSkuPropertyValueList = vvSkuPropertyValueDao.selectVvSkuPropertyValueByProductId(vvProduct.getId()); Map> vvSkuPropertyValueMap = new LinkedHashMap<>(); @@ -126,33 +144,31 @@ public class AppIndexPageController { if (vvSkuPropertyValueEntities == null) { vvSkuPropertyValueEntities = new ArrayList<>(); } - vvSkuPropertyValueEntities.add(vvSkuPropertyValueEntity); - vvSkuPropertyValueMap.put(vvSkuPropertyValueEntity.getSkuId(), vvSkuPropertyValueEntities); } - + // 折扣价格 + VvActivityDTO vvActivityDTO = null; + String activityTokenInfo = redisUtils.get(ApiConstants.token_activity + vvProductDetailRequest.getToken()); + if(StringUtils.isNotEmpty(activityTokenInfo)){ + vvActivityDTO = JSONObject.parseObject(activityTokenInfo, VvActivityDTO.class); + } for (VvSkuEntity vvSkuEntity : vvSkuEntities) { - VvSkuDTO vvSkuDTO = new VvSkuDTO(); - BeanUtils.copyProperties(vvSkuEntity, vvSkuDTO); - List vvSkuPropertyValueEntities = vvSkuPropertyValueMap.get(vvSkuEntity.getId()); - vvSkuDTO.setVvSkuPropertyValueList(vvSkuPropertyValueEntities); + if(vvActivityDTO !=null){ + vvSkuDTO.setDiscountAmount(vvActivityDTO.getDiscountAmount()); + } vvSkuDTOS.add(vvSkuDTO); } - vvProductDTO.setVvSkuList(vvSkuDTOS); List vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(vvProductDetailRequest.getProductId()); - - List productPropertyValueList = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdProductId(vvProduct.getId()); - Map> productPropertyValueMap = new LinkedHashMap<>(); for (VvProductPropertyValueEntity productPropertyValueEntity : productPropertyValueList) { List vvProductPropertyValueEntities = productPropertyValueMap.get(productPropertyValueEntity.getProductPropertyId()); @@ -163,9 +179,7 @@ public class AppIndexPageController { productPropertyValueMap.put(productPropertyValueEntity.getProductPropertyId(), vvProductPropertyValueEntities); } - List vvProductPropertyDTOS = new ArrayList<>(); - for (VvProductPropertyEntity vvProductPropertyEntity : vvProductPropertyEntities) { VvProductPropertyDTO vvProductPropertyDTO = new VvProductPropertyDTO(); @@ -175,11 +189,9 @@ public class AppIndexPageController { List productPropertyValues = productPropertyValueMap.get(vvProductPropertyEntity.getId()); vvProductPropertyDTO.setVvProductPropertyValueList(productPropertyValues); - vvProductPropertyDTOS.add(vvProductPropertyDTO); } vvProductDTO.setVvProductPropertyList(vvProductPropertyDTOS); - return R.ok().setData(vvProductDTO); } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterBuyerController.java similarity index 97% rename from api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterController.java rename to api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterBuyerController.java index 0c66398..046d336 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterBuyerController.java @@ -20,7 +20,7 @@ import java.util.List; @RestController @RequestMapping("/app/promoter") @AppLogin -public class AppPromoterController { +public class AppPromoterBuyerController { //@Autowired diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterAwardLineController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterTradeOrderAwardController.java similarity index 97% rename from api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterAwardLineController.java rename to api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterTradeOrderAwardController.java index 567c5af..b92028a 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterAwardLineController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppPromoterTradeOrderAwardController.java @@ -19,7 +19,7 @@ import java.util.List; @RestController @RequestMapping("/app/promoter/award") @AppLogin -public class AppPromoterAwardLineController { +public class AppPromoterTradeOrderAwardController {