Commit bdd1792b by ping.wu

麦咖啡加料与特制属性

parent ee4ac3f0
......@@ -121,7 +121,7 @@ public class CartGoods {
/**
* 麦咖啡定制属性
*/
private List<CartGoodsExt> extra2;
private List<SpecialExtra> specialExtra;
/**
* 创建时间(mili)
......@@ -205,19 +205,20 @@ public class CartGoods {
}
@Data
public final static class CartGoodsExt {
public final static class SpecialExtra {
/**
* 定制属性Id
* 属性Id
*/
private String attributeId;
/**
* 定制属性code
* 属性名
*/
private String attributeCode;
private String attributeName;
/**
* 定制属性名称
* 麦咖啡特定属性入机code
*/
private String attributeName;
private String specialCode;
}
@Data
......@@ -226,6 +227,7 @@ public class CartGoods {
* 单规格spuId,多规格skuId
*/
private String goodsId;
private String spuId;
private String skuId;
private String skuName;
/**
......@@ -309,7 +311,7 @@ public class CartGoods {
/**
* 麦咖啡定制属性
*/
private List<CartGoodsExt> extra2;
private List<SpecialExtra> specialExtra;
/**
* 麦咖啡套餐商品加料
......
package cn.freemud.entities.dto.product;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: ProductSpecAttrValueGroupType
* @Package cn.freemud.entities.dto.product
* @Description:
* @author: ping1.wu
* @date: 2020/9/27 10:54
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class ProductSpecAttrValueGroupType {
//规格小类id
private String specValueId;
//规格小类属性名称
private String name;
//规格小类属性编号
private String qty;
}
......@@ -3,6 +3,8 @@ package cn.freemud.entities.dto.product;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import lombok.Data;
import java.util.Map;
/**
* All rights Reserved, Designed By www.freemud.cn
*
......@@ -25,4 +27,6 @@ public class ValiadShopProductResult {
private ProductBeanDTO productType;
private String uuid;
private Map<String,ProductBeanDTO> subProductTypeMap;
}
......@@ -19,6 +19,7 @@ import java.util.List;
@Data
public class ValidateSkuProductType {
private String skuId;
private String productId;
private Integer price;
private Integer markUpPrice;
......@@ -26,4 +27,6 @@ public class ValidateSkuProductType {
private Long productGroupId;
private List<ProductAttributeValueType> attributeList;
private ProductSpecAttrValueGroupType productSpecAttrValueGroupType;
}
......@@ -3,6 +3,7 @@ package cn.freemud.entities.dto.shoppingCart;
import cn.freemud.entities.dto.OrderProductAddInfo;
import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.SubtractStockVO;
import com.alibaba.fastjson.JSON;
import lombok.Builder;
......@@ -245,6 +246,8 @@ public class ShoppingCartGoodsDto {
*/
private List<CartGoodsDetailDto.CartGoodsExtra> extraList = new ArrayList<>(0);
private List<CartGoods.SpecialExtra> specialExtra = new ArrayList<>();
/**
* 当前商品享受的促销活动
*/
......
......@@ -124,6 +124,11 @@ public class CartGoods {
private List<CartGoodsExtra> extra;
/**
* 麦咖啡定制属性
*/
private List<SpecialExtra> specialExtra;
/**
* 创建时间(mili)
*/
private long createTimeMili = System.currentTimeMillis();
......@@ -193,13 +198,20 @@ public class CartGoods {
*/
private List<MaterialGoods> productMaterialList;
@Data
public final static class CartGoodsExtra {
/**
* 麦咖啡特定属性入机code
* 属性Id
*/
private String specialCode;
private String attributeId;
/**
* 属性名
*/
private String attributeName;
}
@Data
public final static class CartGoodsExtra {
public final static class SpecialExtra {
/**
* 属性Id
*/
......@@ -221,6 +233,7 @@ public class CartGoods {
* 单规格spuId,多规格skuId
*/
private String goodsId;
private String spuId;
private String skuId;
private String skuName;
/**
......@@ -275,6 +288,11 @@ public class CartGoods {
* 配料或属性
*/
private List<CartGoodsExtra> extra;
/**
* 麦咖啡特定属性
*/
private List<SpecialExtra> specialExtra;
/**
* 1:称重菜
*/
......
......@@ -35,6 +35,8 @@ public class ComboxGoodsRequestVo {
*/
List<CartGoods.CartGoodsExtra> extra;
private List<CartGoods.SpecialExtra> specialExtra;
/**
* 麦咖啡多规格商品加料
*/
......
......@@ -999,6 +999,7 @@ public class ShoppingCartMCoffeeServiceImpl {
}
cartGoods.setGoodsType(goodsType);
cartGoods.setExtra(addShoppingCartGoodsRequestVo.getExtra());
cartGoods.setSpecialExtra(addShoppingCartGoodsRequestVo.getSpecialExtra());
cartGoods.setNodeId(addShoppingCartGoodsRequestVo.getNodeId());
cartGoods.setCategoryName(addShoppingCartGoodsRequestVo.getCategoryName());
List<CartGoods.ComboxGoods> productComboList = new ArrayList<>();
......@@ -1009,8 +1010,10 @@ public class ShoppingCartMCoffeeServiceImpl {
CartGoods.ComboxGoods productCombox = new CartGoods.ComboxGoods();
productCombox.setGoodsId(vo.getSkuId());
productCombox.setSkuId(vo.getSkuId());
productCombox.setSpuId(vo.getSpuId());
productCombox.setQty(vo.getQty());
productCombox.setExtra(vo.getExtra());
productCombox.setSpecialExtra(vo.getSpecialExtra());
//加料商品集
if (CollectionUtils.isNotEmpty(vo.getProductMaterialList())) {
List<CartGoods.MaterialGoods> comboxMaterialGoodsList = new ArrayList<>();
......@@ -1029,8 +1032,10 @@ public class ShoppingCartMCoffeeServiceImpl {
CartGoods.ComboxGoods productCombox = new CartGoods.ComboxGoods();
productCombox.setGoodsId(vo.getSkuId());
productCombox.setSkuId(vo.getSkuId());
productCombox.setSpuId(vo.getSpuId());
productCombox.setQty(vo.getQty());
productCombox.setExtra(vo.getExtra());
productCombox.setSpecialExtra(vo.getSpecialExtra());
productCombox.setProductGroupId(StringUtils.isEmpty(vo.getProductGroupId()) ? null : Long.parseLong(vo.getProductGroupId()));
//加料商品集
if (CollectionUtils.isNotEmpty(vo.getProductMaterialList())) {
......@@ -1168,13 +1173,11 @@ public class ShoppingCartMCoffeeServiceImpl {
}
private BaseResponse<CheckCartRequest> checkAllCartGoodsForMCoffee(CheckCartRequest checkCartRequest) {
// ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class);
ProductService productService = SDKCommonBaseContextWare.getBean(ProductService.class);
try {
ValidateShopProductRequest validateShopProductRequest = shoppingCartConvertAdapter.getValidateShopProductRequest(checkCartRequest);
ProductBaseResponse<ValiadShopProductResponse> valiadResponse = productClient.validateShopProductAboutReason(validateShopProductRequest);
if (valiadResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(valiadResponse.getErrcode()) || valiadResponse.getData()==null) {
if (valiadResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(valiadResponse.getErrcode().toString()) || valiadResponse.getData()==null) {
checkCartRequest.getCartGoodsList().clear();
checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant.SHOPPING_CART_INVALIAD_GOODS);
......@@ -1232,14 +1235,19 @@ public class ShoppingCartMCoffeeServiceImpl {
setToastMsgIfNotExist(checkCartRequest.getShoppingCartGoodsResponseVo(), com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant.SHOPPING_CART_GOODS_CHANGE);
checkCartRequest.getCartGoodsList().removeIf(k -> StringUtils.isEmpty(k.getCartGoodsUid()));
}
List<ProductBeanDTO> productList = validateResult.getSuccessList().stream().map(ValiadShopProductResult::getProductType).collect(Collectors.toList());
for (com.freemud.sdk.api.assortment.shoppingcart.domain.CartGoods cartGoods : checkCartRequest.getCartGoodsList()) {
// 当goodsId为空或商品是商品券时直接跳过
if (StringUtils.isEmpty(cartGoods.getGoodsId()) || Objects.equals(cartGoods.getGoodsType(), com.freemud.sdk.api.assortment.shoppingcart.constant.GoodsTypeEnum.COUPON_GOODS.getGoodsType())) {
continue;
}
shoppingCartConvertAdapter.updateCartGoodsInfoForMCoffee(cartGoods, productList);
for (ValiadShopProductResult valiadShopProductResult : validateResult.getSuccessList()){
ProductBeanDTO productType = valiadShopProductResult.getProductType();
if(ObjectUtils.equals(productType.getPid(), cartGoods.getSpuId())){
Map<String,ProductBeanDTO> subProductTypeMap = valiadShopProductResult.getSubProductTypeMap();
shoppingCartConvertAdapter.updateCartGoodsInfo(cartGoods, productType,subProductTypeMap);
break;
}
}
}
//校验商品券是否有当前点餐方式
// cartGoodsStates = updateSpqCartGoodsInfo(checkCartRequest.getCartGoodsList(), checkCartRequest.getOrderWay(), checkCartRequest.getPartnerId(), checkCartRequest.getTrackingNo(), cartGoodsStates
......
......@@ -372,10 +372,9 @@ public class CalculationServiceImpl {
calculationDiscountGoods.setOriginalPrice(originalPrice);
calculationDiscountGoods.setMemberDiscount(memberDiscount);
ArrayList<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material> materials = new ArrayList<>();
//可选搭配
if (cartGoods != null && CollectionUtils.isNotEmpty(cartGoods.getProductGroupList())) {
ArrayList<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material> materials = new ArrayList<>();
for (CartGoods.ComboxGoods materialGoods : cartGoods.getProductGroupList()) {
ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material material = new ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material();
material.setType(2);
......@@ -384,9 +383,37 @@ public class CalculationServiceImpl {
material.setOriginalPrice(materialGoods.getFinalPrice());
materials.add(material);
}
calculationDiscountGoods.setSmallMaterial(materials);
}
//固定商品
if (cartGoods != null && CollectionUtils.isNotEmpty(cartGoods.getProductComboList())) {
for (CartGoods.ComboxGoods materialGoods : cartGoods.getProductComboList()) {
//加料
if (CollectionUtils.isNotEmpty(materialGoods.getProductMaterialList())) {
for (CartGoods.MaterialGoods materialGoods2 : materialGoods.getProductMaterialList()) {
ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material material = new ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material();
material.setType(1);
material.setGoodsId(materialGoods2.getSpuId());
material.setGoodsQuantity(cartGoods.getQty());
material.setOriginalPrice(materialGoods2.getFinalPrice());
materials.add(material);
}
}
}
}
//加料
if (cartGoods != null && CollectionUtils.isNotEmpty(cartGoods.getProductMaterialList())) {
for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()) {
ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material material = new ActivityCalculationDiscountRequestDto.CalculationDiscountGoods.Material();
material.setType(1);
material.setGoodsId(materialGoods.getSpuId());
material.setGoodsQuantity(cartGoods.getQty());
material.setOriginalPrice(materialGoods.getFinalPrice());
materials.add(material);
}
}
calculationDiscountGoods.setSmallMaterial(materials);
calculationDiscountGoodsList.add(calculationDiscountGoods);
// //累加需加入计算的商品
......
......@@ -60,10 +60,6 @@ public class MCoffeeAddGoodsRequestVo {
private String spuId;
private String skuId;
/**
* 商品额外的属性
*/
private List<CartGoods.CartGoodsExtra> extra;
private String version;
......@@ -76,6 +72,10 @@ public class MCoffeeAddGoodsRequestVo {
*/
private String categoryName;
/**
* 商品额外的属性
*/
private List<CartGoods.CartGoodsExtra> extra;
/**
* 套餐固定商品
*/
private List<ComboxGoodsRequestVo> productComboList;
......@@ -90,9 +90,9 @@ public class MCoffeeAddGoodsRequestVo {
private List<MaterialRequestVo> productMaterialList;
/**
* 麦咖啡特定属性入机code
* 麦咖啡定制属性
*/
private String specialCode;
private List<CartGoods.SpecialExtra> specialExtra;
private String appType;
......
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