Commit f705d267 by xiaoer.li@freemud.com

fix:算价商品渠道

parent 39ea4fed
......@@ -25,6 +25,10 @@ public class CalculationSharingDiscountRequestDto {
*/
private String application = "isaas";
/**
* 渠道
*/
private String productChannel;
/**
* 是否展示活动列表 0:默认,不展示 1:展示
*/
private Integer isShowActivities;
......
......@@ -307,7 +307,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, allCartGoodsList
, new ArrayList<>() //券
, null //加价购商品
, deliveryAmount);
, deliveryAmount
, 0);
//
sharingCartService.distribute(discountResult
......@@ -425,7 +426,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, cartGoodsList
, null //券
, null //加价购商品
, deliveryAmount);
, deliveryAmount
, 0);
sharingCartService.distribute(discountResult
, cartGoodsList
......@@ -575,7 +577,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, cartGoodsList
, coupons
, sendGoods
, deliveryAmount);
, deliveryAmount
, shoppingCartInfoRequestVo.getReachStoreType());
sharingCartService.distribute(calculationSharingDiscountResult
, cartGoodsList
, shoppingCartGoodsResponseVo
......@@ -776,7 +779,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, cartGoodsList
, coupons
, shoppingCartInfoRequestVo.getSendGoods()
, deliveryAmount);
, deliveryAmount
, shoppingCartInfoRequestVo.getReachStoreType());
//直接利用促销返回做均摊
sharingEquallyService.equally(discountResult
......
......@@ -7,9 +7,7 @@ import cn.freemud.entities.dto.calculate.CalculationSharingDiscountRequestDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import cn.freemud.enums.ActivityChannelEnum;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.service.CommonService;
import cn.freemud.service.CouponService;
......@@ -19,6 +17,7 @@ import cn.freemud.utils.PropertyConvertUtil;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog;
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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
......@@ -64,9 +63,9 @@ public class CalculationSharingDiscountService {
, boolean isMember
, List<CartGoods> cartGoodsList, List<CalculationSharingDiscountRequestDto.CalculationDiscountCoupon> coupons
, 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
HashMap<String, CheckSpqInfoResponseDto> validCouponMap = new HashMap<>(16);
......@@ -283,6 +282,7 @@ public class CalculationSharingDiscountService {
/**
* 公共DTO头
*
* @param partnerId
* @param storeId
* @param userId
......@@ -290,7 +290,7 @@ public class CalculationSharingDiscountService {
* @param orderType
* @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.setPartnerCode(partnerId);
......@@ -304,6 +304,17 @@ public class CalculationSharingDiscountService {
if (!Objects.isNull(activityChannelEnum)) {
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;
}
}
......@@ -154,11 +154,11 @@ public class CartTest {
/**
* 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>>() {
});
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>() {
});
/**
......
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