Commit f705d267 by xiaoer.li@freemud.com

fix:算价商品渠道

parent 39ea4fed
...@@ -25,6 +25,10 @@ public class CalculationSharingDiscountRequestDto { ...@@ -25,6 +25,10 @@ public class CalculationSharingDiscountRequestDto {
*/ */
private String application = "isaas"; private String application = "isaas";
/** /**
* 渠道
*/
private String productChannel;
/**
* 是否展示活动列表 0:默认,不展示 1:展示 * 是否展示活动列表 0:默认,不展示 1:展示
*/ */
private Integer isShowActivities; private Integer isShowActivities;
......
...@@ -307,7 +307,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -307,7 +307,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, allCartGoodsList , allCartGoodsList
, new ArrayList<>() //券 , new ArrayList<>() //券
, null //加价购商品 , null //加价购商品
, deliveryAmount); , deliveryAmount
, 0);
// //
sharingCartService.distribute(discountResult sharingCartService.distribute(discountResult
...@@ -425,7 +426,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -425,7 +426,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, cartGoodsList , cartGoodsList
, null //券 , null //券
, null //加价购商品 , null //加价购商品
, deliveryAmount); , deliveryAmount
, 0);
sharingCartService.distribute(discountResult sharingCartService.distribute(discountResult
, cartGoodsList , cartGoodsList
...@@ -575,7 +577,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -575,7 +577,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, cartGoodsList , cartGoodsList
, coupons , coupons
, sendGoods , sendGoods
, deliveryAmount); , deliveryAmount
, shoppingCartInfoRequestVo.getReachStoreType());
sharingCartService.distribute(calculationSharingDiscountResult sharingCartService.distribute(calculationSharingDiscountResult
, cartGoodsList , cartGoodsList
, shoppingCartGoodsResponseVo , shoppingCartGoodsResponseVo
...@@ -776,7 +779,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -776,7 +779,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, cartGoodsList , cartGoodsList
, coupons , coupons
, shoppingCartInfoRequestVo.getSendGoods() , shoppingCartInfoRequestVo.getSendGoods()
, deliveryAmount); , deliveryAmount
, shoppingCartInfoRequestVo.getReachStoreType());
//直接利用促销返回做均摊 //直接利用促销返回做均摊
sharingEquallyService.equally(discountResult sharingEquallyService.equally(discountResult
......
...@@ -7,9 +7,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto; ...@@ -7,9 +7,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto; import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.vo.CartGoods; import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo; import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import cn.freemud.enums.ActivityChannelEnum; import cn.freemud.enums.*;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.CommonService; import cn.freemud.service.CommonService;
import cn.freemud.service.CouponService; import cn.freemud.service.CouponService;
...@@ -19,6 +17,7 @@ import cn.freemud.utils.PropertyConvertUtil; ...@@ -19,6 +17,7 @@ import cn.freemud.utils.PropertyConvertUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant; import com.freemud.sdk.api.assortment.shoppingcart.constant.CommonsConstant;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
...@@ -64,9 +63,9 @@ public class CalculationSharingDiscountService { ...@@ -64,9 +63,9 @@ public class CalculationSharingDiscountService {
, boolean isMember , boolean isMember
, List<CartGoods> cartGoodsList, List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> coupons , List<CartGoods> cartGoodsList, List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> coupons
, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList , List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList
, Long deliveryAmount) { , Long deliveryAmount, Integer reachStoreType) {
CalculationSharingDiscountRequestDto calculationSharingDiscountRequestDto = this.commonSharingDto(partnerId, storeId, userId, appId, orderType); CalculationSharingDiscountRequestDto calculationSharingDiscountRequestDto = this.commonSharingDto(partnerId, storeId, userId, appId, orderType, reachStoreType);
// 校验后有效的商品券map // 校验后有效的商品券map
HashMap<String, CheckSpqInfoResponseDto> validCouponMap = new HashMap<>(16); HashMap<String, CheckSpqInfoResponseDto> validCouponMap = new HashMap<>(16);
...@@ -283,6 +282,7 @@ public class CalculationSharingDiscountService { ...@@ -283,6 +282,7 @@ public class CalculationSharingDiscountService {
/** /**
* 公共DTO头 * 公共DTO头
*
* @param partnerId * @param partnerId
* @param storeId * @param storeId
* @param userId * @param userId
...@@ -290,7 +290,7 @@ public class CalculationSharingDiscountService { ...@@ -290,7 +290,7 @@ public class CalculationSharingDiscountService {
* @param orderType * @param orderType
* @return * @return
*/ */
private CalculationSharingDiscountRequestDto commonSharingDto(String partnerId, String storeId, String userId, String appId, Integer orderType) { private CalculationSharingDiscountRequestDto commonSharingDto(String partnerId, String storeId, String userId, String appId, Integer orderType, Integer reachStoreType) {
CalculationSharingDiscountRequestDto calculationSharingDiscountRequestDto = new CalculationSharingDiscountRequestDto(); CalculationSharingDiscountRequestDto calculationSharingDiscountRequestDto = new CalculationSharingDiscountRequestDto();
calculationSharingDiscountRequestDto.setPartnerCode(partnerId); calculationSharingDiscountRequestDto.setPartnerCode(partnerId);
...@@ -304,6 +304,17 @@ public class CalculationSharingDiscountService { ...@@ -304,6 +304,17 @@ public class CalculationSharingDiscountService {
if (!Objects.isNull(activityChannelEnum)) { if (!Objects.isNull(activityChannelEnum)) {
calculationSharingDiscountRequestDto.setChannel(activityChannelEnum.getCode()); calculationSharingDiscountRequestDto.setChannel(activityChannelEnum.getCode());
} }
//========================== 购物车查询特有逻辑 =================================
// 到店自取包装费设为null,外卖要计算包装费,flag为1表示去结算
// 兼容老版本判断null
if (Objects.equals(orderType, CreateOrderType.COLLECT_GOODS.getCode())
&& (Objects.equals(reachStoreType, null)
|| Objects.equals(reachStoreType, OrderType.EAT_IN.getCode()))) {
calculationSharingDiscountRequestDto.setProductChannel(BusinessTypeEnum.SAAS_PICKUP.getCode());
} else if (Objects.equals(orderType, CreateOrderType.TAKE_OUT.getCode()) || Objects.equals(reachStoreType, OrderType.COLLECT_GOODS.getCode())) {
calculationSharingDiscountRequestDto.setProductChannel(BusinessTypeEnum.SAAS_DELIVERY.getCode());
}
return calculationSharingDiscountRequestDto; return calculationSharingDiscountRequestDto;
} }
} }
...@@ -154,11 +154,11 @@ public class CartTest { ...@@ -154,11 +154,11 @@ public class CartTest {
/** /**
* json string * json string
*/ */
String cartGoodsListStr = "[{\"spuName\":\"桔子21\",\"originalPrice\":1000,\"goodsId\":\"187356238100648503\",\"productMaterialList\":[{\"amount\":100,\"spuName\":\"加肉\",\"originalAmount\":100,\"originalPrice\":100,\"finalPrice\":100,\"spuId\":\"182747638728442153\"}],\"customerCode\":\"187356238100648503\",\"finalPrice\":1000,\"createTimeMili\":1602408131581,\"pic\":\"https://picture.sandload.cn/1601460901562.png\",\"productComboList\":[],\"originalMaterialAmount\":100,\"packPrice\":0,\"skuName\":\"桔子21/大杯\",\"riseSell\":1,\"classificationName\":\"\",\"extra\":[],\"productGroupList\":[],\"memberDiscount\":5,\"skuId\":\"187356238100648503\",\"amount\":1000,\"cartGoodsUid\":\"78e5c4dc-a79f-42bd-b811-bc3248a57815\",\"stockLimit\":false,\"weight\":0.0,\"tax\":0.01,\"classificationId\":\"\",\"goodsType\":4,\"weightType\":false,\"unit\":\"\",\"originalAmount\":1000,\"subName\":\"大杯\",\"taxId\":\"\",\"qty\":1,\"name\":\"桔子21\",\"materialAmount\":100,\"spuId\":\"187356238010470956\"}]"; String cartGoodsListStr = "[{\"spuName\":\"棒棒鸡001测试下它的名称有多长呀\",\"originalPrice\":80,\"goodsId\":\"178866782811063078\",\"productMaterialList\":[],\"customerCode\":\"W784564616546461\",\"finalPrice\":80,\"createTimeMili\":1603174607026,\"pic\":\"https://picture.sandload.cn/1601446435601.jpg\",\"productComboList\":[],\"categoryName\":\"买赠赠小样\",\"originalMaterialAmount\":0,\"packPrice\":100,\"skuName\":\"棒棒鸡001测试下它的名称有多长呀\",\"riseSell\":1,\"classificationName\":\"面\",\"productGroupList\":[],\"memberDiscount\":78,\"skuId\":\"\",\"amount\":80,\"cartGoodsUid\":\"843d540c-0056-4a32-a02b-8798c886345c\",\"stockLimit\":true,\"weight\":0.01,\"tax\":0.01,\"classificationId\":\"noodlenoodlenoodleno\",\"goodsType\":5,\"weightType\":false,\"unit\":\"杯\",\"originalAmount\":80,\"subName\":\"\",\"taxId\":\"\",\"qty\":1,\"name\":\"棒棒鸡001测试下它的名称有多长呀\",\"materialAmount\":0,\"spuId\":\"178866782811063078\"}]";
List<CartGoods> cartGoodsList = JSONObject.parseObject(cartGoodsListStr, new TypeReference<List<CartGoods>>() { List<CartGoods> cartGoodsList = JSONObject.parseObject(cartGoodsListStr, new TypeReference<List<CartGoods>>() {
}); });
String discountResultStr = "{\"couponDiscounts\":[],\"originalTotalAmount\":1100,\"totalDiscountAmount\":800,\"deliveryAmount\":0,\"distributionFee\":0,\"goods\":[{\"gift\":false,\"smallMaterial\":[{\"realAmount\":27,\"discounts\":[{\"activityCode\":\"JTMJ2020092514310052470\",\"goodsId\":\"182747638728442153\",\"activityName\":\"丹妮满减\",\"actualGoodsNumber\":0,\"discount\":73,\"type\":12,\"activityDesc\":\"description\"}],\"originalPrice\":100,\"goodsId\":\"182747638728442153\",\"discountAmount\":73,\"goodsQuantity\":1,\"type\":1}],\"cartGoodsUid\":\"78e5c4dc-a79f-42bd-b811-bc3248a57815\",\"originalPrice\":1000,\"goodsId\":\"187356238100648503\",\"actualGoodsNumber\":1,\"discountAmount\":727,\"meal\":false,\"realAmount\":273,\"nowPrice\":1000,\"discounts\":[{\"activityCode\":\"JTMJ2020092514310052470\",\"goodsId\":\"187356238100648503\",\"activityName\":\"丹妮满减\",\"actualGoodsNumber\":1,\"discount\":727,\"type\":12}],\"goodsQuantity\":1,\"cartGoodType\":0}],\"apportionGoods\":[],\"stocks\":[{\"activityCode\":\"JTMJ2020092514310052470\",\"activityStock\":1,\"activityType\":12,\"goodsStock\":[]}],\"totalAmount\":300,\"discounts\":[{\"activityCode\":\"JTMJ2020092514310052470\",\"thresholdAmount\":1000,\"activityName\":\"丹妮满减\",\"discount\":800,\"type\":12,\"activityDesc\":\"description\"}],\"validCouponMap\":{}}"; String discountResultStr = "{\"couponDiscounts\":[],\"originalTotalAmount\":120,\"totalDiscountAmount\":57,\"deliveryAmount\":0,\"distributionFee\":0,\"goods\":[{\"gift\":false,\"smallMaterial\":[],\"cartGoodsUid\":\"843d540c-0056-4a32-a02b-8798c886345c\",\"originalPrice\":80,\"goodsId\":\"178866782811063078\",\"actualGoodsNumber\":1,\"discountAmount\":17,\"meal\":false,\"realAmount\":63,\"nowPrice\":63,\"discounts\":[{\"activityCode\":\"SPHYJ0000000001\",\"goodsId\":\"178866782811063078\",\"activityName\":\"商品会员价\",\"actualGoodsNumber\":1,\"discount\":17,\"type\":320}],\"goodsQuantity\":1,\"cartGoodType\":0},{\"gift\":false,\"originalPrice\":20,\"goodsId\":\"146135281451628826\",\"discountAmount\":40,\"meal\":false,\"realAmount\":0,\"nowPrice\":0,\"discounts\":[{\"activityCode\":\"BNSP2020092717540005004\",\"goodsId\":\"146135281451628826\",\"activityName\":\"柚子的买赠\",\"actualGoodsNumber\":2,\"discount\":40,\"type\":62}],\"goodsQuantity\":2,\"cartGoodType\":1}],\"apportionGoods\":[],\"sendGoods\":[],\"stocks\":[],\"totalAmount\":63,\"discounts\":[{\"activityCode\":\"SPHYJ0000000001\",\"activityName\":\"商品会员价\",\"discount\":17,\"type\":320,\"activityDesc\":\"商品会员价\"},{\"activityCode\":\"BNSP2020092717540005004\",\"activityName\":\"柚子的买赠\",\"discount\":40,\"type\":62,\"activityDesc\":\"\"}],\"validCouponMap\":{}}";
CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult = JSONObject.parseObject(discountResultStr, new TypeReference<CalculationSharingDiscountResponseDto.CalculationDiscountResult>() { CalculationSharingDiscountResponseDto.CalculationDiscountResult discountResult = JSONObject.parseObject(discountResultStr, new TypeReference<CalculationSharingDiscountResponseDto.CalculationDiscountResult>() {
}); });
/** /**
......
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