Commit dc689aae by 周晓航

Merge branch 'feature/zxh/套餐商品库存新模式-20221018' into qa

parents 68fac3ff 4d62d7c0
...@@ -33,6 +33,7 @@ import com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO; ...@@ -33,6 +33,7 @@ import com.freemud.sdk.api.assortment.order.entities.promption.SubtractStockVO;
import com.freemud.sdk.api.assortment.order.enums.*; import com.freemud.sdk.api.assortment.order.enums.*;
import com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest; import com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest;
import com.freemud.sdk.api.assortment.order.request.order.*; import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.request.stock.UpdateProductStockRequestDto;
import com.freemud.sdk.api.assortment.order.response.order.*; import com.freemud.sdk.api.assortment.order.response.order.*;
import com.freemud.sdk.api.assortment.order.util.AssortOrderLogUtil; import com.freemud.sdk.api.assortment.order.util.AssortOrderLogUtil;
import com.freemud.sdk.api.assortment.order.util.ClassUtils; import com.freemud.sdk.api.assortment.order.util.ClassUtils;
...@@ -65,6 +66,7 @@ public class OrderSdkAdapter { ...@@ -65,6 +66,7 @@ public class OrderSdkAdapter {
/** /**
* 接单request * 接单request
*
* @param operator * @param operator
* @param orderBean * @param orderBean
* @param otherParamDTO * @param otherParamDTO
...@@ -203,9 +205,9 @@ public class OrderSdkAdapter { ...@@ -203,9 +205,9 @@ public class OrderSdkAdapter {
Long bLong = Long.valueOf(o2.getCreateTime()); Long bLong = Long.valueOf(o2.getCreateTime());
if (bLong > aLong) { if (bLong > aLong) {
return 1; return 1;
}else if (bLong<aLong){ } else if (bLong < aLong) {
return -1; return -1;
}else { } else {
return 0; return 0;
} }
} }
...@@ -264,9 +266,9 @@ public class OrderSdkAdapter { ...@@ -264,9 +266,9 @@ public class OrderSdkAdapter {
// 双重判断,防止前端乱传参搞事情 // 双重判断,防止前端乱传参搞事情
if (Objects.nonNull(bizType) && BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(bizType) == 0) { if (Objects.nonNull(bizType) && BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(bizType) == 0) {
request.setBizType(BizTypeEnum.ADVANCE_ORDER.getBizType()); request.setBizType(BizTypeEnum.ADVANCE_ORDER.getBizType());
}else if (Objects.nonNull(bizType) && BizTypeEnum.MALL.getBizType().compareTo(bizType) == 0) { } else if (Objects.nonNull(bizType) && BizTypeEnum.MALL.getBizType().compareTo(bizType) == 0) {
request.setBizType(BizTypeEnum.MALL.getBizType()); request.setBizType(BizTypeEnum.MALL.getBizType());
}else { } else {
// 20210730之前 默认设置为1 // 20210730之前 默认设置为1
request.setBizType(CommonConstant.INTEGER_ONE); request.setBizType(CommonConstant.INTEGER_ONE);
} }
...@@ -356,6 +358,7 @@ public class OrderSdkAdapter { ...@@ -356,6 +358,7 @@ public class OrderSdkAdapter {
/** /**
* 美团Pos对接的时候,需要将优惠信息排序 * 美团Pos对接的时候,需要将优惠信息排序
*
* @param orderSettlementCreateReqList * @param orderSettlementCreateReqList
* @param requestVo * @param requestVo
* @return List<OrderSettlementCreateReq> 排序后 * @return List<OrderSettlementCreateReq> 排序后
...@@ -1945,6 +1948,61 @@ public class OrderSdkAdapter { ...@@ -1945,6 +1948,61 @@ public class OrderSdkAdapter {
return updateStocksRequest; return updateStocksRequest;
} }
/**
* 获取扣减库存信息
*
* @param orderBean 订单信息
* @param products 订单商品列表
* @param stockChangeType 库存改变类型
* @return
*/
public UpdateProductStockRequestDto getUpdateProductStockByFeign(OrderBeanV1 orderBean, List<CreateOrderProductRequest> products, StockChangeType stockChangeType, String menuType) {
UpdateProductStockRequestDto updateStocksRequest = new UpdateProductStockRequestDto();
updateStocksRequest.setChannel(menuType);
updateStocksRequest.setChangeType(stockChangeType.getCode());
updateStocksRequest.setIsOversold(0);
updateStocksRequest.setPartnerId(orderBean.getCompanyId());
updateStocksRequest.setStoreId(orderBean.getShopId());
updateStocksRequest.setTransNo(orderBean.getOid());
updateStocksRequest.setTransTime(DateUtil.convert2String(new Date(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
List<UpdateProductStockRequestDto.ProductStock> productStocks = new ArrayList<>();
if (CollectionUtils.isNotEmpty(products)) {
products.forEach(product -> {
// 套餐商品 基础服务为7 额外扣除库存逻辑
if (ProductTypeEnum.SETMEAL_UPPRICE_PRODUCT.getCode().compareTo(product.getOriginalProductType()) == 0) {
if (product.getHasStockProudct() != null && product.getHasStockProudct()) {
UpdateProductStockRequestDto.ProductStock productStocksVO = this.getProductStockVo(product);
productStocks.add(productStocksVO);
}
// 需要处理 过滤出 可选搭配
if (CollectionUtils.isNotEmpty(product.getComboProduct())) {
product.getComboProduct().stream().filter(c -> !c.getIsFixedProduct()).forEach(groupProduct -> {
if (groupProduct.getHasStockProudct() != null && groupProduct.getHasStockProudct()) {
UpdateProductStockRequestDto.ProductStock productStocksVO = this.getProductStockVo(groupProduct);
productStocks.add(productStocksVO);
}
});
}
} else {
if (product.getHasStockProudct() != null && product.getHasStockProudct()) {
UpdateProductStockRequestDto.ProductStock productStocksVO = this.getProductStockVo(product);
productStocks.add(productStocksVO);
}
}
});
}
updateStocksRequest.setProductStocks(productStocks);
return updateStocksRequest;
}
private UpdateProductStockRequestDto.ProductStock getProductStockVo(CreateOrderProductRequest product) {
UpdateProductStockRequestDto.ProductStock productStocksVO = new UpdateProductStockRequestDto.ProductStock();
productStocksVO.setProductId(product.getSpecification());
productStocksVO.setQty(product.getNumber());
productStocksVO.setProductType(product.getOriginalProductType());
return productStocksVO;
}
public ActivityUpdateStockRequest convert2ActivityUpdateStockRequest(OrderBeanV1 orderBean, ActivityUpdateStockRequest activityUpdateStockRequest) { public ActivityUpdateStockRequest convert2ActivityUpdateStockRequest(OrderBeanV1 orderBean, ActivityUpdateStockRequest activityUpdateStockRequest) {
if (activityUpdateStockRequest == null || orderBean == null) { if (activityUpdateStockRequest == null || orderBean == null) {
return null; return null;
...@@ -2158,7 +2216,7 @@ public class OrderSdkAdapter { ...@@ -2158,7 +2216,7 @@ public class OrderSdkAdapter {
download.setRiderPhone(info.getMobile()); download.setRiderPhone(info.getMobile());
} }
} }
if (ObjectUtils.equals(orderDto.getOrderType(),OrderType.GENERAL_EXPRESS.getIndex()) || ObjectUtils.equals(orderDto.getOrderType(), OrderType.RESERVED_EXPRESS.getIndex())) { if (ObjectUtils.equals(orderDto.getOrderType(), OrderType.GENERAL_EXPRESS.getIndex()) || ObjectUtils.equals(orderDto.getOrderType(), OrderType.RESERVED_EXPRESS.getIndex())) {
download.setDeliveryId(orderDto.getExpressNo()); download.setDeliveryId(orderDto.getExpressNo());
download.setExpress(StringUtils.isEmpty(orderDto.getExpressChannelName()) && !isThirdDelivery ? "自配送" : orderDto.getExpressChannelName()); download.setExpress(StringUtils.isEmpty(orderDto.getExpressChannelName()) && !isThirdDelivery ? "自配送" : orderDto.getExpressChannelName());
if (isThirdDelivery && StringUtils.isEmpty(orderDto.getExpressChannelName())) { if (isThirdDelivery && StringUtils.isEmpty(orderDto.getExpressChannelName())) {
...@@ -3225,7 +3283,7 @@ public class OrderSdkAdapter { ...@@ -3225,7 +3283,7 @@ public class OrderSdkAdapter {
} }
if (product.getExtInfo() != null) { if (product.getExtInfo() != null) {
extInfo.setProductBindingCoupons(JSONArray.parseArray(product.getExtInfo(),ProductBindingCouponType.class)); extInfo.setProductBindingCoupons(JSONArray.parseArray(product.getExtInfo(), ProductBindingCouponType.class));
} }
orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo)); orderItemCreateReq.setExtInfo(JSONObject.toJSONString(extInfo));
...@@ -3910,7 +3968,7 @@ public class OrderSdkAdapter { ...@@ -3910,7 +3968,7 @@ public class OrderSdkAdapter {
} }
//fisherman 【01测16灰18全,【华莱士】【疑难专项】一个订单多张优惠券使用场景】 https://www.tapd.cn/43862731/prong/stories/view/1143862731001037477 //fisherman 【01测16灰18全,【华莱士】【疑难专项】一个订单多张优惠券使用场景】 https://www.tapd.cn/43862731/prong/stories/view/1143862731001037477
return this.commonMethodVerificationNew(couponList,orderBean,openId); return this.commonMethodVerificationNew(couponList, orderBean, openId);
// // fisherman end // // fisherman end
// if (couponList.size() > 1) { // if (couponList.size() > 1) {
...@@ -4001,7 +4059,7 @@ public class OrderSdkAdapter { ...@@ -4001,7 +4059,7 @@ public class OrderSdkAdapter {
couponRequest.setReqtype(71); couponRequest.setReqtype(71);
couponRequest.setVer(Integer.valueOf(Version.VERSION_1)); couponRequest.setVer(Integer.valueOf(Version.VERSION_1));
couponRequest.setPartnerId(Integer.parseInt(orderBean.getCompanyId())); couponRequest.setPartnerId(Integer.parseInt(orderBean.getCompanyId()));
ActivityChannelEnum activityChannelEnum = orderTypeEnumConvert2ActivityChannel(orderBean.getOrderType(),orderBean.getBizType()); ActivityChannelEnum activityChannelEnum = orderTypeEnumConvert2ActivityChannel(orderBean.getOrderType(), orderBean.getBizType());
if (activityChannelEnum == null) { if (activityChannelEnum == null) {
activityChannelEnum = ActivityChannelEnum.pickup; activityChannelEnum = ActivityChannelEnum.pickup;
} }
...@@ -4014,7 +4072,7 @@ public class OrderSdkAdapter { ...@@ -4014,7 +4072,7 @@ public class OrderSdkAdapter {
// 订单号 替换成唯一序号 // 订单号 替换成唯一序号
couponRequest.setTrans_id(orderBean.getOid()); couponRequest.setTrans_id(orderBean.getOid());
couponRequest.setBusiness_date(DateUtil.convert2String(new Date(), DateUtil.FORMAT_yyyyMMdd)); couponRequest.setBusiness_date(DateUtil.convert2String(new Date(), DateUtil.FORMAT_yyyyMMdd));
List<TransactionVO> transactions = this.getTransactionList( collect, orderBean, openId); List<TransactionVO> transactions = this.getTransactionList(collect, orderBean, openId);
// 配送券逻辑 end // 配送券逻辑 end
couponRequest.setTransactions(transactions); couponRequest.setTransactions(transactions);
return couponRequest; return couponRequest;
...@@ -4061,20 +4119,20 @@ public class OrderSdkAdapter { ...@@ -4061,20 +4119,20 @@ public class OrderSdkAdapter {
return transactions; return transactions;
} }
private ActivityChannelEnum orderTypeEnumConvert2ActivityChannel(Integer orderType,Integer bizType ) { private ActivityChannelEnum orderTypeEnumConvert2ActivityChannel(Integer orderType, Integer bizType) {
if(Objects.equals(BizTypeEnum.MALL.getBizType(), bizType)){ if (Objects.equals(BizTypeEnum.MALL.getBizType(), bizType)) {
return ActivityChannelEnum.saasmall; return ActivityChannelEnum.saasmall;
} }
if (Objects.equals(OrderTypeV1.TAKE_OUT.getCode(), orderType)) { if (Objects.equals(OrderTypeV1.TAKE_OUT.getCode(), orderType)) {
return ActivityChannelEnum.delivery; return ActivityChannelEnum.delivery;
} else if (Objects.equals(OrderTypeV1.COLLECT_GOODS.getCode(), orderType) || Objects.equals(OrderTypeV1.EAT_IN.getCode(), orderType)) { } else if (Objects.equals(OrderTypeV1.COLLECT_GOODS.getCode(), orderType) || Objects.equals(OrderTypeV1.EAT_IN.getCode(), orderType)) {
return ActivityChannelEnum.pickup; return ActivityChannelEnum.pickup;
} else { } else {
return ActivityChannelEnum.pickup; return ActivityChannelEnum.pickup;
} }
} }
public BaseQueryOrderRequest getOrderConfirmRequest(String operator, OrderBeanV1 orderBean) { public BaseQueryOrderRequest getOrderConfirmRequest(String operator, OrderBeanV1 orderBean) {
return this.getOrderConfirmRequest(operator,orderBean,null); return this.getOrderConfirmRequest(operator, orderBean, null);
} }
} }
...@@ -30,4 +30,8 @@ public class OrderStatusChangeRequestDto { ...@@ -30,4 +30,8 @@ public class OrderStatusChangeRequestDto {
* 支付状态 * 支付状态
*/ */
private Integer payStatus; private Integer payStatus;
/**
* 商户号
*/
private String partnerId;
} }
...@@ -15,7 +15,6 @@ package com.freemud.sdk.api.assortment.order.request.stock; ...@@ -15,7 +15,6 @@ package com.freemud.sdk.api.assortment.order.request.stock;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
...@@ -36,19 +35,26 @@ public class UpdateProductStockRequestDto { ...@@ -36,19 +35,26 @@ public class UpdateProductStockRequestDto {
private String remark; private String remark;
//交易号, maxLength = 36 //交易号, maxLength = 36
private String transNo; private String transNo;
//2019-02-19T06:56:14.543Z" /**
private Date transTime; * 交易类型 格式类型 yyyy-MM-dd HH:mm:ss
*/
private String transTime;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class ProductStock { public static class ProductStock {
private String customerCode; private String customerCode;
private Long productId; private String productId;
private Integer qty; private Integer qty;
private Integer safeQty; private Integer safeQty;
//虚拟库存数, 可不传,默认为0 //虚拟库存数, 可不传,默认为0
private String virtualQty; private String virtualQty;
/**
* 商品类型 主要库存服务需要区分套餐商品用
*/
private Integer productType;
} }
} }
...@@ -1500,6 +1500,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -1500,6 +1500,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
requestDto.setOid(oid); requestDto.setOid(oid);
requestDto.setOrderStatus(statusV1); requestDto.setOrderStatus(statusV1);
requestDto.setOrderStatusV2(orderBean.getStatusV2()); requestDto.setOrderStatusV2(orderBean.getStatusV2());
requestDto.setPartnerId(orderBean.getCompanyId());
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
......
...@@ -132,6 +132,7 @@ public class OrderCallBackMQService { ...@@ -132,6 +132,7 @@ public class OrderCallBackMQService {
requestDto.setOid(orderCode); requestDto.setOid(orderCode);
//2:未支付 //2:未支付
requestDto.setOrderStatus(2); requestDto.setOrderStatus(2);
requestDto.setPartnerId(body.getPartnerId());
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
...@@ -354,6 +355,7 @@ public class OrderCallBackMQService { ...@@ -354,6 +355,7 @@ public class OrderCallBackMQService {
requestDto.setOid(orderCode); requestDto.setOid(orderCode);
//2:未支付 //2:未支付
requestDto.setOrderStatus(2); requestDto.setOrderStatus(2);
requestDto.setPartnerId(body.getPartnerId());
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "parkingOrderBackOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "parkingOrderBackOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
......
...@@ -24,4 +24,8 @@ public class OrderStatusChangeRequestDto { ...@@ -24,4 +24,8 @@ public class OrderStatusChangeRequestDto {
* 订单状态 * 订单状态
*/ */
private Integer orderStatus; private Integer orderStatus;
/**
* 商户号
*/
private String partnerId;
} }
...@@ -96,7 +96,7 @@ public class ExposureOrderController { ...@@ -96,7 +96,7 @@ public class ExposureOrderController {
@ApiAnnotation(logMessage = "回滚订单状态改动") @ApiAnnotation(logMessage = "回滚订单状态改动")
@PostMapping("/backOrdersStatusChange") @PostMapping("/backOrdersStatusChange")
public BaseResponse backOrdersStatusChange(@Validated @LogParams @RequestBody BackOrdersStatusChangeVo backOrdersStatusChangeVo) { public BaseResponse backOrdersStatusChange(@Validated @LogParams @RequestBody BackOrdersStatusChangeVo backOrdersStatusChangeVo) {
orderQueueService.backOrdersStatusChange(backOrdersStatusChangeVo.getOrderCode(), backOrdersStatusChangeVo.getOrderState()); orderQueueService.backOrdersStatusChange(backOrdersStatusChangeVo.getOrderCode(), backOrdersStatusChangeVo.getOrderState(),backOrdersStatusChangeVo.getPartnerId());
return ResponseUtil.success(); return ResponseUtil.success();
} }
......
...@@ -9,5 +9,5 @@ public class BackOrdersStatusChangeVo { ...@@ -9,5 +9,5 @@ public class BackOrdersStatusChangeVo {
private Integer orderState; private Integer orderState;
private String partnerId;
} }
package cn.freemud.service.business.impl; package cn.freemud.service.business.impl;
import cn.freemud.amqp.MQService;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.GetMemberExtendInfoRequestDto; import cn.freemud.entities.dto.GetMemberExtendInfoRequestDto;
import cn.freemud.entities.dto.GetMemberExtendInfoResponseDto; import cn.freemud.entities.dto.GetMemberExtendInfoResponseDto;
...@@ -11,6 +10,7 @@ import cn.freemud.service.impl.OrderQueueService; ...@@ -11,6 +10,7 @@ import cn.freemud.service.impl.OrderQueueService;
import cn.freemud.service.thirdparty.CustomerApplicationClient; import cn.freemud.service.thirdparty.CustomerApplicationClient;
import cn.freemud.service.thirdparty.CustomerClient; import cn.freemud.service.thirdparty.CustomerClient;
import cn.freemud.service.thirdparty.PromotionDiscountClient; import cn.freemud.service.thirdparty.PromotionDiscountClient;
import cn.freemud.service.thirdparty.StockClient;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.base.BaseResponse; import com.freemud.application.sdk.api.base.BaseResponse;
...@@ -33,8 +33,6 @@ import com.freemud.application.sdk.api.ordercenter.response.PaySuccessResp; ...@@ -33,8 +33,6 @@ import com.freemud.application.sdk.api.ordercenter.response.PaySuccessResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO; import com.freemud.application.sdk.api.promotioncenter.response.PromotionResponseDTO;
import com.freemud.application.sdk.api.promotioncenter.service.PromotionSdkService;
import com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest;
import com.freemud.application.sdk.api.stockapi.service.StockSdkService; import com.freemud.application.sdk.api.stockapi.service.StockSdkService;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest; import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest;
...@@ -47,6 +45,7 @@ import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant; ...@@ -47,6 +45,7 @@ import com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant;
import com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest; import com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest;
import com.freemud.sdk.api.assortment.order.enums.*; import com.freemud.sdk.api.assortment.order.enums.*;
import com.freemud.sdk.api.assortment.order.request.order.*; import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.request.stock.UpdateProductStockRequestDto;
import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse; import com.freemud.sdk.api.assortment.order.response.order.BaseOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse; import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse; import com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse;
...@@ -84,15 +83,10 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -84,15 +83,10 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
@Autowired @Autowired
private StockSdkService stockSdkService; private StockSdkService stockSdkService;
@Autowired @Autowired
private PromotionSdkService promotionSdkService;
@Autowired
private CustomerApplicationClient customerApplicationClient; private CustomerApplicationClient customerApplicationClient;
// private MemberScoreService memberScoreService;
@Autowired @Autowired
private OfflineCouponSdkService offlineCouponSdkService; private OfflineCouponSdkService offlineCouponSdkService;
@Autowired @Autowired
private MQService mqService;
@Autowired
private OrderQueueService orderQueueService; private OrderQueueService orderQueueService;
@Value("${version.upgrade.weekDay:}") @Value("${version.upgrade.weekDay:}")
...@@ -106,7 +100,8 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -106,7 +100,8 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
@Autowired @Autowired
private PromotionDiscountClient promotionDiscountClient; private PromotionDiscountClient promotionDiscountClient;
@Autowired
private StockClient stockClient;
@Override @Override
...@@ -270,9 +265,9 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -270,9 +265,9 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
private BaseOrderResponse updateStockAndScore(OrderBeanV1 orderBean, List<CreateOrderProductRequest> products, ActivityUpdateStockRequest updateStockRequest, private BaseOrderResponse updateStockAndScore(OrderBeanV1 orderBean, List<CreateOrderProductRequest> products, ActivityUpdateStockRequest updateStockRequest,
List<CreateOrderAccountRequest> accounts, String menuType, String openId,Long totalScore) { List<CreateOrderAccountRequest> accounts, String menuType, String openId,Long totalScore) {
//TODO 转换获取库存信息,扣减库存 //TODO 转换获取库存信息,扣减库存
UpdateStocksRequest updateStocksRequest = orderSdkAdapter.getUpdateProductStock(orderBean, products, StockChangeType.REDUCE,menuType); UpdateProductStockRequestDto updateStocksRequest = orderSdkAdapter.getUpdateProductStockByFeign(orderBean, products, StockChangeType.REDUCE,menuType);
if (updateStocksRequest != null && CollectionUtils.isNotEmpty(updateStocksRequest.getProductStocks())) { if (updateStocksRequest != null && CollectionUtils.isNotEmpty(updateStocksRequest.getProductStocks())) {
BaseResponse baseResponse = stockSdkService.reducesStocks(updateStocksRequest, ""); cn.freemud.base.entity.BaseResponse baseResponse = stockClient.reducesStocks(updateStocksRequest);
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, baseResponse.getCode())) { if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, baseResponse.getCode())) {
//TODO 失败取消订单 //TODO 失败取消订单
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
...@@ -294,7 +289,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -294,7 +289,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null); AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getStatusCode(), "活动库存不足"); return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getStatusCode(), "活动库存不足");
} }
} }
...@@ -309,7 +304,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -309,7 +304,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null); AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足"); return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足");
} }
} }
...@@ -324,7 +319,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -324,7 +319,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null); CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(couponLockResponseBaseResponse.getCode(), couponLockResponseBaseResponse.getMessage()); return BaseOrderResponse.getErrorBaseOrderResponse(couponLockResponseBaseResponse.getCode(), couponLockResponseBaseResponse.getMessage());
} }
} }
......
...@@ -746,7 +746,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -746,7 +746,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
AfterSalesType.SYSTEM_CANCEL, "获取预支付失败", trackingNo, null); AfterSalesType.SYSTEM_CANCEL, "获取预支付失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
// TODO: 2019/9/10 hubowen mq推送变更 // TODO: 2019/9/10 hubowen mq推送变更
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} }
//svc 卡支付失败 //svc 卡支付失败
if (StringUtils.isNotBlank(cardCode)) { if (StringUtils.isNotBlank(cardCode)) {
...@@ -921,7 +921,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -921,7 +921,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null); AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
//如果编辑订单支付信息失败,冲正 //如果编辑订单支付信息失败,冲正
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg()); return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
} }
...@@ -1280,7 +1280,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1280,7 +1280,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return baseResponse; return baseResponse;
} }
// 删除订单 通知活动添加商品库存 // 删除订单 通知活动添加商品库存
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} else if (OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType()) && CancelDeliveryResponseDto.hasCollectMsg.equals(deliveryBaseResponse.getErrmsg())) { } else if (OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType()) && CancelDeliveryResponseDto.hasCollectMsg.equals(deliveryBaseResponse.getErrmsg())) {
com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest orderRefundRequest = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest(); com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest orderRefundRequest = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest();
......
...@@ -488,13 +488,13 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -488,13 +488,13 @@ public class MallOrderServiceImpl implements MallOrderService {
return gson.toJson(message); return gson.toJson(message);
} }
orderRefund(orderBean, groupWorkJoinResponse.getMsg()); orderRefund(orderBean, groupWorkJoinResponse.getMsg());
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return gson.toJson(message); return gson.toJson(message);
} }
if ("2".equals(groupWorkJoinResponse.getResult().getGroupStatus())) { if ("2".equals(groupWorkJoinResponse.getResult().getGroupStatus())) {
orderRefund(orderBean, "成团失败,退款流程"); orderRefund(orderBean, "成团失败,退款流程");
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return gson.toJson(message); return gson.toJson(message);
} }
if (StringUtils.isEmpty(orderBean.getSpellGroupCode())) { if (StringUtils.isEmpty(orderBean.getSpellGroupCode())) {
......
...@@ -45,13 +45,17 @@ public class OrderQueueService { ...@@ -45,13 +45,17 @@ public class OrderQueueService {
public void backOrdersNotifyActivity(OrderBeanV1 orderBean) { public void backOrdersNotifyActivity(OrderBeanV1 orderBean) {
String oid = orderBean.getOid(); String oid = orderBean.getOid();
Integer statusV1 = orderBean.getStatus(); Integer statusV1 = orderBean.getStatus();
this.backOrdersStatusChange(oid, statusV1); this.backOrdersStatusChange(oid, statusV1, orderBean.getCompanyId());
}
public void backOrdersStatusChange(OrderBeanV1 orderBean) {
this.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(),orderBean.getPayStatus(), orderBean.getCompanyId());
} }
/** /**
* 失败订单冲正 mq * 失败订单冲正 mq
*/ */
public void backOrdersStatusChange(String oid, Integer orderStatus, Integer payStatus) { public void backOrdersStatusChange(String oid, Integer orderStatus, Integer payStatus, String partnerId) {
if (StringUtils.isEmpty(oid)) { if (StringUtils.isEmpty(oid)) {
return; return;
} }
...@@ -60,6 +64,7 @@ public class OrderQueueService { ...@@ -60,6 +64,7 @@ public class OrderQueueService {
requestDto.setOid(oid); requestDto.setOid(oid);
requestDto.setPayStatus(payStatus); requestDto.setPayStatus(payStatus);
requestDto.setOrderStatus(orderStatus); requestDto.setOrderStatus(orderStatus);
requestDto.setPartnerId(partnerId);
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
...@@ -71,7 +76,7 @@ public class OrderQueueService { ...@@ -71,7 +76,7 @@ public class OrderQueueService {
} }
public void backOrdersStatusChange(String oid, Integer orderStatusV1) { public void backOrdersStatusChange(String oid, Integer orderStatusV1, String partnerId) {
if (StringUtils.isEmpty(oid)) { if (StringUtils.isEmpty(oid)) {
return; return;
} }
...@@ -79,6 +84,7 @@ public class OrderQueueService { ...@@ -79,6 +84,7 @@ public class OrderQueueService {
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid); requestDto.setOid(oid);
requestDto.setOrderStatus(orderStatusV1); requestDto.setOrderStatus(orderStatusV1);
requestDto.setPartnerId(partnerId);
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
......
...@@ -1821,7 +1821,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1821,7 +1821,7 @@ public class OrderServiceImpl implements Orderservice {
} }
} }
// TODO: 2019/9/10 删除订单通知 // TODO: 2019/9/10 删除订单通知
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
weChatLiveMsgHandle.reportOrderStatus(orderBean, 3); weChatLiveMsgHandle.reportOrderStatus(orderBean, 3);
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -1870,7 +1870,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1870,7 +1870,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR.getCode(), baseOrderResponse.getErrmsg()); return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR.getCode(), baseOrderResponse.getErrmsg());
} }
// TODO: 2019/9/10 删除订单通知 // TODO: 2019/9/10 删除订单通知
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return ResponseUtil.success(); return ResponseUtil.success();
} }
...@@ -2034,7 +2034,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2034,7 +2034,7 @@ public class OrderServiceImpl implements Orderservice {
if (baseResponse != null) { if (baseResponse != null) {
return baseResponse; return baseResponse;
} // 删除订单 通知活动添加商品库存 } // 删除订单 通知活动添加商品库存
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} else { } else {
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest(); CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
...@@ -3069,7 +3069,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3069,7 +3069,7 @@ public class OrderServiceImpl implements Orderservice {
} else { } else {
fail = false; fail = false;
// 删除订单 通知活动添加商品库存 // 删除订单 通知活动添加商品库存
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} }
// 记录失败 // 记录失败
if (fail) { if (fail) {
...@@ -3355,7 +3355,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3355,7 +3355,7 @@ public class OrderServiceImpl implements Orderservice {
cancelOrderRequest.setRefundDeliveryAmount(true); cancelOrderRequest.setRefundDeliveryAmount(true);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest); BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest);
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return newSendPaySuccessNoticeMessage(); return newSendPaySuccessNoticeMessage();
} }
......
...@@ -1069,7 +1069,7 @@ public class PayServiceImpl { ...@@ -1069,7 +1069,7 @@ public class PayServiceImpl {
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp cancelOrderResponse = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp cancelOrderResponse = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
//如果编辑订单支付信息失败,冲正 //如果编辑订单支付信息失败,冲正
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), PayStatusEnum.NOT_PAY.getCode()); orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), PayStatusEnum.NOT_PAY.getCode(), orderBean.getCompanyId());
return ResponseUtil.error(response.getCode(), response.getMessage()); return ResponseUtil.error(response.getCode(), response.getMessage());
} }
return null; return null;
...@@ -1126,7 +1126,7 @@ public class PayServiceImpl { ...@@ -1126,7 +1126,7 @@ public class PayServiceImpl {
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp cancelOrderResponse = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp cancelOrderResponse = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
// TODO: 2019/9/10 hubowen mq推送变更 // TODO: 2019/9/10 hubowen mq推送变更
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), PayStatusEnum.NOT_PAY.getCode()); orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), PayStatusEnum.NOT_PAY.getCode(), orderBean.getCompanyId());
} }
//svc 卡支付失败 //svc 卡支付失败
if (CollectionUtils.isNotEmpty(cardCodes)) { if (CollectionUtils.isNotEmpty(cardCodes)) {
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
package cn.freemud.service.thirdparty; package cn.freemud.service.thirdparty;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest; import com.freemud.sdk.api.assortment.order.request.stock.UpdateProductStockRequestDto;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -28,7 +28,7 @@ public interface StockClient { ...@@ -28,7 +28,7 @@ public interface StockClient {
* 扣减库存 * 扣减库存
*/ */
@PostMapping("/reduceStocks") @PostMapping("/reduceStocks")
BaseResponse reducesStocks(@RequestBody UpdateStocksRequest requestDto); BaseResponse reducesStocks(@RequestBody UpdateProductStockRequestDto requestDto);
} }
...@@ -779,7 +779,7 @@ public abstract class UniversalOrderService { ...@@ -779,7 +779,7 @@ public abstract class UniversalOrderService {
AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null); AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
//如果编辑订单支付信息失败,冲正 //如果编辑订单支付信息失败,冲正
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg()); return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
} }
...@@ -795,7 +795,7 @@ public abstract class UniversalOrderService { ...@@ -795,7 +795,7 @@ public abstract class UniversalOrderService {
AfterSalesType.SYSTEM_CANCEL, StringUtils.join(new String[]{"获取预支付失败", msg}, '-'), trackingNo, null); AfterSalesType.SYSTEM_CANCEL, StringUtils.join(new String[]{"获取预支付失败", msg}, '-'), trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
// TODO: 2019/9/10 hubowen mq推送变更 // TODO: 2019/9/10 hubowen mq推送变更
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} }
//svc 卡支付失败 //svc 卡支付失败
if (StringUtils.isNotBlank(cardCode)) { if (StringUtils.isNotBlank(cardCode)) {
......
...@@ -49,7 +49,7 @@ public class StockHandle { ...@@ -49,7 +49,7 @@ public class StockHandle {
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(orderBean.getOid()); requestDto.setOid(orderBean.getOid());
requestDto.setOrderStatus(orderBean.getStatus()); requestDto.setOrderStatus(orderBean.getStatus());
requestDto.setPartnerId(orderBean.getCompanyId());
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderBean.getOid(), backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderBean.getOid(), backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
......
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