Commit 87f424a8 by ping.wu

结算页查询可用优惠券改造

parent ecaa5cbc
......@@ -23,10 +23,7 @@ import cn.freemud.entities.dto.openplatform.AddWeixinCardCodeResponseDto;
import cn.freemud.entities.dto.openplatform.AddWeixinCardJudgeRequestDto;
import cn.freemud.entities.dto.openplatform.AddWeixinCardJudgeResponseDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.ActivityChannelEnum;
import cn.freemud.enums.ActivityShareType;
import cn.freemud.enums.CouponStatus;
import cn.freemud.enums.CouponTypeEnum;
import cn.freemud.enums.*;
import cn.freemud.utils.BeanUtil;
//import com.freemud.card.sdk.vo.coupon.request.MemberAddCouponVo;
import com.google.common.collect.Lists;
......@@ -567,7 +564,12 @@ public class CouponAdapter {
}
couponPromotionVO.setOrderType(shoppingCartInfoRequestVo.getOrderType());
couponPromotionVO.setFlg(shoppingCartInfoRequestVo.getFlag());
// couponPromotionVO.setFlg(shoppingCartInfoRequestVo.getFlag());
couponPromotionVO.setAvailableCouponQueryFlag(shoppingCartInfoRequestVo.getFlag().toString());
if(Objects.equals(shoppingCartInfoRequestVo.getFlag(), SubmitPageEnum.YES.getCode())){
couponPromotionVO.setAvailableCouponQueryFlag(shoppingCartInfoRequestVo.getVersion());
}
couponPromotionVO.setUnChooseCouponCode(shoppingCartInfoRequestVo.getUnChooseCouponCode());
// 重新校验一遍 couponcodes
if (CollectionUtils.isNotEmpty(couponPromotionVO.getCouponCodes())) {
......@@ -598,7 +600,11 @@ public class CouponAdapter {
couponPromotionVO.setStoreId(baseRequestDTO.getShopId());
couponPromotionVO.setCouponCode(baseRequestDTO.getCouponCode());
couponPromotionVO.setOrderType(baseRequestDTO.getOrderType());
couponPromotionVO.setFlg(baseRequestDTO.getFlag());
// couponPromotionVO.setFlg(baseRequestDTO.getFlag());
couponPromotionVO.setAvailableCouponQueryFlag(baseRequestDTO.getFlag().toString());
if(Objects.equals(baseRequestDTO.getFlag(), SubmitPageEnum.YES.getCode())){
couponPromotionVO.setAvailableCouponQueryFlag(baseRequestDTO.getVersion());
}
couponPromotionVO.setUnChooseCouponCode(baseRequestDTO.getUnChooseCouponCode());
return couponPromotionVO;
}
......@@ -609,21 +615,21 @@ public class CouponAdapter {
* @param baseRequestDTO
* @return
*/
public CouponPromotionVO getCouponPromotionVO(ShoppingCartGoodsApportionBO baseRequestDTO) {
CouponPromotionVO couponPromotionVO = new CouponPromotionVO();
List<ShoppingCartGoodsApportionBO.couponCode> couponCodes = baseRequestDTO.getCouponCodes();
if (CollectionUtils.isNotEmpty(couponCodes)) {
Set<String> setCoupons = new HashSet<>();
couponCodes.forEach(c -> setCoupons.add(c.getCouponCode()));
couponPromotionVO.setCouponCodes(setCoupons);
}
couponPromotionVO.setPartnerId(baseRequestDTO.getPartnerId());
couponPromotionVO.setUserId(baseRequestDTO.getUserId());
couponPromotionVO.setStoreId(baseRequestDTO.getShopId());
couponPromotionVO.setCouponCode(baseRequestDTO.getCouponCode());
couponPromotionVO.setOrderType(baseRequestDTO.getOrderType());
couponPromotionVO.setFlg(baseRequestDTO.getFlag());
return couponPromotionVO;
}
// public CouponPromotionVO getCouponPromotionVO(ShoppingCartGoodsApportionBO baseRequestDTO) {
// CouponPromotionVO couponPromotionVO = new CouponPromotionVO();
// List<ShoppingCartGoodsApportionBO.couponCode> couponCodes = baseRequestDTO.getCouponCodes();
// if (CollectionUtils.isNotEmpty(couponCodes)) {
// Set<String> setCoupons = new HashSet<>();
// couponCodes.forEach(c -> setCoupons.add(c.getCouponCode()));
// couponPromotionVO.setCouponCodes(setCoupons);
// }
// couponPromotionVO.setPartnerId(baseRequestDTO.getPartnerId());
// couponPromotionVO.setUserId(baseRequestDTO.getUserId());
// couponPromotionVO.setStoreId(baseRequestDTO.getShopId());
// couponPromotionVO.setCouponCode(baseRequestDTO.getCouponCode());
// couponPromotionVO.setOrderType(baseRequestDTO.getOrderType());
// couponPromotionVO.setFlg(baseRequestDTO.getFlag());
// return couponPromotionVO;
// }
}
......@@ -10,7 +10,7 @@ import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.vo.ActivityClassifyCouponBean;
import cn.freemud.entities.vo.CartGoods;
import cn.freemud.entities.vo.CouponPromotionVO;
import cn.freemud.enums.CouponFlag;
import cn.freemud.enums.AvailableCouponQueryFlagEnum;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.service.CouponService;
import cn.freemud.service.impl.AssortmentSdkService;
......@@ -51,8 +51,7 @@ public class DistributeAdapter {
}
if (type == 2){
// 用户选择了查询优惠券信息
if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())) {
if (couponPromotionVO != null && !ObjectUtils.equals(AvailableCouponQueryFlagEnum.NO.getCode(), couponPromotionVO.getAvailableCouponQueryFlag())) {
List<CartGoods> tmpCartGoods = cartGoodsList.parallelStream().filter(k -> CommonUtils.isProductCoupon(k.getCouponCode(), k.getCartGoodsUid())).collect(Collectors.toList());
// 是否存在商品券
boolean hasGoodssCoupon = CollectionUtils.isNotEmpty(tmpCartGoods);
......
......@@ -207,7 +207,7 @@ public class ShoppingCartDemoController {
premiumRequest.setOrderType(listCartGoodsBO.getOrderType());
premiumRequest.setSessionId(listCartGoodsBO.getSessionId());
premiumRequest.setShopId(listCartGoodsBO.getShopId());
premiumRequest.setVersion(listCartGoodsBO.getVersion());
// premiumRequest.setVersion(listCartGoodsBO.getVersion());
if (!CollectionUtils.isEmpty(baseRequestDTO.getCouponCodes())) {
List<PremiumExchangeRequestVo.couponCode> list = new ArrayList<>();
baseRequestDTO.getCouponCodes().forEach(couponCode -> {
......
......@@ -15,6 +15,7 @@ import java.util.List;
@Data
public class ListCartGoodsBO extends BaseBo {
private String version;
@NotEmpty(message = "spuId不能为空")
private String spuId;
......
......@@ -12,18 +12,15 @@ import cn.freemud.demo.entities.bo.goods.*;
import cn.freemud.demo.entities.bo.member.*;
import cn.freemud.demo.entities.bo.product.GetRequiredProductListBO;
import cn.freemud.demo.entities.bo.promotion.ActivityBO;
import cn.freemud.demo.manager.coupon.CouponManager;
import cn.freemud.demo.manager.customer.CustomerManager;
import cn.freemud.demo.manager.product.ProductManager;
import cn.freemud.demo.manager.promotion.PromotionManager;
import cn.freemud.demo.service.GetShoppingCartGoodsApportionService;
import cn.freemud.demo.utils.CommonUtils;
import cn.freemud.entities.dto.ActivityCalculationDiscountRequestDto;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.dto.activity.ActivityDiscountsDto;
import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.dto.shoppingCart.SendPoint;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.*;
......@@ -735,7 +732,7 @@ public class AbstractApportionService implements GetShoppingCartGoodsApportionSe
return null;
} else if ((Objects.equals(baseRequestDTO.getOrderType(), CreateOrderType.TAKE_OUT.getCode())
|| Objects.equals(baseRequestDTO.getReachStoreType(), OrderType.COLLECT_GOODS.getCode()))
&& Objects.equals(baseRequestDTO.getFlag(), CouponFlag.YES.getCode())) {
&& Objects.equals(baseRequestDTO.getFlag(), SubmitPageEnum.YES.getCode())) {
return shoppingGoodsAmountBO.getNewPackAmount() == null ? 0L : shoppingGoodsAmountBO.getNewPackAmount();
}
return null;
......
......@@ -27,7 +27,6 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.CouponService;
import cn.freemud.service.impl.AssortmentSdkService;
import cn.freemud.service.impl.calculate.CalculationCommonService;
import cn.freemud.utils.LogUtil;
import cn.freemud.utils.WebUtil;
import com.alibaba.fastjson.JSONArray;
......@@ -619,7 +618,7 @@ public class AbstractListCartGoodsService implements ListCartGoodsService {
return null;
} else if ((Objects.equals(baseRequestDTO.getOrderType(), CreateOrderType.TAKE_OUT.getCode())
|| Objects.equals(baseRequestDTO.getReachStoreType(), OrderType.COLLECT_GOODS.getCode()))
&& Objects.equals(baseRequestDTO.getFlag(), CouponFlag.YES.getCode())) {
&& Objects.equals(baseRequestDTO.getFlag(), SubmitPageEnum.YES.getCode())) {
return shoppingGoodsAmountBO.getNewPackAmount() == null ? 0L : shoppingGoodsAmountBO.getNewPackAmount();
}
return null;
......
......@@ -23,7 +23,9 @@ public class CouponPromotionVO {
private String userId;
private String storeId;
private String couponCode;
private Integer flg;
// private Integer flg;
//是否查询可用优惠券,根据购物车版本是否为2判断
private String availableCouponQueryFlag;
private Integer orderType;
private String unChooseCouponCode;
// 用于存放 优惠券数组 兼并老版本的 couponCode
......
......@@ -31,6 +31,7 @@ public class ShoppingCartInfoRequestVo extends BaseRequestVo {
@NotBlank(message = "sessionId不能为空")
private String sessionId;
//固定值为2表示新版本小程序,不查询可用优惠券
private String version;
/**
* 购物车版本号(围餐,拼单)
......
package cn.freemud.enums;
public enum AvailableCouponQueryFlagEnum {
NO("2", "不查询"),
YES("1", "查询");
private String code;
private String desc;
AvailableCouponQueryFlagEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
......@@ -12,21 +12,21 @@
*/
package cn.freemud.enums;
public enum CouponFlag {
public enum SubmitPageEnum {
NO(0, "不查询"),
YES(1, "查询用户优惠券");
NO(0, "点餐页"),
YES(1, "结算页");
private Integer code;
private String desc;
CouponFlag(Integer code, String desc) {
SubmitPageEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public static CouponFlag getByCode(Integer code) {
for (CouponFlag payType : values()) {
public static SubmitPageEnum getByCode(Integer code) {
for (SubmitPageEnum payType : values()) {
if (payType.getCode().equals(code)) {
return payType;
}
......
package cn.freemud.factory;
import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.adapter.ShoppingCartConvertAdapter;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ResponseCodeConstant;
......@@ -9,7 +8,6 @@ import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.activity.ActivityQueryResponseDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.user.GetSessionUserInfoDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.*;
import cn.freemud.interceptor.BizServiceException;
......@@ -21,15 +19,12 @@ import cn.freemud.service.ShoppingCartNewService;
import cn.freemud.service.impl.*;
import cn.freemud.service.thirdparty.CustomerApplicationClient;
import cn.freemud.service.thirdparty.StockClient;
import cn.freemud.utils.BeanUtil;
import cn.freemud.utils.PromotionFactory;
import com.alibaba.fastjson.JSON;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerStoreDeliveryConfig;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerStoreDeliveryConfigManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.application.sdk.api.base.SDKCommonBaseContextWare;
import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.membercenter.request.QueryReceiveAddressRequest;
import com.freemud.application.sdk.api.membercenter.response.QueryReceiveAddressResponse;
......@@ -43,7 +38,6 @@ import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.sdk.api.assortment.shoppingcart.enums.BusinessTypeEnum;
import com.freemud.sdk.api.assortment.shoppingcart.service.ShoppingCartBaseService;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
......@@ -544,10 +538,10 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService
shoppingCartGoodsResponseVo.setProducts(cartGoodsList);
shoppingCartGoodsResponseVo.setProductsCount(cartGoodsList.size());
if (StringUtils.isNotEmpty(toastMsg)) {
toastMsg=shoppingCartInfoRequestVo!=null && ObjectUtils.equals(1, shoppingCartInfoRequestVo.getFlag())?SHOPPING_CART_EMPTY_GOODS_LIST:SHOPPING_CART_INVALIAD_GOODS;
toastMsg=shoppingCartInfoRequestVo!=null && ObjectUtils.equals(SubmitPageEnum.YES.getCode(), shoppingCartInfoRequestVo.getFlag())?SHOPPING_CART_EMPTY_GOODS_LIST:SHOPPING_CART_INVALIAD_GOODS;
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, toastMsg);
//结算页,只有商品全部非法(即products为空)时,才提示changed为true toastMsg 不为空
if (shoppingCartInfoRequestVo!=null && ObjectUtils.equals(1, shoppingCartInfoRequestVo.getFlag())){
if (shoppingCartInfoRequestVo!=null && ObjectUtils.equals(SubmitPageEnum.YES.getCode(), shoppingCartInfoRequestVo.getFlag())){
shoppingCartGoodsResponseVo.setChanged(CollectionUtils.isEmpty(cartGoodsList));
shoppingCartGoodsResponseVo.setToastMsg(CollectionUtils.isEmpty(cartGoodsList)?toastMsg:"");
}
......@@ -567,7 +561,7 @@ public abstract class AbstractShoppingCartImpl implements ShoppingCartNewService
shoppingCartGoodsResponseVo.setNewPackAmount(null);
} else if ((Objects.equals(shoppingCartInfoRequestVo.getOrderType(), CreateOrderType.TAKE_OUT.getCode())
|| Objects.equals(shoppingCartInfoRequestVo.getReachStoreType(), OrderType.COLLECT_GOODS.getCode()))
&& Objects.equals(shoppingCartInfoRequestVo.getFlag(), CouponFlag.YES.getCode())) {
&& Objects.equals(shoppingCartInfoRequestVo.getFlag(), SubmitPageEnum.YES.getCode())) {
Long packAmount = shoppingCartGoodsResponseVo.getNewPackAmount() == null ? 0 : shoppingCartGoodsResponseVo.getNewPackAmount();
Long originalTotalAmount = shoppingCartGoodsResponseVo.getOriginalTotalAmount() + packAmount;
Long totalAmount = shoppingCartGoodsResponseVo.getTotalAmount() + packAmount;
......
......@@ -8,7 +8,7 @@ import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.CouponFlag;
import cn.freemud.enums.AvailableCouponQueryFlagEnum;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.service.CouponService;
import cn.freemud.service.IPromotionService;
......@@ -56,7 +56,7 @@ public class CouponPromotionService implements IPromotionService {
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, UserLoginInfoDto userLoginInfoDto,
ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) {
// 用户选择了查询优惠券信息
if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())) {
if (couponPromotionVO != null && !ObjectUtils.equals(AvailableCouponQueryFlagEnum.NO.getCode(), couponPromotionVO.getAvailableCouponQueryFlag())) {
List<CartGoods> tmpCartGoods = cartGoodsList.parallelStream().filter(k -> (k.getCartGoodsUid()
.startsWith(CommonsConstant.COUPON_PREFIX) || StringUtils.isNotBlank(k.getCouponCode()))).collect(Collectors.toList());
// 是否存在商品券
......@@ -134,7 +134,7 @@ public class CouponPromotionService implements IPromotionService {
}
if (StringUtils.isNotBlank(couponCode)) {
List<String> validCouponCodeLis = new ArrayList<>();
if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())){
if (couponPromotionVO != null && !ObjectUtils.equals(AvailableCouponQueryFlagEnum.NO.getCode(), couponPromotionVO.getAvailableCouponQueryFlag())){
validCouponCodeLis = shoppingCartGoodsResponseVo.getAvailableCoupon().getUsableCoupons().stream().map(ActivityCouponBean::getCouponCode).collect(Collectors.toList());
} else {
couponPromotionVO = new CouponPromotionVO();
......
......@@ -1347,7 +1347,7 @@ public class CouponServiceImpl implements CouponService {
@Override
public void checkValidCoupon(CouponPromotionVO couponPromotionVO, List<String> couponList, Map<String, List<String>> spqIdToCartUuid, String couponCode, List<CartGoods> cartGoodsList) {
List<String> validCouponCodeLis = new ArrayList<>();
if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())){
if (couponPromotionVO != null && !ObjectUtils.equals(AvailableCouponQueryFlagEnum.NO.getCode(), couponPromotionVO.getAvailableCouponQueryFlag())){
validCouponCodeLis = couponList;
} else {
GetMemberCouponListRequestDto getMemberCouponListRequestDto = new GetMemberCouponListRequestDto(couponPromotionVO.getPartnerId(), couponPromotionVO.getUserId());
......
......@@ -609,6 +609,9 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if (StringUtils.isEmpty(shoppingCartInfoRequestVo.getShopId())) {
throw new ServiceException(ResponseResult.SHOPPING_CART_SHOP_ID_NOT_EMPTY);
}
if (StringUtils.isEmpty(shoppingCartInfoRequestVo.getVersion())) {
shoppingCartInfoRequestVo.setVersion("");
}
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = new ShoppingCartGoodsResponseVo();
// 获取用户信息
CustomerInfoVo assortmentCustomerInfoVo = getCustomerInfoVo(shoppingCartInfoRequestVo.getSessionId());
......@@ -786,7 +789,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
request.setOrderType(shoppingCartInfoRequestVo.getOrderType());
request.setSessionId(shoppingCartInfoRequestVo.getSessionId());
request.setShopId(shoppingCartInfoRequestVo.getShopId());
request.setVersion(shoppingCartInfoRequestVo.getVersion());
// request.setVersion(shoppingCartInfoRequestVo.getVersion());
if (CollectionUtils.isNotEmpty(shoppingCartInfoRequestVo.getCouponCodes())) {
List<PremiumExchangeRequestVo.couponCode> list = new ArrayList<>();
shoppingCartInfoRequestVo.getCouponCodes().forEach(code -> {
......@@ -2123,10 +2126,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
shoppingCartGoodsResponseVo.setProducts(cartGoodsList);
shoppingCartGoodsResponseVo.setProductsCount(cartGoodsList.size());
if (StringUtils.isNotEmpty(toastMsg)) {
toastMsg = shoppingCartInfoRequestVo != null && ObjectUtils.equals(1, shoppingCartInfoRequestVo.getFlag()) ? SHOPPING_CART_EMPTY_GOODS_LIST : SHOPPING_CART_INVALIAD_GOODS;
toastMsg = shoppingCartInfoRequestVo != null && ObjectUtils.equals(SubmitPageEnum.YES.getCode(), shoppingCartInfoRequestVo.getFlag()) ? SHOPPING_CART_EMPTY_GOODS_LIST : SHOPPING_CART_INVALIAD_GOODS;
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, toastMsg);
//结算页,只有商品全部非法(即products为空)时,才提示changed为true toastMsg 不为空
if (shoppingCartInfoRequestVo != null && ObjectUtils.equals(1, shoppingCartInfoRequestVo.getFlag())) {
if (shoppingCartInfoRequestVo != null && ObjectUtils.equals(SubmitPageEnum.YES.getCode(), shoppingCartInfoRequestVo.getFlag())) {
shoppingCartGoodsResponseVo.setChanged(CollectionUtils.isEmpty(cartGoodsList));
shoppingCartGoodsResponseVo.setToastMsg(CollectionUtils.isEmpty(cartGoodsList) ? toastMsg : "");
}
......@@ -2146,7 +2149,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
shoppingCartGoodsResponseVo.setNewPackAmount(null);
} else if ((Objects.equals(shoppingCartInfoRequestVo.getOrderType(), CreateOrderType.TAKE_OUT.getCode())
|| Objects.equals(shoppingCartInfoRequestVo.getReachStoreType(), OrderType.COLLECT_GOODS.getCode()))
&& Objects.equals(shoppingCartInfoRequestVo.getFlag(), CouponFlag.YES.getCode())) {
&& Objects.equals(shoppingCartInfoRequestVo.getFlag(), SubmitPageEnum.YES.getCode())) {
Long packAmount = shoppingCartGoodsResponseVo.getNewPackAmount() == null ? 0 : shoppingCartGoodsResponseVo.getNewPackAmount();
Long originalTotalAmount = shoppingCartGoodsResponseVo.getOriginalTotalAmount() + packAmount;
Long totalAmount = shoppingCartGoodsResponseVo.getTotalAmount() + packAmount;
......
package cn.freemud.service.impl.calculate;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ApplicationConstant;
import cn.freemud.constant.ShoppingCartConstant;
import cn.freemud.demo.entities.bo.goods.CalculationDiscountBO;
import cn.freemud.demo.entities.bo.goods.ShoppingCartApportionBO;
......@@ -267,10 +266,10 @@ public class CalculationCommonService {
shoppingCartGoodsResponseVo.setProductsCount(cartGoodsList.size());
String toastMsg = shoppingCartGoodsResponseVo.getToastMsg();
if (StringUtils.isNotEmpty(toastMsg)) {
toastMsg = shoppingCartInfoRequestVo != null && ObjectUtils.equals(1, shoppingCartInfoRequestVo.getFlag()) ? SHOPPING_CART_EMPTY_GOODS_LIST : SHOPPING_CART_INVALIAD_GOODS;
toastMsg = shoppingCartInfoRequestVo != null && ObjectUtils.equals(SubmitPageEnum.YES.getCode(), shoppingCartInfoRequestVo.getFlag()) ? SHOPPING_CART_EMPTY_GOODS_LIST : SHOPPING_CART_INVALIAD_GOODS;
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, toastMsg);
//结算页,只有商品全部非法(即products为空)时,才提示changed为true toastMsg 不为空
if (shoppingCartInfoRequestVo != null && ObjectUtils.equals(1, shoppingCartInfoRequestVo.getFlag())) {
if (shoppingCartInfoRequestVo != null && ObjectUtils.equals(SubmitPageEnum.YES.getCode(), shoppingCartInfoRequestVo.getFlag())) {
shoppingCartGoodsResponseVo.setChanged(CollectionUtils.isEmpty(cartGoodsList));
shoppingCartGoodsResponseVo.setToastMsg(CollectionUtils.isEmpty(cartGoodsList) ? toastMsg : "");
}
......@@ -289,7 +288,7 @@ public class CalculationCommonService {
shoppingCartGoodsResponseVo.setNewPackAmount(null);
} else if ((Objects.equals(shoppingCartInfoRequestVo.getOrderType(), CreateOrderType.TAKE_OUT.getCode())
|| Objects.equals(shoppingCartInfoRequestVo.getReachStoreType(), OrderType.COLLECT_GOODS.getCode()))
&& Objects.equals(shoppingCartInfoRequestVo.getFlag(), CouponFlag.YES.getCode())) {
&& Objects.equals(shoppingCartInfoRequestVo.getFlag(), SubmitPageEnum.YES.getCode())) {
Long packAmount = shoppingCartGoodsResponseVo.getNewPackAmount() == null ? 0 : shoppingCartGoodsResponseVo.getNewPackAmount();
Long originalTotalAmount = shoppingCartGoodsResponseVo.getOriginalTotalAmount() + packAmount;
Long totalAmount = shoppingCartGoodsResponseVo.getTotalAmount() + packAmount;
......
......@@ -4,7 +4,7 @@ import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.CouponFlag;
import cn.freemud.enums.AvailableCouponQueryFlagEnum;
import cn.freemud.enums.GoodsTypeEnum;
import cn.freemud.service.CouponService;
import cn.freemud.service.impl.AssortmentSdkService;
......@@ -50,7 +50,7 @@ public class CouponSharingService {
, CouponPromotionVO couponPromotionVO
,ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, String userId, String partnerId, String storeId, Integer orderType) {
// 用户选择了查询优惠券信息
if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())) {
if (couponPromotionVO != null && !ObjectUtils.equals(AvailableCouponQueryFlagEnum.NO.getCode(), couponPromotionVO.getAvailableCouponQueryFlag())) {
List<CartGoods> tmpCartGoods = cartGoodsList.parallelStream().filter(k -> (StringUtils.isNotBlank(k.getCouponCode()) || k.getCartGoodsUid()
.startsWith(CommonsConstant.COUPON_PREFIX))).collect(Collectors.toList());
// 是否存在商品券
......@@ -126,7 +126,7 @@ public class CouponSharingService {
useCoupon = false;
}
List<String> validCouponCodeLis = new ArrayList<>();
if (couponPromotionVO != null && ObjectUtils.equals(CouponFlag.YES.getCode(), couponPromotionVO.getFlg())){
if (couponPromotionVO != null && !ObjectUtils.equals(AvailableCouponQueryFlagEnum.NO.getCode(), couponPromotionVO.getAvailableCouponQueryFlag())){
validCouponCodeLis = shoppingCartGoodsResponseVo.getAvailableCoupon().getUsableCoupons().stream().map(ActivityCouponBean::getCouponCode).collect(Collectors.toList());
} else {
couponPromotionVO = new CouponPromotionVO();
......@@ -204,7 +204,7 @@ public class CouponSharingService {
// 计算优惠信息时,已将券校验过,放在map中
Map<String, CheckSpqInfoResponseDto> validCouponMap = discountResult == null ? new HashMap<>() : discountResult.getValidCouponMap();
Map<String, List<String>> spqIdToCartUuid = discountResult == null ? new HashMap<>() : discountResult.getSpqIdToCartUuid();
couponPromotionVO.setFlg(0);
// couponPromotionVO.setFlg(0);
// couponService.checkValidCoupon(couponPromotionVO, validCouponCodeLis, spqIdToCartUuid, couponCode, cartGoodsList);
......
......@@ -1852,10 +1852,10 @@ public class ShoppingCartMCoffeeServiceImpl {
shoppingCartGoodsResponseVo.setProducts(cartGoodsList);
shoppingCartGoodsResponseVo.setProductsCount(cartGoodsList.size());
if (StringUtils.isNotEmpty(toastMsg)) {
toastMsg = shoppingCartInfoRequestVo != null && ObjectUtils.equals(1, shoppingCartInfoRequestVo.getFlag()) ? SHOPPING_CART_EMPTY_GOODS_LIST : SHOPPING_CART_INVALIAD_GOODS;
toastMsg = shoppingCartInfoRequestVo != null && ObjectUtils.equals(SubmitPageEnum.YES.getCode(), shoppingCartInfoRequestVo.getFlag()) ? SHOPPING_CART_EMPTY_GOODS_LIST : SHOPPING_CART_INVALIAD_GOODS;
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, toastMsg);
//结算页,只有商品全部非法(即products为空)时,才提示changed为true toastMsg 不为空
if (shoppingCartInfoRequestVo != null && ObjectUtils.equals(1, shoppingCartInfoRequestVo.getFlag())) {
if (shoppingCartInfoRequestVo != null && ObjectUtils.equals(SubmitPageEnum.YES.getCode(), shoppingCartInfoRequestVo.getFlag())) {
shoppingCartGoodsResponseVo.setChanged(CollectionUtils.isEmpty(cartGoodsList));
shoppingCartGoodsResponseVo.setToastMsg(CollectionUtils.isEmpty(cartGoodsList) ? toastMsg : "");
}
......
......@@ -774,15 +774,15 @@ public class CouponDiscountCalculation {
}
}
public CouponPromotionVO getCouponPromotionVO(String partnerId, String storeId, String userId, String couponCode, Integer orderType){
CouponPromotionVO couponPromotionVO = new CouponPromotionVO();
couponPromotionVO.setPartnerId(partnerId);
couponPromotionVO.setUserId(userId);
couponPromotionVO.setStoreId(storeId);
couponPromotionVO.setCouponCode(couponCode);
couponPromotionVO.setOrderType(orderType);
couponPromotionVO.setFlg(CouponFlag.YES.getCode());
return couponPromotionVO;
}
// public CouponPromotionVO getCouponPromotionVO(String partnerId, String storeId, String userId, String couponCode, Integer orderType){
// CouponPromotionVO couponPromotionVO = new CouponPromotionVO();
// couponPromotionVO.setPartnerId(partnerId);
// couponPromotionVO.setUserId(userId);
// couponPromotionVO.setStoreId(storeId);
// couponPromotionVO.setCouponCode(couponCode);
// couponPromotionVO.setOrderType(orderType);
// couponPromotionVO.setFlg(SubmitPageEnum.YES.getCode());
// return couponPromotionVO;
// }
}
......@@ -18,6 +18,7 @@ import cn.freemud.entities.dto.PromotionMessageDto;
import cn.freemud.entities.dto.calculate.CalculationSharingDiscountResponseDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.SubmitPageEnum;
import cn.freemud.service.impl.ShoppingCartNewServiceImpl;
import cn.freemud.service.shoppingCart.ShoppingCartRelationService;
import cn.freemud.utils.WebUtil;
......@@ -94,7 +95,7 @@ public class CocoShoppingCartRelationServiceImpl implements ShoppingCartRelation
});
if(!Objects.equals(flag,1)){
if(!Objects.equals(flag, SubmitPageEnum.YES.getCode())){
// 非结算页
orderingFoodPage(products,halfDiscountsMap,goodsDiscountsMap,gifeProductIds,shoppingCartGoodsResponseVo);
}else {// 结算页
......
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