diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbOtherBizAfterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbOtherBizAfterController.java index 1c7052696..306107ab1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbOtherBizAfterController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/FhbOtherBizAfterController.java @@ -361,7 +361,8 @@ public class FhbOtherBizAfterController extends BaseController { fhbArtNoList.forEach(fhbArtNo -> { // 处理档口客户商品优惠 - this.handleCusDisc(fhbArtNo, fhbExistArtNoColorMap, fhbCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, storeProd.getStoreId(), storeProd.getId(), prodCusDiscList); + this.handleCusDisc(fhbArtNo, fhbExistArtNoColorMap, fhbCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, + storeProd.getStoreId(), storeProd.getId(), prodCusDiscList); }); }); @@ -404,7 +405,7 @@ public class FhbOtherBizAfterController extends BaseController { StoreCustomer storeCus = Optional.ofNullable(buJuStoreCusMap.get(fhbCusDisc.getCustomerName())) .orElseThrow(() -> new ServiceException("没有步橘系统对应的客户!" + fhbCusDisc.getCustomerName(), HttpStatus.ERROR)); // 将FHB客户优惠 转为步橘系统优惠 - prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()) + prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setProdArtNum(fhbCusDisc.getArtNo()).setStoreCusId(storeCus.getId()) .setStoreCusName(storeCus.getCusName()).setStoreProdColorId(buJuProdColor.getId()).setDiscount(fhbCusDisc.getDiscount())); } }); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndFhbBizController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndFhbBizController.java index 291409b79..afb1d9c46 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndFhbBizController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndFhbBizController.java @@ -514,7 +514,8 @@ public class GtAndFhbBizController extends BaseController { this.handleProdStock(fhbArtNoList, fhbStockGroupMap, buJuProdColorMap, storeProd.getStoreId(), storeProd.getId(), storeProd.getProdArtNum(), prodStockList); fhbArtNoList.forEach(fhbArtNo -> { // 处理档口客户商品优惠 - this.handleCusDisc(fhbArtNo, fhbExistArtNoColorMap, fhbCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, storeProd.getStoreId(), storeProd.getId(), prodCusDiscList); + this.handleCusDisc(fhbArtNo, fhbExistArtNoColorMap, fhbCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, storeProd.getStoreId(), + storeProd.getId(), storeProd.getProdArtNum(), prodCusDiscList); }); }); // 档口客户优惠 @@ -619,8 +620,8 @@ public class GtAndFhbBizController extends BaseController { */ private void handleCusDisc(String fhbAtrNo, Map> fhbExistArtNoColorMap, Map>> fhbCusDiscGroupMap, - Map buJuProdColorMap, Map buJuStoreCusMap, Long storeId, Long storeProdId, - List prodCusDiscList) { + Map buJuProdColorMap, Map buJuStoreCusMap, + Long storeId, Long storeProdId, String prodArtNum, List prodCusDiscList) { // FHB货号下有哪些颜色存在客户优惠 Map> fhbColorCusDiscMap = fhbCusDiscGroupMap.get(fhbAtrNo); if (MapUtils.isEmpty(fhbColorCusDiscMap)) { @@ -644,7 +645,7 @@ public class GtAndFhbBizController extends BaseController { StoreCustomer storeCus = Optional.ofNullable(buJuStoreCusMap.get(fhbCusDisc.getCustomerName())) .orElseThrow(() -> new ServiceException("没有步橘系统对应的客户!" + fhbCusDisc.getCustomerName(), HttpStatus.ERROR)); // 将FHB客户优惠 转为步橘系统优惠 - prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()) + prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()).setProdArtNum(prodArtNum) .setStoreCusName(storeCus.getCusName()).setStoreProdColorId(buJuProdColor.getId()).setDiscount(fhbCusDisc.getDiscount())); } }); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBiz2Controller.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBiz2Controller.java index e9269dbf2..c0d5b1c95 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBiz2Controller.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBiz2Controller.java @@ -426,7 +426,8 @@ public class GtAndTyBiz2Controller extends BaseController { tyAtrNoList.forEach(tyAtrNo -> { // 处理客户优惠 - this.handleCusDisc(tyAtrNo, tyExistArtNoColorMap, tyCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, prodCusDiscList, storeProd.getStoreId(), storeProd.getId()); + this.handleCusDisc(tyAtrNo, tyExistArtNoColorMap, tyCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, prodCusDiscList, + storeProd.getStoreId(), storeProd.getId(), storeProd.getProdArtNum()); }); @@ -580,7 +581,7 @@ public class GtAndTyBiz2Controller extends BaseController { */ private void handleCusDisc(String tyAtrNo, Map> tyExistArtNoColorMap, Map>> tyCusDiscGroupMap, Map buJuProdColorMap, Map buJuStoreCusMap, - List prodCusDiscList, Long storeId, Long storeProdId) { + List prodCusDiscList, Long storeId, Long storeProdId, String prodArtNum) { // TY货号下有哪些颜色存在客户优惠 Map> tyColorCusDiscMap = tyCusDiscGroupMap.get(tyAtrNo); if (MapUtils.isEmpty(tyColorCusDiscMap)) { @@ -601,7 +602,7 @@ public class GtAndTyBiz2Controller extends BaseController { StoreProductColor buJuProdColor = Optional.ofNullable(buJuProdColorMap.get(tyColor)).orElseThrow(() -> new ServiceException("没有步橘系统对应的颜色!" + tyColor, HttpStatus.ERROR)); StoreCustomer storeCus = Optional.ofNullable(buJuStoreCusMap.get(tyCusDisc.getCusName())).orElseThrow(() -> new ServiceException("没有步橘系统对应的客户!" + tyCusDisc.getCusName(), HttpStatus.ERROR)); // 将FHB客户优惠 转为步橘系统优惠 - prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()) + prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()).setProdArtNum(prodArtNum) .setStoreCusName(storeCus.getCusName()).setStoreProdColorId(buJuProdColor.getId()).setDiscount(tyCusDisc.getDiscount())); }); }); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBizController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBizController.java index 104fd12fd..04aa339fe 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBizController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/GtAndTyBizController.java @@ -468,7 +468,8 @@ public class GtAndTyBizController extends BaseController { tyAtrNoList.forEach(tyAtrNo -> { // 处理客户优惠 - this.handleCusDisc(tyAtrNo, tyExistArtNoColorMap, tyCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, prodCusDiscList, storeProd.getStoreId(), storeProd.getId()); + this.handleCusDisc(tyAtrNo, tyExistArtNoColorMap, tyCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, prodCusDiscList, + storeProd.getStoreId(), storeProd.getId(), storeProd.getProdArtNum()); }); @@ -623,7 +624,7 @@ public class GtAndTyBizController extends BaseController { private void handleCusDisc(String tyAtrNo, Map> tyExistArtNoColorMap, Map>> tyCusDiscGroupMap, Map buJuProdColorMap, Map buJuStoreCusMap, - List prodCusDiscList, Long storeId, Long storeProdId) { + List prodCusDiscList, Long storeId, Long storeProdId, String prodArtNum) { // TY货号下有哪些颜色存在客户优惠 Map> tyColorCusDiscMap = tyCusDiscGroupMap.get(tyAtrNo); if (MapUtils.isEmpty(tyColorCusDiscMap)) { @@ -644,7 +645,7 @@ public class GtAndTyBizController extends BaseController { StoreProductColor buJuProdColor = Optional.ofNullable(buJuProdColorMap.get(tyColor)).orElseThrow(() -> new ServiceException("没有步橘系统对应的颜色!" + tyColor, HttpStatus.ERROR)); StoreCustomer storeCus = Optional.ofNullable(buJuStoreCusMap.get(tyCusDisc.getCusName())).orElseThrow(() -> new ServiceException("没有步橘系统对应的客户!" + tyCusDisc.getCusName(), HttpStatus.ERROR)); // 将FHB客户优惠 转为步橘系统优惠 - prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()) + prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()).setProdArtNum(prodArtNum) .setStoreCusName(storeCus.getCusName()).setStoreProdColorId(buJuProdColor.getId()).setDiscount(tyCusDisc.getDiscount())); }); }); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TYOtherBizAfterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TYOtherBizAfterController.java index 8cb7d0bd5..1c131d37f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TYOtherBizAfterController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/migartion/TYOtherBizAfterController.java @@ -345,7 +345,8 @@ public class TYOtherBizAfterController extends BaseController { tyAtrNoList.forEach(tyAtrNo -> { // 处理客户优惠 - this.handleCusDisc(tyAtrNo, tyExistArtNoColorMap, tyCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, prodCusDiscList, storeProd.getStoreId(), storeProd.getId()); + this.handleCusDisc(tyAtrNo, tyExistArtNoColorMap, tyCusDiscGroupMap, buJuProdColorMap, buJuStoreCusMap, prodCusDiscList, + storeProd.getStoreId(), storeProd.getId(), storeProd.getProdArtNum()); }); @@ -422,7 +423,7 @@ public class TYOtherBizAfterController extends BaseController { */ private void handleCusDisc(String tyAtrNo, Map> tyExistArtNoColorMap, Map>> tyCusDiscGroupMap, Map buJuProdColorMap, Map buJuStoreCusMap, - List prodCusDiscList, Long storeId, Long storeProdId) { + List prodCusDiscList, Long storeId, Long storeProdId, String prodArtNum) { // TY货号下有哪些颜色存在客户优惠 Map> tyColorCusDiscMap = tyCusDiscGroupMap.get(tyAtrNo); if (MapUtils.isEmpty(tyColorCusDiscMap)) { @@ -443,7 +444,7 @@ public class TYOtherBizAfterController extends BaseController { StoreProductColor buJuProdColor = Optional.ofNullable(buJuProdColorMap.get(tyColor)).orElseThrow(() -> new ServiceException("没有步橘系统对应的颜色!" + tyColor, HttpStatus.ERROR)); StoreCustomer storeCus = Optional.ofNullable(buJuStoreCusMap.get(tyCusDisc.getCusName())).orElseThrow(() -> new ServiceException("没有步橘系统对应的客户!" + tyCusDisc.getCusName(), HttpStatus.ERROR)); // 将FHB客户优惠 转为步橘系统优惠 - prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()) + prodCusDiscList.add(new StoreCustomerProductDiscount().setStoreId(storeId).setStoreProdId(storeProdId).setStoreCusId(storeCus.getId()).setProdArtNum(prodArtNum) .setStoreCusName(storeCus.getCusName()).setStoreProdColorId(buJuProdColor.getId()).setDiscount(tyCusDisc.getDiscount())); }); }); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeCusProdDiscount/StoreCusProdBatchDiscountVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeCusProdDiscount/StoreCusProdBatchDiscountVO.java index 416110493..a34ec2d5d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeCusProdDiscount/StoreCusProdBatchDiscountVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeCusProdDiscount/StoreCusProdBatchDiscountVO.java @@ -35,6 +35,9 @@ public class StoreCusProdBatchDiscountVO { @NotNull(message = "档口商品ID不能为空!") @ApiModelProperty(value = "档口商品ID", required = true) private Long storeProdId; + @NotBlank(message = "商品货号不能为空!") + @ApiModelProperty(value = "商品货号", required = true) + private String prodArtNum; @NotNull(message = "档口商品颜色ID不能为空!") @ApiModelProperty(value = "档口商品颜色ID", required = true) private Long storeProdColorId; diff --git a/sql/ry_20240629.sql b/sql/ry_20240629.sql index d87e5b505..69413cd95 100644 --- a/sql/ry_20240629.sql +++ b/sql/ry_20240629.sql @@ -3319,6 +3319,7 @@ CREATE TABLE `store_customer_product_discount` `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '档口客户销售优惠ID', `store_id` bigint UNSIGNED NOT NULL COMMENT '档口ID', `store_prod_id` bigint UNSIGNED NOT NULL COMMENT '档口商品ID', + `prod_art_num` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商品货号', `store_cus_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '档口客户名称', `store_cus_id` bigint UNSIGNED NOT NULL COMMENT '档口客户ID', `store_prod_color_id` bigint UNSIGNED NOT NULL COMMENT '档口商品颜色ID', diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreCustomerProductDiscount.java b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreCustomerProductDiscount.java index 4b9848b0c..9d7b46ecb 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreCustomerProductDiscount.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreCustomerProductDiscount.java @@ -9,8 +9,6 @@ import lombok.experimental.Accessors; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; -import java.math.BigDecimal; - /** * 档口客户优惠对象 store_customer_product_discount * @@ -38,7 +36,10 @@ public class StoreCustomerProductDiscount extends XktBaseEntity { */ @Excel(name = "档口商品ID") private Long storeProdId; - + /** + * 货号 冗余 + */ + private String prodArtNum; /** * 档口客户ID */ diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeCusProdDiscount/StoreCusProdBatchDiscountDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeCusProdDiscount/StoreCusProdBatchDiscountDTO.java index 864d3fdd6..b87cee7c6 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeCusProdDiscount/StoreCusProdBatchDiscountDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeCusProdDiscount/StoreCusProdBatchDiscountDTO.java @@ -27,6 +27,8 @@ public class StoreCusProdBatchDiscountDTO { public static class DiscountItemDTO { @ApiModelProperty(value = "档口商品ID") private Long storeProdId; + @ApiModelProperty(value = "商品货号") + private String prodArtNum; @ApiModelProperty(value = "档口商品颜色ID") private Long storeProdColorId; @ApiModelProperty(value = "优惠金额") 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 826e56ba0..4e105fd44 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 @@ -126,14 +126,9 @@ public class StoreCustomerProductDiscountServiceImpl implements IStoreCustomerPr // 不存在优惠则新增 } else { // 新增优惠 - updateList.add(new StoreCustomerProductDiscount() {{ - setDiscount(itemDTO.getDiscount()); - setStoreId(batchDiscDTO.getStoreId()); - setStoreCusName(itemDTO.getStoreCusName()); - setStoreCusId(itemDTO.getStoreCusId()); - setStoreProdColorId(itemDTO.getStoreProdColorId()); - setStoreProdId(itemDTO.getStoreProdId()); - }}); + updateList.add(new StoreCustomerProductDiscount().setDiscount(itemDTO.getDiscount()).setStoreId(batchDiscDTO.getStoreId()) + .setStoreCusName(itemDTO.getStoreCusName()).setStoreCusId(itemDTO.getStoreCusId()).setStoreProdColorId(itemDTO.getStoreProdColorId()) + .setStoreProdId(itemDTO.getStoreProdId()).setProdArtNum(itemDTO.getProdArtNum())); } }); if (CollectionUtils.isEmpty(updateList)) { diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java index 0916fa0c4..86372c19d 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java @@ -514,7 +514,7 @@ public class StoreProductServiceImpl implements IStoreProductService { .collect(Collectors.toList()); this.prodStockMapper.insert(prodStockList); // 设置了档口商品全部优惠的客户,新增商品优惠 - this.createStoreCusDiscount(prodColorList, storeProdId); + this.createStoreCusDiscount(prodColorList, storeProdId, prodArtNum); } /** @@ -1008,8 +1008,9 @@ public class StoreProductServiceImpl implements IStoreProductService { * * @param colorList 档口商品颜色列表 * @param storeProdId 档口商品ID + * @param prodArtNum 货号 */ - private void createStoreCusDiscount(List colorList, Long storeProdId) { + private void createStoreCusDiscount(List colorList, Long storeProdId, String prodArtNum) { // 档口给那些客户设置了所有商品优惠 List existCusDiscList = this.storeCusMapper.selectList(new LambdaQueryWrapper() .isNotNull(StoreCustomer::getAllProdDiscount).eq(StoreCustomer::getDelFlag, UNDELETED)); @@ -1019,7 +1020,7 @@ public class StoreProductServiceImpl implements IStoreProductService { List cusDiscList = new ArrayList<>(); // 为这些客户绑定商品优惠 colorList.forEach(color -> existCusDiscList.forEach(storeCus -> cusDiscList.add(new StoreCustomerProductDiscount() - .setDiscount(storeCus.getAllProdDiscount()).setStoreId(storeCus.getStoreId()).setStoreProdId(storeProdId) + .setDiscount(storeCus.getAllProdDiscount()).setStoreId(storeCus.getStoreId()).setStoreProdId(storeProdId).setProdArtNum(prodArtNum) .setStoreCusId(storeCus.getId()).setStoreCusName(storeCus.getCusName()).setStoreProdColorId(color.getId())))); this.storeCusProdDiscMapper.insert(cusDiscList); } diff --git a/xkt/src/main/resources/mapper/StoreCustomerProductDiscountMapper.xml b/xkt/src/main/resources/mapper/StoreCustomerProductDiscountMapper.xml index 8bbbd2cf5..0c328561a 100644 --- a/xkt/src/main/resources/mapper/StoreCustomerProductDiscountMapper.xml +++ b/xkt/src/main/resources/mapper/StoreCustomerProductDiscountMapper.xml @@ -5,9 +5,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"