Commit 3dcabfaa by 徐康

合并商品

parent 24468b70
......@@ -2875,6 +2875,9 @@ public class OrderSdkAdapter {
if (StringUtils.isNotBlank(product.getCardCode())){
extInfo.setCardCode(product.getCardCode());
}
if (StringUtils.isNotBlank(product.getSplitIndex())){
extInfo.setSplitIndex(product.getSplitIndex());
}
extInfo.setStapleFood(product.getStapleFood());
extInfo.setOriginalGoodsUid(product.getOriginalGoodsUid());
......
......@@ -218,6 +218,10 @@ public class CreateOrderProductRequest extends BaseConfig {
* 是否需要积分
*/
private Boolean needBonus;
/**
* 拆分前所属序列
*/
private String splitIndex;
/**
* 虚拟商品使用,发券id
......
......@@ -87,6 +87,10 @@ public class OrderProductAddInfoDto extends BaseConfig {
* 是否需要积分
*/
private Boolean needBonus;
/**
* 拆分前所属序列
*/
private String splitIndex;
/**
* 虚拟商品发券id
......
......@@ -2111,6 +2111,9 @@ public class OrderAdapter {
productVo.setCid(orderProductAddInfoDto.getCartGoodsUid());
// 购物车行父id
productVo.setOcid(orderProductAddInfoDto.getOriginalGoodsUid());
if(StringUtils.isNotBlank(orderProductAddInfoDto.getSplitIndex())) {
productVo.setSplitIndex(orderProductAddInfoDto.getSplitIndex());
}
}
productVo.setOriginalPrice(productBean.getPrice());
productVo.setFinalPrice(productBean.getSalePrice());
......@@ -2538,6 +2541,7 @@ public class OrderAdapter {
createOrderProductDemoDto.setTaxId(cartGoodsDetailDto.getTaxId());
createOrderProductDemoDto.setClassificationId(cartGoodsDetailDto.getClassificationId());
createOrderProductDemoDto.setClassificationName(cartGoodsDetailDto.getClassificationName());
createOrderProductDemoDto.setSplitIndex(cartGoodsDetailDto.getSplitIndex());
if(CollectionUtils.isNotEmpty(cartGoodsDetailDto.getSpecialExtra())) {
createOrderProductDemoDto.setSpecialAttrs(new ArrayList<>());
cartGoodsDetailDto.getSpecialExtra().stream().forEach(o -> {
......
......@@ -201,6 +201,10 @@ public class ShoppingCartGoodsDto {
*/
private Integer isTableware = 0;
/**
* 拆分前所属序列
*/
private String splitIndex;
/**
* 商品重量
*/
private Double weight;
......
......@@ -200,6 +200,10 @@ public class ProductVo {
* 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid
*/
private String ocid;
/**
* 拆分前所属序列
*/
private String splitIndex;
/**
......
......@@ -621,6 +621,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private void processRepeatGoodsWithSeedCoupon(ShoppingCartGoodsDto shoppingCartGoodsDto) {
List<String> cardCodeList = shoppingCartGoodsDto.getProducts().stream().filter(o -> ProductTypeEnum.VIRTUAL_PRODUCT.getCode().equals(o.getProductType()))
.map(o -> o.getMonthCardInfo().getCardCode()).collect(Collectors.toList());
if(CollectionUtils.isEmpty(cardCodeList)) {
return;
}
List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos();
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = new ArrayList<>();
......@@ -639,6 +642,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
cartGoodsDetailDto.setQty(1);
cartGoodsDetailDto.setTotalDiscountAmount(totalDiscountAmount);
cartGoodsDetailDto.getActivityDiscountsDtos().get(0).setDiscountAmount(discountAmount);
cartGoodsDetailDto.setSplitIndex(cartGoodsUid);
products.add(cartGoodsDetailDto);
}
for(int j=0;j<activityDiscountsDtos.size();j++) {
......
......@@ -1621,6 +1621,33 @@ public class OrderServiceImpl implements Orderservice {
}
QueryOrderResponseVo queryOrderResponseVo = queryOrderResponseVos.get(0);
Optional<ProductVo> productVoOptional = queryOrderResponseVo.getProducts().stream()
.filter(o -> StringUtils.isNotBlank(o.getSplitIndex()))
.findFirst();
Map<String, Integer> existMap = new HashMap<>();
if(productVoOptional.isPresent()) {
int size = queryOrderResponseVo.getProducts().size();
List<ProductVo> productVoList = new ArrayList<>();
for(int i=0;i<size;i++) {
ProductVo productVo = queryOrderResponseVo.getProducts().get(i);
if(StringUtils.isBlank(productVo.getSplitIndex())) {
productVoList.add(productVo);
} else {
if(existMap.get(productVo.getSplitIndex()) == null) {
existMap.put(productVo.getSplitIndex(), productVoList.size());
productVoList.add(productVo);
} else {
ProductVo productVoExists = productVoList.get(existMap.get(productVo.getSplitIndex()));
productVoExists.setOriginalTotalAmount(productVoExists.getOriginalTotalAmount() + productVo.getOriginalTotalAmount());
productVoExists.setSaleTotalAmount(productVoExists.getSaleTotalAmount() + productVo.getSaleTotalAmount());
productVoExists.setQty(productVoExists.getQty() + productVo.getQty());
}
}
}
queryOrderResponseVo.setProducts(productVoList);
}
//麦咖啡 预约外卖单重新封装取餐时间
if (OrderType.TAKE_OUT.getCode().equals(queryOrderResponseVo.getOrderType()) && StringUtils.isNotEmpty(queryOrderResponseVo.getReserveDeliveryTime())) {
Date reserveDeliveryTime = DateUtil.convert2Date(queryOrderResponseVo.getReserveDeliveryTime(), "yyyy-MM-dd HH:mm:ss");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment