Commit d8a9a4c1 by ping.wu

冲正mq队列名修改,获取订单状态判断迁移到statusV2

parent 12c8fddc
......@@ -125,7 +125,7 @@ public class OrderSdkAdapter {
var1.setPartnerId(orderBean.getCompanyId());
var1.setOrderId(orderBean.getOid());
var1.setReason(reason);
if (orderBean.getStatus() == 1) {
if (Objects.equals(orderBean.getStatusV2(), NewOrderStatus.PLACE_AN_ORDER.getIndex())) {
var1.setAfterSalesType(AfterSalesType.PARTNER_REJECT);
} else {
var1.setAfterSalesType(AfterSalesType.SYSTEM_CANCEL);
......
......@@ -90,7 +90,7 @@ public class AssortmentSdkUpdateOrderProductInfoRequest extends BaseConfig {
/**
* 消息Queue信息
*/
MqMessageRequest mqMessageRequest;
// MqMessageRequest mqMessageRequest;
/**
* 其他结算列表
......
......@@ -23,7 +23,7 @@ public class OrderRefundRequest extends BaseConfig {
/**
* 订单状态
*/
private Integer orderStatus;
private Integer orderStatusV1;
// 申请金额,单位分,如果是全部退款,并且传递null,则自动填入 订单用户需支付金额"
private Long reqAmount = null;
......
......@@ -24,6 +24,8 @@ public class OrderStatusChangeRequestDto {
* 订单状态
*/
private Integer orderStatus;
private Integer orderStatusV2;
/**
* 支付状态
*/
......
......@@ -91,7 +91,6 @@ import static com.freemud.application.sdk.api.membercenter.constant.InterfaceAdd
import static com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.RESPONSE_SUCCESS;
import static com.freemud.sdk.api.assortment.order.domain.ResponseCodeConstant.RESPONSE_SUCCESS_STR;
//import com.freemud.sdk.api.assortment.order.response.payment.OrderPayResponse;
@Import(ManagerOrderBeanConfig.class)
@Service
public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
......@@ -142,6 +141,9 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
@Value("${version.upgrade.weekDay:}")
private List<Integer> weekDay;
private static final String backOrdersChangeOrderStatusConsumerQueue = "program.backorders_change_order_status_consumer_queue";
private static final String backOrdersNotifyActivityExchange = "program.backorders_notify_activity_exchange";
@Override
public CreateOrderResponse createOrderFlow(CreateOrderRequest config) {
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest request = orderSdkAdapter.convent2NEWCreateOrderRequest(config.getBaseCreateOrderRequest());
......@@ -152,7 +154,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return getCreateOrderResponse(createOrderResponse.getErrcode().toString(), createOrderResponse.getErrmsg(), null);
}
BaseOrderResponse baseOrderResponse = updateStockAndScore(createOrderResponse.getData(), config.getBaseCreateOrderRequest().getProducts(), config.getBaseCreateOrderRequest().getActivityUpdateStockRequest(),
config.getBaseCreateOrderRequest().getAccounts(), config.getMqMessageRequest(),config.getBaseCreateOrderRequest().getMenuType(),config.getOpenId());
config.getBaseCreateOrderRequest().getAccounts(),config.getBaseCreateOrderRequest().getMenuType(),config.getOpenId());
if (!RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) {
return getCreateOrderResponse(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg(), null);
}
......@@ -173,7 +175,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
}
CreateFatherSonOrderRequest.OrderInfo productOrderRequest = createFatherSonOrderRequest.getOrderInfoList().stream().filter(orderBeanTemp -> 1 == orderBeanTemp.getBizType()).collect(Collectors.toList()).get(0);
BaseOrderResponse baseOrderResponse =updateStockAndScore(productOrderInfo.get(0), productOrderRequest.getProducts(), productOrderRequest.getActivityUpdateStockRequest(), productOrderRequest.getAccounts(),
createFatherSonOrderRequest.getMqMessageRequest(),createFatherSonOrderRequest.getMenuType(),createFatherSonOrderRequest.getOpenId());
createFatherSonOrderRequest.getMenuType(),createFatherSonOrderRequest.getOpenId());
if (!RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) {
return CreateFatherSonOrderResponse.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
}
......@@ -198,14 +200,13 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
* @param products
* @param updateStockRequest
* @param accounts
* @param mqMessageRequest
* @param menuType
* @param openId
* @return
*/
@Deprecated
private BaseOrderResponse updateStockAndScore(OrderBeanV1 orderBean, List<CreateOrderProductRequest> products, ActivityUpdateStockRequest updateStockRequest,
List<CreateOrderAccountRequest> accounts, MqMessageRequest mqMessageRequest, String menuType, String openId) {
List<CreateOrderAccountRequest> accounts, String menuType, String openId) {
//TODO 转换获取库存信息,扣减库存
UpdateStocksRequest updateStocksRequest = orderSdkAdapter.getUpdateProductStock(orderBean, products, StockChangeType.REDUCE,menuType);
if (updateStocksRequest != null && CollectionUtils.isNotEmpty(updateStocksRequest.getProductStocks())) {
......@@ -235,7 +236,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null);
orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getCode(), "活动库存不足");
}
}
......@@ -249,7 +250,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null);
orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足");
}
}
......@@ -264,7 +265,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null);
orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(couponLockResponseBaseResponse.getCode(), couponLockResponseBaseResponse.getMessage());
}
}
......@@ -303,7 +304,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
* 围餐更新库存和积分
*/
private BaseOrderResponse updateWcStockAndScore(OrderBeanV1 orderBean, List<CreateOrderProductRequest> products, ActivityUpdateStockRequest updateStockRequest,
List<CreateOrderAccountRequest> accounts, MqMessageRequest mqMessageRequest,String menuType) {
List<CreateOrderAccountRequest> accounts, String menuType) {
//扣减活动库存
ActivityUpdateStockRequest activityUpdateStockRequest = orderSdkAdapter.convert2ActivityUpdateStockRequest(orderBean, updateStockRequest);
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
......@@ -315,7 +316,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
"subtractStock", JSONObject.toJSONString(activityUpdateStockRequest), JSONObject.toJSONString(activityResponse));
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, activityResponse.getCode())) {
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getCode(), "当前活动人数已满");
}
}
......@@ -326,7 +327,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
BaseResponse<CouponRedeemResponse> couponRedeemResponseBaseResponse = offlineCouponSdkService.couponRedeem(couponVerificationRequest, "");
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponseBaseResponse.getCode())) {
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponseBaseResponse.getCode(), "优惠券核销失败,请重试");
}
}
......@@ -337,7 +338,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
BaseResponse userScoreResponse = memberScoreService.useScore(userScoreRequest, "");
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, userScoreResponse.getCode())) {
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足");
}
}
......@@ -580,7 +581,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
//传入的售后单类型为:2:售中用户取消 8:售后申请
if(null != orderRefundRequest.getAfterSalesType()) {
request.setAfterSalesType(orderRefundRequest.getAfterSalesType().getIndex());
} else if (OrderStatusV1.COMPLETE.getCode().equals(orderRefundRequest.getOrderStatus())) {
} else if (OrderStatusV1.COMPLETE.getCode().equals(orderRefundRequest.getOrderStatusV1())) {
request.setAfterSalesType(AfterSalesType.USER_SALE_RETURN.getIndex());
} else {
request.setAfterSalesType(AfterSalesType.USER_CANCEL.getIndex());
......@@ -979,7 +980,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return orderSdkAdapter.convent2BaseOrderResponse(response);
} else {
for(int i=0;i<orderBean.getRefundList().size();i++) {
if (RefundStatusV1.PENDING.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
if (RefundStatusV1.APPLY_REFUND.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
AfterSalesOperateReq request = new AfterSalesOperateReq();
request.setOrderCode(cancelOrderRequest.getOrderId());
request.setPartnerId(cancelOrderRequest.getPartnerId());
......@@ -992,7 +993,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp response = orderSdkService.adultApproveWithRefundComplete(request, cancelOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
if (RefundStatusV1.COMPLETE.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
if (RefundStatusV1.COMPLETE_REFUND.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
BaseOrderResponse response = new BaseOrderResponse();
response.setErrcode(100);
response.setErrmsg("success");
......@@ -1010,7 +1011,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
orderRefundRequest.setReason(cancelOrderRequest.getReason());
orderRefundRequest.setRemark(cancelOrderRequest.getReqRemark());
orderRefundRequest.setOperator(cancelOrderRequest.getOperator());
orderRefundRequest.setOrderStatus(orderBean.getStatus());
orderRefundRequest.setOrderStatusV1(orderBean.getStatus());
orderRefundRequest.setCreateEvent(4);
BaseOrderResponse baseOrderResponse = orderRefund(orderRefundRequest);
......@@ -1410,47 +1411,48 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return updateDeliveryInfoById(updateDeliveryInfoByIdRequest);
}
/**
* 冲正商品库存,活动库存,商品库存,订单取消,退款
*
* @param orderBean 订单信息
* @param transType TransTypeEnum 冲正类型
*/
public void backOrdersNotifyActivity(OrderBeanV1 orderBean, List<Integer> transType, String backOrdersNotifyActivityQueue,
String backOrdersNotifyActivityExchange) {
if (orderBean == null) {
return;
}
// 删除订单 通知活动添加商品库存
ActivityCancelStockRequest activityCancelStockRequestDto = activitySdkAdapter.convert2ActivityCancelStockRequestDto(
orderBean, transType);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue);
MQMessage<ActivityCancelStockRequest> message = new MQMessage<>(header, activityCancelStockRequestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message);
ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
"backOrdersNotifyActivity_end", backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue + "_"
+ JSONObject.toJSONString(message));
} catch (Exception e) {
//TODO 邮件告警
ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
"backOrdersNotifyActivity_error", backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue);
}
}
// /**
// * 冲正商品库存,活动库存,商品库存,订单取消,退款
// *
// * @param orderBean 订单信息
// * @param transType TransTypeEnum 冲正类型
// */
// public void backOrdersNotifyActivity(OrderBeanV1 orderBean, List<Integer> transType, String backOrdersNotifyActivityQueue,
// String backOrdersNotifyActivityExchange) {
// if (orderBean == null) {
// return;
// }
// // 删除订单 通知活动添加商品库存
// ActivityCancelStockRequest activityCancelStockRequestDto = activitySdkAdapter.convert2ActivityCancelStockRequestDto(
// orderBean, transType);
// try {
// Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue);
// MQMessage<ActivityCancelStockRequest> message = new MQMessage<>(header, activityCancelStockRequestDto);
// mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message);
// ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
// "backOrdersNotifyActivity_end", backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue + "_"
// + JSONObject.toJSONString(message));
// } catch (Exception e) {
// //TODO 邮件告警
// ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
// "backOrdersNotifyActivity_error", backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue);
// }
// }
private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) {
if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) {
private void backOrdersNotifyActivity(OrderBeanV1 orderBean) {
if (null == orderBean) {
return;
}
String oid = orderBean.getOid();
Integer status = orderBean.getStatus();
Integer statusV1 = orderBean.getStatus();
if (StringUtils.isEmpty(oid)) {
return;
}
AssortOrderLogUtil.info("backOrdersStatusChange", oid, String.valueOf(status));
AssortOrderLogUtil.info("backOrdersStatusChange", oid, String.valueOf(statusV1));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setOrderStatus(status);
requestDto.setOrderStatus(statusV1);
requestDto.setOrderStatusV2(orderBean.getStatusV2());
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
......@@ -1703,7 +1705,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
queryOrderByIdResponse.getData().setUserId(updateOrderProductInfoRequest.getUserId());
}
BaseOrderResponse baseOrderResponse = this.updateWcStockAndScore(queryOrderByIdResponse.getData(), orderItemListByRequest, updateOrderProductInfoRequest.getActivityUpdateStockRequest(), updateOrderProductInfoRequest.getAccounts(),
updateOrderProductInfoRequest.getMqMessageRequest(), updateOrderProductInfoRequest.getMenuType());
updateOrderProductInfoRequest.getMenuType());
if (!Objects.equals(baseOrderResponse.getErrcode(), RESPONSE_SUCCESS)) {
OrderDetailResponse orderDetailResponse = new OrderDetailResponse();
orderDetailResponse.setErrcode(baseOrderResponse.getErrcode());
......@@ -1716,8 +1718,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
if (AssortmentSdkUpdateOrderProductInfoRequest.OpUpdateOrderItemEnum.updatePrePayPrice == updateOrderProductInfoRequest.getOpUpdateOrderItemEnum()) {
if (baseResponse == null || ObjectUtils.notEqual(baseResponse.getErrcode(),RESPONSE_SUCCESS)){
MqMessageRequest mqMessageRequest = updateOrderProductInfoRequest.getMqMessageRequest();
backOrdersNotifyActivity(queryOrderByIdResponse.getData(), mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
backOrdersNotifyActivity(queryOrderByIdResponse.getData());
}
}
/**
......
......@@ -139,10 +139,6 @@ public class OrderAdapter {
private List<String> cocoPartnerId;
@Value("${saas.refund.notify.callback}")
private String refundNotifyCallback;
@Value("${program.backorders_change_order_status_consumer_queue}")
private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange;
@Autowired
private ShoppingCartAdapter shoppingCartAdapter;
......@@ -952,7 +948,7 @@ public class OrderAdapter {
if (CollectionUtils.isNotEmpty(ordersBean.getRefundList())) {
responseVo.setRefundTips(orderViewStatusDto.getRefundStatusText());
}
if (OrderStatusV1.COMPLETE.getCode().equals(ordersBean.getStatus()) && null != ordersBean.getGmtCompleteTime() && 0l != ordersBean.getGmtCompleteTime()) {
if (OrderStatusV1.COMPLETE.getV2Code().equals(ordersBean.getStatusV2()) && null != ordersBean.getGmtCompleteTime() && 0l != ordersBean.getGmtCompleteTime()) {
responseVo.setCompleteTime(DateUtil.convert2String(new Date(ordersBean.getGmtCompleteTime()), "yyyy-MM-dd HH:mm:ss"));
}
responseVo.setTakeMealFlows(getTakeMealFlows(ordersBean));
......@@ -1046,8 +1042,8 @@ public class OrderAdapter {
responseVo.setAfterRefundInterval(true);
}
//如果是已取消、拒单、已完成的订单,则设置不能申请取消订单
if (OrderStatusV1.CANCEL.getCode().equals(ordersBean.getStatus())
|| OrderStatusV1.COMPLETE.getCode().equals(ordersBean.getStatus())) {
if (OrderStatusV1.CANCEL.getV2Code().equals(ordersBean.getStatusV2())
|| OrderStatusV1.COMPLETE.getV2Code().equals(ordersBean.getStatusV2())) {
responseVo.setAfterRefundInterval(false);
}
//商品信息转换
......@@ -1138,7 +1134,7 @@ public class OrderAdapter {
responseVo.setDiscountTotalAmount(discountTotalAmount);
responseVo.setDownstreamThirdOrderCode(ordersBean.getDownstreamThirdOrderCode());
responseVo.setEnableRefund(false);
if (OrderStatusV1.TAKE_ORDER.getCode().equals(ordersBean.getStatus()) && PayStatus.HAVE_PAID.getCode().equals(ordersBean.getPayStatus())) {
if (OrderStatusV1.TAKE_ORDER.getV2Code().equals(ordersBean.getStatusV2()) && PayStatus.HAVE_PAID.getCode().equals(ordersBean.getPayStatus())) {
responseVo.setEnableRefund(true);
}
responseVo.setBizType(ordersBean.getBizType());
......@@ -1146,9 +1142,9 @@ public class OrderAdapter {
if (ordersBean.getBizType() == 6) {
responseVo.setButtonRefund(false);
}
List<Integer> enableRefundCodes = Lists.newArrayList(Arrays.asList(
OrderStatusV1.RECEIPT.getCode(), OrderStatusV1.COMPLETE_MAKE.getCode()));
if (enableRefundCodes.contains(ordersBean.getStatus()) && PayStatus.HAVE_PAID.getCode().equals(ordersBean.getPayStatus())) {
List<Integer> newEnableRefundCodes = Lists.newArrayList(Arrays.asList(
OrderStatusV1.RECEIPT.getV2Code(), OrderStatusV1.COMPLETE_MAKE.getV2Code()));
if (newEnableRefundCodes.contains(ordersBean.getStatusV2()) && PayStatus.HAVE_PAID.getCode().equals(ordersBean.getPayStatus())) {
responseVo.setEnableRefund(true);
}
responseVo.setMarketingType(ordersBean.getMarketingType());
......@@ -1314,13 +1310,13 @@ public class OrderAdapter {
.active(false)
.icon("icon-service")
.build());
if (OrderStatusV1.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())) {
takeMealFlows.get(0).setActive(true);
}
if (OrderStatusV1.RECEIPT.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.RECEIPT.getV2Code().equals(orderBean.getStatusV2())) {
takeMealFlows.get(1).setActive(true);
}
if (OrderStatusV1.COMPLETE_MAKE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE_MAKE.getV2Code().equals(orderBean.getStatusV2())) {
takeMealFlows.get(2).setActive(true);
}
}
......@@ -1345,16 +1341,16 @@ public class OrderAdapter {
.active(false)
.icon("icon-service")
.build());
if (OrderStatusV1.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())) {
takeMealFlows.get(0).setActive(true);
}
if (OrderStatusV1.RECEIPT.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.RECEIPT.getV2Code().equals(orderBean.getStatusV2())) {
takeMealFlows.get(1).setActive(true);
}
if (OrderStatusV1.DISTRIBUTION.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.DISTRIBUTION.getV2Code().equals(orderBean.getStatusV2())) {
takeMealFlows.get(2).setActive(true);
}
if (OrderStatusV1.COMPLETE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE.getV2Code().equals(orderBean.getStatusV2())) {
takeMealFlows.get(3).setActive(true);
}
}
......@@ -1379,19 +1375,19 @@ public class OrderAdapter {
orderViewStatusDto.setRiderPhoto("");
/**本次订单状态中英文翻译不考虑美业的业务**/
if (OrderTypeV1.COLLECT_GOODS.getCode().equals(orderBean.getOrderType()) || OrderTypeV1.EAT_IN.getCode().equals(orderBean.getOrderType())) {
if (OrderStatusV1.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.WAIT_PAY.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.WAIT_PAY.getCode());
orderViewStatusDto.setOrderStatusDesc(OrderStatusV1.WAIT_PAY.getDesc());
orderViewStatusDto.setOrderStatusDescEn(OrderStatusV1.WAIT_PAY.getDescEn());
orderViewStatusDto.setOrderStatusDescText("");
}
if (OrderStatusV1.CANCEL.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.CANCEL.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.CANCEL.getCode());
orderViewStatusDto.setOrderStatusDesc(OrderStatusV1.CANCEL.getDesc());
orderViewStatusDto.setOrderStatusDescEn(OrderStatusV1.CANCEL.getDescEn());
orderViewStatusDto.setOrderStatusDescText("");
}
if (OrderStatusV1.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())) {
if (refundBean == null || RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.TAKE_ORDER.getCode());
orderViewStatusDto.setOrderStatusDesc(conventCreateOrderString(orderBean));
......@@ -1422,7 +1418,7 @@ public class OrderAdapter {
orderViewStatusDto.setRefundStatusText("如有疑问可致电商家沟通确认");
}
}
if (OrderStatusV1.RECEIPT.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.RECEIPT.getV2Code().equals(orderBean.getStatusV2())) {
if (refundBean == null || RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.RECEIPT.getCode());
// orderViewStatusDto.setOrderStatusDesc(OrderStatusV1.RECEIPT.getDesc());
......@@ -1450,7 +1446,7 @@ public class OrderAdapter {
orderViewStatusDto.setRefundStatusText("如有疑问可致电商家沟通确认");
}
}
if (OrderStatusV1.COMPLETE_MAKE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE_MAKE.getV2Code().equals(orderBean.getStatusV2())) {
if (refundBean == null) {
orderViewStatusDto.setButtonRefund(checkRefundButton(orderBean, wxAppId));
}
......@@ -1480,17 +1476,17 @@ public class OrderAdapter {
}
if (OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
if (BizTypeEnum.MALL.getBizType() ==orderBean.getBizType()) {
if (OrderStatusV1.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.WAIT_PAY.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.WAIT_PAY.getCode());
orderViewStatusDto.setOrderStatusDesc("待支付");
orderViewStatusDto.setOrderStatusDescText("");
}
if (OrderStatusV1.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.WAIT_PAY.getCode());
orderViewStatusDto.setOrderStatusDesc("已支付");
orderViewStatusDto.setOrderStatusDescText("");
}
if (OrderStatusV1.RECEIPT.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.RECEIPT.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.RECEIPT.getCode());
orderViewStatusDto.setOrderStatusDesc("待发货");
orderViewStatusDto.setOrderStatusDescText("请稍等片刻,商品即将发货哦~");
......@@ -1500,7 +1496,7 @@ public class OrderAdapter {
orderViewStatusDto.setButtonRefund(checkRefundButton(orderBean, wxAppId));
orderViewStatusDto.setButtonContactPartner(true);
}
if (OrderStatusV1.DISTRIBUTION.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.DISTRIBUTION.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.DISTRIBUTION.getCode());
orderViewStatusDto.setOrderStatusDesc("已发货");
orderViewStatusDto.setOrderStatusDescText("请稍等片刻,商品已经发货哦~");
......@@ -1510,7 +1506,7 @@ public class OrderAdapter {
orderViewStatusDto.setButtonRefund(checkRefundButton(orderBean, wxAppId));
orderViewStatusDto.setButtonContactPartner(true);
}
if (OrderStatusV1.COMPLETE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.COMPLETE.getCode());
orderViewStatusDto.setOrderStatusDesc("已完成");
orderViewStatusDto.setOrderStatusDescText("订单已经完成,记得来评价一下哦~");
......@@ -1520,7 +1516,7 @@ public class OrderAdapter {
orderViewStatusDto.setButtonRefund(checkRefundButton(orderBean, wxAppId));
orderViewStatusDto.setButtonContactPartner(true);
}
if (OrderStatusV1.CANCEL.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.CANCEL.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.CANCEL.getCode());
orderViewStatusDto.setOrderStatusDesc("已取消");
orderViewStatusDto.setOrderStatusDescText("订单已经取消~");
......@@ -1531,13 +1527,13 @@ public class OrderAdapter {
orderViewStatusDto.setButtonContactPartner(true);
}
} else {
if (OrderStatusV1.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.WAIT_PAY.getV2Code().equals(orderBean.getStatusV2())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.WAIT_PAY.getCode());
orderViewStatusDto.setOrderStatusDesc(OrderStatusV1.WAIT_PAY.getDesc());
orderViewStatusDto.setOrderStatusDescEn(OrderStatusV1.WAIT_PAY.getDescEn());
orderViewStatusDto.setOrderStatusDescText("");
}
if (OrderStatusV1.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())) {
if (refundBean == null || RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) {
if (orderBean.getDeliverStatus() == null) {
orderViewStatusDto.setRiderName("商家自配送");
......@@ -1564,7 +1560,7 @@ public class OrderAdapter {
orderViewStatusDto.setRefundStatusText("如有疑问可致电商家沟通确认");
}
}
if (OrderStatusV1.RECEIPT.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.RECEIPT.getV2Code().equals(orderBean.getStatusV2())) {
if (refundBean == null || RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) {
if (orderBean.getDeliverStatus() == null) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.RECEIPT.getCode());
......@@ -1599,7 +1595,7 @@ public class OrderAdapter {
orderViewStatusDto.setRefundStatusText("如有疑问可致电商家沟通确认");
}
}
if (OrderStatusV1.COMPLETE_MAKE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE_MAKE.getV2Code().equals(orderBean.getStatusV2())) {
if (refundBean == null || RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) {
if (orderBean.getDeliverStatus() == null) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.COMPLETE_MAKE.getCode());
......@@ -1632,7 +1628,7 @@ public class OrderAdapter {
}
}
//TODO 判断配送中的逻辑 如果是有第三方配送,要查询第三方配送信息,显示骑手信息 如果有骑手信息 显示 联系骑手
if (OrderStatusV1.DISTRIBUTION.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.DISTRIBUTION.getV2Code().equals(orderBean.getStatusV2())) {
if (orderBean.getDeliverStatus() == null || DeliverStatus.OTHER.getCode().equals(orderBean.getDeliverStatus())
|| DeliverStatus.DELIVER_OTHER.getCode().equals(orderBean.getDeliverStatus())) {
orderViewStatusDto.setOrderStatus(OrderStatusV1.DISTRIBUTION.getCode());
......@@ -1701,7 +1697,7 @@ public class OrderAdapter {
orderViewStatusDto.setButtonContactPartner(true);
}
if (OrderStatusV1.COMPLETE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE.getV2Code().equals(orderBean.getStatusV2())) {
// TODO: 2019/9/9 获取商户退款配置
if (refundBean != null && refundBean.getStatus() != null) {
orderViewStatusDto.setButtonRefund(false);
......@@ -3013,10 +3009,6 @@ public class OrderAdapter {
sdkUpdateOrderProductInfoRequest.setAccounts(new ArrayList<>());
sdkUpdateOrderProductInfoRequest.setUpdateAccounts(isUpdateAccounts);
sdkUpdateOrderProductInfoRequest.setMenuType(BusinessTypeEnum.SAAS_WC.getCode());
MqMessageRequest mqMessageRequest = new MqMessageRequest();
mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange);
mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue);
sdkUpdateOrderProductInfoRequest.setMqMessageRequest(mqMessageRequest);
if (StringUtils.isNotBlank(createReserveOrderVo.getCardCode())) {
sdkUpdateOrderProductInfoRequest.setPayChannel("10102");
sdkUpdateOrderProductInfoRequest.setPayChannelName("储值卡支付");
......@@ -3741,11 +3733,11 @@ public class OrderAdapter {
//校验有没有售后单,一笔订单只会存在一笔售后单,售后单展示为取消展示申请退款按钮
AfterSalesOrderResp afterSalesOrderResp = orderBean.getAfterSalesOrderResp();
List<Integer> orderStatusList = Arrays.asList(OrderStatusV1.WAIT_PAY.getCode(), OrderStatusV1.RECEIPT.getCode(), OrderStatusV1.DISTRIBUTION.getCode(), OrderStatusV1.COMPLETE.getCode());
List<Integer> newOrderStatusList = Arrays.asList(OrderStatusV1.WAIT_PAY.getV2Code(), OrderStatusV1.RECEIPT.getV2Code(), OrderStatusV1.DISTRIBUTION.getV2Code(), OrderStatusV1.COMPLETE.getV2Code());
List<Integer> afterSaleStatusList = Arrays.asList(AfterSalesStatus.PENDING.getIndex(), AfterSalesStatus.RETURNING.getIndex(), AfterSalesStatus.GOODS_RETURNED.getIndex(), AfterSalesStatus.REJECTED.getIndex(), AfterSalesStatus.COMPLETE.getIndex());
//已发货
if (null != orderBean.getGmtDelivery()) {
if (orderStatusList.contains(orderBean.getStatus()) && (null == afterSalesOrderResp || (AfterSalesStatus.CANCEL.getIndex() == afterSalesOrderResp.getAfterSalesStatus()))) {
if (newOrderStatusList.contains(orderBean.getStatusV2()) && (null == afterSalesOrderResp || (AfterSalesStatus.CANCEL.getIndex() == afterSalesOrderResp.getAfterSalesStatus()))) {
refundButtonDisable = true;
}
if (null == orderBean.getAfterSalesOrderResp() && null != orderBean.getGmtDelivery() && (DateUtil.addDays(new Date(orderBean.getGmtDelivery()), 30)).compareTo(new Date()) == -1) {
......@@ -3759,7 +3751,7 @@ public class OrderAdapter {
}
} else {
List<Integer> noDeliveryAfterSalesStatus = Arrays.asList(AfterSalesStatus.PENDING.getIndex(), AfterSalesStatus.COMPLETE.getIndex());
if (orderStatusList.contains(orderBean.getStatus()) && (null == afterSalesOrderResp || (AfterSalesStatus.CANCEL.getIndex() == afterSalesOrderResp.getAfterSalesStatus()))) {
if (newOrderStatusList.contains(orderBean.getStatusV2()) && (null == afterSalesOrderResp || (AfterSalesStatus.CANCEL.getIndex() == afterSalesOrderResp.getAfterSalesStatus()))) {
refundButtonDisable = true;
}
if (null != orderBean.getAfterSalesOrderResp() && noDeliveryAfterSalesStatus.contains(orderBean.getAfterSalesOrderResp().getAfterSalesStatus())) {
......@@ -3771,11 +3763,11 @@ public class OrderAdapter {
private boolean getOrderCompareAfterSaleOrder(OrderBeanV1 orderBean) {
boolean orderCompareAfterSaleOrder = false;
List<Integer> orderStatusList = Arrays.asList(OrderStatusV1.RECEIPT.getCode(), OrderStatusV1.DISTRIBUTION.getCode(), OrderStatusV1.COMPLETE.getCode());
List<Integer> newOrderStatusList = Arrays.asList(OrderStatusV1.RECEIPT.getV2Code(), OrderStatusV1.DISTRIBUTION.getV2Code(), OrderStatusV1.COMPLETE.getV2Code());
//是否忽略售后单状态”呀,大部分情况都是false;只有拒绝退款后继续发货状态并行时新赠的“是否忽略售后单状态”字段为true
AfterSalesOrderResp afterSalesOrderResp = orderBean.getAfterSalesOrderResp();
if (null != afterSalesOrderResp && ((Objects.equals(AfterSalesStatus.CANCEL.getIndex(), afterSalesOrderResp.getAfterSalesStatus()) && (Objects.equals(OrderStatusV1.DISTRIBUTION.getCode(), orderBean.getStatus()) || Objects.equals(OrderStatusV1.COMPLETE.getCode(), orderBean.getStatus()))) ||
(Objects.equals(AfterSalesStatus.REJECTED.getIndex(), afterSalesOrderResp.getAfterSalesStatus()) && (orderStatusList.contains(orderBean.getStatus()))))) {
if (null != afterSalesOrderResp && ((Objects.equals(AfterSalesStatus.CANCEL.getIndex(), afterSalesOrderResp.getAfterSalesStatus()) && (Objects.equals(OrderStatusV1.DISTRIBUTION.getV2Code(), orderBean.getStatusV2()) || Objects.equals(OrderStatusV1.COMPLETE.getV2Code(), orderBean.getStatusV2()))) ||
(Objects.equals(AfterSalesStatus.REJECTED.getIndex(), afterSalesOrderResp.getAfterSalesStatus()) && (newOrderStatusList.contains(orderBean.getStatusV2()))))) {
orderCompareAfterSaleOrder = true;
}
return orderCompareAfterSaleOrder;
......
......@@ -372,32 +372,6 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
return orderSdkAdapter.convent2BaseOrderResponse(response);
}
// private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) {
// if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) {
// return;
// }
// String oid = orderBean.getOid();
// Integer status = orderBean.getStatus();
// if (StringUtils.isEmpty(oid)) {
// return;
// }
// AssortOrderLogUtil.info("backOrdersStatusChange", oid, String.valueOf(status));
// OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
// requestDto.setOid(oid);
// requestDto.setOrderStatus(status);
// try {
// Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
// MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
// mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
// } catch (Exception e) {
// //TODO 邮件告警
// ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
// "backOrdersStatusChangeNotify_error", backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue);
// }
// }
List<String> getOrgCodes(String partnerId, String storeCode) {
GetOrgTreeListRequest request = new GetOrgTreeListRequest();
request.setPartnerId(partnerId);
......
......@@ -152,14 +152,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private String reverseNotifyiDcUrl;
@Value("${mcCafe.refund.interval}")
private String mccafeRefundInterval;
@Value("${program.backorders_change_order_status_consumer_queue}")
private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange;
@Value("${mq.queue.cloud_print_queue}")
private String cloudPrintQueue;
@Value("${mq.cloud_print_exchange}")
private String cloud_print_exchange;
@Value("${saas.order.delivery.mcCafe.callBackUrl}")
private String deliveryCallBackUrl;
@Value("${mcCafe.quickOrder.interval}")
......@@ -268,6 +260,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
@Autowired
private AssortmentCustomerInfoManager assortmentCustomerInfoManager;
@Autowired
private OrderQueueService orderQueueService;
@Autowired
private PayServiceImpl payServiceImpl;
......@@ -442,34 +437,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return queryOrderByIdResponseDto;
}
public void backOrdersStatusChange(String oid, Integer orderStatus) {
if (StringUtils.isEmpty(oid)) {
return;
}
// AppLogUtil.debugLotsParams("backOrdersStatusChange oid:{} orderStatus:{}", oid, String.valueOf(orderStatus));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setOrderStatus(orderStatus);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) {
AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(requestDto), "", e);
}
}
private QueryOrderByIdResponseDto getQueryOrderByIdResponseDto(String oid) {
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(oid);
baseQueryOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
String string = JSONObject.toJSONString(queryOrderByIdResponse);
JSONObject jsonObject = JSONObject.parseObject(string);
return jsonObject.toJavaObject(QueryOrderByIdResponseDto.class);
}
/**
* 支付后通知确认返回信息
*/
......@@ -775,7 +742,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
AfterSalesType.SYSTEM_CANCEL, "获取预支付失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest);
// TODO: 2019/9/10 hubowen mq推送变更
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
}
//svc 卡支付失败
if (StringUtils.isNotBlank(cardCode)) {
......@@ -950,7 +917,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest);
//如果编辑订单支付信息失败,冲正
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
}
......@@ -989,7 +956,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
}
}
// 如果订单状态不是未支付,返回信息
// if (!PayStatus.NOT_PAY.getCode().equals(orderBean.getPayStatus()) || !OrderStatus.WAIT_PAY.getCode().equals(orderBean.getStatus())) {
// return sendPaySuccessNoticeMessage();
// }
......@@ -1098,35 +1064,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
//发送支付成功模板消息
this.sendPaySuccessMessage(orderBean);
}
// 有云打印机 打印小票,杯贴
try {
List<AssortmentCloudPrinter> storePrinters = cloudPrinterManager.getStorePrinters(partnerId, storeId);
if (null != storePrinters && storePrinters.size() > 0) {
boolean printerStatus = false;
for (AssortmentCloudPrinter cloudPrinter : storePrinters) {
if (null != cloudPrinter.getStatus() && cloudPrinter.getStatus() == 1) {
printerStatus = true;
}
}
//在线打印
if (printerStatus) {
OrderPrintDto orderPrintDto = orderAdapter.convert2OrderPrintDto(orderBean);
orderPrintDto.setDaySeq(daySeq);
orderPrintDto.setOtherCode(takeCode);
asynchronousPrint(orderPrintDto);
}
}
} catch (Exception e) {
AppLogUtil.errorLog("cloudPrint_error", null, null, e);
}
//TODO 埋点支付行为
BuriedPointPaymentRequestDto requestDto = new BuriedPointPaymentRequestDto();
requestDto.setStoreId(storeId);
requestDto.setPartnerId(partnerId);
requestDto.setWxAppId(wxappid);
requestDto.setSessionId(sessionId);
requestDto.setOpenId(orderExtInfoDto != null ? orderExtInfoDto.getOpenid() : "");
buriedPointService.BuriedPointPayment(requestDto, orderBean);
if(OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
//获取门店信息
......@@ -1309,10 +1246,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
//是否退配送费 麦咖啡必退配送费
boolean isRefundDeliveryFee = true;
// AssortmentOpenPlatformPartnerWxappConfig refundDeliveryFeeConfig = configMap.get(OrderRefundEnum.REFUND_DELIVERY_FEE_ENABLE.getKeyValue());
// LogUtil.info("orderRefund of oid:{}, {}, {}", orderBean.getOid(),orderBean.getStatus(), (null != refundDeliveryFeeConfig ? ToStringBuilder.reflectionToString(refundDeliveryFeeConfig) : null));
// // 0、null表示 关闭 ; 1 表示开启
// if (null != refundDeliveryFeeConfig
// && Arrays.asList(OrderStatus.DISTRIBUTION.getCode()).contains(orderBean.getStatus())
// && !ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())) {
// isRefundDeliveryFee = false;
// }
......@@ -1336,7 +1271,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return baseResponse;
}
// 删除订单 通知活动添加商品库存
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
} 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();
......@@ -1349,7 +1284,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderRefundRequest.setReason(orderRefundVo.getReason());
orderRefundRequest.setRemark(orderRefundVo.getRemarks());
orderRefundRequest.setOperator(orderBean.getUserName());
orderRefundRequest.setOrderStatus(orderBean.getStatus());
orderRefundRequest.setOrderStatusV1(orderBean.getStatus());
orderRefundRequest.setActualAmount(orderBean.getAmount());
orderRefundRequest.setReqAmount(orderBean.getAmount());
......@@ -1464,7 +1399,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderRefundRequest.setAfterSalesType(AfterSalesType.USER_CANCEL);
orderRefundRequest.setReason("门店线下退款");
orderRefundRequest.setOperator("门店营业人员");
orderRefundRequest.setOrderStatus(orderBean.getStatus());
orderRefundRequest.setOrderStatusV1(orderBean.getStatus());
orderRefundRequest.setActualAmount(orderBean.getAmount());
orderRefundRequest.setReqAmount(orderBean.getAmount());
orderRefundRequest.setTrackingNo(trackingNo);
......@@ -2087,18 +2022,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
}
}
/**
* 发MQ去打印
*
* @param request
*/
public void asynchronousPrint(OrderPrintDto request) {
Header header = new Header(MQAction.INSERT.getAction(), "asynchronous-print-api", request.getOid() + "", cloudPrintQueue);
MQMessage<OrderPrintDto> message = new MQMessage<>(header, request);
mqService.convertAndSend(cloud_print_exchange, cloudPrintQueue, message);
}
/**
* 月享卡2.0发券
* @param orderBean
......
......@@ -510,15 +510,6 @@ public class MallOrderServiceImpl implements MallOrderService {
newShoppingCartClearDto.setChannelType(OrderChannelType.SAASMALL.getCode());
shoppingCartClient.clearShoppingCart(newShoppingCartClearDto);
// 埋点支付行为
BuriedPointPaymentRequestDto requestDto = new BuriedPointPaymentRequestDto();
requestDto.setStoreId(storeId);
requestDto.setPartnerId(partnerId);
requestDto.setWxAppId(wxappid);
requestDto.setSessionId(sessionId);
requestDto.setOpenId(orderExtInfoDto != null ? orderExtInfoDto.getOpenid() : "");
buriedPointService.BuriedPointPayment(requestDto, orderBean);
//支付回掉成功标记
redisCache.save(RedisKeyConstant.KGD_PAYMENT_CALLBACK_FMID + message.getOut_trade_no(), message.getOut_trade_no(), 10L, TimeUnit.MINUTES);
if (message.getSource() != null && message.getSource().equals(PaySuccessSource.OUTSIDE.getSource())) {
......@@ -845,7 +836,7 @@ public class MallOrderServiceImpl implements MallOrderService {
// 配送中,完成状态的,用户可填写
List<Integer> enableRefundExpressCodes = Arrays.asList(NewOrderStatus.DELIVERING.getIndex(), NewOrderStatus.COMPLETE.getIndex());
if (enableRefundExpressCodes.contains(orderBean.getStatus()) && PayStatus.HAVE_PAID.getCode().equals(orderBean.getPayStatus())) {
if (enableRefundExpressCodes.contains(orderBean.getStatusV2()) && PayStatus.HAVE_PAID.getCode().equals(orderBean.getPayStatus())) {
EditAfterSalesExpressRequest editAfterSalesExpressRequest = new EditAfterSalesExpressRequest();
editAfterSalesExpressRequest.setPartnerId(orderBean.getCompanyId());
editAfterSalesExpressRequest.setStoreId(orderBean.getShopId());
......
......@@ -12,6 +12,7 @@ import cn.freemud.redis.RedisCache;
import cn.freemud.utils.AppLogUtil;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.config.TopicExchangeConfig;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.sdk.api.assortment.order.request.order.OrderStatusChangeRequestDto;
import org.apache.commons.lang.StringUtils;
import org.springframework.amqp.core.Message;
......@@ -31,18 +32,21 @@ public class OrderQueueService {
private RedisCache redisCache;
// TODO: 21-9-17 定义常量
@Value("${program.backorders_change_order_status_consumer_queue}")
private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange;
private static final String backOrdersChangeOrderStatusConsumerQueue = "program.backorders_change_order_status_consumer_queue";
private static final String backOrdersNotifyActivityExchange = "program.backorders_notify_activity_exchange";
@Value("${mq.queue.cloud_print_queue}")
private String cloudPrintQueue;
@Value("${mq.cloud_print_exchange}")
private String cloud_print_exchange;
public void backOrdersNotifyActivity(OrderBeanV1 orderBean) {
String oid = orderBean.getOid();
Integer statusV1 = orderBean.getStatus();
this.backOrdersStatusChange(oid, statusV1);
}
/**
* 失败订单冲正 mq
*/
......@@ -66,14 +70,14 @@ public class OrderQueueService {
}
public void backOrdersStatusChange(String oid, Integer orderStatus) {
public void backOrdersStatusChange(String oid, Integer orderStatusV1) {
if (StringUtils.isEmpty(oid)) {
return;
}
AppLogUtil.infoLog("backOrdersStatusChange oid:{} orderStatus:{}", oid, String.valueOf(orderStatus));
AppLogUtil.infoLog("backOrdersStatusChange oid:{} orderStatus:{}", oid, String.valueOf(orderStatusV1));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setOrderStatus(orderStatus);
requestDto.setOrderStatus(orderStatusV1);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
......@@ -83,7 +87,7 @@ public class OrderQueueService {
AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(requestDto), "", e);
}
String redisKey = RedisKeyConstant.KGD_PAYMENT_CANCEL_OID + oid ;
String redisKey = RedisKeyConstant.KGD_PAYMENT_CANCEL_OID + oid;
//取消支付订单缓存
redisCache.save(redisKey, true, 120L, TimeUnit.MINUTES);
}
......@@ -91,7 +95,6 @@ public class OrderQueueService {
/**
* 发MQ去打印
*
*/
public void asynchronousPrint(OrderPrintDto request) {
// AppLogUtil.debugLog("OrderPrintDto", JSONObject.toJSONString(request), null);
......
......@@ -1963,7 +1963,6 @@ public class OrderServiceImpl implements Orderservice {
// return baseResponse;
// }
// // 删除订单 通知活动添加商品库存
// orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus());
// return ResponseUtil.success();
// }
//
......
......@@ -99,15 +99,11 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
@Autowired
private MQService mqService;
@Autowired
private PayServiceImpl payServiceimpl;
@Value("${program.backorders_change_order_status_consumer_queue}")
private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange;
@Autowired
private OrderQueueService orderQueueService;
@Autowired
private PromotionDiscountClient promotionDiscountClient;
......@@ -240,7 +236,7 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null);
orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, backOrdersChangeOrderStatusConsumerQueue, backOrdersNotifyActivityExchange);
orderQueueService.backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getStatusCode(), "活动库存不足");
}
}
......@@ -350,28 +346,4 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
return null;
}
private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) {
if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) {
return;
}
String oid = orderBean.getOid();
Integer status = orderBean.getStatus();
if (StringUtils.isEmpty(oid)) {
return;
}
// AppLogUtil.infoLog("backOrdersStatusChange", oid, String.valueOf(status));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setOrderStatus(status);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) {
ErrorLog.printErrorLog("backOrdersStatusChangeNotify_error","backOrdersStatusChangeNotify",requestDto,e);
}
}
}
......@@ -199,31 +199,6 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
return BaseOrderResponse.getErrorBaseOrderResponse(RESPONSE_SUCCESS_STR, "");
}
private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) {
if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) {
return;
}
String oid = orderBean.getOid();
Integer status = orderBean.getStatus();
if (StringUtils.isEmpty(oid)) {
return;
}
AppLogUtil.infoLog("backOrdersStatusChange", oid, String.valueOf(status));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setOrderStatus(status);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) {
//TODO 邮件告警
ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
"backOrdersStatusChangeNotify_error", backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue);
}
}
private CreateOrderResponse getCreateOrderResponse(String code, String message, OrderBeanV1 data) {
CreateOrderResponse baseOrderResponse = new CreateOrderResponse();
baseOrderResponse.setErrcode(Integer.valueOf(code));
......
......@@ -270,7 +270,6 @@
// orderBeanNew.setShopName(orderBean.getShopName());
// orderBeanNew.setSource(orderBean.getSource());
// orderBeanNew.setSourceName(orderBean.getSourceName());
// orderBeanNew.setStatus(orderBean.getStatus());
// orderBeanNew.setTakeAddress(orderBean.getTakeAddress());
// orderBeanNew.setQueueIndex(orderBean.getQueueIndex());
// orderBeanNew.setType(orderBean.getType());
......@@ -409,7 +408,6 @@
// orderBeanNew.setShopName(orderBean.getShopName());
// orderBeanNew.setSource(orderBean.getSource());
// orderBeanNew.setSourceName(orderBean.getSourceName());
// orderBeanNew.setStatus(orderBean.getStatus());
// orderBeanNew.setTakeAddress(orderBean.getTakeAddress());
// orderBeanNew.setQueueIndex(orderBean.getQueueIndex());
// orderBeanNew.setType(orderBean.getType());
......
......@@ -29,6 +29,7 @@ import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.CheckOrderUniversal;
import cn.freemud.service.impl.OrderAdapterServiceImpl;
import cn.freemud.service.impl.OrderQueueService;
import cn.freemud.service.impl.PayServiceImpl;
import cn.freemud.service.impl.PaymentQueueService;
import cn.freemud.service.thirdparty.ComPayClient;
......@@ -149,16 +150,12 @@ public abstract class UniversalOrderService {
private OfflineCouponSdkService offlineCouponSdkService;
@Autowired
private CreateOrderServiceFactory createOrderServiceFactory;
@Autowired
private OrderQueueService orderQueueService;
@Value("${saas.reverseNotifyiDcUrl}")
protected String reverseNotifyiDcUrl;
@Value("${collage.pre_order_pay.goods_tag}")
private String collageGoodsTag;
@Value("${collage.pre_order_pay.goods_tag_list}")
private String collageGoodsTagList;
@Value("${program.backorders_change_order_status_consumer_queue}")
protected String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}")
protected String backOrdersNotifyActivityExchange;
private CheckOrderUniversal checkOrder;
......@@ -319,11 +316,8 @@ public abstract class UniversalOrderService {
*/
protected BaseResponse defalutSendActivityUpdateStock(CreateOrderBo createOrderBo, CreateOrderResponse createOrderResponse) {
ActivityUpdateStockRequest activityUpdateStockRequest = this.initActivityUpdateStockRequest(createOrderBo);
MqMessageRequest mqMessageRequest = new MqMessageRequest();
mqMessageRequest.setBackOrdersNotifyActivityExchange(backOrdersNotifyActivityExchange);
mqMessageRequest.setBackOrdersNotifyActivityQueue(backOrdersChangeOrderStatusConsumerQueue);
BaseOrderResponse baseOrderResponse = this.updateStockAndScore(createOrderResponse.getData(), createOrderBo.getShoppingCartGoodsDto(),
activityUpdateStockRequest, mqMessageRequest, createOrderBo.getCreateOrderBaseVo().getMenuType(), createOrderBo.getCreateOrderBaseVo().getUseCustomerScore());
activityUpdateStockRequest, createOrderBo.getCreateOrderBaseVo().getMenuType(), createOrderBo.getCreateOrderBaseVo().getUseCustomerScore());
if (!ResponseCodeConstant.RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) {
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg(), null);
}
......@@ -341,7 +335,6 @@ public abstract class UniversalOrderService {
protected BaseOrderResponse updateStockAndScore(OrderBeanV1 orderBean,
ShoppingCartGoodsDto shoppingCartGoodsDto,
ActivityUpdateStockRequest updateStockRequest,
MqMessageRequest mqMessageRequest,
String menuType,
Integer useCustomerScore) {
//TODO 转换获取库存信息,扣减库存
......@@ -362,7 +355,7 @@ public abstract class UniversalOrderService {
// 扣减积分,扣减失败冲正积分返回错误
UserScoreRequest userScoreRequest = createOrderAdapter.convent2UserScoreRequest(orderBean, shoppingCartGoodsDto, true, useCustomerScore);
baseResponse = this.reducesScore(userScoreRequest, orderBean, mqMessageRequest);
baseResponse = this.reducesScore(userScoreRequest, orderBean);
if (baseResponse != null) {
// 表示 操作失败
return baseResponse;
......@@ -371,7 +364,7 @@ public abstract class UniversalOrderService {
// 下单成锁定劵,冻结失败提示下单失败并冲正库存积分等,判断支付渠道,积分和svc卡直接核销,无需锁定10102 = svc卡支付 || 支付金额小于等于0
//todo:统一流程 下单锁券再核销
CouponLockRequest couponLockRequest = createOrderAdapter.convert2CouponLockRequest(orderBean, shoppingCartGoodsDto);
baseResponse = this.couponLock(couponLockRequest, orderBean, mqMessageRequest);
baseResponse = this.couponLock(couponLockRequest, orderBean);
if (baseResponse != null) {
// 表示 操作失败
return baseResponse;
......@@ -384,17 +377,16 @@ public abstract class UniversalOrderService {
*
* @param couponLockRequest
* @param orderBean
* @param mqMessageRequest
* @return
*/
protected BaseOrderResponse couponLock(CouponLockRequest couponLockRequest, OrderBeanV1 orderBean, MqMessageRequest mqMessageRequest) {
protected BaseOrderResponse couponLock(CouponLockRequest couponLockRequest, OrderBeanV1 orderBean) {
if (couponLockRequest != null) {
com.freemud.application.sdk.api.base.BaseResponse<CouponLockResponse> couponLockResponseBaseResponse = offlineCouponSdkService.couponLock(couponLockRequest, "");
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponLockResponseBaseResponse.getCode())) {
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null);
orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
orderQueueService.backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(couponLockResponseBaseResponse.getCode(), couponLockResponseBaseResponse.getMessage());
}
}
......@@ -406,10 +398,9 @@ public abstract class UniversalOrderService {
*
* @param userScoreRequest
* @param orderBean
* @param mqMessageRequest
* @return
*/
protected BaseOrderResponse reducesScore(UserScoreRequest userScoreRequest, OrderBeanV1 orderBean, MqMessageRequest mqMessageRequest) {
protected BaseOrderResponse reducesScore(UserScoreRequest userScoreRequest, OrderBeanV1 orderBean) {
if (userScoreRequest != null) {
com.freemud.application.sdk.api.base.BaseResponse userScoreResponse = memberScoreService.useScore(userScoreRequest, "");
if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, userScoreResponse.getCode())) {
......@@ -418,7 +409,7 @@ public abstract class UniversalOrderService {
AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null);
orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
orderQueueService.backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足");
}
}
......@@ -430,10 +421,9 @@ public abstract class UniversalOrderService {
*
* @param activityUpdateStockRequest
* @param orderBean
* @param mqMessageRequest
* @return
*/
protected BaseOrderResponse reducesActivityStocks(ActivityUpdateStockRequest activityUpdateStockRequest, OrderBeanV1 orderBean, MqMessageRequest mqMessageRequest) {
protected BaseOrderResponse reducesActivityStocks(ActivityUpdateStockRequest activityUpdateStockRequest, OrderBeanV1 orderBean) {
// update by miaohui 20201030 for 【ID1018638】【C端服务端】活动库存接口调整对接
// 原逻辑只检测扣减库存不为空时调用,现改为扣减库存不为空或参加活动不为空时调用
if (activityUpdateStockRequest != null && (CollectionUtils.isNotEmpty(activityUpdateStockRequest.getStock()) || CollectionUtils.isNotEmpty(activityUpdateStockRequest.getActivityList()))) {
......@@ -447,7 +437,7 @@ public abstract class UniversalOrderService {
AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null);
orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
orderQueueService.backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getCode(), "活动库存不足");
}
}
......@@ -491,30 +481,6 @@ public abstract class UniversalOrderService {
return null;
}
private void backOrdersNotifyActivity(OrderBeanV1 orderBean, String backOrdersChangeOrderStatusConsumerQueue, String backOrdersNotifyActivityExchange) {
if (null == orderBean || backOrdersChangeOrderStatusConsumerQueue == null || backOrdersNotifyActivityExchange == null) {
return;
}
String oid = orderBean.getOid();
Integer status = orderBean.getStatus();
if (StringUtils.isEmpty(oid)) {
return;
}
AppLogUtil.infoLog("backOrdersStatusChange", oid, String.valueOf(status));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setOrderStatus(status);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) {
//TODO 邮件告警
ThirdPartyLog.infoConvertJson(System.currentTimeMillis(), System.currentTimeMillis(),
"backOrdersStatusChangeNotify_error", backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue);
}
}
public BaseOrderResponse orderCancel(CancelOrderRequest cancelOrderRequest) {
OrderCancelReq request = new OrderCancelReq();
//商户号必传
......@@ -813,7 +779,7 @@ public abstract class UniversalOrderService {
AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest);
//如果编辑订单支付信息失败,冲正
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
}
......@@ -829,7 +795,7 @@ public abstract class UniversalOrderService {
AfterSalesType.SYSTEM_CANCEL, StringUtils.join(new String[]{"获取预支付失败", msg}, '-'), trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest);
// TODO: 2019/9/10 hubowen mq推送变更
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
}
//svc 卡支付失败
if (StringUtils.isNotBlank(cardCode)) {
......@@ -838,23 +804,7 @@ public abstract class UniversalOrderService {
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null);
}
public void backOrdersStatusChange(String oid, Integer orderStatus) {
if (StringUtils.isEmpty(oid)) {
return;
}
AppLogUtil.infoLog("backOrdersStatusChange", oid, String.valueOf(orderStatus));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid);
requestDto.setOrderStatus(orderStatus);
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersChangeOrderStatusConsumerQueue, message);
} catch (Exception e) {
AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(requestDto), "", e);
}
}
protected OrderPayResponse getOrderPayResponse(PaymentRequest paymentRequest, OrderBeanV1 orderBean) {
OrderPayResponse orderPayResponse;
......@@ -1179,18 +1129,6 @@ public abstract class UniversalOrderService {
}
}
private Map<String, String> goodsTagMap() {
Map<String, String> map = new HashMap<>();
try {
for (String pg : collageGoodsTagList.split(",")) {
map.put(pg.split(":")[0], pg.split(":")[1]);
}
} catch (Exception e) {
AppLogUtil.errorLog("goodsTag解析失败", JSONObject.toJSONString(collageGoodsTagList), null, e);
}
return map;
}
/**
* unionPay card pay
*
......
......@@ -153,17 +153,12 @@ public class SaasMallOrderService extends UniversalOrderService {
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest activityUpdateStockRequest = baseCreateOrderRequest.getActivityUpdateStockRequest();
List<CreateOrderAccountRequest> accounts = baseCreateOrderRequest.getAccounts();
// mq 老代码里 商城订单不发送mq 这里就注释下 需要再开放
MqMessageRequest mqMessageRequest = new MqMessageRequest();
// mqMessageRequest.setBackOrdersNotifyActivityExchange(super.backOrdersNotifyActivityExchange);
// mqMessageRequest.setBackOrdersNotifyActivityQueue(super.backOrdersChangeOrderStatusConsumerQueue);
String menuType = baseCreateOrderRequest.getMenuType();
BaseOrderResponse baseOrderResponse = this.updateStockAndScore(createOrderResponse.getData(),
products,
activityUpdateStockRequest,
accounts,
mqMessageRequest,
menuType);
if (!ResponseCodeConstant.RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) {
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg(), null);
......@@ -176,7 +171,6 @@ public class SaasMallOrderService extends UniversalOrderService {
List<CreateOrderProductRequest> products,
ActivityUpdateStockRequest updateStockRequest,
List<CreateOrderAccountRequest> accounts,
MqMessageRequest mqMessageRequest,
String menuType) {
//TODO 转换获取库存信息,扣减库存
UpdateStocksRequest updateProductStock = orderSdkAdapter.getUpdateProductStock(orderBean, products, StockChangeType.REDUCE, menuType);
......@@ -188,7 +182,7 @@ public class SaasMallOrderService extends UniversalOrderService {
}
//TODO 扣减活动库存
ActivityUpdateStockRequest activityUpdateStockRequest = orderSdkAdapter.convert2ActivityUpdateStockRequest(orderBean, updateStockRequest);
baseResponse = super.reducesActivityStocks(activityUpdateStockRequest, orderBean, mqMessageRequest);
baseResponse = super.reducesActivityStocks(activityUpdateStockRequest, orderBean);
if (baseResponse != null) {
// 表示 操作失败
return baseResponse;
......@@ -196,7 +190,7 @@ public class SaasMallOrderService extends UniversalOrderService {
// 扣减积分,扣减失败冲正积分返回错误
UserScoreRequest userScoreRequest = orderSdkAdapter.convent2UserScoreRequest(orderBean, accounts, true);
baseResponse = super.reducesScore(userScoreRequest, orderBean, mqMessageRequest);
baseResponse = super.reducesScore(userScoreRequest, orderBean);
if (baseResponse != null) {
// 表示 操作失败
return baseResponse;
......@@ -205,7 +199,7 @@ public class SaasMallOrderService extends UniversalOrderService {
// 下单成锁定劵,冻结失败提示下单失败并冲正库存积分等,判断支付渠道,积分和svc卡直接核销,无需锁定10102 = svc卡支付 || 支付金额小于等于0
//todo:统一流程 下单锁券再核销
CouponLockRequest couponLockRequest = orderSdkAdapter.convert2CouponLockRequest(orderBean, accounts);
baseResponse = super.couponLock(couponLockRequest, orderBean, mqMessageRequest);
baseResponse = super.couponLock(couponLockRequest, orderBean);
if (baseResponse != null) {
// 表示 操作失败
return baseResponse;
......
package cn.freemud.client;
import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService;
import cn.freemud.entities.dto.ActivityCancelStockRequestDto;
import cn.freemud.entities.dto.QueryOrdersResponseDto;
import cn.freemud.utils.FileUtil;
import cn.freemud.utils.AppLogUtil;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Arrays;
@RunWith(SpringRunner.class)
@SpringBootTest
@EnableDiscoveryClient
@EnableFeignClients
@EnableAutoConfiguration
public class MqTest {
@Autowired
private ActivityAdapter activityAdapter;
@Value("${program.backorders_notify_activity_queue}")
private String backOrdersNotifyActivityQueue;
@Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange;
@Autowired
private MQService mqService;
@Test
public void mqTest () {
String fileName = "test";
OrderBeanV1 orderBean = FileUtil.getObjectFromFile(fileName, OrderBeanV1.class);
// 删除订单 通知活动添加商品库存
ActivityCancelStockRequestDto activityCancelStockRequestDto = activityAdapter.convert2ActivityCancelStockRequestDto(
orderBean, Arrays.asList(1,2,3));
System.out.println(JSON.toJSONString(activityCancelStockRequestDto));
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue);
MQMessage<ActivityCancelStockRequestDto> message = new MQMessage<>(header, activityCancelStockRequestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message);
} catch (Exception e) {
AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(activityCancelStockRequestDto), "", e);
}
}
}
//package cn.freemud.client;
//
//import cn.freemud.adapter.ActivityAdapter;
//import cn.freemud.amqp.Header;
//import cn.freemud.amqp.MQAction;
//import cn.freemud.amqp.MQMessage;
//import cn.freemud.amqp.MQService;
//import cn.freemud.entities.dto.ActivityCancelStockRequestDto;
//import cn.freemud.entities.dto.QueryOrdersResponseDto;
//import cn.freemud.utils.FileUtil;
//import cn.freemud.utils.AppLogUtil;
//import com.alibaba.fastjson.JSON;
//import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
//import org.springframework.cloud.openfeign.EnableFeignClients;
//import org.springframework.test.context.junit4.SpringRunner;
//
//import java.util.Arrays;
//
//@RunWith(SpringRunner.class)
//@SpringBootTest
//@EnableDiscoveryClient
//@EnableFeignClients
//@EnableAutoConfiguration
//public class MqTest {
// @Autowired
// private ActivityAdapter activityAdapter;
// @Value("${program.backorders_notify_activity_queue}")
// private String backOrdersNotifyActivityQueue;
// @Value("${program.backorders_notify_activity_exchange}")
// private String backOrdersNotifyActivityExchange;
// @Autowired
// private MQService mqService;
// @Test
// public void mqTest () {
// String fileName = "test";
// OrderBeanV1 orderBean = FileUtil.getObjectFromFile(fileName, OrderBeanV1.class);
// // 删除订单 通知活动添加商品库存
// ActivityCancelStockRequestDto activityCancelStockRequestDto = activityAdapter.convert2ActivityCancelStockRequestDto(
// orderBean, Arrays.asList(1,2,3));
// System.out.println(JSON.toJSONString(activityCancelStockRequestDto));
// try {
// Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue);
// MQMessage<ActivityCancelStockRequestDto> message = new MQMessage<>(header, activityCancelStockRequestDto);
// mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message);
// } catch (Exception e) {
// AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(activityCancelStockRequestDto), "", e);
// }
//
// }
//}
......@@ -5,6 +5,7 @@ import cn.freemud.management.enums.OperateType;
import cn.freemud.management.enums.OrderStatus;
import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.structure.request.PushMessageNoticeDto;
import com.freemud.sdk.api.assortment.message.enums.MessageEventType;
......@@ -63,30 +64,30 @@ public class MessagePushAdapter {
content.setOrderClient(Integer.parseInt(order.getOrderClient()));
content.setPickUpGoodsNo(order.getOtherCode());
content.setUserId(order.getUserId());
Integer orderStatus = order.getStatus();
Integer orderStatusV1 = order.getStatus();
switch (opType) {
case ORDER_CONFIRM:
orderStatus = OrderStatus.RECEIPT.getCode();
orderStatusV1 = OrderStatusV1.RECEIPT.getCode();
break;
case ORDER_DONE:
orderStatus = OrderStatus.COMPLETE_MAKE.getCode();
orderStatusV1 = OrderStatusV1.COMPLETE_MAKE.getCode();
break;
case ORDER_SEND:
orderStatus = OrderStatus.DISTRIBUTION.getCode();
orderStatusV1 = OrderStatusV1.DISTRIBUTION.getCode();
break;
case ORDER_AFFIRM:
orderStatus = OrderStatus.COMPLETE.getCode();
orderStatusV1 = OrderStatusV1.COMPLETE.getCode();
break;
case ORDER_REJECT:
case ORDER_AGREE_REFUND:
orderStatus = OrderStatus.CANCEL.getCode();
orderStatusV1 = OrderStatusV1.CANCEL.getCode();
break;
case ORDER_REJECT_REFUND:
break;
default:
}
content.setOrderState(orderStatus);
content.setOrderState(orderStatusV1);
message.setContent(content);
pushMessageNoticeDto.setData(JSONObject.toJSONString(message));
return pushMessageNoticeDto;
......
......@@ -2,10 +2,10 @@ package cn.freemud.management.entities.dto.response.order;
import cn.freemud.management.enums.OrderStatus;
import cn.freemud.management.enums.RefundStatus;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.Size;
@Data
public class OrderManagerResponse {
......@@ -42,12 +42,12 @@ public class OrderManagerResponse {
this.refundStatus=refundStatus.getCode();
}
}
public OrderManagerResponse(OrderStatus status, RefundStatus refundStatus){
public OrderManagerResponse(OrderStatusV1 status, RefundStatusV1 refundStatus){
if (status!=null){
this.status=status.getCode();
}
if (refundStatus!=null){
this.refundStatus=refundStatus.getCode();
this.refundStatus=refundStatus.getCodeV1();
}
}
......
......@@ -12,7 +12,9 @@ import cn.freemud.management.service.handle.OrderVerifyHandle;
import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
......@@ -273,31 +275,31 @@ public class OrderManagerAdapter {
if (orderBean==null){
return result;
}
RefundStatus refundStatus = CollectionUtils.isNotEmpty(orderBean.getRefundList()) ? RefundStatus.getByCode(orderBean.getRefundList().get(0).getStatus()) : null;
OrderStatus orderStatus = OrderStatus.getByCode(orderBean.getStatus());
RefundStatusV1 refundStatus = CollectionUtils.isNotEmpty(orderBean.getRefundList()) ? RefundStatusV1.getRefundStatusByCodeV1(orderBean.getRefundList().get(0).getStatus()) : null;
OrderStatusV1 orderStatus = OrderStatusV1.getByCode(orderBean.getStatus());
if (ObjectUtils.equals(ResponseResult.SUCCESS.getCode(),result.getCode())){
OperateType byOpType = OperateType.getByOpType(request.getOperateType());
if (byOpType != null) {
switch (byOpType) {
case ORDER_CONFIRM:
orderStatus = OrderStatus.RECEIPT;
orderStatus = OrderStatusV1.RECEIPT;
break;
case ORDER_DONE:
orderStatus = OrderStatus.COMPLETE_MAKE;
orderStatus = OrderStatusV1.COMPLETE_MAKE;
break;
case ORDER_SEND:
orderStatus = OrderStatus.DISTRIBUTION;
orderStatus = OrderStatusV1.DISTRIBUTION;
break;
case ORDER_AFFIRM:
orderStatus = OrderStatus.COMPLETE;
orderStatus = OrderStatusV1.COMPLETE;
break;
case ORDER_REJECT:
case ORDER_AGREE_REFUND:
orderStatus = OrderStatus.CANCEL;
refundStatus = RefundStatus.COMPLETE_REFUND;
orderStatus = OrderStatusV1.CANCEL;
refundStatus = RefundStatusV1.COMPLETE_REFUND;
break;
case ORDER_REJECT_REFUND:
refundStatus = RefundStatus.REFUSE_REFUND;
refundStatus = RefundStatusV1.REFUSE_REFUND;
break;
default:
}
......
......@@ -14,8 +14,10 @@ import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.RefundBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.BizTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.MarketTypeEnum;
import com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus;
import com.freemud.application.sdk.api.ordercenter.enums.OperateClient;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderSourceV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderTypeV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1;
import com.freemud.sdk.api.assortment.message.enums.OrderType;
......@@ -95,7 +97,7 @@ public class OrderVerifyHandle {
if (orderBean == null) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
if (!OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
if (!OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER_CANNOT_CONFIRM, getOrderManagerResponse(orderBean));
}
return ResponseUtil.success();
......@@ -113,11 +115,11 @@ public class OrderVerifyHandle {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//已完成的订单不能配送
if (OrderStatus.COMPLETE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER_IS_COMPLETE_CAN_NOT_DELIVERY, getOrderManagerResponse(orderBean));
}
//订单已经发送过配送
if (OrderStatus.DISTRIBUTION.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.DISTRIBUTION.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.DELIVERY_SEND_REPETITION, getOrderManagerResponse(orderBean));
}
//判断订单状态是否为已经申请退款订单
......@@ -129,7 +131,7 @@ public class OrderVerifyHandle {
return ResponseUtil.error(ResponseResult.DELIVERY_SEND_APPLY_REFUND, getOrderManagerResponse(orderBean));
}
//外卖订单不是接单不能送出
if (!OrderStatus.RECEIPT.getCode().equals(orderBean.getStatus())) {
if (!OrderStatusV1.RECEIPT.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.DELIVERY_SEND_STATUS_NOTAKE, getOrderManagerResponse(orderBean));
}
//三方配送正在进行,不允许操作送出 除非是骑手已经取餐
......@@ -152,11 +154,11 @@ public class OrderVerifyHandle {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//已制作完成的订单不能重复操作
if (OrderStatus.COMPLETE_MAKE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE_MAKE.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.DONE_FAIL_REPETITION, getOrderManagerResponse(orderBean));
}
//订单非接单状态,不能制作完成
if (!OrderStatus.RECEIPT.getCode().equals(orderBean.getStatus())) {
if (!OrderStatusV1.RECEIPT.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.DONE_FAIL_NOT_ACCEPT, getOrderManagerResponse(orderBean));
}
//判断订单状态是否为已经申请退款订单
......@@ -184,11 +186,11 @@ public class OrderVerifyHandle {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
//判断订单是否已送达
if (OrderStatus.COMPLETE.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.COMPLETE.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.DELIVERY_SEND_REPETITION, getOrderManagerResponse(orderBean));
}
//已取消的订单不能操作
if (OrderStatus.CANCEL.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.CANCEL.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED, getOrderManagerResponse(orderBean));
}
//判断订单状态是否为已经申请退款订单
......@@ -199,7 +201,7 @@ public class OrderVerifyHandle {
return ResponseUtil.error(ResponseResult.AFFIRM_FAIL_APPLY_REFUND, getOrderManagerResponse(orderBean));
}
//校验订单是否为配送状态
if (isWaimai(orderBean) && ObjectUtils.notEqual(OrderStatus.DISTRIBUTION.getCode(), orderBean.getStatus())) {
if (isWaimai(orderBean) && ObjectUtils.notEqual(OrderStatusV1.DISTRIBUTION.getV2Code(), orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER_DELIVERY_FAILED, getOrderManagerResponse(orderBean));
}
//三方配送正在进行,不允许操作送出 除非是骑手已经取餐
......@@ -237,24 +239,25 @@ public class OrderVerifyHandle {
if (orderBean == null) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
Integer status = orderBean.getStatus();
Integer statusV2 = orderBean.getStatusV2();
//判断订单是否已经被拒单
if (OrderStatus.REFUSE.getCode().equals(status)) {
if (NewOrderStatus.CLOSED.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_REPETITION, getOrderManagerResponse(orderBean));
}
//判断订单是否已经取消
if (OrderStatus.CANCEL.getCode().equals(status)) {
return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED, getOrderManagerResponse(orderBean));
}
// if (OrderStatus.CANCEL.getCode().equals(status)) {
// return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED, getOrderManagerResponse(orderBean));
// }
//判断订单是否在配送中
if (OrderStatus.DISTRIBUTION.getCode().equals(status)) {
if (NewOrderStatus.DELIVERING.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_ORDER_IS_DELIVERY, getOrderManagerResponse(orderBean));
}
//判断订单是否已送达
if (OrderStatus.COMPLETE.getCode().equals(status)) {
if (NewOrderStatus.COMPLETE.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_ORDER_IS_COMPLETE, getOrderManagerResponse(orderBean));
}
if (!OrderStatus.TAKE_ORDER.getCode().equals(status)) {
if (!NewOrderStatus.PLACE_AN_ORDER.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_ORDER_IS_NOT_NEW, getOrderManagerResponse(orderBean));
}
return ResponseUtil.success();
......@@ -271,21 +274,21 @@ public class OrderVerifyHandle {
if (orderBean == null) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
Integer status = orderBean.getStatus();
Integer statusV2 = orderBean.getStatusV2();
//判断订单是否已经被拒单
if (OrderStatus.REFUSE.getCode().equals(status)) {
if (NewOrderStatus.CLOSED.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_REPETITION, getOrderManagerResponse(orderBean));
}
//判断订单是否已经取消
if (OrderStatus.CANCEL.getCode().equals(status)) {
return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED, getOrderManagerResponse(orderBean));
}
// if (OrderStatus.CANCEL.getCode().equals(status)) {
// return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED, getOrderManagerResponse(orderBean));
// }
//判断订单是否在配送中
if (OrderStatus.DISTRIBUTION.getCode().equals(status)) {
if (NewOrderStatus.DELIVERING.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_ORDER_IS_DELIVERY, getOrderManagerResponse(orderBean));
}
//判断订单是否已送达
if (OrderStatus.COMPLETE.getCode().equals(status)) {
if (NewOrderStatus.COMPLETE.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_ORDER_IS_COMPLETE, getOrderManagerResponse(orderBean));
}
return ResponseUtil.success();
......@@ -301,24 +304,26 @@ public class OrderVerifyHandle {
if (orderBean == null) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
Integer status = orderBean.getStatus();
Integer statusV2 = orderBean.getStatusV2();
//判断订单是否已经被拒单
if (OrderStatus.REFUSE.getCode().equals(status)) {
if (NewOrderStatus.CLOSED.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_REPETITION, getOrderManagerResponse(orderBean));
}
//判断订单是否已经取消
if (OrderStatus.CANCEL.getCode().equals(status)) {
return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED, getOrderManagerResponse(orderBean));
}
// if (OrderStatus.CANCEL.getCode().equals(status)) {
// return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED, getOrderManagerResponse(orderBean));
// }
//判断订单是否在配送中
if (OrderStatus.DISTRIBUTION.getCode().equals(status)) {
if (NewOrderStatus.DELIVERING.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_ORDER_IS_DELIVERY, getOrderManagerResponse(orderBean));
}
//判断订单是否已送达
if (OrderStatus.COMPLETE.getCode().equals(status)) {
if (NewOrderStatus.COMPLETE.getIndex().equals(statusV2)) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_ORDER_IS_COMPLETE, getOrderManagerResponse(orderBean));
}
if (!OrderStatus.TAKE_ORDER.getCode().equals(status) && !OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
if (!NewOrderStatus.PLACE_AN_ORDER.getIndex().equals(statusV2) && !OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
return ResponseUtil.error(ResponseResult.REJECT_FAIL_ORDER_IS_NOT_NEW, getOrderManagerResponse(orderBean));
}
return ResponseUtil.success();
......@@ -333,7 +338,7 @@ public class OrderVerifyHandle {
*/
public BaseResponse orderAgreeRefund(OrderBeanV1 orderBean, OrderManagerRequest request) {
//已取消的订单不能操作
if (ObjectUtils.equals(OrderStatus.CANCEL.getCode(), orderBean.getStatus())) {
if (ObjectUtils.equals(OrderStatusV1.CANCEL.getV2Code(), orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED);
}
//判断订单是否有申请退款
......@@ -368,7 +373,7 @@ public class OrderVerifyHandle {
*/
public BaseResponse mallOrderAgreeRefund(OrderBeanV1 orderBean, OrderManagerRequest request) {
//已取消的订单不能操作
if (ObjectUtils.equals(OrderStatus.CANCEL.getCode(), orderBean.getStatus())) {
if (ObjectUtils.equals(OrderStatusV1.CANCEL.getV2Code(), orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED);
}
//判断订单是否有申请退款
......@@ -401,14 +406,14 @@ public class OrderVerifyHandle {
*/
public BaseResponse orderAgreeRefundMCCafe(OrderBeanV1 orderBean, OrderManagerRequest request) {
//已取消的订单不能操作
if (ObjectUtils.equals(OrderStatus.CANCEL.getCode(), orderBean.getStatus())) {
if (ObjectUtils.equals(OrderStatusV1.CANCEL.getV2Code(), orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER_HAS_CANCELED);
}
for (RefundBeanV1 refundBean : orderBean.getRefundList()) {
if(RefundStatusV1.PENDING.getCodeV1().equals(refundBean.getStatus())) {
if(RefundStatusV1.APPLY_REFUND.getCodeV1().equals(refundBean.getStatus())) {
return ResponseUtil.success();
}
if(RefundStatusV1.COMPLETE.getCodeV1().equals(refundBean.getStatus())) {
if(RefundStatusV1.COMPLETE_REFUND.getCodeV1().equals(refundBean.getStatus())) {
return ResponseUtil.error(ResponseResult.AGREE_REFUND_ORDER_FAIL.getCode(), "订单已经退款完成,不能重复申请");
}
}
......@@ -437,8 +442,8 @@ public class OrderVerifyHandle {
}
//新订单,已完成,取消订单不能操作
if (OrderSource.SAAS.getSource().equals(orderBean.getSource())
&& (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())
|| OrderStatus.CANCEL.getCode().equals(orderBean.getStatus()))) {
&& (OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())
|| OrderStatusV1.CANCEL.getV2Code().equals(orderBean.getStatusV2()))) {
return ResponseUtil.error(ResponseResult.ORDER_REJECT_REFUND_STATUS_END);
}
return ResponseUtil.success();
......@@ -481,8 +486,8 @@ public class OrderVerifyHandle {
}
//新订单,已完成,取消订单不能操作
if (OrderSource.MALL.getSource().equals(orderBean.getSource())
&& (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())
|| OrderStatus.CANCEL.getCode().equals(orderBean.getStatus()))) {
&& (OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())
|| OrderStatusV1.CANCEL.getV2Code().equals(orderBean.getStatusV2()))) {
return ResponseUtil.error(ResponseResult.ORDER_REJECT_REFUND_STATUS_END);
}
return ResponseUtil.success();
......@@ -509,7 +514,7 @@ public class OrderVerifyHandle {
return ResponseUtil.error(ResponseResult.ORDER_REJECT_REFUND_REPETITION);
}
if (OrderStatus.CANCEL.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.CANCEL.getV2Code().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER_REJECT_REFUND_STATUS_END);
}
......
......@@ -234,7 +234,7 @@ public class SaasOrderHandle {
BaseOrderResponse baseOrderResponse = null;
for(int i=0;i<orderBean.getRefundList().size();i++) {
if (RefundStatusV1.PENDING.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
if (RefundStatusV1.APPLY_REFUND.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
refundAgreeRequest.setAfterSalesCode(orderBean.getRefundList().get(i).getRid());
if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus())) {
baseOrderResponse = orderCenterSdkService.refundComplete(refundAgreeRequest);
......@@ -242,7 +242,7 @@ public class SaasOrderHandle {
baseOrderResponse = orderCenterSdkService.refundReturn(refundAgreeRequest);
}
break;
} else if (RefundStatusV1.COMPLETE.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
} else if (RefundStatusV1.COMPLETE_REFUND.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
baseOrderResponse = new BaseOrderResponse();
baseOrderResponse.setErrcode(Integer.valueOf(ResponseResult.AGREE_REFUND_ORDER_FAIL.getCode()));
baseOrderResponse.setErrmsg("订单已经退款完成,不能重复申请");
......@@ -259,7 +259,7 @@ public class SaasOrderHandle {
orderRefundRequest.setAfterSalesType(AfterSalesType.PARTNER_CANCEL);
orderRefundRequest.setReason(refundAgreeRequest.getReason());
orderRefundRequest.setOperator(refundAgreeRequest.getOperator());
orderRefundRequest.setOrderStatus(orderBean.getStatus());
orderRefundRequest.setOrderStatusV1(orderBean.getStatus());
if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus())) {
orderRefundRequest.setCreateEvent(4);
} else {
......@@ -299,11 +299,11 @@ public class SaasOrderHandle {
BaseOrderResponse baseOrderResponse = null;
for(int i=0;i<orderBean.getRefundList().size();i++) {
if (RefundStatusV1.PENDING.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
if (RefundStatusV1.APPLY_REFUND.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
rejectRefundRequest.setAfterSalesCode(orderBean.getRefundList().get(i).getRid());
baseOrderResponse = orderCenterSdkService.orderRefundReject(rejectRefundRequest);
}
if (RefundStatusV1.COMPLETE.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
if (RefundStatusV1.COMPLETE_REFUND.getCodeV1().equals(orderBean.getRefundList().get(i).getStatus())) {
baseOrderResponse = new BaseOrderResponse();
baseOrderResponse.setErrcode(100);
baseOrderResponse.setErrmsg("success");
......
......@@ -41,7 +41,7 @@ public class StockHandle {
* @param orderBean
*/
public void revert(OrderManagerRequest request, OrderBeanV1 orderBean){
logUtil.info("backOrdersStatusChange oid:{},status:{}", orderBean.getOid(), String.valueOf(orderBean.getStatus()));
logUtil.info("backOrdersStatusChange oid:{},statusV2:{}", orderBean.getOid(), String.valueOf(orderBean.getStatusV2()));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(orderBean.getOid());
requestDto.setOrderStatus(orderBean.getStatus());
......
......@@ -16,6 +16,7 @@ import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseD
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.AbnormalStateEnum;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.OrderStatusV1;
import com.freemud.application.sdk.api.ordercenter.request.SdkUpdateAbnormalState;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.sdk.api.assortment.message.enums.OrderType;
......@@ -71,7 +72,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
}
OrderManagerRequest orderManagerRequest =new OrderManagerRequest();
BeanUtils.copyProperties(request,orderManagerRequest);
if (!OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus()) && !OrderStatus.RECEIPT.getCode().equals(orderBean.getStatus())){
if (!OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2()) && !OrderStatusV1.RECEIPT.getV2Code().equals(orderBean.getStatusV2())){
return ResponseUtil.error(ResponseResult.ORDER_STATUS_FAILED);
}
if (StringUtils.isNotEmpty(request.getPickUpGoodsNo())){
......@@ -81,7 +82,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
return ResponseUtil.error(ResponseResult.ORDER_UPDATE_PICKUP_FAILED);
}
}
if (OrderStatus.TAKE_ORDER.getCode().equals(orderBean.getStatus())) {
if (OrderStatusV1.TAKE_ORDER.getV2Code().equals(orderBean.getStatusV2())) {
// 订单接单
saasOrderHandle.orderConfirm(orderManagerRequest, orderBean);
}
......
......@@ -262,12 +262,12 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
*/
@Override
public BaseResponse<OrderManagerResponse> orderCancel(OrderManagerRequest request, OrderBeanV1 orderBean){
List<Integer> oldOrderStatusList = Arrays.asList(OrderStatusV1.RECEIPT.getCode(),OrderStatusV1.COMPLETE.getCode(),OrderStatusV1.COMPLETE_MAKE.getCode());
List<Integer> newOrderStatusList = Arrays.asList(OrderStatusV1.RECEIPT.getV2Code(),OrderStatusV1.COMPLETE.getV2Code(),OrderStatusV1.COMPLETE_MAKE.getV2Code());
List<String> sourceList = Arrays.asList(OrderSourceV1.SAAS.getCode(),OrderSourceV1.ALIPAY.getCode(),OrderSourceV1.APP.getCode());
if (sourceList.contains(orderBean.getSource()) && oldOrderStatusList.contains(orderBean.getStatus())) {
if (sourceList.contains(orderBean.getSource()) && newOrderStatusList.contains(orderBean.getStatusV2())) {
return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType());
} else if (OrderSourceV1.MEAL.getCode().equals(orderBean.getSource())) {
if (OrderStatusV1.WAIT_PAY.getCode().equals(orderBean.getStatus()) || PayType.CASH_ON_DELIVERY.getCode().compareTo(orderBean.getPayType()) == 0) {
if (OrderStatusV1.WAIT_PAY.getV2Code().equals(orderBean.getStatusV2()) || PayType.CASH_ON_DELIVERY.getCode().compareTo(orderBean.getPayType()) == 0) {
return executeCancel(request,orderBean, PayRefundStatus.SUCCESS.getCode(), AfterSalesType.SYSTEM_CANCEL.getIndex(), Integer.valueOf(orderBean.getOrderClient()));
} else {
return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType());
......
......@@ -189,7 +189,7 @@ public class OrderBeanV1 {
/**
* 订单状态 1 下单 2 待支付 3已接单 4 配送中 5 已完成 6 已取消 7 已拒单 31 制作完成
*/
@Deprecated
@Deprecated //不推荐使用,以前业务在使用能改就改,不能改不要动
private Integer status;
private Integer statusV2;
......
......@@ -5,18 +5,11 @@ public enum RefundStatusV1 {
//售后单状态 1:待处理 2:退货中 3:拒绝退款 4:已退货 5:完成 6:取消
//退款状态 1 申请退款 2 同意退款 3 已退货 4 退款完成 5 拒绝退款
// APPLY_REFUND(1, "申请退款"),
// AGREE_REFUND(2, "同意退款"),
// ALREADY_REFUND(3, "已退货"),
// COMPLETE_REFUND(4, "退款完成"),
// REFUSE_REFUND(5, "拒绝退款");
PENDING(1,1,"待处理"),
RETURNING(2,2,"退货中"),
REJECTED( 3,5,"拒绝退款"),
GOODS_RETURNED( 4,3,"已退货"),
COMPLETE( 5,4,"完成"),
APPLY_REFUND(1,1,"待处理"),
AGREE_REFUND(2,2,"退货中"),
REFUSE_REFUND( 3,5,"拒绝退款"),
ALREADY_REFUND( 4,3,"已退货"),
COMPLETE_REFUND( 5,4,"完成"),
CANCEL( 6,6,"取消");
......@@ -33,7 +26,7 @@ public enum RefundStatusV1 {
this.desc = desc;
}
public static RefundStatusV1 getNewCodeByCodeV1(Integer codeV1) {
public static RefundStatusV1 getRefundStatusByCodeV1(Integer codeV1) {
for (RefundStatusV1 status : values()) {
if (status.getCodeV1().equals(codeV1)) {
return status;
......
package cn.freemud.client;
import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService;
import cn.freemud.entities.dto.ActivityCancelStockRequestDto;
import cn.freemud.utils.FileUtil;
import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Arrays;
@RunWith(SpringRunner.class)
@SpringBootTest
@EnableDiscoveryClient
@EnableFeignClients
@EnableAutoConfiguration
public class MqTest {
@Autowired
private ActivityAdapter activityAdapter;
@Value("${program.backorders_notify_activity_queue}")
private String backOrdersNotifyActivityQueue;
@Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange;
@Autowired
private MQService mqService;
@Test
public void mqTest () {
String fileName = "test";
OrderBeanV1 orderBean = FileUtil.getObjectFromFile(fileName, OrderBeanV1.class);
// 删除订单 通知活动添加商品库存
ActivityCancelStockRequestDto activityCancelStockRequestDto = activityAdapter.convert2ActivityCancelStockRequestDto(
orderBean, Arrays.asList(1,2,3));
System.out.println(JSON.toJSONString(activityCancelStockRequestDto));
try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue);
MQMessage<ActivityCancelStockRequestDto> message = new MQMessage<>(header, activityCancelStockRequestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message);
} catch (Exception e) {
ErrorLog.errorConvertJson(this.getClass(),"ActivityReverse"+ JSON.toJSONString(activityCancelStockRequestDto),e);
}
}
}
//package cn.freemud.client;
//
//import cn.freemud.adapter.ActivityAdapter;
//import cn.freemud.amqp.Header;
//import cn.freemud.amqp.MQAction;
//import cn.freemud.amqp.MQMessage;
//import cn.freemud.amqp.MQService;
//import cn.freemud.entities.dto.ActivityCancelStockRequestDto;
//import cn.freemud.utils.FileUtil;
//import com.alibaba.fastjson.JSON;
//import com.freemud.application.sdk.api.log.ErrorLog;
//import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
//import org.springframework.cloud.openfeign.EnableFeignClients;
//import org.springframework.test.context.junit4.SpringRunner;
//
//import java.util.Arrays;
//
//@RunWith(SpringRunner.class)
//@SpringBootTest
//@EnableDiscoveryClient
//@EnableFeignClients
//@EnableAutoConfiguration
//public class MqTest {
// @Autowired
// private ActivityAdapter activityAdapter;
// @Value("${program.backorders_notify_activity_queue}")
// private String backOrdersNotifyActivityQueue;
// @Value("${program.backorders_notify_activity_exchange}")
// private String backOrdersNotifyActivityExchange;
// @Autowired
// private MQService mqService;
// @Test
// public void mqTest () {
// String fileName = "test";
// OrderBeanV1 orderBean = FileUtil.getObjectFromFile(fileName, OrderBeanV1.class);
// // 删除订单 通知活动添加商品库存
// ActivityCancelStockRequestDto activityCancelStockRequestDto = activityAdapter.convert2ActivityCancelStockRequestDto(
// orderBean, Arrays.asList(1,2,3));
// System.out.println(JSON.toJSONString(activityCancelStockRequestDto));
// try {
// Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue);
// MQMessage<ActivityCancelStockRequestDto> message = new MQMessage<>(header, activityCancelStockRequestDto);
// mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message);
// } catch (Exception e) {
// ErrorLog.errorConvertJson(this.getClass(),"ActivityReverse"+ JSON.toJSONString(activityCancelStockRequestDto),e);
// }
//
// }
//}
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