master:store_customer_product_discount添加prod_art_num字段;
parent
486be57891
commit
dd9e14fb79
|
|
@ -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()));
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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<String, Set<String>> fhbExistArtNoColorMap,
|
||||
Map<String, Map<String, List<FhbCusDiscountVO.SMCDRecordVO>>> fhbCusDiscGroupMap,
|
||||
Map<String, StoreProductColor> buJuProdColorMap, Map<String, StoreCustomer> buJuStoreCusMap, Long storeId, Long storeProdId,
|
||||
List<StoreCustomerProductDiscount> prodCusDiscList) {
|
||||
Map<String, StoreProductColor> buJuProdColorMap, Map<String, StoreCustomer> buJuStoreCusMap,
|
||||
Long storeId, Long storeProdId, String prodArtNum, List<StoreCustomerProductDiscount> prodCusDiscList) {
|
||||
// FHB货号下有哪些颜色存在客户优惠
|
||||
Map<String, List<FhbCusDiscountVO.SMCDRecordVO>> 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()));
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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<String, Set<String>> tyExistArtNoColorMap, Map<String, Map<String, List<TyCusDiscImportVO>>> tyCusDiscGroupMap,
|
||||
Map<String, StoreProductColor> buJuProdColorMap, Map<String, StoreCustomer> buJuStoreCusMap,
|
||||
List<StoreCustomerProductDiscount> prodCusDiscList, Long storeId, Long storeProdId) {
|
||||
List<StoreCustomerProductDiscount> prodCusDiscList, Long storeId, Long storeProdId, String prodArtNum) {
|
||||
// TY货号下有哪些颜色存在客户优惠
|
||||
Map<String, List<TyCusDiscImportVO>> 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()));
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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<String, Set<String>> tyExistArtNoColorMap,
|
||||
Map<String, Map<String, List<TyCusDiscImportVO>>> tyCusDiscGroupMap,
|
||||
Map<String, StoreProductColor> buJuProdColorMap, Map<String, StoreCustomer> buJuStoreCusMap,
|
||||
List<StoreCustomerProductDiscount> prodCusDiscList, Long storeId, Long storeProdId) {
|
||||
List<StoreCustomerProductDiscount> prodCusDiscList, Long storeId, Long storeProdId, String prodArtNum) {
|
||||
// TY货号下有哪些颜色存在客户优惠
|
||||
Map<String, List<TyCusDiscImportVO>> 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()));
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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<String, Set<String>> tyExistArtNoColorMap, Map<String, Map<String, List<TyCusDiscImportVO>>> tyCusDiscGroupMap,
|
||||
Map<String, StoreProductColor> buJuProdColorMap, Map<String, StoreCustomer> buJuStoreCusMap,
|
||||
List<StoreCustomerProductDiscount> prodCusDiscList, Long storeId, Long storeProdId) {
|
||||
List<StoreCustomerProductDiscount> prodCusDiscList, Long storeId, Long storeProdId, String prodArtNum) {
|
||||
// TY货号下有哪些颜色存在客户优惠
|
||||
Map<String, List<TyCusDiscImportVO>> 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()));
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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 = "优惠金额")
|
||||
|
|
|
|||
|
|
@ -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)) {
|
||||
|
|
|
|||
|
|
@ -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<StoreProductColor> colorList, Long storeProdId) {
|
||||
private void createStoreCusDiscount(List<StoreProductColor> colorList, Long storeProdId, String prodArtNum) {
|
||||
// 档口给那些客户设置了所有商品优惠
|
||||
List<StoreCustomer> existCusDiscList = this.storeCusMapper.selectList(new LambdaQueryWrapper<StoreCustomer>()
|
||||
.isNotNull(StoreCustomer::getAllProdDiscount).eq(StoreCustomer::getDelFlag, UNDELETED));
|
||||
|
|
@ -1019,7 +1020,7 @@ public class StoreProductServiceImpl implements IStoreProductService {
|
|||
List<StoreCustomerProductDiscount> 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<mapper namespace="com.ruoyi.xkt.mapper.StoreCustomerProductDiscountMapper">
|
||||
|
||||
<select id="selectDiscPage" resultType="com.ruoyi.xkt.dto.storeCusProdDiscount.StoreCusProdDiscPageResDTO">
|
||||
SELECT DISTINCT
|
||||
SELECT
|
||||
scpd.id AS storeCusProdDiscId,
|
||||
sp.prod_art_num AS prodArtNum,
|
||||
scpd.prod_art_num AS prodArtNum,
|
||||
scpd.store_id AS storeId,
|
||||
scpd.store_prod_id AS storeProdId,
|
||||
scpd.store_cus_id AS storeCusId,
|
||||
|
|
@ -17,11 +17,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
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
|
||||
WHERE
|
||||
scpd.del_flag = 0 AND scpd.store_id = #{storeId}
|
||||
<if test="cusName != null and cusName != ''"> AND scpd.store_cus_name like concat('%', #{cusName}, '%')</if>
|
||||
<if test="prodArtNum != null and prodArtNum != ''"> AND sp.prod_art_num like concat('%', #{prodArtNum}, '%')</if>
|
||||
<if test="prodArtNum != null and prodArtNum != ''"> AND scpd.prod_art_num like concat('%', #{prodArtNum}, '%')</if>
|
||||
ORDER BY
|
||||
scpd.update_time DESC,
|
||||
scpd.store_prod_id,
|
||||
|
|
|
|||
Loading…
Reference in New Issue