Commit d8a9a4c1 by ping.wu

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

parent 12c8fddc
...@@ -125,7 +125,7 @@ public class OrderSdkAdapter { ...@@ -125,7 +125,7 @@ public class OrderSdkAdapter {
var1.setPartnerId(orderBean.getCompanyId()); var1.setPartnerId(orderBean.getCompanyId());
var1.setOrderId(orderBean.getOid()); var1.setOrderId(orderBean.getOid());
var1.setReason(reason); var1.setReason(reason);
if (orderBean.getStatus() == 1) { if (Objects.equals(orderBean.getStatusV2(), NewOrderStatus.PLACE_AN_ORDER.getIndex())) {
var1.setAfterSalesType(AfterSalesType.PARTNER_REJECT); var1.setAfterSalesType(AfterSalesType.PARTNER_REJECT);
} else { } else {
var1.setAfterSalesType(AfterSalesType.SYSTEM_CANCEL); var1.setAfterSalesType(AfterSalesType.SYSTEM_CANCEL);
......
...@@ -90,7 +90,7 @@ public class AssortmentSdkUpdateOrderProductInfoRequest extends BaseConfig { ...@@ -90,7 +90,7 @@ public class AssortmentSdkUpdateOrderProductInfoRequest extends BaseConfig {
/** /**
* 消息Queue信息 * 消息Queue信息
*/ */
MqMessageRequest mqMessageRequest; // MqMessageRequest mqMessageRequest;
/** /**
* 其他结算列表 * 其他结算列表
......
...@@ -23,7 +23,7 @@ public class OrderRefundRequest extends BaseConfig { ...@@ -23,7 +23,7 @@ public class OrderRefundRequest extends BaseConfig {
/** /**
* 订单状态 * 订单状态
*/ */
private Integer orderStatus; private Integer orderStatusV1;
// 申请金额,单位分,如果是全部退款,并且传递null,则自动填入 订单用户需支付金额" // 申请金额,单位分,如果是全部退款,并且传递null,则自动填入 订单用户需支付金额"
private Long reqAmount = null; private Long reqAmount = null;
......
...@@ -24,6 +24,8 @@ public class OrderStatusChangeRequestDto { ...@@ -24,6 +24,8 @@ public class OrderStatusChangeRequestDto {
* 订单状态 * 订单状态
*/ */
private Integer orderStatus; private Integer orderStatus;
private Integer orderStatusV2;
/** /**
* 支付状态 * 支付状态
*/ */
......
...@@ -372,32 +372,6 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -372,32 +372,6 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
return orderSdkAdapter.convent2BaseOrderResponse(response); 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) { List<String> getOrgCodes(String partnerId, String storeCode) {
GetOrgTreeListRequest request = new GetOrgTreeListRequest(); GetOrgTreeListRequest request = new GetOrgTreeListRequest();
request.setPartnerId(partnerId); request.setPartnerId(partnerId);
......
...@@ -152,14 +152,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -152,14 +152,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private String reverseNotifyiDcUrl; private String reverseNotifyiDcUrl;
@Value("${mcCafe.refund.interval}") @Value("${mcCafe.refund.interval}")
private String mccafeRefundInterval; 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}") @Value("${saas.order.delivery.mcCafe.callBackUrl}")
private String deliveryCallBackUrl; private String deliveryCallBackUrl;
@Value("${mcCafe.quickOrder.interval}") @Value("${mcCafe.quickOrder.interval}")
...@@ -268,6 +260,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -268,6 +260,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
@Autowired @Autowired
private AssortmentCustomerInfoManager assortmentCustomerInfoManager; private AssortmentCustomerInfoManager assortmentCustomerInfoManager;
@Autowired
private OrderQueueService orderQueueService;
@Autowired @Autowired
private PayServiceImpl payServiceImpl; private PayServiceImpl payServiceImpl;
...@@ -442,34 +437,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -442,34 +437,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return queryOrderByIdResponseDto; 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 { ...@@ -775,7 +742,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
AfterSalesType.SYSTEM_CANCEL, "获取预支付失败", trackingNo, null); AfterSalesType.SYSTEM_CANCEL, "获取预支付失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
// TODO: 2019/9/10 hubowen mq推送变更 // TODO: 2019/9/10 hubowen mq推送变更
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
} }
//svc 卡支付失败 //svc 卡支付失败
if (StringUtils.isNotBlank(cardCode)) { if (StringUtils.isNotBlank(cardCode)) {
...@@ -950,7 +917,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -950,7 +917,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null); AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
//如果编辑订单支付信息失败,冲正 //如果编辑订单支付信息失败,冲正
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg()); return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
} }
...@@ -989,7 +956,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -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(); // return sendPaySuccessNoticeMessage();
// } // }
...@@ -1098,35 +1064,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1098,35 +1064,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
//发送支付成功模板消息 //发送支付成功模板消息
this.sendPaySuccessMessage(orderBean); 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())) { if(OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType())) {
//获取门店信息 //获取门店信息
...@@ -1309,10 +1246,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1309,10 +1246,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
//是否退配送费 麦咖啡必退配送费 //是否退配送费 麦咖啡必退配送费
boolean isRefundDeliveryFee = true; boolean isRefundDeliveryFee = true;
// AssortmentOpenPlatformPartnerWxappConfig refundDeliveryFeeConfig = configMap.get(OrderRefundEnum.REFUND_DELIVERY_FEE_ENABLE.getKeyValue()); // 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 表示开启 // // 0、null表示 关闭 ; 1 表示开启
// if (null != refundDeliveryFeeConfig // if (null != refundDeliveryFeeConfig
// && Arrays.asList(OrderStatus.DISTRIBUTION.getCode()).contains(orderBean.getStatus())
// && !ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())) { // && !ALLOW_REFUND.equals(refundDeliveryFeeConfig.getAppValue())) {
// isRefundDeliveryFee = false; // isRefundDeliveryFee = false;
// } // }
...@@ -1336,7 +1271,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1336,7 +1271,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return baseResponse; 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())) { } else if(OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType()) && CancelDeliveryResponseDto.hasCollectMsg.equals(deliveryBaseResponse.getErrmsg())) {
com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest orderRefundRequest = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest(); com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest orderRefundRequest = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest();
...@@ -1349,7 +1284,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1349,7 +1284,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderRefundRequest.setReason(orderRefundVo.getReason()); orderRefundRequest.setReason(orderRefundVo.getReason());
orderRefundRequest.setRemark(orderRefundVo.getRemarks()); orderRefundRequest.setRemark(orderRefundVo.getRemarks());
orderRefundRequest.setOperator(orderBean.getUserName()); orderRefundRequest.setOperator(orderBean.getUserName());
orderRefundRequest.setOrderStatus(orderBean.getStatus()); orderRefundRequest.setOrderStatusV1(orderBean.getStatus());
orderRefundRequest.setActualAmount(orderBean.getAmount()); orderRefundRequest.setActualAmount(orderBean.getAmount());
orderRefundRequest.setReqAmount(orderBean.getAmount()); orderRefundRequest.setReqAmount(orderBean.getAmount());
...@@ -1464,7 +1399,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1464,7 +1399,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderRefundRequest.setAfterSalesType(AfterSalesType.USER_CANCEL); orderRefundRequest.setAfterSalesType(AfterSalesType.USER_CANCEL);
orderRefundRequest.setReason("门店线下退款"); orderRefundRequest.setReason("门店线下退款");
orderRefundRequest.setOperator("门店营业人员"); orderRefundRequest.setOperator("门店营业人员");
orderRefundRequest.setOrderStatus(orderBean.getStatus()); orderRefundRequest.setOrderStatusV1(orderBean.getStatus());
orderRefundRequest.setActualAmount(orderBean.getAmount()); orderRefundRequest.setActualAmount(orderBean.getAmount());
orderRefundRequest.setReqAmount(orderBean.getAmount()); orderRefundRequest.setReqAmount(orderBean.getAmount());
orderRefundRequest.setTrackingNo(trackingNo); orderRefundRequest.setTrackingNo(trackingNo);
...@@ -2087,18 +2022,6 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -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发券 * 月享卡2.0发券
* @param orderBean * @param orderBean
......
...@@ -510,15 +510,6 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -510,15 +510,6 @@ public class MallOrderServiceImpl implements MallOrderService {
newShoppingCartClearDto.setChannelType(OrderChannelType.SAASMALL.getCode()); newShoppingCartClearDto.setChannelType(OrderChannelType.SAASMALL.getCode());
shoppingCartClient.clearShoppingCart(newShoppingCartClearDto); 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); 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())) { if (message.getSource() != null && message.getSource().equals(PaySuccessSource.OUTSIDE.getSource())) {
...@@ -845,7 +836,7 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -845,7 +836,7 @@ public class MallOrderServiceImpl implements MallOrderService {
// 配送中,完成状态的,用户可填写 // 配送中,完成状态的,用户可填写
List<Integer> enableRefundExpressCodes = Arrays.asList(NewOrderStatus.DELIVERING.getIndex(), NewOrderStatus.COMPLETE.getIndex()); 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 editAfterSalesExpressRequest = new EditAfterSalesExpressRequest();
editAfterSalesExpressRequest.setPartnerId(orderBean.getCompanyId()); editAfterSalesExpressRequest.setPartnerId(orderBean.getCompanyId());
editAfterSalesExpressRequest.setStoreId(orderBean.getShopId()); editAfterSalesExpressRequest.setStoreId(orderBean.getShopId());
......
...@@ -12,6 +12,7 @@ import cn.freemud.redis.RedisCache; ...@@ -12,6 +12,7 @@ import cn.freemud.redis.RedisCache;
import cn.freemud.utils.AppLogUtil; import cn.freemud.utils.AppLogUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.config.TopicExchangeConfig; 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 com.freemud.sdk.api.assortment.order.request.order.OrderStatusChangeRequestDto;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
...@@ -31,18 +32,21 @@ public class OrderQueueService { ...@@ -31,18 +32,21 @@ public class OrderQueueService {
private RedisCache redisCache; private RedisCache redisCache;
private static final String backOrdersChangeOrderStatusConsumerQueue = "program.backorders_change_order_status_consumer_queue";
// TODO: 21-9-17 定义常量 private static final String backOrdersNotifyActivityExchange = "program.backorders_notify_activity_exchange";
@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}") @Value("${mq.queue.cloud_print_queue}")
private String cloudPrintQueue; private String cloudPrintQueue;
@Value("${mq.cloud_print_exchange}") @Value("${mq.cloud_print_exchange}")
private String 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 * 失败订单冲正 mq
*/ */
...@@ -66,14 +70,14 @@ public class OrderQueueService { ...@@ -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)) { if (StringUtils.isEmpty(oid)) {
return; return;
} }
AppLogUtil.infoLog("backOrdersStatusChange oid:{} orderStatus:{}", oid, String.valueOf(orderStatus)); AppLogUtil.infoLog("backOrdersStatusChange oid:{} orderStatus:{}", oid, String.valueOf(orderStatusV1));
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid); requestDto.setOid(oid);
requestDto.setOrderStatus(orderStatus); requestDto.setOrderStatus(orderStatusV1);
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
...@@ -83,7 +87,7 @@ public class OrderQueueService { ...@@ -83,7 +87,7 @@ public class OrderQueueService {
AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(requestDto), "", e); 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); redisCache.save(redisKey, true, 120L, TimeUnit.MINUTES);
} }
...@@ -91,7 +95,6 @@ public class OrderQueueService { ...@@ -91,7 +95,6 @@ public class OrderQueueService {
/** /**
* 发MQ去打印 * 发MQ去打印
*
*/ */
public void asynchronousPrint(OrderPrintDto request) { public void asynchronousPrint(OrderPrintDto request) {
// AppLogUtil.debugLog("OrderPrintDto", JSONObject.toJSONString(request), null); // AppLogUtil.debugLog("OrderPrintDto", JSONObject.toJSONString(request), null);
......
...@@ -1963,7 +1963,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1963,7 +1963,6 @@ public class OrderServiceImpl implements Orderservice {
// return baseResponse; // return baseResponse;
// } // }
// // 删除订单 通知活动添加商品库存 // // 删除订单 通知活动添加商品库存
// orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus());
// return ResponseUtil.success(); // return ResponseUtil.success();
// } // }
// //
......
...@@ -99,15 +99,11 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -99,15 +99,11 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
@Autowired @Autowired
private MQService mqService; private MQService mqService;
@Autowired @Autowired
private PayServiceImpl payServiceimpl; private PayServiceImpl payServiceimpl;
@Autowired
@Value("${program.backorders_change_order_status_consumer_queue}") private OrderQueueService orderQueueService;
private String backOrdersChangeOrderStatusConsumerQueue;
@Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange;
@Autowired @Autowired
private PromotionDiscountClient promotionDiscountClient; private PromotionDiscountClient promotionDiscountClient;
...@@ -240,7 +236,7 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -240,7 +236,7 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null); AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
backOrdersNotifyActivity(orderBean, backOrdersChangeOrderStatusConsumerQueue, backOrdersNotifyActivityExchange); orderQueueService.backOrdersNotifyActivity(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getStatusCode(), "活动库存不足"); return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getStatusCode(), "活动库存不足");
} }
} }
...@@ -350,28 +346,4 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService { ...@@ -350,28 +346,4 @@ public class SpellGroupOrderServiceImpl implements SpellGroupOrderService {
return null; 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 ...@@ -199,31 +199,6 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
return BaseOrderResponse.getErrorBaseOrderResponse(RESPONSE_SUCCESS_STR, ""); 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) { private CreateOrderResponse getCreateOrderResponse(String code, String message, OrderBeanV1 data) {
CreateOrderResponse baseOrderResponse = new CreateOrderResponse(); CreateOrderResponse baseOrderResponse = new CreateOrderResponse();
baseOrderResponse.setErrcode(Integer.valueOf(code)); baseOrderResponse.setErrcode(Integer.valueOf(code));
......
...@@ -270,7 +270,6 @@ ...@@ -270,7 +270,6 @@
// orderBeanNew.setShopName(orderBean.getShopName()); // orderBeanNew.setShopName(orderBean.getShopName());
// orderBeanNew.setSource(orderBean.getSource()); // orderBeanNew.setSource(orderBean.getSource());
// orderBeanNew.setSourceName(orderBean.getSourceName()); // orderBeanNew.setSourceName(orderBean.getSourceName());
// orderBeanNew.setStatus(orderBean.getStatus());
// orderBeanNew.setTakeAddress(orderBean.getTakeAddress()); // orderBeanNew.setTakeAddress(orderBean.getTakeAddress());
// orderBeanNew.setQueueIndex(orderBean.getQueueIndex()); // orderBeanNew.setQueueIndex(orderBean.getQueueIndex());
// orderBeanNew.setType(orderBean.getType()); // orderBeanNew.setType(orderBean.getType());
...@@ -409,7 +408,6 @@ ...@@ -409,7 +408,6 @@
// orderBeanNew.setShopName(orderBean.getShopName()); // orderBeanNew.setShopName(orderBean.getShopName());
// orderBeanNew.setSource(orderBean.getSource()); // orderBeanNew.setSource(orderBean.getSource());
// orderBeanNew.setSourceName(orderBean.getSourceName()); // orderBeanNew.setSourceName(orderBean.getSourceName());
// orderBeanNew.setStatus(orderBean.getStatus());
// orderBeanNew.setTakeAddress(orderBean.getTakeAddress()); // orderBeanNew.setTakeAddress(orderBean.getTakeAddress());
// orderBeanNew.setQueueIndex(orderBean.getQueueIndex()); // orderBeanNew.setQueueIndex(orderBean.getQueueIndex());
// orderBeanNew.setType(orderBean.getType()); // orderBeanNew.setType(orderBean.getType());
......
...@@ -153,17 +153,12 @@ public class SaasMallOrderService extends UniversalOrderService { ...@@ -153,17 +153,12 @@ public class SaasMallOrderService extends UniversalOrderService {
com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest activityUpdateStockRequest = baseCreateOrderRequest.getActivityUpdateStockRequest(); com.freemud.sdk.api.assortment.order.entities.promption.ActivityUpdateStockRequest activityUpdateStockRequest = baseCreateOrderRequest.getActivityUpdateStockRequest();
List<CreateOrderAccountRequest> accounts = baseCreateOrderRequest.getAccounts(); List<CreateOrderAccountRequest> accounts = baseCreateOrderRequest.getAccounts();
// mq 老代码里 商城订单不发送mq 这里就注释下 需要再开放
MqMessageRequest mqMessageRequest = new MqMessageRequest();
// mqMessageRequest.setBackOrdersNotifyActivityExchange(super.backOrdersNotifyActivityExchange);
// mqMessageRequest.setBackOrdersNotifyActivityQueue(super.backOrdersChangeOrderStatusConsumerQueue);
String menuType = baseCreateOrderRequest.getMenuType(); String menuType = baseCreateOrderRequest.getMenuType();
BaseOrderResponse baseOrderResponse = this.updateStockAndScore(createOrderResponse.getData(), BaseOrderResponse baseOrderResponse = this.updateStockAndScore(createOrderResponse.getData(),
products, products,
activityUpdateStockRequest, activityUpdateStockRequest,
accounts, accounts,
mqMessageRequest,
menuType); menuType);
if (!ResponseCodeConstant.RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) { if (!ResponseCodeConstant.RESPONSE_SUCCESS.equals(baseOrderResponse.getErrcode())) {
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg(), null); return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg(), null);
...@@ -176,7 +171,6 @@ public class SaasMallOrderService extends UniversalOrderService { ...@@ -176,7 +171,6 @@ public class SaasMallOrderService extends UniversalOrderService {
List<CreateOrderProductRequest> products, List<CreateOrderProductRequest> products,
ActivityUpdateStockRequest updateStockRequest, ActivityUpdateStockRequest updateStockRequest,
List<CreateOrderAccountRequest> accounts, List<CreateOrderAccountRequest> accounts,
MqMessageRequest mqMessageRequest,
String menuType) { String menuType) {
//TODO 转换获取库存信息,扣减库存 //TODO 转换获取库存信息,扣减库存
UpdateStocksRequest updateProductStock = orderSdkAdapter.getUpdateProductStock(orderBean, products, StockChangeType.REDUCE, menuType); UpdateStocksRequest updateProductStock = orderSdkAdapter.getUpdateProductStock(orderBean, products, StockChangeType.REDUCE, menuType);
...@@ -188,7 +182,7 @@ public class SaasMallOrderService extends UniversalOrderService { ...@@ -188,7 +182,7 @@ public class SaasMallOrderService extends UniversalOrderService {
} }
//TODO 扣减活动库存 //TODO 扣减活动库存
ActivityUpdateStockRequest activityUpdateStockRequest = orderSdkAdapter.convert2ActivityUpdateStockRequest(orderBean, updateStockRequest); ActivityUpdateStockRequest activityUpdateStockRequest = orderSdkAdapter.convert2ActivityUpdateStockRequest(orderBean, updateStockRequest);
baseResponse = super.reducesActivityStocks(activityUpdateStockRequest, orderBean, mqMessageRequest); baseResponse = super.reducesActivityStocks(activityUpdateStockRequest, orderBean);
if (baseResponse != null) { if (baseResponse != null) {
// 表示 操作失败 // 表示 操作失败
return baseResponse; return baseResponse;
...@@ -196,7 +190,7 @@ public class SaasMallOrderService extends UniversalOrderService { ...@@ -196,7 +190,7 @@ public class SaasMallOrderService extends UniversalOrderService {
// 扣减积分,扣减失败冲正积分返回错误 // 扣减积分,扣减失败冲正积分返回错误
UserScoreRequest userScoreRequest = orderSdkAdapter.convent2UserScoreRequest(orderBean, accounts, true); UserScoreRequest userScoreRequest = orderSdkAdapter.convent2UserScoreRequest(orderBean, accounts, true);
baseResponse = super.reducesScore(userScoreRequest, orderBean, mqMessageRequest); baseResponse = super.reducesScore(userScoreRequest, orderBean);
if (baseResponse != null) { if (baseResponse != null) {
// 表示 操作失败 // 表示 操作失败
return baseResponse; return baseResponse;
...@@ -205,7 +199,7 @@ public class SaasMallOrderService extends UniversalOrderService { ...@@ -205,7 +199,7 @@ public class SaasMallOrderService extends UniversalOrderService {
// 下单成锁定劵,冻结失败提示下单失败并冲正库存积分等,判断支付渠道,积分和svc卡直接核销,无需锁定10102 = svc卡支付 || 支付金额小于等于0 // 下单成锁定劵,冻结失败提示下单失败并冲正库存积分等,判断支付渠道,积分和svc卡直接核销,无需锁定10102 = svc卡支付 || 支付金额小于等于0
//todo:统一流程 下单锁券再核销 //todo:统一流程 下单锁券再核销
CouponLockRequest couponLockRequest = orderSdkAdapter.convert2CouponLockRequest(orderBean, accounts); CouponLockRequest couponLockRequest = orderSdkAdapter.convert2CouponLockRequest(orderBean, accounts);
baseResponse = super.couponLock(couponLockRequest, orderBean, mqMessageRequest); baseResponse = super.couponLock(couponLockRequest, orderBean);
if (baseResponse != null) { if (baseResponse != null) {
// 表示 操作失败 // 表示 操作失败
return baseResponse; return baseResponse;
......
package cn.freemud.client; //package cn.freemud.client;
//
import cn.freemud.adapter.ActivityAdapter; //import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.amqp.Header; //import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction; //import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage; //import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService; //import cn.freemud.amqp.MQService;
import cn.freemud.entities.dto.ActivityCancelStockRequestDto; //import cn.freemud.entities.dto.ActivityCancelStockRequestDto;
import cn.freemud.entities.dto.QueryOrdersResponseDto; //import cn.freemud.entities.dto.QueryOrdersResponseDto;
import cn.freemud.utils.FileUtil; //import cn.freemud.utils.FileUtil;
import cn.freemud.utils.AppLogUtil; //import cn.freemud.utils.AppLogUtil;
import com.alibaba.fastjson.JSON; //import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; //import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import org.junit.Test; //import org.junit.Test;
import org.junit.runner.RunWith; //import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; //import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; //import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest; //import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; //import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients; //import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.test.context.junit4.SpringRunner; //import org.springframework.test.context.junit4.SpringRunner;
//
import java.util.Arrays; //import java.util.Arrays;
//
@RunWith(SpringRunner.class) //@RunWith(SpringRunner.class)
@SpringBootTest //@SpringBootTest
@EnableDiscoveryClient //@EnableDiscoveryClient
@EnableFeignClients //@EnableFeignClients
@EnableAutoConfiguration //@EnableAutoConfiguration
public class MqTest { //public class MqTest {
@Autowired // @Autowired
private ActivityAdapter activityAdapter; // private ActivityAdapter activityAdapter;
@Value("${program.backorders_notify_activity_queue}") // @Value("${program.backorders_notify_activity_queue}")
private String backOrdersNotifyActivityQueue; // private String backOrdersNotifyActivityQueue;
@Value("${program.backorders_notify_activity_exchange}") // @Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange; // private String backOrdersNotifyActivityExchange;
@Autowired // @Autowired
private MQService mqService; // private MQService mqService;
@Test // @Test
public void mqTest () { // public void mqTest () {
String fileName = "test"; // String fileName = "test";
OrderBeanV1 orderBean = FileUtil.getObjectFromFile(fileName, OrderBeanV1.class); // OrderBeanV1 orderBean = FileUtil.getObjectFromFile(fileName, OrderBeanV1.class);
// 删除订单 通知活动添加商品库存 // // 删除订单 通知活动添加商品库存
ActivityCancelStockRequestDto activityCancelStockRequestDto = activityAdapter.convert2ActivityCancelStockRequestDto( // ActivityCancelStockRequestDto activityCancelStockRequestDto = activityAdapter.convert2ActivityCancelStockRequestDto(
orderBean, Arrays.asList(1,2,3)); // orderBean, Arrays.asList(1,2,3));
System.out.println(JSON.toJSONString(activityCancelStockRequestDto)); // System.out.println(JSON.toJSONString(activityCancelStockRequestDto));
try { // try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue); // Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue);
MQMessage<ActivityCancelStockRequestDto> message = new MQMessage<>(header, activityCancelStockRequestDto); // MQMessage<ActivityCancelStockRequestDto> message = new MQMessage<>(header, activityCancelStockRequestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message); // mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message);
} catch (Exception e) { // } catch (Exception e) {
AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(activityCancelStockRequestDto), "", e); // AppLogUtil.errorLog("ActivityReverse", JSON.toJSONString(activityCancelStockRequestDto), "", e);
} // }
//
} // }
} //}
...@@ -5,6 +5,7 @@ import cn.freemud.management.enums.OperateType; ...@@ -5,6 +5,7 @@ import cn.freemud.management.enums.OperateType;
import cn.freemud.management.enums.OrderStatus; import cn.freemud.management.enums.OrderStatus;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; 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.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.structure.request.PushMessageNoticeDto; import com.freemud.application.sdk.api.structure.request.PushMessageNoticeDto;
import com.freemud.sdk.api.assortment.message.enums.MessageEventType; import com.freemud.sdk.api.assortment.message.enums.MessageEventType;
...@@ -63,30 +64,30 @@ public class MessagePushAdapter { ...@@ -63,30 +64,30 @@ public class MessagePushAdapter {
content.setOrderClient(Integer.parseInt(order.getOrderClient())); content.setOrderClient(Integer.parseInt(order.getOrderClient()));
content.setPickUpGoodsNo(order.getOtherCode()); content.setPickUpGoodsNo(order.getOtherCode());
content.setUserId(order.getUserId()); content.setUserId(order.getUserId());
Integer orderStatus = order.getStatus(); Integer orderStatusV1 = order.getStatus();
switch (opType) { switch (opType) {
case ORDER_CONFIRM: case ORDER_CONFIRM:
orderStatus = OrderStatus.RECEIPT.getCode(); orderStatusV1 = OrderStatusV1.RECEIPT.getCode();
break; break;
case ORDER_DONE: case ORDER_DONE:
orderStatus = OrderStatus.COMPLETE_MAKE.getCode(); orderStatusV1 = OrderStatusV1.COMPLETE_MAKE.getCode();
break; break;
case ORDER_SEND: case ORDER_SEND:
orderStatus = OrderStatus.DISTRIBUTION.getCode(); orderStatusV1 = OrderStatusV1.DISTRIBUTION.getCode();
break; break;
case ORDER_AFFIRM: case ORDER_AFFIRM:
orderStatus = OrderStatus.COMPLETE.getCode(); orderStatusV1 = OrderStatusV1.COMPLETE.getCode();
break; break;
case ORDER_REJECT: case ORDER_REJECT:
case ORDER_AGREE_REFUND: case ORDER_AGREE_REFUND:
orderStatus = OrderStatus.CANCEL.getCode(); orderStatusV1 = OrderStatusV1.CANCEL.getCode();
break; break;
case ORDER_REJECT_REFUND: case ORDER_REJECT_REFUND:
break; break;
default: default:
} }
content.setOrderState(orderStatus); content.setOrderState(orderStatusV1);
message.setContent(content); message.setContent(content);
pushMessageNoticeDto.setData(JSONObject.toJSONString(message)); pushMessageNoticeDto.setData(JSONObject.toJSONString(message));
return pushMessageNoticeDto; return pushMessageNoticeDto;
......
...@@ -2,10 +2,10 @@ package cn.freemud.management.entities.dto.response.order; ...@@ -2,10 +2,10 @@ package cn.freemud.management.entities.dto.response.order;
import cn.freemud.management.enums.OrderStatus; import cn.freemud.management.enums.OrderStatus;
import cn.freemud.management.enums.RefundStatus; 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 lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.Size;
@Data @Data
public class OrderManagerResponse { public class OrderManagerResponse {
...@@ -42,12 +42,12 @@ public class OrderManagerResponse { ...@@ -42,12 +42,12 @@ public class OrderManagerResponse {
this.refundStatus=refundStatus.getCode(); this.refundStatus=refundStatus.getCode();
} }
} }
public OrderManagerResponse(OrderStatus status, RefundStatus refundStatus){ public OrderManagerResponse(OrderStatusV1 status, RefundStatusV1 refundStatus){
if (status!=null){ if (status!=null){
this.status=status.getCode(); this.status=status.getCode();
} }
if (refundStatus!=null){ if (refundStatus!=null){
this.refundStatus=refundStatus.getCode(); this.refundStatus=refundStatus.getCodeV1();
} }
} }
......
...@@ -12,7 +12,9 @@ import cn.freemud.management.service.handle.OrderVerifyHandle; ...@@ -12,7 +12,9 @@ import cn.freemud.management.service.handle.OrderVerifyHandle;
import cn.freemud.management.util.ResponseUtil; import cn.freemud.management.util.ResponseUtil;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; 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.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.OrderTypeV1;
import com.freemud.application.sdk.api.ordercenter.enums.orderv1.RefundStatusV1;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -273,31 +275,31 @@ public class OrderManagerAdapter { ...@@ -273,31 +275,31 @@ public class OrderManagerAdapter {
if (orderBean==null){ if (orderBean==null){
return result; return result;
} }
RefundStatus refundStatus = CollectionUtils.isNotEmpty(orderBean.getRefundList()) ? RefundStatus.getByCode(orderBean.getRefundList().get(0).getStatus()) : null; RefundStatusV1 refundStatus = CollectionUtils.isNotEmpty(orderBean.getRefundList()) ? RefundStatusV1.getRefundStatusByCodeV1(orderBean.getRefundList().get(0).getStatus()) : null;
OrderStatus orderStatus = OrderStatus.getByCode(orderBean.getStatus()); OrderStatusV1 orderStatus = OrderStatusV1.getByCode(orderBean.getStatus());
if (ObjectUtils.equals(ResponseResult.SUCCESS.getCode(),result.getCode())){ if (ObjectUtils.equals(ResponseResult.SUCCESS.getCode(),result.getCode())){
OperateType byOpType = OperateType.getByOpType(request.getOperateType()); OperateType byOpType = OperateType.getByOpType(request.getOperateType());
if (byOpType != null) { if (byOpType != null) {
switch (byOpType) { switch (byOpType) {
case ORDER_CONFIRM: case ORDER_CONFIRM:
orderStatus = OrderStatus.RECEIPT; orderStatus = OrderStatusV1.RECEIPT;
break; break;
case ORDER_DONE: case ORDER_DONE:
orderStatus = OrderStatus.COMPLETE_MAKE; orderStatus = OrderStatusV1.COMPLETE_MAKE;
break; break;
case ORDER_SEND: case ORDER_SEND:
orderStatus = OrderStatus.DISTRIBUTION; orderStatus = OrderStatusV1.DISTRIBUTION;
break; break;
case ORDER_AFFIRM: case ORDER_AFFIRM:
orderStatus = OrderStatus.COMPLETE; orderStatus = OrderStatusV1.COMPLETE;
break; break;
case ORDER_REJECT: case ORDER_REJECT:
case ORDER_AGREE_REFUND: case ORDER_AGREE_REFUND:
orderStatus = OrderStatus.CANCEL; orderStatus = OrderStatusV1.CANCEL;
refundStatus = RefundStatus.COMPLETE_REFUND; refundStatus = RefundStatusV1.COMPLETE_REFUND;
break; break;
case ORDER_REJECT_REFUND: case ORDER_REJECT_REFUND:
refundStatus = RefundStatus.REFUSE_REFUND; refundStatus = RefundStatusV1.REFUSE_REFUND;
break; break;
default: default:
} }
......
...@@ -234,7 +234,7 @@ public class SaasOrderHandle { ...@@ -234,7 +234,7 @@ public class SaasOrderHandle {
BaseOrderResponse baseOrderResponse = null; BaseOrderResponse baseOrderResponse = null;
for(int i=0;i<orderBean.getRefundList().size();i++) { 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()); refundAgreeRequest.setAfterSalesCode(orderBean.getRefundList().get(i).getRid());
if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus())) { if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus())) {
baseOrderResponse = orderCenterSdkService.refundComplete(refundAgreeRequest); baseOrderResponse = orderCenterSdkService.refundComplete(refundAgreeRequest);
...@@ -242,7 +242,7 @@ public class SaasOrderHandle { ...@@ -242,7 +242,7 @@ public class SaasOrderHandle {
baseOrderResponse = orderCenterSdkService.refundReturn(refundAgreeRequest); baseOrderResponse = orderCenterSdkService.refundReturn(refundAgreeRequest);
} }
break; 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 = new BaseOrderResponse();
baseOrderResponse.setErrcode(Integer.valueOf(ResponseResult.AGREE_REFUND_ORDER_FAIL.getCode())); baseOrderResponse.setErrcode(Integer.valueOf(ResponseResult.AGREE_REFUND_ORDER_FAIL.getCode()));
baseOrderResponse.setErrmsg("订单已经退款完成,不能重复申请"); baseOrderResponse.setErrmsg("订单已经退款完成,不能重复申请");
...@@ -259,7 +259,7 @@ public class SaasOrderHandle { ...@@ -259,7 +259,7 @@ public class SaasOrderHandle {
orderRefundRequest.setAfterSalesType(AfterSalesType.PARTNER_CANCEL); orderRefundRequest.setAfterSalesType(AfterSalesType.PARTNER_CANCEL);
orderRefundRequest.setReason(refundAgreeRequest.getReason()); orderRefundRequest.setReason(refundAgreeRequest.getReason());
orderRefundRequest.setOperator(refundAgreeRequest.getOperator()); orderRefundRequest.setOperator(refundAgreeRequest.getOperator());
orderRefundRequest.setOrderStatus(orderBean.getStatus()); orderRefundRequest.setOrderStatusV1(orderBean.getStatus());
if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus())) { if (PayRefundStatus.SUCCESS.equals(refundResponse.getPayRefundStatus())) {
orderRefundRequest.setCreateEvent(4); orderRefundRequest.setCreateEvent(4);
} else { } else {
...@@ -299,11 +299,11 @@ public class SaasOrderHandle { ...@@ -299,11 +299,11 @@ public class SaasOrderHandle {
BaseOrderResponse baseOrderResponse = null; BaseOrderResponse baseOrderResponse = null;
for(int i=0;i<orderBean.getRefundList().size();i++) { 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()); rejectRefundRequest.setAfterSalesCode(orderBean.getRefundList().get(i).getRid());
baseOrderResponse = orderCenterSdkService.orderRefundReject(rejectRefundRequest); 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 = new BaseOrderResponse();
baseOrderResponse.setErrcode(100); baseOrderResponse.setErrcode(100);
baseOrderResponse.setErrmsg("success"); baseOrderResponse.setErrmsg("success");
......
...@@ -41,7 +41,7 @@ public class StockHandle { ...@@ -41,7 +41,7 @@ public class StockHandle {
* @param orderBean * @param orderBean
*/ */
public void revert(OrderManagerRequest request, OrderBeanV1 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(); OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(orderBean.getOid()); requestDto.setOid(orderBean.getOid());
requestDto.setOrderStatus(orderBean.getStatus()); requestDto.setOrderStatus(orderBean.getStatus());
......
...@@ -16,6 +16,7 @@ import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseD ...@@ -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.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.AbnormalStateEnum; 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.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.request.SdkUpdateAbnormalState;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.sdk.api.assortment.message.enums.OrderType; import com.freemud.sdk.api.assortment.message.enums.OrderType;
...@@ -71,7 +72,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -71,7 +72,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
} }
OrderManagerRequest orderManagerRequest =new OrderManagerRequest(); OrderManagerRequest orderManagerRequest =new OrderManagerRequest();
BeanUtils.copyProperties(request,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); return ResponseUtil.error(ResponseResult.ORDER_STATUS_FAILED);
} }
if (StringUtils.isNotEmpty(request.getPickUpGoodsNo())){ if (StringUtils.isNotEmpty(request.getPickUpGoodsNo())){
...@@ -81,7 +82,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService { ...@@ -81,7 +82,7 @@ public class McCafeMangerServiceImpl implements OrderManagerService {
return ResponseUtil.error(ResponseResult.ORDER_UPDATE_PICKUP_FAILED); 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); saasOrderHandle.orderConfirm(orderManagerRequest, orderBean);
} }
......
...@@ -262,12 +262,12 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -262,12 +262,12 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
*/ */
@Override @Override
public BaseResponse<OrderManagerResponse> orderCancel(OrderManagerRequest request, OrderBeanV1 orderBean){ 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()); 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()); return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType());
} else if (OrderSourceV1.MEAL.getCode().equals(orderBean.getSource())) { } 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())); return executeCancel(request,orderBean, PayRefundStatus.SUCCESS.getCode(), AfterSalesType.SYSTEM_CANCEL.getIndex(), Integer.valueOf(orderBean.getOrderClient()));
} else { } else {
return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType()); return executeRefund(request,orderBean, OperateType.ORDER_REJECT.getOpType());
......
...@@ -189,7 +189,7 @@ public class OrderBeanV1 { ...@@ -189,7 +189,7 @@ public class OrderBeanV1 {
/** /**
* 订单状态 1 下单 2 待支付 3已接单 4 配送中 5 已完成 6 已取消 7 已拒单 31 制作完成 * 订单状态 1 下单 2 待支付 3已接单 4 配送中 5 已完成 6 已取消 7 已拒单 31 制作完成
*/ */
@Deprecated @Deprecated //不推荐使用,以前业务在使用能改就改,不能改不要动
private Integer status; private Integer status;
private Integer statusV2; private Integer statusV2;
......
...@@ -5,18 +5,11 @@ public enum RefundStatusV1 { ...@@ -5,18 +5,11 @@ public enum RefundStatusV1 {
//售后单状态 1:待处理 2:退货中 3:拒绝退款 4:已退货 5:完成 6:取消 //售后单状态 1:待处理 2:退货中 3:拒绝退款 4:已退货 5:完成 6:取消
//退款状态 1 申请退款 2 同意退款 3 已退货 4 退款完成 5 拒绝退款 //退款状态 1 申请退款 2 同意退款 3 已退货 4 退款完成 5 拒绝退款
// APPLY_REFUND(1, "申请退款"), APPLY_REFUND(1,1,"待处理"),
// AGREE_REFUND(2, "同意退款"), AGREE_REFUND(2,2,"退货中"),
// ALREADY_REFUND(3, "已退货"), REFUSE_REFUND( 3,5,"拒绝退款"),
// COMPLETE_REFUND(4, "退款完成"), ALREADY_REFUND( 4,3,"已退货"),
// REFUSE_REFUND(5, "拒绝退款"); COMPLETE_REFUND( 5,4,"完成"),
PENDING(1,1,"待处理"),
RETURNING(2,2,"退货中"),
REJECTED( 3,5,"拒绝退款"),
GOODS_RETURNED( 4,3,"已退货"),
COMPLETE( 5,4,"完成"),
CANCEL( 6,6,"取消"); CANCEL( 6,6,"取消");
...@@ -33,7 +26,7 @@ public enum RefundStatusV1 { ...@@ -33,7 +26,7 @@ public enum RefundStatusV1 {
this.desc = desc; this.desc = desc;
} }
public static RefundStatusV1 getNewCodeByCodeV1(Integer codeV1) { public static RefundStatusV1 getRefundStatusByCodeV1(Integer codeV1) {
for (RefundStatusV1 status : values()) { for (RefundStatusV1 status : values()) {
if (status.getCodeV1().equals(codeV1)) { if (status.getCodeV1().equals(codeV1)) {
return status; return status;
......
package cn.freemud.client; //package cn.freemud.client;
//
import cn.freemud.adapter.ActivityAdapter; //import cn.freemud.adapter.ActivityAdapter;
import cn.freemud.amqp.Header; //import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction; //import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage; //import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService; //import cn.freemud.amqp.MQService;
import cn.freemud.entities.dto.ActivityCancelStockRequestDto; //import cn.freemud.entities.dto.ActivityCancelStockRequestDto;
import cn.freemud.utils.FileUtil; //import cn.freemud.utils.FileUtil;
import com.alibaba.fastjson.JSON; //import com.alibaba.fastjson.JSON;
import com.freemud.application.sdk.api.log.ErrorLog; //import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; //import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import org.junit.Test; //import org.junit.Test;
import org.junit.runner.RunWith; //import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; //import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; //import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest; //import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; //import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients; //import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.test.context.junit4.SpringRunner; //import org.springframework.test.context.junit4.SpringRunner;
//
import java.util.Arrays; //import java.util.Arrays;
//
@RunWith(SpringRunner.class) //@RunWith(SpringRunner.class)
@SpringBootTest //@SpringBootTest
@EnableDiscoveryClient //@EnableDiscoveryClient
@EnableFeignClients //@EnableFeignClients
@EnableAutoConfiguration //@EnableAutoConfiguration
public class MqTest { //public class MqTest {
@Autowired // @Autowired
private ActivityAdapter activityAdapter; // private ActivityAdapter activityAdapter;
@Value("${program.backorders_notify_activity_queue}") // @Value("${program.backorders_notify_activity_queue}")
private String backOrdersNotifyActivityQueue; // private String backOrdersNotifyActivityQueue;
@Value("${program.backorders_notify_activity_exchange}") // @Value("${program.backorders_notify_activity_exchange}")
private String backOrdersNotifyActivityExchange; // private String backOrdersNotifyActivityExchange;
@Autowired // @Autowired
private MQService mqService; // private MQService mqService;
@Test // @Test
public void mqTest () { // public void mqTest () {
String fileName = "test"; // String fileName = "test";
OrderBeanV1 orderBean = FileUtil.getObjectFromFile(fileName, OrderBeanV1.class); // OrderBeanV1 orderBean = FileUtil.getObjectFromFile(fileName, OrderBeanV1.class);
// 删除订单 通知活动添加商品库存 // // 删除订单 通知活动添加商品库存
ActivityCancelStockRequestDto activityCancelStockRequestDto = activityAdapter.convert2ActivityCancelStockRequestDto( // ActivityCancelStockRequestDto activityCancelStockRequestDto = activityAdapter.convert2ActivityCancelStockRequestDto(
orderBean, Arrays.asList(1,2,3)); // orderBean, Arrays.asList(1,2,3));
System.out.println(JSON.toJSONString(activityCancelStockRequestDto)); // System.out.println(JSON.toJSONString(activityCancelStockRequestDto));
try { // try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue); // Header header = new Header(MQAction.INSERT.getAction(), "backOrdersNotifyActivity", orderBean.getOid(), backOrdersNotifyActivityQueue);
MQMessage<ActivityCancelStockRequestDto> message = new MQMessage<>(header, activityCancelStockRequestDto); // MQMessage<ActivityCancelStockRequestDto> message = new MQMessage<>(header, activityCancelStockRequestDto);
mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message); // mqService.convertAndSend(backOrdersNotifyActivityExchange, backOrdersNotifyActivityQueue, message);
} catch (Exception e) { // } catch (Exception e) {
ErrorLog.errorConvertJson(this.getClass(),"ActivityReverse"+ JSON.toJSONString(activityCancelStockRequestDto),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