|
@@ -22,6 +22,12 @@ import com.fs.hisStore.domain.FsStoreOrderScrm;
|
|
|
import com.fs.hisStore.mapper.FsStoreAfterSalesScrmMapper;
|
|
import com.fs.hisStore.mapper.FsStoreAfterSalesScrmMapper;
|
|
|
import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
|
|
import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
|
|
|
import com.fs.hisStore.service.IFsStoreOrderItemScrmService;
|
|
import com.fs.hisStore.service.IFsStoreOrderItemScrmService;
|
|
|
|
|
+import com.fs.live.domain.LiveOrder;
|
|
|
|
|
+import com.fs.live.domain.LiveOrderItem;
|
|
|
|
|
+import com.fs.live.mapper.LiveOrderMapper;
|
|
|
|
|
+import com.fs.live.mapper.LiveOrderPaymentMapper;
|
|
|
|
|
+import com.fs.live.service.ILiveOrderItemService;
|
|
|
|
|
+import com.fs.live.service.ILiveOrderPaymentService;
|
|
|
import com.fs.ybPay.dto.RefundOrderDTO;
|
|
import com.fs.ybPay.dto.RefundOrderDTO;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.http.util.Asserts;
|
|
import org.apache.http.util.Asserts;
|
|
@@ -45,6 +51,13 @@ public class FsJstAftersalePushScrmServiceImpl implements FsJstAftersalePushScrm
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private FsStoreOrderScrmMapper fsStoreOrderMapper;
|
|
private FsStoreOrderScrmMapper fsStoreOrderMapper;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private LiveOrderMapper liveOrderMapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ILiveOrderItemService liveOrderItemService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private LiveOrderPaymentMapper liveOrderPaymentMapper;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IFsStoreOrderItemScrmService storeOrderItemService;
|
|
private IFsStoreOrderItemScrmService storeOrderItemService;
|
|
@@ -65,21 +78,37 @@ public class FsJstAftersalePushScrmServiceImpl implements FsJstAftersalePushScrm
|
|
|
log.info("获取记录{} 锁失败!",item.getId());
|
|
log.info("获取记录{} 锁失败!",item.getId());
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ item.setRetryCount(item.getRetryCount()+1);
|
|
|
FsStoreOrderScrm fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(item.getOrderId());
|
|
FsStoreOrderScrm fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(item.getOrderId());
|
|
|
|
|
+ LiveOrder liveOrder = null;
|
|
|
|
|
+ // 拆开,现在分为商城订单和直播订单
|
|
|
|
|
+ if (fsStoreOrder == null) {
|
|
|
|
|
+ liveOrder = liveOrderMapper.selectLiveOrderByOrderCode(item.getOrderId());
|
|
|
|
|
+ if (liveOrder == null) {
|
|
|
|
|
+ item.setErrorMessage("该订单未找到!");
|
|
|
|
|
+ item.setTaskStatus(TaskStatusEnum.FAILED.getCode());
|
|
|
|
|
+ log.info("该订单未找到!");
|
|
|
|
|
+ fsJstAftersalePushMapper.update(item);
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- item.setRetryCount(item.getRetryCount()+1);
|
|
|
|
|
|
|
|
|
|
- if(fsStoreOrder == null){
|
|
|
|
|
- item.setErrorMessage("该订单未找到!");
|
|
|
|
|
- item.setTaskStatus(TaskStatusEnum.FAILED.getCode());
|
|
|
|
|
- log.info("该订单未找到!");
|
|
|
|
|
- fsJstAftersalePushMapper.update(item);
|
|
|
|
|
|
|
+ RefundOrderDTO dto;
|
|
|
|
|
+ try {
|
|
|
|
|
+ if(fsStoreOrder != null){
|
|
|
|
|
+ dto = getAfterSaleDTO(item, fsStoreOrder);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ dto = getAfterSaleLiveDTO(item, liveOrder);
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("订单售后创建售后信息失败:{}" ,e.getMessage());
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- Asserts.notNull(fsStoreOrder,"该订单未找到!");
|
|
|
|
|
- RefundOrderDTO dto;
|
|
|
|
|
- dto = getAfterSaleDTO(item, fsStoreOrder);
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
// 买家已经申请,等待卖家同意
|
|
// 买家已经申请,等待卖家同意
|
|
|
if(StringUtils.equals(AfterSalesOrderStatusEnum.WAIT_SELLER_AGREE.getIndex().toString()
|
|
if(StringUtils.equals(AfterSalesOrderStatusEnum.WAIT_SELLER_AGREE.getIndex().toString()
|
|
|
,item.getType())){
|
|
,item.getType())){
|
|
@@ -173,4 +202,40 @@ public class FsJstAftersalePushScrmServiceImpl implements FsJstAftersalePushScrm
|
|
|
dto.setItems(refundItemDTOS);
|
|
dto.setItems(refundItemDTOS);
|
|
|
return dto;
|
|
return dto;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private RefundOrderDTO getAfterSaleLiveDTO(FsJstAftersalePush item, LiveOrder fsStoreOrder) {
|
|
|
|
|
+ RefundOrderDTO dto = new RefundOrderDTO();
|
|
|
|
|
+ AfterSalesOrderStatusEnum statusEnum = AfterSalesOrderStatusEnum.getByIndex(Integer.valueOf(item.getType()));
|
|
|
|
|
+
|
|
|
|
|
+ dto.setShopStatus(statusEnum.getCode());
|
|
|
|
|
+ dto.setQuestionType("可更新");
|
|
|
|
|
+ dto.setOuterAsId(item.getAfterSaleId());
|
|
|
|
|
+ dto.setRemark("用户退款");
|
|
|
|
|
+ dto.setType("仅退款");
|
|
|
|
|
+
|
|
|
|
|
+ dto.setShopId(Long.parseLong(shopId));
|
|
|
|
|
+ dto.setTotalAmount(fsStoreOrder.getTotalPrice());
|
|
|
|
|
+ dto.setSoId(item.getOrderId());
|
|
|
|
|
+ dto.setRefund(fsStoreOrder.getPayPrice());
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ FsStoreOrderItemScrm itemMap=new FsStoreOrderItemScrm();
|
|
|
|
|
+// itemMap.setOrderId(fsStoreOrder.getId());
|
|
|
|
|
+ itemMap.setOrderId(fsStoreOrder.getOrderId());
|
|
|
|
|
+ List<LiveOrderItem> orderItems=liveOrderItemService.selectCheckedByOrderId(fsStoreOrder.getOrderId());
|
|
|
|
|
+ List<RefundItemDTO> refundItemDTOS=new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ for(LiveOrderItem orderItem: orderItems) {
|
|
|
|
|
+ FsStoreCartDTO cartDTO = JSONUtil.toBean(orderItem.getJsonInfo(), FsStoreCartDTO.class);
|
|
|
|
|
+
|
|
|
|
|
+ RefundItemDTO itemDTO = new RefundItemDTO();
|
|
|
|
|
+ itemDTO.setSkuId(cartDTO.getBarCode());
|
|
|
|
|
+ itemDTO.setQty(cartDTO.getNum());
|
|
|
|
|
+ itemDTO.setAmount(cartDTO.getPrice());
|
|
|
|
|
+ itemDTO.setType("退货");
|
|
|
|
|
+ refundItemDTOS.add(itemDTO);
|
|
|
|
|
+ }
|
|
|
|
|
+ dto.setItems(refundItemDTOS);
|
|
|
|
|
+ return dto;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|