Commit 0162e603 by ping.wu

新算价接口 活动互斥提示处理

parent cbe92ed6
package cn.freemud.entities.dto.calculate;
import lombok.Data;
import java.util.List;
@Data
public class BlockRow {
private Integer discountAmount;
private List<BlockRowDiscount> discounts;
private String goodsId;
private Integer goodsQuantity;
private Integer originalPrice;
private Integer realAmount;
private Integer type;
}
package cn.freemud.entities.dto.calculate;
import lombok.Data;
@Data
public class BlockRowDiscount {
private String activityCode;
private String activityDesc;
private String activityName;
private Integer actualGoodsNumber;
private Long discount;
private String goodsId;
private Integer type;
}
package cn.freemud.entities.dto.calculate;
import cn.freemud.entities.dto.UserLoginInfoDto;
import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.CouponPromotionVO;
import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import lombok.Data;
import java.util.List;
@Data
public class DistributeBo {
private CalculationDiscountResult discountResult;
private List<CartGoods> cartGoodsList;
private ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo;
private ShoppingCartInfoRequestVo shoppingCartInfoRequestVo;
private UserLoginInfoDto userLoginInfoDto;
private CouponPromotionVO couponPromotionVO;
private ActivityQueryDto activityQueryDto;
private String menuType;
private Long deliveryAmount;
private String opt;
private String partnerId;
private Integer flag;
private String userId;
private String storeId;
private Boolean hasCoupon = false;
public DistributeBo() {
}
public DistributeBo(CalculationDiscountResult discountResult, List<CartGoods> cartGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, UserLoginInfoDto userLoginInfoDto, CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto, String menuType, Long deliveryAmount, String opt, String partnerId, Integer flag, String userId, String storeId) {
this.discountResult = discountResult;
this.cartGoodsList = cartGoodsList;
this.shoppingCartGoodsResponseVo = shoppingCartGoodsResponseVo;
this.shoppingCartInfoRequestVo = shoppingCartInfoRequestVo;
this.userLoginInfoDto = userLoginInfoDto;
this.couponPromotionVO = couponPromotionVO;
this.activityQueryDto = activityQueryDto;
this.menuType = menuType;
this.deliveryAmount = deliveryAmount;
this.opt = opt;
this.partnerId = partnerId;
this.flag = flag;
this.userId = userId;
this.storeId = storeId;
}
}
...@@ -26,6 +26,7 @@ import cn.freemud.entities.dto.activity.ActivityQueryDto; ...@@ -26,6 +26,7 @@ import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.activity.DiscountSharingDto; import cn.freemud.entities.dto.activity.DiscountSharingDto;
import cn.freemud.entities.dto.calculate.ActivityCalculationDiscountRequestDto; import cn.freemud.entities.dto.calculate.ActivityCalculationDiscountRequestDto;
import cn.freemud.entities.dto.calculate.CalculationDiscountResult; import cn.freemud.entities.dto.calculate.CalculationDiscountResult;
import cn.freemud.entities.dto.calculate.DistributeBo;
import cn.freemud.entities.dto.delivery.DeliveryFeeInfo; import cn.freemud.entities.dto.delivery.DeliveryFeeInfo;
import cn.freemud.entities.dto.product.CheckCartRequest; import cn.freemud.entities.dto.product.CheckCartRequest;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
...@@ -194,7 +195,9 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -194,7 +195,9 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
CalculationDiscountResult discountResult = null; CalculationDiscountResult discountResult = null;
discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType, partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), allCartGoodsList, new ArrayList<>(), null, deliveryAmount, null,null, accountType,new DiscountSharingDto()); discountResult = sharingDiscountService.getCalculationSharingDiscountResult(menuType, partnerId, storeId, userId, appId, orderType, assortmentCustomerInfoVo.isMemberPaid(), allCartGoodsList, new ArrayList<>(), null, deliveryAmount, null,null, accountType,new DiscountSharingDto());
sharingCartService.distribute(discountResult, allCartGoodsList, shoppingCartGoodsResponseVo, null, null, null, activityQueryDto, menuType, deliveryAmount, ShoppingCartConstant.ADD_AND_UPDATE, partnerId, null, userId, storeId);
DistributeBo distributeBo = new DistributeBo(discountResult, allCartGoodsList, shoppingCartGoodsResponseVo, null, null, null, activityQueryDto, menuType, deliveryAmount, ShoppingCartConstant.ADD_AND_UPDATE, partnerId, null, userId, storeId);
sharingCartService.distribute(distributeBo);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
...@@ -290,7 +293,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -290,7 +293,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
, deliveryAmount , deliveryAmount
, null,null, accountFlag,new DiscountSharingDto()); , null,null, accountFlag,new DiscountSharingDto());
sharingCartService.distribute(discountResult DistributeBo distributeBo = new DistributeBo(discountResult
, cartGoodsList , cartGoodsList
, shoppingCartGoodsResponseVo , shoppingCartGoodsResponseVo
, null //入参 , null //入参
...@@ -305,6 +308,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -305,6 +308,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
, userId , userId
, storeId); , storeId);
sharingCartService.distribute(distributeBo);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,discountResult,null,partnerId);
return ResponseUtil.success(shoppingCartGoodsResponseVo); return ResponseUtil.success(shoppingCartGoodsResponseVo);
...@@ -448,7 +453,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -448,7 +453,8 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
, sendGoods , sendGoods
, deliveryAmount , deliveryAmount
, null,null, accountFlag,new DiscountSharingDto()); , null,null, accountFlag,new DiscountSharingDto());
sharingCartService.distribute(calculationSharingDiscountResult
DistributeBo distributeBo = new DistributeBo(calculationSharingDiscountResult
, cartGoodsList , cartGoodsList
, shoppingCartGoodsResponseVo , shoppingCartGoodsResponseVo
, shoppingCartInfoRequestVo , shoppingCartInfoRequestVo
...@@ -462,6 +468,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService { ...@@ -462,6 +468,7 @@ public class ShoppingCartMallServiceImpl implements ShoppingCartNewService {
,shoppingCartInfoRequestVo.getFlag() ,shoppingCartInfoRequestVo.getFlag()
, userId , userId
, storeId); , storeId);
sharingCartService.distribute(distributeBo);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,calculationSharingDiscountResult,shoppingCartInfoRequestVo.getFlag(),partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo,calculationSharingDiscountResult,shoppingCartInfoRequestVo.getFlag(),partnerId);
......
...@@ -383,9 +383,13 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -383,9 +383,13 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, deliveryAmount, null,bizType, accountFlag,new DiscountSharingDto()); , deliveryAmount, null,bizType, accountFlag,new DiscountSharingDto());
//更新购物车券状态 //更新购物车券状态
newCalculationUpdateCouponStatus(userId, partnerId, storeId, bizType, cartGoods, allCartGoodsList, discountResult); newCalculationUpdateCouponStatus(userId, partnerId, storeId, bizType, cartGoods, allCartGoodsList, discountResult);
sharingCartService.distribute(discountResult, allCartGoodsList, shoppingCartGoodsResponseVo, null
DistributeBo distributeBo = new DistributeBo(discountResult, allCartGoodsList, shoppingCartGoodsResponseVo, null
, userLoginInfoDto, null, activityQueryDto, menuType, deliveryAmount , userLoginInfoDto, null, activityQueryDto, menuType, deliveryAmount
, ShoppingCartConstant.ADD_AND_UPDATE, partnerId, null, userId, storeId); , ShoppingCartConstant.ADD_AND_UPDATE, partnerId, SubmitPageEnum.NO.getCode(), userId, storeId);
distributeBo.setHasCoupon(StringUtils.isNotBlank(couponCode));
sharingCartService.distribute(distributeBo);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo, discountResult, null, partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo, discountResult, null, partnerId);
// //
...@@ -508,7 +512,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -508,7 +512,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
} }
newCalculationUpdateCouponStatus(userId, partnerId, storeId, bizType, cartGoods, cartGoodsList, discountResult); newCalculationUpdateCouponStatus(userId, partnerId, storeId, bizType, cartGoods, cartGoodsList, discountResult);
sharingCartService.distribute(discountResult DistributeBo distributeBo = new DistributeBo(discountResult
, cartGoodsList , cartGoodsList
, shoppingCartGoodsResponseVo , shoppingCartGoodsResponseVo
, null //入参 , null //入参
...@@ -523,6 +527,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -523,6 +527,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, userId , userId
, storeId); , storeId);
sharingCartService.distribute(distributeBo);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo, discountResult, null, partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo, discountResult, null, partnerId);
} else { } else {
// 获取优惠信息 // 获取优惠信息
...@@ -746,7 +752,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -746,7 +752,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, deliveryAmount , deliveryAmount
, null , null
,bizType, accountFlag,new DiscountSharingDto()); ,bizType, accountFlag,new DiscountSharingDto());
sharingCartService.distribute(calculationSharingDiscountResult
DistributeBo distributeBo = new DistributeBo(calculationSharingDiscountResult
, cartGoodsList , cartGoodsList
, shoppingCartGoodsResponseVo , shoppingCartGoodsResponseVo
, shoppingCartInfoRequestVo , shoppingCartInfoRequestVo
...@@ -760,6 +767,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -760,6 +767,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
, shoppingCartInfoRequestVo.getFlag() , shoppingCartInfoRequestVo.getFlag()
, userId , userId
, storeId); , storeId);
distributeBo.setHasCoupon(CollectionUtils.isEmpty(coupons));
sharingCartService.distribute(distributeBo);
buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo, calculationSharingDiscountResult, shoppingCartInfoRequestVo.getFlag(), partnerId); buildShoppingCartGoodsResponse(shoppingCartGoodsResponseVo, calculationSharingDiscountResult, shoppingCartInfoRequestVo.getFlag(), partnerId);
} else { } else {
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>(); List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
...@@ -3336,11 +3346,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -3336,11 +3346,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
return fullReplace; return fullReplace;
} }
/** /**
* 活动互斥提示 * 活动互斥提示
*/ */
private void setActivityMutexToastMsg(CalculationDiscountResult calculationDiscountResult,Integer flag,String partnerId,String appid, public void setActivityMutexToastMsg(CalculationDiscountResult calculationDiscountResult,Integer flag,String partnerId,String appid,
boolean hasCoupon,boolean addOrUpdate,ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){ boolean hasCoupon,boolean addOrUpdate,ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){
String toastMsg = ""; String toastMsg = "";
......
...@@ -9,16 +9,18 @@ import cn.freemud.entities.dto.GetPaidRuleResponseDto; ...@@ -9,16 +9,18 @@ import cn.freemud.entities.dto.GetPaidRuleResponseDto;
import cn.freemud.entities.dto.activity.ActivityDiscountsDto; import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
import cn.freemud.entities.dto.calculate.*; import cn.freemud.entities.dto.calculate.*;
import cn.freemud.entities.dto.order.PackAmountConfig; import cn.freemud.entities.dto.order.PackAmountConfig;
import cn.freemud.entities.dto.shoppingCart.ActivityMutexConfig;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CartGoods; import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo; import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo; import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.handle.CommonFunctionHandle; import cn.freemud.handle.CommonFunctionHandle;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.thirdparty.CustomerApplicationClient; import cn.freemud.service.thirdparty.CustomerApplicationClient;
import cn.freemud.utils.BeanUtil; import cn.freemud.utils.BeanUtil;
import lombok.Data; import cn.freemud.utils.RedisUtil;
import lombok.NoArgsConstructor; import com.alibaba.fastjson.JSONObject;
import ma.glasnost.orika.MapperFacade; import ma.glasnost.orika.MapperFacade;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
...@@ -63,6 +65,9 @@ public class CalculationCommonService { ...@@ -63,6 +65,9 @@ public class CalculationCommonService {
@Autowired @Autowired
private CommonFunctionHandle commonFunctionHandle; private CommonFunctionHandle commonFunctionHandle;
@Autowired
private RedisCache redisCache;
/** /**
* 初始化价格 新算价走了 * 初始化价格 新算价走了
*/ */
...@@ -291,6 +296,9 @@ public class CalculationCommonService { ...@@ -291,6 +296,9 @@ public class CalculationCommonService {
shoppingCartGoodsResponseVo.setToastMsg(CollectionUtils.isEmpty(cartGoodsList) ? toastMsg : ""); shoppingCartGoodsResponseVo.setToastMsg(CollectionUtils.isEmpty(cartGoodsList) ? toastMsg : "");
} }
} }
// 更新和添加商品时不需要包装费 // 更新和添加商品时不需要包装费
if (ShoppingCartConstant.ADD_AND_UPDATE.equals(opt)) { if (ShoppingCartConstant.ADD_AND_UPDATE.equals(opt)) {
shoppingCartGoodsResponseVo.setNewPackAmount(null); shoppingCartGoodsResponseVo.setNewPackAmount(null);
...@@ -617,10 +625,10 @@ public class CalculationCommonService { ...@@ -617,10 +625,10 @@ public class CalculationCommonService {
* @param discounts * @param discounts
* @return * @return
*/ */
private List<ActivityDiscountsDto> drawSmallDiscount(List<Discounts> discounts) { private List<ActivityDiscountsDto> drawSmallDiscount(List<BlockRowDiscount> discounts) {
List<ActivityDiscountsDto> activityDiscountsDto = new ArrayList<>(); List<ActivityDiscountsDto> activityDiscountsDto = new ArrayList<>();
if (CollectionUtils.isEmpty(discounts)) return activityDiscountsDto; if (CollectionUtils.isEmpty(discounts)) return activityDiscountsDto;
for (Discounts discount : discounts) { for (BlockRowDiscount discount : discounts) {
ActivityDiscountsDto dto = new ActivityDiscountsDto(); ActivityDiscountsDto dto = new ActivityDiscountsDto();
dto.setActivityName(discount.getActivityName()); dto.setActivityName(discount.getActivityName());
dto.setActivityType(discount.getType()); dto.setActivityType(discount.getType());
...@@ -656,10 +664,10 @@ public class CalculationCommonService { ...@@ -656,10 +664,10 @@ public class CalculationCommonService {
blockRow.setGoodsQuantity(gx.getGoodsQuantity()); blockRow.setGoodsQuantity(gx.getGoodsQuantity());
blockRow.setOriginalPrice(gx.getOriginalPrice()); blockRow.setOriginalPrice(gx.getOriginalPrice());
blockRow.setRealAmount(gx.getRealAmount()); blockRow.setRealAmount(gx.getRealAmount());
List<Discounts> discounts = new ArrayList<>(); List<BlockRowDiscount> discounts = new ArrayList<>();
if (CollectionUtils.isNotEmpty(gx.getDiscounts())) { if (CollectionUtils.isNotEmpty(gx.getDiscounts())) {
for (GoodsDiscount ds : gx.getDiscounts()) { for (GoodsDiscount ds : gx.getDiscounts()) {
Discounts discount = new Discounts(); BlockRowDiscount discount = new BlockRowDiscount();
discount.setActivityCode(ds.getActivityCode()); discount.setActivityCode(ds.getActivityCode());
discount.setActivityDesc(ds.getActivityDesc()); discount.setActivityDesc(ds.getActivityDesc());
discount.setActivityName(ds.getActivityName()); discount.setActivityName(ds.getActivityName());
...@@ -687,10 +695,10 @@ public class CalculationCommonService { ...@@ -687,10 +695,10 @@ public class CalculationCommonService {
blockRow.setGoodsQuantity(sm.getGoodsQuantity()); blockRow.setGoodsQuantity(sm.getGoodsQuantity());
blockRow.setOriginalPrice(sm.getOriginalPrice()); blockRow.setOriginalPrice(sm.getOriginalPrice());
blockRow.setRealAmount(sm.getRealAmount()); blockRow.setRealAmount(sm.getRealAmount());
List<Discounts> discounts = new ArrayList<>(); List<BlockRowDiscount> discounts = new ArrayList<>();
if (CollectionUtils.isNotEmpty(sm.getDiscounts())) { if (CollectionUtils.isNotEmpty(sm.getDiscounts())) {
for (GoodsDiscount ds : sm.getDiscounts()) { for (GoodsDiscount ds : sm.getDiscounts()) {
Discounts discount = new Discounts(); BlockRowDiscount discount = new BlockRowDiscount();
discount.setActivityCode(ds.getActivityCode()); discount.setActivityCode(ds.getActivityCode());
discount.setActivityDesc(ds.getActivityDesc()); discount.setActivityDesc(ds.getActivityDesc());
discount.setActivityName(ds.getActivityName()); discount.setActivityName(ds.getActivityName());
...@@ -773,27 +781,62 @@ public class CalculationCommonService { ...@@ -773,27 +781,62 @@ public class CalculationCommonService {
return code; return code;
} }
@Data
@NoArgsConstructor /**
public static class BlockRow { * 活动互斥提示
private Integer discountAmount; */
private List<Discounts> discounts; public void setActivityMutexToastMsg(CalculationDiscountResult calculationDiscountResult,Integer flag,String partnerId,String appid,
private String goodsId; boolean hasCoupon,boolean addOrUpdate,ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo){
private Integer goodsQuantity;
private Integer originalPrice; String toastMsg = "";
private Integer realAmount; if(calculationDiscountResult == null || CollectionUtils.isEmpty(calculationDiscountResult.getExclusiveActivityList())){
private Integer type; return;
} }
//优惠互斥提示开关
@Data String redisKey = RedisUtil.activityMutexKey + partnerId + "_" + appid;
@NoArgsConstructor //购物车内部缓存
public static class Discounts { String value = redisCache.hashGet(redisKey, "activityMutexType");
private String activityCode; if (StringUtils.isNotBlank(value)) {
private String activityDesc; return;
private String activityName; }
private Integer actualGoodsNumber; ActivityMutexConfig config = JSONObject.parseObject(value,ActivityMutexConfig.class);
private Long discount;
private String goodsId; if("0".equals(config.getActivityMutex()) && "0".equals(config.getCouponactivityMutex())){
private Integer type; return;
}
//点餐页 添加购物车/更新购物车,(活动与活动互斥,活动与优惠券互斥)
if(ObjectUtils.equals(SubmitPageEnum.NO.getCode(), flag) && addOrUpdate && "1".equals(config.getActivityMutex())){
if(CollectionUtils.isNotEmpty(calculationDiscountResult.getCouponDiscounts())){
if(calculationDiscountResult.getExclusiveActivityList().size() >1 ){
toastMsg = "多个促销活动不同享 活动商品优惠发生变化";
}else {
String activityName = calculationDiscountResult.getExclusiveActivityList().get(0).getName();
toastMsg = "优惠券与" + activityName + "活动不同享 活动商品优惠发生变化";
}
}
if(CollectionUtils.isNotEmpty(calculationDiscountResult.getDiscounts())){
if(calculationDiscountResult.getExclusiveActivityList().size() >1 ){
toastMsg = "多个促销活动不同享 活动商品优惠发生变化";
}else {
String activityName = calculationDiscountResult.getExclusiveActivityList().get(0).getName();
Integer type = calculationDiscountResult.getDiscounts().get(0).getType();
String name = ActivityTypeEnum.getByCode(type).getDesc();
toastMsg = name +"与"+ activityName + "活动不同享 活动商品优惠发生变化";
}
}
} }
//结算页查询购物车 带优惠券 (优惠券与活动互斥)
if(ObjectUtils.equals(SubmitPageEnum.YES.getCode(), flag) && hasCoupon && "1".equals(config.getCouponactivityMutex())){
toastMsg = "优惠券与其他促销活动不同享 活动商品优惠发生变化";
}
if(StringUtils.isNotEmpty(toastMsg)){
shoppingCartGoodsResponseVo.setToastMsg(toastMsg);
}
}
} }
\ No newline at end of file
...@@ -4,6 +4,7 @@ import cn.freemud.constant.ShoppingCartConstant; ...@@ -4,6 +4,7 @@ import cn.freemud.constant.ShoppingCartConstant;
import cn.freemud.entities.dto.UserLoginInfoDto; import cn.freemud.entities.dto.UserLoginInfoDto;
import cn.freemud.entities.dto.activity.ActivityQueryDto; import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.calculate.CalculationDiscountResult; import cn.freemud.entities.dto.calculate.CalculationDiscountResult;
import cn.freemud.entities.dto.calculate.DistributeBo;
import cn.freemud.entities.vo.CartGoods; import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.CouponPromotionVO; import cn.freemud.entities.vo.CouponPromotionVO;
import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo; import cn.freemud.entities.vo.ShoppingCartGoodsResponseVo;
...@@ -55,20 +56,24 @@ public class CalculationSharingCartService { ...@@ -55,20 +56,24 @@ public class CalculationSharingCartService {
/** /**
* 响应购物车价格计算依赖促销 * 响应购物车价格计算依赖促销
*/ */
public void distribute(CalculationDiscountResult discountResult public void distribute(DistributeBo distributeBo) {
, List<CartGoods> cartGoodsList
, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo CalculationDiscountResult discountResult = distributeBo.getDiscountResult();
, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo List<CartGoods> cartGoodsList = distributeBo.getCartGoodsList();
, UserLoginInfoDto userLoginInfoDto ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = distributeBo.getShoppingCartGoodsResponseVo();
, CouponPromotionVO couponPromotionVO ShoppingCartInfoRequestVo shoppingCartInfoRequestVo = distributeBo.getShoppingCartInfoRequestVo();
, ActivityQueryDto activityQueryDto UserLoginInfoDto userLoginInfoDto = distributeBo.getUserLoginInfoDto();
, String menuType CouponPromotionVO couponPromotionVO = distributeBo.getCouponPromotionVO();
, Long deliveryAmount ActivityQueryDto activityQueryDto = distributeBo.getActivityQueryDto();
, String opt String menuType = distributeBo.getMenuType();
, String partnerId Long deliveryAmount = distributeBo.getDeliveryAmount();
, Integer flag String opt = distributeBo.getOpt();
, String userId String partnerId = distributeBo.getPartnerId();
, String storeId) { Integer flag = distributeBo.getFlag();
String userId = distributeBo.getUserId();
String storeId = distributeBo.getStoreId();
boolean hasCoupon = distributeBo.getHasCoupon();
/** /**
* 用促销价格初始化购物车行记录成交价 * 用促销价格初始化购物车行记录成交价
...@@ -109,22 +114,28 @@ public class CalculationSharingCartService { ...@@ -109,22 +114,28 @@ public class CalculationSharingCartService {
deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount); deliverySharingService.deliveryResponse(discountResult, activityQueryDto, shoppingCartGoodsResponseVo, deliveryAmount);
} }
// if (ShoppingCartConstant.ADD_AND_UPDATE.equals(opt)) {
// calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.ADD_AND_UPDATE);
// } else if (ShoppingCartConstant.QUERY_INFO.equals(opt)) {
// calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.QUERY_INFO);
// calculationCommonService.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo);
// }
/** /**
* 特价类型超出部分提示 * 买一赠一寄杯(coco)
*/ */
buyOneGiveOneSendService.giftResponse(discountResult, cartGoodsList, shoppingCartInfoRequestVo, activityQueryDto,shoppingCartGoodsResponseVo);
/** ---------------------------------------- 上面为活动处理 ------------------------------------------ **/
//特价类型超出部分提示
calculationCommonService.drawSurpassDiscountInfo(discountResult, shoppingCartGoodsResponseVo); calculationCommonService.drawSurpassDiscountInfo(discountResult, shoppingCartGoodsResponseVo);
if (ShoppingCartConstant.ADD_AND_UPDATE.equals(opt)) {
calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.ADD_AND_UPDATE);
} else if (ShoppingCartConstant.QUERY_INFO.equals(opt)) {
calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.QUERY_INFO);
calculationCommonService.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo);
}
/** calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, opt);
* 买一赠一寄杯
*/
buyOneGiveOneSendService.giftResponse(discountResult, cartGoodsList, shoppingCartInfoRequestVo, activityQueryDto,shoppingCartGoodsResponseVo);
//活动互斥提示
calculationCommonService.setActivityMutexToastMsg(discountResult, flag, partnerId, userLoginInfoDto.getWxAppid(),
hasCoupon, ShoppingCartConstant.ADD_AND_UPDATE.equals(opt), shoppingCartGoodsResponseVo);
} }
} }
...@@ -152,7 +152,7 @@ public class CalculationSharingEquallyService { ...@@ -152,7 +152,7 @@ public class CalculationSharingEquallyService {
} }
calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.QUERY_INFO); calculationCommonService.setAddAndUpdateResponse(cartGoodsList, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo, ShoppingCartConstant.QUERY_INFO);
calculationCommonService.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo); // calculationCommonService.addNeedCardAmount(shoppingCartInfoRequestVo, shoppingCartGoodsResponseVo);
if (discountResult!=null && discountResult.getSendPointVo()!=null) { if (discountResult!=null && discountResult.getSendPointVo()!=null) {
shoppingCartGoodsDto.setSendPoint(discountResult.getSendPointVo()); shoppingCartGoodsDto.setSendPoint(discountResult.getSendPointVo());
} }
......
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