Commit 2c6f7701 by 徐康

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

parents fbd71801 726daeff
...@@ -241,6 +241,7 @@ public class BaseCreateOrderRequest extends BaseConfig { ...@@ -241,6 +241,7 @@ public class BaseCreateOrderRequest extends BaseConfig {
private Integer maxNum; private Integer maxNum;
private Integer validityDateDays; private Integer validityDateDays;
private Boolean storeLevel; private Boolean storeLevel;
private Integer isContinueExchange;
} }
......
...@@ -2188,7 +2188,7 @@ public class OrderAdapter { ...@@ -2188,7 +2188,7 @@ public class OrderAdapter {
return orderAccountVos; return orderAccountVos;
} }
List<Integer> list = Arrays.asList(OrderSettlementType.FULL_REDUCTION.getIndex(),OrderSettlementType.CASH_COUPON.getIndex(), List<Integer> list = Arrays.asList(OrderSettlementType.FULL_REDUCTION.getIndex(),OrderSettlementType.CASH_COUPON.getIndex(),
OrderSettlementType.PRODUCT_COUPON.getIndex(),OrderSettlementType.DISCOUNT_COUPON.getIndex(),OrderSettlementType.POINTS.getIndex()); OrderSettlementType.PRODUCT_COUPON.getIndex(),OrderSettlementType.DISCOUNT_COUPON.getIndex(),OrderSettlementType.POINTS.getIndex(),OrderSettlementType.FREIGHT_COUPON.getIndex());
for (QueryOrdersResponse.DataBean.OrderBean.OrderSettlement orderSettlement : orderSettlements){ for (QueryOrdersResponse.DataBean.OrderBean.OrderSettlement orderSettlement : orderSettlements){
if(list.contains(orderSettlement.getSettlementType())){ if(list.contains(orderSettlement.getSettlementType())){
OrderAccountVo accountVo = new OrderAccountVo(); OrderAccountVo accountVo = new OrderAccountVo();
...@@ -2201,6 +2201,8 @@ public class OrderAdapter { ...@@ -2201,6 +2201,8 @@ public class OrderAdapter {
accountVo.setTypeName("满减"); accountVo.setTypeName("满减");
} else if(type == OrderSettlementType.POINTS.getIndex()){ } else if(type == OrderSettlementType.POINTS.getIndex()){
accountVo.setTypeName("积分抵扣"); accountVo.setTypeName("积分抵扣");
}else if(type == OrderSettlementType.FREIGHT_COUPON.getIndex()) {
accountVo.setTypeName("配送券");
} }
int value = orderSettlement.getSettlementAmount().intValue(); int value = orderSettlement.getSettlementAmount().intValue();
accountVo.setDiscountAmount(value < 0 ? -value : value); accountVo.setDiscountAmount(value < 0 ? -value : value);
......
...@@ -360,6 +360,7 @@ public class ShoppingCartGoodsDto { ...@@ -360,6 +360,7 @@ public class ShoppingCartGoodsDto {
private Integer maxNum; private Integer maxNum;
private Integer validityDateDays; private Integer validityDateDays;
private Boolean storeLevel; private Boolean storeLevel;
private Integer isContinueExchange;
} }
......
...@@ -2988,6 +2988,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2988,6 +2988,7 @@ public class OrderServiceImpl implements Orderservice {
orderExtInfoDto.setSendPointEndTime(sendPoint.getEndTime().getTime() + ""); orderExtInfoDto.setSendPointEndTime(sendPoint.getEndTime().getTime() + "");
orderExtInfoDto.setSendPointSendPoint(sendPoint.getSendPoint()); orderExtInfoDto.setSendPointSendPoint(sendPoint.getSendPoint());
orderExtInfoDto.setSendPointStoreLevel(sendPoint.getStoreLevel()); orderExtInfoDto.setSendPointStoreLevel(sendPoint.getStoreLevel());
orderExtInfoDto.setIsContinueExchange(sendPoint.getIsContinueExchange());
} }
return orderExtInfoDto; return orderExtInfoDto;
} }
......
...@@ -683,6 +683,7 @@ public abstract class UniversalOrderService { ...@@ -683,6 +683,7 @@ public abstract class UniversalOrderService {
orderExtInfoDto.setSendPointEndTime(sendPoint.getEndTime().getTime() + ""); orderExtInfoDto.setSendPointEndTime(sendPoint.getEndTime().getTime() + "");
orderExtInfoDto.setSendPointSendPoint(sendPoint.getSendPoint()); orderExtInfoDto.setSendPointSendPoint(sendPoint.getSendPoint());
orderExtInfoDto.setSendPointStoreLevel(sendPoint.getStoreLevel()); orderExtInfoDto.setSendPointStoreLevel(sendPoint.getStoreLevel());
orderExtInfoDto.setIsContinueExchange(sendPoint.getIsContinueExchange());
} }
return orderExtInfoDto; return orderExtInfoDto;
......
...@@ -316,7 +316,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -316,7 +316,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
orderCancelReq.setOrderClient(orderClient == null ? OrderClientType.SAAS.getIndex() : orderClient); orderCancelReq.setOrderClient(orderClient == null ? OrderClientType.SAAS.getIndex() : orderClient);
orderCancelReq.setOperator(request.getOperator()); orderCancelReq.setOperator(request.getOperator());
com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.cancelOrder(orderCancelReq,UUID.randomUUID().toString()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse baseResponse = orderSdkService.cancelOrder(orderCancelReq,UUID.randomUUID().toString());
if (!ObjectUtils.equals(SUCCESS,baseResponse.getCode())) { if (!ObjectUtils.equals(SUCCESS,Integer.valueOf(baseResponse.getCode()))) {
return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR); return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR);
} }
return ResponseUtil.success(); return ResponseUtil.success();
......
...@@ -34,6 +34,7 @@ public enum OrderSettlementType { ...@@ -34,6 +34,7 @@ public enum OrderSettlementType {
SPELL_GROUP(25,"拼团"), SPELL_GROUP(25,"拼团"),
TAKEAWAY_ADD_PRICE(46, "外卖加价购"), TAKEAWAY_ADD_PRICE(46, "外卖加价购"),
SUPER_PURCHASE(47, "超值加购"), SUPER_PURCHASE(47, "超值加购"),
FREIGHT_COUPON(99, "配送券"),
PRODUCT_COUPON(118, "商品券"), PRODUCT_COUPON(118, "商品券"),
POINTS(200, "积分"), POINTS(200, "积分"),
......
...@@ -183,6 +183,7 @@ public class OrderExtInfoDto { ...@@ -183,6 +183,7 @@ public class OrderExtInfoDto {
private Integer sendPointMaxNum; private Integer sendPointMaxNum;
private Integer sendPointValidityDateDays; private Integer sendPointValidityDateDays;
private Boolean sendPointStoreLevel; private Boolean sendPointStoreLevel;
private Integer isContinueExchange;
/** /**
* 唤起预支付设备号 * 唤起预支付设备号
......
...@@ -20,6 +20,7 @@ import cn.freemud.demo.controller.ShoppingCartDemoController; ...@@ -20,6 +20,7 @@ import cn.freemud.demo.controller.ShoppingCartDemoController;
import cn.freemud.entities.dto.GetMemberInfoRequestDto; import cn.freemud.entities.dto.GetMemberInfoRequestDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.coupon.CouponAvailableRequestVo; import cn.freemud.entities.vo.coupon.CouponAvailableRequestVo;
import cn.freemud.enums.CouponTypeEnum;
import cn.freemud.enums.OrderChannelType; import cn.freemud.enums.OrderChannelType;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.service.OpenStoreIappWxappConfigService; import cn.freemud.service.OpenStoreIappWxappConfigService;
...@@ -38,11 +39,10 @@ import com.freemud.application.sdk.api.log.LogParams; ...@@ -38,11 +39,10 @@ import com.freemud.application.sdk.api.log.LogParams;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl; import com.freemud.sdk.api.assortment.shoppingcart.service.impl.ShoppingCartBaseServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import ma.glasnost.orika.MapperFacade; import ma.glasnost.orika.MapperFacade;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -51,6 +51,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -51,6 +51,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -120,6 +121,15 @@ public class ShoppingCartController { ...@@ -120,6 +121,15 @@ public class ShoppingCartController {
@PostMapping(value = "/listCartGoods") @PostMapping(value = "/listCartGoods")
@LogIgnore(logMessage = "listCartGoods") @LogIgnore(logMessage = "listCartGoods")
public BaseResponse listCartGoods(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) { 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); ShoppingCartNewService instanceByRequest = getInstanceByRequest(request);
if (instanceByRequest instanceof ShoppingCartNewServiceImpl && SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).newShoppingCartGray(request.getPartnerId(), request.getShopId())){ if (instanceByRequest instanceof ShoppingCartNewServiceImpl && SDKCommonBaseContextWare.getBean(ShoppingCartNewServiceImpl.class).newShoppingCartGray(request.getPartnerId(), request.getShopId())){
Map requestMap = mapperFacade.map(request, Map.class); Map requestMap = mapperFacade.map(request, Map.class);
...@@ -136,6 +146,15 @@ public class ShoppingCartController { ...@@ -136,6 +146,15 @@ public class ShoppingCartController {
@PostMapping(value = "/listCartGoodsCheck") @PostMapping(value = "/listCartGoodsCheck")
@LogIgnore(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},logMessage = "listCartGoodsCheck") @LogIgnore(excludeStatusCodes = {ResponseCodeConstant.RESPONSE_SUCCESS_STR},logMessage = "listCartGoodsCheck")
public BaseResponse listCartGoodsCheck(@Validated @LogParams @RequestBody ShoppingCartInfoRequestVo request) { 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); return getInstanceByRequest(request).getGoodsListCheck(request);
} }
......
...@@ -175,6 +175,7 @@ public class CalculationDiscountBO { ...@@ -175,6 +175,7 @@ public class CalculationDiscountBO {
private Integer validityDateDays; private Integer validityDateDays;
private Date endTime; private Date endTime;
private Boolean storeLevel; private Boolean storeLevel;
private Integer isContinueExchange;
} }
@Data @Data
......
...@@ -585,6 +585,7 @@ public class AbstractApportionService implements GetShoppingCartGoodsApportionSe ...@@ -585,6 +585,7 @@ public class AbstractApportionService implements GetShoppingCartGoodsApportionSe
sendPointNew.setActivityCode(discountDTO.getActivityCode()); sendPointNew.setActivityCode(discountDTO.getActivityCode());
sendPointNew.setEndTime(discountDTO.getEndTime()); sendPointNew.setEndTime(discountDTO.getEndTime());
sendPointNew.setStoreLevel(sendPointVo.getStoreLevel()); sendPointNew.setStoreLevel(sendPointVo.getStoreLevel());
sendPointNew.setIsContinueExchange(sendPointVo.getIsContinueExchange());
return sendPointNew; return sendPointNew;
} }
return null; return null;
......
...@@ -243,6 +243,7 @@ public class ActivityCalculationDiscountResponseDto { ...@@ -243,6 +243,7 @@ public class ActivityCalculationDiscountResponseDto {
private Integer exchangeNum; private Integer exchangeNum;
private Integer validityDateDays; private Integer validityDateDays;
private Boolean storeLevel; private Boolean storeLevel;
private Integer isContinueExchange;
} }
@Data @Data
......
...@@ -185,6 +185,7 @@ public class CalculationSharingDiscountResponseDto { ...@@ -185,6 +185,7 @@ public class CalculationSharingDiscountResponseDto {
private Integer validityDateDays; private Integer validityDateDays;
private Date endTime; private Date endTime;
private Boolean storeLevel; private Boolean storeLevel;
private Integer isContinueExchange;
} }
@Data @Data
......
...@@ -13,5 +13,6 @@ public class SendPoint { ...@@ -13,5 +13,6 @@ public class SendPoint {
private Integer maxNum; private Integer maxNum;
private Integer validityDateDays; private Integer validityDateDays;
private Boolean storeLevel; private Boolean storeLevel;
private Integer isContinueExchange;
} }
...@@ -107,6 +107,7 @@ public enum ResponseResult { ...@@ -107,6 +107,7 @@ public enum ResponseResult {
SHOPPING_CART_USER_HAVE_NO_COUPON("44039", "使用的商品券已失效,请重新下单"), SHOPPING_CART_USER_HAVE_NO_COUPON("44039", "使用的商品券已失效,请重新下单"),
SHOPPING_CART_REPLACE_GOODS("44040", "原有购物车没有商品"), SHOPPING_CART_REPLACE_GOODS("44040", "原有购物车没有商品"),
SHOPPING_CART_REPLACE_GOODS_AND_CLEAR("44041", "因部分商品当前门店暂未售卖,将从购物车移除"), SHOPPING_CART_REPLACE_GOODS_AND_CLEAR("44041", "因部分商品当前门店暂未售卖,将从购物车移除"),
SHOPPING_CART_COUPON_MUTUAL_EXCLUSION("44042", "代金券和折扣券互斥"),
/** /**
* 订单状态码 * 订单状态码
......
...@@ -1526,6 +1526,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1526,6 +1526,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
sendPointNew.setActivityCode(discountDTO.getActivityCode()); sendPointNew.setActivityCode(discountDTO.getActivityCode());
sendPointNew.setEndTime(discountDTO.getEndTime()); sendPointNew.setEndTime(discountDTO.getEndTime());
sendPointNew.setStoreLevel(sendPointVo.getStoreLevel()); sendPointNew.setStoreLevel(sendPointVo.getStoreLevel());
sendPointNew.setIsContinueExchange(sendPointVo.getIsContinueExchange());
result.setSendPointVo(sendPointNew); result.setSendPointVo(sendPointNew);
} }
......
...@@ -242,6 +242,7 @@ public class CalculationSharingDiscountService { ...@@ -242,6 +242,7 @@ public class CalculationSharingDiscountService {
sendPointNew.setActivityCode(discountDTO.getActivityCode()); sendPointNew.setActivityCode(discountDTO.getActivityCode());
sendPointNew.setEndTime(discountDTO.getEndTime()); sendPointNew.setEndTime(discountDTO.getEndTime());
sendPointNew.setStoreLevel(sendPointVo.getStoreLevel()); sendPointNew.setStoreLevel(sendPointVo.getStoreLevel());
sendPointNew.setIsContinueExchange(sendPointVo.getIsContinueExchange());
result.setSendPointVo(sendPointNew); result.setSendPointVo(sendPointNew);
} }
......
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