From 9445e153dcb4c1df09056fc82a570ea14b58a704 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Sat, 1 Nov 2025 00:23:13 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E6=A1=A3=E5=8F=A3=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=B0=83=E4=BC=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StoreCusProdDiscPageResDTO.java | 3 ++- .../StoreCustomerProductDiscountMapper.java | 10 +++++++ ...oreCustomerProductDiscountServiceImpl.java | 15 +++++++++++ .../StoreCustomerProductDiscountMapper.xml | 27 +++++++++++++++---- 4 files changed, 49 insertions(+), 6 deletions(-) diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeCusProdDiscount/StoreCusProdDiscPageResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeCusProdDiscount/StoreCusProdDiscPageResDTO.java index cc2521be7..0f417f3a4 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeCusProdDiscount/StoreCusProdDiscPageResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeCusProdDiscount/StoreCusProdDiscPageResDTO.java @@ -3,6 +3,7 @@ package com.ruoyi.xkt.dto.storeCusProdDiscount; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.experimental.Accessors; import java.math.BigDecimal; import java.util.Date; @@ -13,7 +14,7 @@ import java.util.Date; * @date 2025/3/27 15:12 */ @Data - +@Accessors(chain = true) public class StoreCusProdDiscPageResDTO { @ApiModelProperty(value = "档口客户商品优惠ID") diff --git a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreCustomerProductDiscountMapper.java b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreCustomerProductDiscountMapper.java index d9f9560e3..fbcd75b64 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreCustomerProductDiscountMapper.java +++ b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreCustomerProductDiscountMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.xkt.domain.StoreCustomerProductDiscount; import com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscPageDTO; import com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscPageResDTO; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -23,4 +24,13 @@ public interface StoreCustomerProductDiscountMapper extends BaseMapper selectDiscPage(StoreCusProdDiscPageDTO pageDTO); + /** + * 档口客户优惠分页关联 + * + * @param storeProdColorIdList 商品颜色ID列表 + * @return List + */ + List selectDiscPageRelate(@Param("storeProdColorIdList") List storeProdColorIdList); + + } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerProductDiscountServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerProductDiscountServiceImpl.java index b2a588773..826e56ba0 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerProductDiscountServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerProductDiscountServiceImpl.java @@ -158,7 +158,22 @@ public class StoreCustomerProductDiscountServiceImpl implements IStoreCustomerPr throw new ServiceException("当前用户非档口管理者或子账号,无权限操作!", HttpStatus.ERROR); } PageHelper.startPage(pageDTO.getPageNum(), pageDTO.getPageSize()); + // 查询分页数据 List list = this.cusProdDiscMapper.selectDiscPage(pageDTO); + if (CollectionUtils.isEmpty(list)) { + return Page.empty(pageDTO.getPageSize(), pageDTO.getPageNum()); + } + // 处理分页的价格及颜色等 + List relateList = this.cusProdDiscMapper.selectDiscPageRelate(list.stream() + .map(StoreCusProdDiscPageResDTO::getStoreProdColorId).distinct().collect(Collectors.toList())); + Map relateMap = relateList.stream().collect(Collectors + .toMap(StoreCusProdDiscPageResDTO::getStoreProdColorId, Function.identity())); + list.forEach(x -> { + StoreCusProdDiscPageResDTO relate = relateMap.get(x.getStoreProdColorId()); + if (ObjectUtils.isNotEmpty(relate)) { + x.setPrice(relate.getPrice()).setColorName(relate.getColorName()); + } + }); return Page.convert(new PageInfo<>(list)); } diff --git a/xkt/src/main/resources/mapper/StoreCustomerProductDiscountMapper.xml b/xkt/src/main/resources/mapper/StoreCustomerProductDiscountMapper.xml index 5cb246736..85790513b 100644 --- a/xkt/src/main/resources/mapper/StoreCustomerProductDiscountMapper.xml +++ b/xkt/src/main/resources/mapper/StoreCustomerProductDiscountMapper.xml @@ -13,15 +13,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" scpd.store_cus_id AS storeCusId, scpd.store_cus_name AS storeCusName, scpd.store_prod_color_id AS storeProdColorId, - spc.color_name, - spcs.price, scpd.discount, scpd.update_time FROM store_customer_product_discount scpd - JOIN store_product sp ON scpd.store_prod_id = sp.id AND sp.del_flag = 0 - JOIN store_product_color spc ON scpd.store_prod_color_id = spc.id AND spc.del_flag = 0 - JOIN store_product_color_size spcs ON spc.store_prod_id = spcs.store_prod_id AND spcs.del_flag = 0 AND spc.store_color_id = spcs.store_color_id + JOIN store_product sp ON scpd.store_prod_id = sp.id AND sp.del_flag = 0 WHERE scpd.del_flag = 0 AND scpd.store_id = #{storeId} AND scpd.store_cus_name like concat('%', #{cusName}, '%') @@ -34,4 +30,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + \ No newline at end of file