Commit 0ff24c7a by 周晓航

新增商户号的维护操作

parent 7b7d3227
...@@ -30,4 +30,8 @@ public class OrderStatusChangeRequestDto { ...@@ -30,4 +30,8 @@ public class OrderStatusChangeRequestDto {
* 支付状态 * 支付状态
*/ */
private Integer payStatus; private Integer payStatus;
/**
* 商户号
*/
private String partnerId;
} }
...@@ -1500,6 +1500,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -1500,6 +1500,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
requestDto.setOid(oid); requestDto.setOid(oid);
requestDto.setOrderStatus(statusV1); requestDto.setOrderStatus(statusV1);
requestDto.setOrderStatusV2(orderBean.getStatusV2()); requestDto.setOrderStatusV2(orderBean.getStatusV2());
requestDto.setPartnerId(orderBean.getCompanyId());
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
......
...@@ -131,6 +131,7 @@ public class OrderCallBackMQService { ...@@ -131,6 +131,7 @@ public class OrderCallBackMQService {
requestDto.setOid(orderCode); requestDto.setOid(orderCode);
//2:未支付 //2:未支付
requestDto.setOrderStatus(2); requestDto.setOrderStatus(2);
requestDto.setPartnerId(body.getPartnerId());
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
...@@ -353,6 +354,7 @@ public class OrderCallBackMQService { ...@@ -353,6 +354,7 @@ public class OrderCallBackMQService {
requestDto.setOid(orderCode); requestDto.setOid(orderCode);
//2:未支付 //2:未支付
requestDto.setOrderStatus(2); requestDto.setOrderStatus(2);
requestDto.setPartnerId(body.getPartnerId());
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "parkingOrderBackOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "parkingOrderBackOrdersStatusChange", orderCode, backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
......
...@@ -24,4 +24,8 @@ public class OrderStatusChangeRequestDto { ...@@ -24,4 +24,8 @@ public class OrderStatusChangeRequestDto {
* 订单状态 * 订单状态
*/ */
private Integer orderStatus; private Integer orderStatus;
/**
* 商户号
*/
private String partnerId;
} }
...@@ -90,7 +90,7 @@ public class ExposureOrderController { ...@@ -90,7 +90,7 @@ public class ExposureOrderController {
@ApiAnnotation(logMessage = "回滚订单状态改动") @ApiAnnotation(logMessage = "回滚订单状态改动")
@PostMapping("/backOrdersStatusChange") @PostMapping("/backOrdersStatusChange")
public BaseResponse backOrdersStatusChange(@Validated @LogParams @RequestBody BackOrdersStatusChangeVo backOrdersStatusChangeVo) { public BaseResponse backOrdersStatusChange(@Validated @LogParams @RequestBody BackOrdersStatusChangeVo backOrdersStatusChangeVo) {
orderQueueService.backOrdersStatusChange(backOrdersStatusChangeVo.getOrderCode(), backOrdersStatusChangeVo.getOrderState()); orderQueueService.backOrdersStatusChange(backOrdersStatusChangeVo.getOrderCode(), backOrdersStatusChangeVo.getOrderState(),backOrdersStatusChangeVo.getPartnerId());
return ResponseUtil.success(); return ResponseUtil.success();
} }
......
...@@ -9,5 +9,5 @@ public class BackOrdersStatusChangeVo { ...@@ -9,5 +9,5 @@ public class BackOrdersStatusChangeVo {
private Integer orderState; private Integer orderState;
private String partnerId;
} }
...@@ -294,7 +294,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -294,7 +294,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null); AfterSalesType.SYSTEM_CANCEL, "活动库存不足", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getStatusCode(), "活动库存不足"); return BaseOrderResponse.getErrorBaseOrderResponse(activityResponse.getStatusCode(), "活动库存不足");
} }
} }
...@@ -309,7 +309,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -309,7 +309,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null); AfterSalesType.SYSTEM_CANCEL, "积分不足", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足"); return BaseOrderResponse.getErrorBaseOrderResponse(userScoreResponse.getCode(), "积分不足");
} }
} }
...@@ -324,7 +324,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -324,7 +324,7 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null); CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(), AfterSalesType.SYSTEM_CANCEL, "锁定券码失败", "", null);
orderCancel(cancelOrderRequest); orderCancel(cancelOrderRequest);
//失败异步冲正库存,取消订单 //失败异步冲正库存,取消订单
orderQueueService.backOrdersStatusChange(orderBean.getOid(),orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return BaseOrderResponse.getErrorBaseOrderResponse(couponLockResponseBaseResponse.getCode(), couponLockResponseBaseResponse.getMessage()); return BaseOrderResponse.getErrorBaseOrderResponse(couponLockResponseBaseResponse.getCode(), couponLockResponseBaseResponse.getMessage());
} }
} }
......
...@@ -746,7 +746,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -746,7 +746,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
AfterSalesType.SYSTEM_CANCEL, "获取预支付失败", trackingNo, null); AfterSalesType.SYSTEM_CANCEL, "获取预支付失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
// TODO: 2019/9/10 hubowen mq推送变更 // TODO: 2019/9/10 hubowen mq推送变更
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} }
//svc 卡支付失败 //svc 卡支付失败
if (StringUtils.isNotBlank(cardCode)) { if (StringUtils.isNotBlank(cardCode)) {
...@@ -921,7 +921,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -921,7 +921,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null); AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
//如果编辑订单支付信息失败,冲正 //如果编辑订单支付信息失败,冲正
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg()); return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
} }
...@@ -1280,7 +1280,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -1280,7 +1280,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return baseResponse; return baseResponse;
} }
// 删除订单 通知活动添加商品库存 // 删除订单 通知活动添加商品库存
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} else if (OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType()) && CancelDeliveryResponseDto.hasCollectMsg.equals(deliveryBaseResponse.getErrmsg())) { } else if (OrderTypeV1.TAKE_OUT.getCode().equals(orderBean.getOrderType()) && CancelDeliveryResponseDto.hasCollectMsg.equals(deliveryBaseResponse.getErrmsg())) {
com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest orderRefundRequest = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest(); com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest orderRefundRequest = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest();
......
...@@ -485,13 +485,13 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -485,13 +485,13 @@ public class MallOrderServiceImpl implements MallOrderService {
return gson.toJson(message); return gson.toJson(message);
} }
orderRefund(orderBean, groupWorkJoinResponse.getMsg()); orderRefund(orderBean, groupWorkJoinResponse.getMsg());
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return gson.toJson(message); return gson.toJson(message);
} }
if ("2".equals(groupWorkJoinResponse.getResult().getGroupStatus())) { if ("2".equals(groupWorkJoinResponse.getResult().getGroupStatus())) {
orderRefund(orderBean, "成团失败,退款流程"); orderRefund(orderBean, "成团失败,退款流程");
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return gson.toJson(message); return gson.toJson(message);
} }
if (StringUtils.isEmpty(orderBean.getSpellGroupCode())) { if (StringUtils.isEmpty(orderBean.getSpellGroupCode())) {
......
...@@ -45,13 +45,17 @@ public class OrderQueueService { ...@@ -45,13 +45,17 @@ public class OrderQueueService {
public void backOrdersNotifyActivity(OrderBeanV1 orderBean) { public void backOrdersNotifyActivity(OrderBeanV1 orderBean) {
String oid = orderBean.getOid(); String oid = orderBean.getOid();
Integer statusV1 = orderBean.getStatus(); Integer statusV1 = orderBean.getStatus();
this.backOrdersStatusChange(oid, statusV1); this.backOrdersStatusChange(oid, statusV1, orderBean.getCompanyId());
}
public void backOrdersStatusChange(OrderBeanV1 orderBean) {
this.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(),orderBean.getPayStatus(), orderBean.getCompanyId());
} }
/** /**
* 失败订单冲正 mq * 失败订单冲正 mq
*/ */
public void backOrdersStatusChange(String oid, Integer orderStatus, Integer payStatus) { public void backOrdersStatusChange(String oid, Integer orderStatus, Integer payStatus, String partnerId) {
if (StringUtils.isEmpty(oid)) { if (StringUtils.isEmpty(oid)) {
return; return;
} }
...@@ -60,6 +64,7 @@ public class OrderQueueService { ...@@ -60,6 +64,7 @@ public class OrderQueueService {
requestDto.setOid(oid); requestDto.setOid(oid);
requestDto.setPayStatus(payStatus); requestDto.setPayStatus(payStatus);
requestDto.setOrderStatus(orderStatus); requestDto.setOrderStatus(orderStatus);
requestDto.setPartnerId(partnerId);
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
...@@ -71,7 +76,7 @@ public class OrderQueueService { ...@@ -71,7 +76,7 @@ public class OrderQueueService {
} }
public void backOrdersStatusChange(String oid, Integer orderStatusV1) { public void backOrdersStatusChange(String oid, Integer orderStatusV1, String partnerId) {
if (StringUtils.isEmpty(oid)) { if (StringUtils.isEmpty(oid)) {
return; return;
} }
...@@ -79,6 +84,7 @@ public class OrderQueueService { ...@@ -79,6 +84,7 @@ public class OrderQueueService {
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(oid); requestDto.setOid(oid);
requestDto.setOrderStatus(orderStatusV1); requestDto.setOrderStatus(orderStatusV1);
requestDto.setPartnerId(partnerId);
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", oid, backOrdersChangeOrderStatusConsumerQueue);
......
...@@ -1821,7 +1821,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1821,7 +1821,7 @@ public class OrderServiceImpl implements Orderservice {
} }
} }
// TODO: 2019/9/10 删除订单通知 // TODO: 2019/9/10 删除订单通知
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
weChatLiveMsgHandle.reportOrderStatus(orderBean, 3); weChatLiveMsgHandle.reportOrderStatus(orderBean, 3);
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -1870,7 +1870,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1870,7 +1870,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR.getCode(), baseOrderResponse.getErrmsg()); return ResponseUtil.error(ResponseResult.ORDER_CANCEL_ERROR.getCode(), baseOrderResponse.getErrmsg());
} }
// TODO: 2019/9/10 删除订单通知 // TODO: 2019/9/10 删除订单通知
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return ResponseUtil.success(); return ResponseUtil.success();
} }
...@@ -2034,7 +2034,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2034,7 +2034,7 @@ public class OrderServiceImpl implements Orderservice {
if (baseResponse != null) { if (baseResponse != null) {
return baseResponse; return baseResponse;
} // 删除订单 通知活动添加商品库存 } // 删除订单 通知活动添加商品库存
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} else { } else {
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest(); CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
...@@ -3067,7 +3067,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3067,7 +3067,7 @@ public class OrderServiceImpl implements Orderservice {
} else { } else {
fail = false; fail = false;
// 删除订单 通知活动添加商品库存 // 删除订单 通知活动添加商品库存
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), orderBean.getPayStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} }
// 记录失败 // 记录失败
if (fail) { if (fail) {
...@@ -3353,7 +3353,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3353,7 +3353,7 @@ public class OrderServiceImpl implements Orderservice {
cancelOrderRequest.setRefundDeliveryAmount(true); cancelOrderRequest.setRefundDeliveryAmount(true);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest); BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderCancel(cancelOrderRequest);
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return newSendPaySuccessNoticeMessage(); return newSendPaySuccessNoticeMessage();
} }
......
...@@ -1069,7 +1069,7 @@ public class PayServiceImpl { ...@@ -1069,7 +1069,7 @@ public class PayServiceImpl {
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp cancelOrderResponse = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp cancelOrderResponse = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
//如果编辑订单支付信息失败,冲正 //如果编辑订单支付信息失败,冲正
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), PayStatusEnum.NOT_PAY.getCode()); orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), PayStatusEnum.NOT_PAY.getCode(), orderBean.getCompanyId());
return ResponseUtil.error(response.getCode(), response.getMessage()); return ResponseUtil.error(response.getCode(), response.getMessage());
} }
return null; return null;
...@@ -1126,7 +1126,7 @@ public class PayServiceImpl { ...@@ -1126,7 +1126,7 @@ public class PayServiceImpl {
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp cancelOrderResponse = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp cancelOrderResponse = orderSdkService.cancelOrder(request, cancelOrderRequest.getTrackingNo());
// TODO: 2019/9/10 hubowen mq推送变更 // TODO: 2019/9/10 hubowen mq推送变更
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), PayStatusEnum.NOT_PAY.getCode()); orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus(), PayStatusEnum.NOT_PAY.getCode(), orderBean.getCompanyId());
} }
//svc 卡支付失败 //svc 卡支付失败
if (CollectionUtils.isNotEmpty(cardCodes)) { if (CollectionUtils.isNotEmpty(cardCodes)) {
......
...@@ -779,7 +779,7 @@ public abstract class UniversalOrderService { ...@@ -779,7 +779,7 @@ public abstract class UniversalOrderService {
AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null); AfterSalesType.SYSTEM_CANCEL, "编辑订单支付信息失败", trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
//如果编辑订单支付信息失败,冲正 //如果编辑订单支付信息失败,冲正
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg()); return ResponseUtil.error(baseOrderResponse.getErrcode().toString(), baseOrderResponse.getErrmsg());
} }
...@@ -795,7 +795,7 @@ public abstract class UniversalOrderService { ...@@ -795,7 +795,7 @@ public abstract class UniversalOrderService {
AfterSalesType.SYSTEM_CANCEL, StringUtils.join(new String[]{"获取预支付失败", msg}, '-'), trackingNo, null); AfterSalesType.SYSTEM_CANCEL, StringUtils.join(new String[]{"获取预支付失败", msg}, '-'), trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest); orderCenterSdkService.orderCancel(cancelOrderRequest);
// TODO: 2019/9/10 hubowen mq推送变更 // TODO: 2019/9/10 hubowen mq推送变更
orderQueueService.backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); orderQueueService.backOrdersStatusChange(orderBean);
} }
//svc 卡支付失败 //svc 卡支付失败
if (StringUtils.isNotBlank(cardCode)) { if (StringUtils.isNotBlank(cardCode)) {
......
...@@ -49,7 +49,7 @@ public class StockHandle { ...@@ -49,7 +49,7 @@ public class StockHandle {
OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto(); OrderStatusChangeRequestDto requestDto = new OrderStatusChangeRequestDto();
requestDto.setOid(orderBean.getOid()); requestDto.setOid(orderBean.getOid());
requestDto.setOrderStatus(orderBean.getStatus()); requestDto.setOrderStatus(orderBean.getStatus());
requestDto.setPartnerId(orderBean.getCompanyId());
try { try {
Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderBean.getOid(), backOrdersChangeOrderStatusConsumerQueue); Header header = new Header(MQAction.INSERT.getAction(), "backOrdersStatusChange", orderBean.getOid(), backOrdersChangeOrderStatusConsumerQueue);
MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto); MQMessage<OrderStatusChangeRequestDto> message = new MQMessage<>(header, requestDto);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment