Commit 2f79a387 by xiaoer.li@freemud.com

Merge remote-tracking branch 'remotes/origin/feature/1.9.32_商品加料' into develop

parents 0f3b084a 186cd288
...@@ -269,6 +269,8 @@ public class BuySendPromotionService implements IPromotionService { ...@@ -269,6 +269,8 @@ public class BuySendPromotionService implements IPromotionService {
cartGoods.setClassificationId(cartGood.getClassificationId()); cartGoods.setClassificationId(cartGood.getClassificationId());
cartGoods.setClassificationName(cartGood.getClassificationName()); cartGoods.setClassificationName(cartGood.getClassificationName());
cartGoods.setQty(sendGoods.getSendNumber() > 0 ? sendGoods.getSendNumber() : SEND_NUMBER); cartGoods.setQty(sendGoods.getSendNumber() > 0 ? sendGoods.getSendNumber() : SEND_NUMBER);
//赠品不允许有加料
cartGood.setProductMaterialList(new ArrayList());
newCartGoodsList.add(cartGoods); newCartGoodsList.add(cartGoods);
} }
......
...@@ -46,7 +46,9 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -46,7 +46,9 @@ public class MaterialPromotionService implements IPromotionService {
HashMap<String, MaterialApportion> map = getApportionGoodsDetail(calculationDiscountResult); HashMap<String, MaterialApportion> map = getApportionGoodsDetail(calculationDiscountResult);
if (map != null && !map.isEmpty()) { if (map != null && !map.isEmpty()) {
for (CartGoods cartGoods : cartGoodsList) { 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()) { for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()) {
MaterialApportion apportion = map.get(materialGoods.getSpuId()); MaterialApportion apportion = map.get(materialGoods.getSpuId());
//设置小料行单价和行总价 //设置小料行单价和行总价
...@@ -58,7 +60,8 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -58,7 +60,8 @@ public class MaterialPromotionService implements IPromotionService {
long materialAmount = 0L, materialOriginal = 0L; long materialAmount = 0L, materialOriginal = 0L;
for (CartGoods cartGoods : cartGoodsList) { for (CartGoods cartGoods : cartGoodsList) {
if (CollectionUtils.isEmpty(cartGoods.getProductMaterialList())) continue; if (CollectionUtils.isEmpty(cartGoods.getProductMaterialList()) || !cartGoods.getGoodsType().equals(GoodsTypeEnum.COMMON_GOODS))
continue;
materialAmount = 0L; materialAmount = 0L;
materialOriginal = 0L; materialOriginal = 0L;
for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()) { for (CartGoods.MaterialGoods materialGoods : cartGoods.getProductMaterialList()) {
...@@ -86,7 +89,8 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -86,7 +89,8 @@ public class MaterialPromotionService implements IPromotionService {
if (map == null && map.isEmpty()) return; if (map == null && map.isEmpty()) return;
List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts(); List<ShoppingCartGoodsDto.CartGoodsDetailDto> products = shoppingCartGoodsDto.getProducts();
for (ShoppingCartGoodsDto.CartGoodsDetailDto product : products) { 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()) { for (ShoppingCartGoodsDto.CartGoodsDetailDto.MaterialGoods materialGoods : product.getMaterialList()) {
MaterialApportion material = map.get(materialGoods.getSpuId()); MaterialApportion material = map.get(materialGoods.getSpuId());
if (material.getApportionAmount().intValue() == 0) continue; if (material.getApportionAmount().intValue() == 0) continue;
...@@ -128,20 +132,11 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -128,20 +132,11 @@ public class MaterialPromotionService implements IPromotionService {
if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getApportionGoods())) { if (calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getApportionGoods())) {
return null; 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<>(); HashMap<String, MaterialApportion> mApportion = new HashMap<>();
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGood : calculationDiscountResult.getApportionGoods()) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods apportionGood : calculationDiscountResult.getApportionGoods()) {
if (CollectionUtils.isEmpty(apportionGood.getSmallMaterial())) continue; if (CollectionUtils.isEmpty(apportionGood.getSmallMaterial())) continue;
for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.Material material : apportionGood.getSmallMaterial()) { for (ActivityCalculationDiscountResponseDto.CalculationDiscountResult.ApportionGoods.Material material : apportionGood.getSmallMaterial()) {
if (material.getApportionAmount() == 0) continue;
if (mApportion.get(material.getGoodsId()) == null) { if (mApportion.get(material.getGoodsId()) == null) {
MaterialApportion materialApportion = new MaterialApportion(); MaterialApportion materialApportion = new MaterialApportion();
materialApportion.setSalePrice(material.getNowPrice()); materialApportion.setSalePrice(material.getNowPrice());
...@@ -149,10 +144,12 @@ public class MaterialPromotionService implements IPromotionService { ...@@ -149,10 +144,12 @@ public class MaterialPromotionService implements IPromotionService {
materialApportion.setApportionAmount(material.getApportionAmount() * material.getGoodsQuantity()); materialApportion.setApportionAmount(material.getApportionAmount() * material.getGoodsQuantity());
materialApportion.setGoodsId(material.getGoodsId()); materialApportion.setGoodsId(material.getGoodsId());
ApportionDetails apportionDetails = new ApportionDetails(); ApportionDetails apportionDetails = new ApportionDetails();
apportionDetails.setActivityCode(material.getApportionDetails().get(0).getActivityCode()); if (CollectionUtils.isNotEmpty(material.getApportionDetails())) {
apportionDetails.setActivityName(material.getApportionDetails().get(0).getActivityName()); apportionDetails.setActivityCode(material.getApportionDetails().get(0).getActivityCode());
apportionDetails.setActivityType(material.getApportionDetails().get(0).getActivityType()); apportionDetails.setActivityName(material.getApportionDetails().get(0).getActivityName());
materialApportion.setDetails(apportionDetails); apportionDetails.setActivityType(material.getApportionDetails().get(0).getActivityType());
materialApportion.setDetails(apportionDetails);
}
mApportion.put(material.getGoodsId(), materialApportion); mApportion.put(material.getGoodsId(), materialApportion);
continue; continue;
} }
......
...@@ -35,6 +35,7 @@ import cn.freemud.service.thirdparty.*; ...@@ -35,6 +35,7 @@ import cn.freemud.service.thirdparty.*;
import cn.freemud.utils.PromotionFactory; import cn.freemud.utils.PromotionFactory;
import cn.freemud.utils.PropertyConvertUtil; import cn.freemud.utils.PropertyConvertUtil;
import cn.freemud.utils.ResponseUtil; import cn.freemud.utils.ResponseUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerStoreDeliveryConfig; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerStoreDeliveryConfig;
...@@ -789,6 +790,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -789,6 +790,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
activityCalculationDiscountRequestDto.setIsMember(isMember); activityCalculationDiscountRequestDto.setIsMember(isMember);
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto; ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto;
try { try {
System.out.println("start discount");
System.out.println(JSON.toJSONString(activityCalculationDiscountRequestDto));
activityCalculationDiscountResponseDto = activityClient.calculationDiscount(activityCalculationDiscountRequestDto); activityCalculationDiscountResponseDto = activityClient.calculationDiscount(activityCalculationDiscountRequestDto);
} catch (Exception ex) { } catch (Exception ex) {
ErrorLog.printErrorLog("calculation_discount_error", "/calculation/discount", activityCalculationDiscountRequestDto, 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