Commit dc2f07e8 by zhangzhiheng

Merge remote-tracking branch 'origin/qa' into qa

parents 9e61bef9 b6493fc9
......@@ -20,6 +20,7 @@ import cn.freemud.demo.controller.ShoppingCartDemoController;
import cn.freemud.entities.dto.GetMemberInfoRequestDto;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.coupon.CouponAvailableRequestVo;
import cn.freemud.enums.CouponTypeEnum;
import cn.freemud.enums.OrderChannelType;
import cn.freemud.enums.ResponseResult;
import cn.freemud.service.OpenStoreIappWxappConfigService;
......@@ -38,11 +39,10 @@ import com.freemud.application.sdk.api.log.LogParams;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import ma.glasnost.orika.MapperFacade;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -51,6 +51,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
......@@ -120,6 +121,15 @@ public class ShoppingCartController {
@PostMapping(value = "/listCartGoods")
@LogIgnore(logMessage = "listCartGoods")
public BaseResponse listCartGoods(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) {
// 代金券 & 折扣券互斥校验
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = request.getCouponCodes();
if (CollectionUtils.isNotEmpty(couponCodes) && couponCodes.size() > 1) {
long count = couponCodes.stream().filter(c -> c.getCouponType().compareTo(CouponTypeEnum.TYPE_1.getCode()) == 0
|| c.getCouponType().compareTo(CouponTypeEnum.TYPE_3.getCode()) == 0).count();
if (count > 2) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_COUPON_MUTUAL_EXCLUSION);
}
}
ShoppingCartNewService instanceByRequest = getInstanceByRequest(request);
if (instanceByRequest instanceof ShoppingCartNewServiceImpl && SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).newShoppingCartGray(request.getPartnerId(), request.getShopId())){
Map requestMap = mapperFacade.map(request, Map.class);
......@@ -136,6 +146,15 @@ public class ShoppingCartController {
@PostMapping(value = "/listCartGoodsCheck")
@LogIgnore(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},logMessage = "listCartGoodsCheck")
public BaseResponse listCartGoodsCheck(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) {
// 代金券 & 折扣券互斥校验
List<ShoppingCartInfoRequestVo.couponCode> couponCodes = request.getCouponCodes();
if (CollectionUtils.isNotEmpty(couponCodes) && couponCodes.size() > 1) {
long count = couponCodes.stream().filter(c -> c.getCouponType().compareTo(CouponTypeEnum.TYPE_1.getCode()) == 0
|| c.getCouponType().compareTo(CouponTypeEnum.TYPE_3.getCode()) == 0).count();
if (count > 2) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_COUPON_MUTUAL_EXCLUSION);
}
}
return getInstanceByRequest(request).getGoodsListCheck(request);
}
......
......@@ -107,6 +107,7 @@ public enum ResponseResult {
SHOPPING_CART_USER_HAVE_NO_COUPON("44039", "使用的商品券已失效,请重新下单"),
SHOPPING_CART_REPLACE_GOODS("44040", "原有购物车没有商品"),
SHOPPING_CART_REPLACE_GOODS_AND_CLEAR("44041", "因部分商品当前门店暂未售卖,将从购物车移除"),
SHOPPING_CART_COUPON_MUTUAL_EXCLUSION("44042", "代金券和折扣券互斥"),
/**
* 订单状态码
......
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