Commit b4bc2021 by vega

Merge branch 'develop' of…

Merge branch 'develop' of http://gitlab.freemud.com/order-group-application/order-group into develop
parents 9d33f558 2f79a387
......@@ -1651,6 +1651,11 @@ public class OrderAdapter {
productBean.getComboProduct().forEach(product -> setMealProducts.add(convent2ProductVo(product)));
productVo.setSetMealProducts(setMealProducts);
}
if (ObjectUtils.equals(ProductTypeEnum.MATERIAL_PRODUCT.getCode(), productBean.getProductType())) {
List<ProductVo> setMaterialProducts = new ArrayList<>();
productBean.getMaterialProduct().forEach(product -> setMaterialProducts.add(convent2ProductVo(product)));
productVo.setSetMaterialProducts(setMaterialProducts);
}
productVos.add(productVo);
}
productVos.sort(Comparator.comparing(ProductVo::getSequence));
......
......@@ -152,4 +152,6 @@ public class ProductVo {
private List<InventedParentActivityVo> InventedParentActivitiesVo;
private List<ProductVo> setMaterialProducts;
}
......@@ -269,6 +269,8 @@ public class BuySendPromotionService implements IPromotionService {
cartGoods.setClassificationId(cartGood.getClassificationId());
cartGoods.setClassificationName(cartGood.getClassificationName());
cartGoods.setQty(sendGoods.getSendNumber() > 0 ? sendGoods.getSendNumber() : SEND_NUMBER);
//赠品不允许有加料
cartGood.setProductMaterialList(new ArrayList());
newCartGoodsList.add(cartGoods);
}
......
......@@ -46,7 +46,9 @@ public class MaterialPromotionService implements IPromotionService {
HashMap<String, MaterialApportion> map = getApportionGoodsDetail(calculationDiscountResult);
if (map != null && !map.isEmpty()) {
for (CartGoods cartGoods : cartGoodsList) {
if (CollectionUtils.isEmpty(cartGoods.getProductMaterialList())) continue;
//非正常商品
if (CollectionUtils.isEmpty(cartGoods.getProductMaterialList()) || !cartGoods.getGoodsType().equals(GoodsTypeEnum.COMMON_GOODS))
continue;
for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()) {
MaterialApportion apportion = map.get(materialGoods.getSpuId());
//设置小料行单价和行总价
......@@ -58,7 +60,8 @@ public class MaterialPromotionService implements IPromotionService {
long materialAmount = 0L, materialOriginal = 0L;
for (CartGoods cartGoods : cartGoodsList) {
if (CollectionUtils.isEmpty(cartGoods.getProductMaterialList())) continue;
if (CollectionUtils.isEmpty(cartGoods.getProductMaterialList()) || !cartGoods.getGoodsType().equals(GoodsTypeEnum.COMMON_GOODS))
continue;
materialAmount = 0L;
materialOriginal = 0L;
for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()) {
......@@ -86,7 +89,8 @@ public class MaterialPromotionService implements IPromotionService {
if (map == null && map.isEmpty()) return;
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts();
for (ShoppingCartGoodsDto.CartGoodsDetailDto product : products) {
if (CollectionUtils.isEmpty(product.getMaterialList())) continue;
if (CollectionUtils.isEmpty(product.getMaterialList()) || !product.getProductType().equals(GoodsTypeEnum.COMMON_GOODS))
continue;
for (ShoppingCartGoodsDto.CartGoodsDetailDto.MaterialGoods materialGoods : product.getMaterialList()) {
MaterialApportion material = map.get(materialGoods.getSpuId());
if (material.getApportionAmount().intValue() == 0) continue;
......@@ -128,20 +132,11 @@ public class MaterialPromotionService implements IPromotionService {
if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getApportionGoods())) {
return null;
}
/*
HashMap<String, ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.Material> hashMap = new HashMap<>();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGood : calculationDiscountResult.getApportionGoods()) {
if (CollectionUtils.isEmpty(apportionGood.getSmallMaterial())) continue;
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.Material material : apportionGood.getSmallMaterial()) {
hashMap.put(material.getGoodsId(), material);
}
}
return hashMap;
*/
HashMap<String, MaterialApportion> mApportion = new HashMap<>();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGood : calculationDiscountResult.getApportionGoods()) {
if (CollectionUtils.isEmpty(apportionGood.getSmallMaterial())) continue;
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.Material material : apportionGood.getSmallMaterial()) {
if (material.getApportionAmount() == 0) continue;
if (mApportion.get(material.getGoodsId()) == null) {
MaterialApportion materialApportion = new MaterialApportion();
materialApportion.setSalePrice(material.getNowPrice());
......@@ -149,10 +144,12 @@ public class MaterialPromotionService implements IPromotionService {
materialApportion.setApportionAmount(material.getApportionAmount() * material.getGoodsQuantity());
materialApportion.setGoodsId(material.getGoodsId());
ApportionDetails apportionDetails = new ApportionDetails();
apportionDetails.setActivityCode(material.getApportionDetails().get(0).getActivityCode());
apportionDetails.setActivityName(material.getApportionDetails().get(0).getActivityName());
apportionDetails.setActivityType(material.getApportionDetails().get(0).getActivityType());
materialApportion.setDetails(apportionDetails);
if (CollectionUtils.isNotEmpty(material.getApportionDetails())) {
apportionDetails.setActivityCode(material.getApportionDetails().get(0).getActivityCode());
apportionDetails.setActivityName(material.getApportionDetails().get(0).getActivityName());
apportionDetails.setActivityType(material.getApportionDetails().get(0).getActivityType());
materialApportion.setDetails(apportionDetails);
}
mApportion.put(material.getGoodsId(), materialApportion);
continue;
}
......
......@@ -35,6 +35,7 @@ import cn.freemud.service.thirdparty.*;
import cn.freemud.utils.PromotionFactory;
import cn.freemud.utils.PropertyConvertUtil;
import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerStoreDeliveryConfig;
......@@ -789,6 +790,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
activityCalculationDiscountRequestDto.setIsMember(isMember);
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto;
try {
System.out.println("start discount");
System.out.println(JSON.toJSONString(activityCalculationDiscountRequestDto));
activityCalculationDiscountResponseDto = activityClient.calculationDiscount(activityCalculationDiscountRequestDto);
} catch (Exception ex) {
ErrorLog.printErrorLog("calculation_discount_error", "/calculation/discount", activityCalculationDiscountRequestDto, ex);
......
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