Commit bdd1792b by ping.wu

麦咖啡加料与特制属性

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