|
|
package com.yohoufo.order.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.yoho.core.rabbitmq.YhProducer;
|
|
|
import com.yohobuy.ufo.model.order.bo.CustomsClearanceResult;
|
|
|
import com.yohobuy.ufo.model.order.bo.MerchantOrderAttachInfo;
|
|
|
import com.yohobuy.ufo.model.order.common.OrderStatus;
|
|
|
import com.yohobuy.ufo.model.order.common.SellerOrderStatus;
|
|
|
import com.yohobuy.ufo.model.order.common.SkupStatus;
|
|
|
import com.yohobuy.ufo.model.order.common.TabType;
|
|
|
import com.yohobuy.ufo.model.order.constants.CustomsClearanceResultType;
|
|
|
import com.yohobuy.ufo.model.order.constants.RegionEnum;
|
|
|
import com.yohobuy.ufo.model.promotion.request.CouponSendMqBean;
|
|
|
import com.yohoufo.common.alarm.EventBusPublisher;
|
...
|
...
|
@@ -21,6 +24,7 @@ import com.yohoufo.order.common.RefundCase; |
|
|
import com.yohoufo.order.common.TransferCase;
|
|
|
import com.yohoufo.order.constants.AlarmConfig;
|
|
|
import com.yohoufo.order.constants.CutomsClearanceFailType;
|
|
|
import com.yohoufo.order.constants.MetaKey;
|
|
|
import com.yohoufo.order.event.*;
|
|
|
import com.yohoufo.order.model.PayRefundBo;
|
|
|
import com.yohoufo.order.model.dto.BuyerPenaltyCalResult;
|
...
|
...
|
@@ -47,6 +51,7 @@ import lombok.Data; |
|
|
import lombok.Setter;
|
|
|
import lombok.val;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
...
|
...
|
@@ -115,6 +120,9 @@ public class BuyerOrderCancelService { |
|
|
@Autowired
|
|
|
private OrderChangeListenerContainer orderChangeListenerContainer;
|
|
|
|
|
|
@Autowired
|
|
|
private BuyerOrderMetaMapper buyerOrderMetaMapper;
|
|
|
|
|
|
@Resource(name = "tradeMqProducer")
|
|
|
private YhProducer tradeMqProducer;
|
|
|
|
...
|
...
|
@@ -332,14 +340,22 @@ public class BuyerOrderCancelService { |
|
|
}
|
|
|
|
|
|
|
|
|
public void cancelOverseasOrder(long orderCode, CutomsClearanceFailType failType){
|
|
|
logger.info("step in cancelOverseasOrder orderCode {} CutomsClearanceFailType {}", orderCode, failType);
|
|
|
public void cancelOverseasOrder(long orderCode, String failReason, CutomsClearanceFailType failType){
|
|
|
logger.info("step in cancelOverseasOrder orderCode {} CutomsClearanceFailType {} failReason {}",
|
|
|
orderCode, failType, failReason);
|
|
|
if (failType == null){
|
|
|
logger.warn("in cancelOverseasOrder failType null, orderCode {}", orderCode);
|
|
|
return;
|
|
|
}
|
|
|
if (orderCode<= 0L){
|
|
|
logger.warn("in cancelOverseasOrder order code illegal, orderCode {}", orderCode);
|
|
|
return;
|
|
|
}
|
|
|
if (StringUtils.isBlank(failReason)){
|
|
|
logger.warn("in cancelOverseasOrder failReason illegal, orderCode {} failReason {}", orderCode, failReason);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
BuyerOrder buyerOrder = buyerOrderMapper.selectOnlyByOrderCode(orderCode);
|
|
|
if (buyerOrder == null){
|
|
|
logger.warn("in cancelOverseasOrder buyer Order not exist, orderCode {} CutomsClearanceFailType {}", orderCode, failType);
|
...
|
...
|
@@ -381,6 +397,8 @@ public class BuyerOrderCancelService { |
|
|
logger.warn("cancelOverseasOrder fail -> buyerOrderMapper.updateStatusByOrderCode, orderCode {}", orderCode);
|
|
|
return;
|
|
|
}
|
|
|
saveFailRecord(orderCode, failReason);
|
|
|
|
|
|
int sellerUid = buyerOrder.getSellerUid();
|
|
|
//clean cache
|
|
|
cacheCleaner.delete(Arrays.asList(CacheKeyBuilder.orderListKey(sellerUid, TabType.SELL.getValue()),
|
...
|
...
|
@@ -414,6 +432,18 @@ public class BuyerOrderCancelService { |
|
|
orderStatusFlowService.addAsy(orderCode,targetStatus.getCode());
|
|
|
}
|
|
|
|
|
|
private int saveFailRecord(long orderCode, String failReason){
|
|
|
BuyerOrderMeta record = new BuyerOrderMeta();
|
|
|
record.setOrderCode(orderCode);
|
|
|
record.setMetaKey(MetaKey.CUSTOMS_CLEARANCE);
|
|
|
CustomsClearanceResult ccr = CustomsClearanceResult.builder()
|
|
|
.type(CustomsClearanceResultType.fail.getCode())
|
|
|
.failReason(failReason)
|
|
|
.build();
|
|
|
record.setMetaValue(JSONObject.toJSONString(ccr));
|
|
|
return buyerOrderMetaMapper.insert(record);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 平台原因失败
|
|
|
* 货品平台自己吃了
|
...
|
...
|
|