Commit 3dcabfaa by 徐康

合并商品

parent 24468b70
...@@ -2875,6 +2875,9 @@ public class OrderSdkAdapter { ...@@ -2875,6 +2875,9 @@ public class OrderSdkAdapter {
if (StringUtils.isNotBlank(product.getCardCode())){ if (StringUtils.isNotBlank(product.getCardCode())){
extInfo.setCardCode(product.getCardCode()); extInfo.setCardCode(product.getCardCode());
} }
if (StringUtils.isNotBlank(product.getSplitIndex())){
extInfo.setSplitIndex(product.getSplitIndex());
}
extInfo.setStapleFood(product.getStapleFood()); extInfo.setStapleFood(product.getStapleFood());
extInfo.setOriginalGoodsUid(product.getOriginalGoodsUid()); extInfo.setOriginalGoodsUid(product.getOriginalGoodsUid());
......
...@@ -218,6 +218,10 @@ public class CreateOrderProductRequest extends BaseConfig { ...@@ -218,6 +218,10 @@ public class CreateOrderProductRequest extends BaseConfig {
* 是否需要积分 * 是否需要积分
*/ */
private Boolean needBonus; private Boolean needBonus;
/**
* 拆分前所属序列
*/
private String splitIndex;
/** /**
* 虚拟商品使用,发券id * 虚拟商品使用,发券id
......
...@@ -87,6 +87,10 @@ public class OrderProductAddInfoDto extends BaseConfig { ...@@ -87,6 +87,10 @@ public class OrderProductAddInfoDto extends BaseConfig {
* 是否需要积分 * 是否需要积分
*/ */
private Boolean needBonus; private Boolean needBonus;
/**
* 拆分前所属序列
*/
private String splitIndex;
/** /**
* 虚拟商品发券id * 虚拟商品发券id
......
...@@ -2111,6 +2111,9 @@ public class OrderAdapter { ...@@ -2111,6 +2111,9 @@ public class OrderAdapter {
productVo.setCid(orderProductAddInfoDto.getCartGoodsUid()); productVo.setCid(orderProductAddInfoDto.getCartGoodsUid());
// 购物车行父id // 购物车行父id
productVo.setOcid(orderProductAddInfoDto.getOriginalGoodsUid()); productVo.setOcid(orderProductAddInfoDto.getOriginalGoodsUid());
if(StringUtils.isNotBlank(orderProductAddInfoDto.getSplitIndex())) {
productVo.setSplitIndex(orderProductAddInfoDto.getSplitIndex());
}
} }
productVo.setOriginalPrice(productBean.getPrice()); productVo.setOriginalPrice(productBean.getPrice());
productVo.setFinalPrice(productBean.getSalePrice()); productVo.setFinalPrice(productBean.getSalePrice());
...@@ -2538,6 +2541,7 @@ public class OrderAdapter { ...@@ -2538,6 +2541,7 @@ public class OrderAdapter {
createOrderProductDemoDto.setTaxId(cartGoodsDetailDto.getTaxId()); createOrderProductDemoDto.setTaxId(cartGoodsDetailDto.getTaxId());
createOrderProductDemoDto.setClassificationId(cartGoodsDetailDto.getClassificationId()); createOrderProductDemoDto.setClassificationId(cartGoodsDetailDto.getClassificationId());
createOrderProductDemoDto.setClassificationName(cartGoodsDetailDto.getClassificationName()); createOrderProductDemoDto.setClassificationName(cartGoodsDetailDto.getClassificationName());
createOrderProductDemoDto.setSplitIndex(cartGoodsDetailDto.getSplitIndex());
if(CollectionUtils.isNotEmpty(cartGoodsDetailDto.getSpecialExtra())) { if(CollectionUtils.isNotEmpty(cartGoodsDetailDto.getSpecialExtra())) {
createOrderProductDemoDto.setSpecialAttrs(new ArrayList<>()); createOrderProductDemoDto.setSpecialAttrs(new ArrayList<>());
cartGoodsDetailDto.getSpecialExtra().stream().forEach(o -> { cartGoodsDetailDto.getSpecialExtra().stream().forEach(o -> {
......
...@@ -201,6 +201,10 @@ public class ShoppingCartGoodsDto { ...@@ -201,6 +201,10 @@ public class ShoppingCartGoodsDto {
*/ */
private Integer isTableware = 0; private Integer isTableware = 0;
/** /**
* 拆分前所属序列
*/
private String splitIndex;
/**
* 商品重量 * 商品重量
*/ */
private Double weight; private Double weight;
......
...@@ -200,6 +200,10 @@ public class ProductVo { ...@@ -200,6 +200,10 @@ public class ProductVo {
* 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid * 拼单买一赠一标记赠品是那个商品送的 originalGoodsUid
*/ */
private String ocid; private String ocid;
/**
* 拆分前所属序列
*/
private String splitIndex;
/** /**
......
...@@ -621,6 +621,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -621,6 +621,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private void processRepeatGoodsWithSeedCoupon(ShoppingCartGoodsDto shoppingCartGoodsDto) { private void processRepeatGoodsWithSeedCoupon(ShoppingCartGoodsDto shoppingCartGoodsDto) {
List<String> cardCodeList = shoppingCartGoodsDto.getProducts().stream().filter(o -> ProductTypeEnum.VIRTUAL_PRODUCT.getCode().equals(o.getProductType())) List<String> cardCodeList = shoppingCartGoodsDto.getProducts().stream().filter(o -> ProductTypeEnum.VIRTUAL_PRODUCT.getCode().equals(o.getProductType()))
.map(o -> o.getMonthCardInfo().getCardCode()).collect(Collectors.toList()); .map(o -> o.getMonthCardInfo().getCardCode()).collect(Collectors.toList());
if(CollectionUtils.isEmpty(cardCodeList)) {
return;
}
List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos(); List<ActivityDiscountsDto> activityDiscountsDtos = shoppingCartGoodsDto.getActivityDiscountsDtos();
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = new ArrayList<>(); List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = new ArrayList<>();
...@@ -639,6 +642,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -639,6 +642,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
cartGoodsDetailDto.setQty(1); cartGoodsDetailDto.setQty(1);
cartGoodsDetailDto.setTotalDiscountAmount(totalDiscountAmount); cartGoodsDetailDto.setTotalDiscountAmount(totalDiscountAmount);
cartGoodsDetailDto.getActivityDiscountsDtos().get(0).setDiscountAmount(discountAmount); cartGoodsDetailDto.getActivityDiscountsDtos().get(0).setDiscountAmount(discountAmount);
cartGoodsDetailDto.setSplitIndex(cartGoodsUid);
products.add(cartGoodsDetailDto); products.add(cartGoodsDetailDto);
} }
for(int j=0;j<activityDiscountsDtos.size();j++) { for(int j=0;j<activityDiscountsDtos.size();j++) {
......
...@@ -1621,6 +1621,33 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1621,6 +1621,33 @@ public class OrderServiceImpl implements Orderservice {
} }
QueryOrderResponseVo queryOrderResponseVo = queryOrderResponseVos.get(0); 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())) { if (OrderType.TAKE_OUT.getCode().equals(queryOrderResponseVo.getOrderType()) && StringUtils.isNotEmpty(queryOrderResponseVo.getReserveDeliveryTime())) {
Date reserveDeliveryTime = DateUtil.convert2Date(queryOrderResponseVo.getReserveDeliveryTime(), "yyyy-MM-dd HH:mm:ss"); 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