|
@@ -10,6 +10,7 @@ import java.util.*;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fs.common.annotation.DataScope;
|
|
@@ -328,9 +329,21 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService
|
|
|
// 根据仓库code找erp
|
|
|
if(StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
+
|
|
|
+ if(StringUtils.equals(erp,ErpTypeConstant.JST_ERP)){
|
|
|
+ FsJstAftersalePush fsJstAftersalePush = new FsJstAftersalePush();
|
|
|
+ fsJstAftersalePush.setOrderId(order.getOrderCode());
|
|
|
+ fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.WAIT_SELLER_AGREE.getIndex()));
|
|
|
+ fsJstAftersalePush.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
+ fsJstAftersalePush.setRetryCount(0);
|
|
|
+ fsJstAftersalePush.setAfterSaleId(String.valueOf(storeAfterSalesStatus.getId()));
|
|
|
+ fsJstAftersalePushMapper.insert(fsJstAftersalePush);
|
|
|
+ }
|
|
|
ErpContextHolder.setErpType(erp);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
BaseResponse response=erpOrderService.refundUpdate(request);
|
|
|
if(response.getSuccess()){
|
|
|
return R.ok();
|
|
@@ -359,10 +372,26 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService
|
|
|
if (!storeAfterSales.getOrderStatus().equals(OrderInfoEnum.STATUS_1.getValue()) ) {
|
|
|
throw new CustomException("只有未发货的订单可以撤销售后");
|
|
|
}
|
|
|
+ FsStoreOrder order = orderService.selectFsStoreOrderByOrderCode(storeAfterSales.getOrderCode());
|
|
|
+
|
|
|
+ // erp撤销售后单
|
|
|
+ // 如果当前订单是属于jst erp
|
|
|
+ if(StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
+ String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
+ if(StringUtils.equals(erp, ErpTypeConstant.JST_ERP)){
|
|
|
+ FsJstAftersalePush fsJstAftersalePush = new FsJstAftersalePush();
|
|
|
+ fsJstAftersalePush.setOrderId(order.getOrderCode());
|
|
|
+ fsJstAftersalePush.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
+ fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.CLOSED.getIndex()));
|
|
|
+ fsJstAftersalePush.setRetryCount(0);
|
|
|
+ fsJstAftersalePush.setAfterSaleId(String.valueOf(id));
|
|
|
+ fsJstAftersalePushMapper.insert(fsJstAftersalePush);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
storeAfterSales.setSalesStatus(1);
|
|
|
- FsStoreOrder order = orderService.selectFsStoreOrderByOrderCode(storeAfterSales.getOrderCode());
|
|
|
order.setStatus(storeAfterSales.getOrderStatus());
|
|
|
order.setRefundStatus(OrderInfoEnum.REFUND_STATUS_0.getValue());
|
|
|
orderService.updateFsStoreOrder(order);
|
|
@@ -392,19 +421,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService
|
|
|
}
|
|
|
fsStoreAfterSalesMapper.updateFsStoreAfterSales(storeAfterSales);
|
|
|
|
|
|
- // erp撤销售后单
|
|
|
- // 如果当前订单是属于jst erp
|
|
|
- if(StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
- String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
- if(StringUtils.equals(erp, ErpTypeConstant.JST_ERP)){
|
|
|
- FsJstAftersalePush fsJstAftersalePush = new FsJstAftersalePush();
|
|
|
- fsJstAftersalePush.setOrderId(order.getOrderCode());
|
|
|
- fsJstAftersalePush.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
- fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.CLOSED.getIndex()));
|
|
|
- fsJstAftersalePush.setRetryCount(0);
|
|
|
- fsJstAftersalePushMapper.insert(fsJstAftersalePush);
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
@@ -454,6 +471,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService
|
|
|
fsJstAftersalePush.setOrderId(order.getOrderCode());
|
|
|
fsJstAftersalePush.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.WAIT_SELLER_CONFIRM_GOODS.getIndex()));
|
|
|
+ fsJstAftersalePush.setAfterSaleId(String.valueOf(param.getSalesId()));
|
|
|
fsJstAftersalePush.setRetryCount(0);
|
|
|
fsJstAftersalePushMapper.insert(fsJstAftersalePush);
|
|
|
}
|
|
@@ -589,13 +607,37 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService
|
|
|
if (!storeAfterSales.getStatus().equals(AfterStatusEnum.STATUS_3.getValue())) {
|
|
|
throw new CustomException("非法操作");
|
|
|
}
|
|
|
+ FsStoreOrder order = orderService.selectFsStoreOrderByOrderCode(storeAfterSales.getOrderCode());
|
|
|
+
|
|
|
+ // 财务审核通过,同步到jst erp
|
|
|
+ if(StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
+ String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
+ if(StringUtils.equals(erp, ErpTypeConstant.JST_ERP)){
|
|
|
+ FsJstAftersalePush fsJstAftersalePush = new FsJstAftersalePush();
|
|
|
+ fsJstAftersalePush.setOrderId(order.getOrderCode());
|
|
|
+ fsJstAftersalePush.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
+ fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.SUCCESS.getIndex()));
|
|
|
+ fsJstAftersalePush.setRetryCount(0);
|
|
|
+ fsJstAftersalePush.setAfterSaleId(String.valueOf(param.getSalesId()));
|
|
|
+ fsJstAftersalePushMapper.insert(fsJstAftersalePush);
|
|
|
+
|
|
|
+ // 售后单改成已确认
|
|
|
+ FsJstAftersalePush aftersaleConfirm = new FsJstAftersalePush();
|
|
|
+ aftersaleConfirm.setOrderId(order.getOrderCode());
|
|
|
+ aftersaleConfirm.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
+ aftersaleConfirm.setType(String.valueOf(AfterSalesOrderStatusEnum.CONFIRM.getIndex()));
|
|
|
+ aftersaleConfirm.setRetryCount(0);
|
|
|
+ fsJstAftersalePush.setAfterSaleId(String.valueOf(param.getSalesId()));
|
|
|
+ fsJstAftersalePushMapper.insert(aftersaleConfirm);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//审核通过
|
|
|
storeAfterSales.setRefundAmount(param.getRefundAmount());
|
|
|
storeAfterSales.setStatus(4);
|
|
|
storeAfterSales.setSalesStatus(3);
|
|
|
fsStoreAfterSalesMapper.updateFsStoreAfterSales(storeAfterSales);
|
|
|
|
|
|
- FsStoreOrder order = orderService.selectFsStoreOrderByOrderCode(storeAfterSales.getOrderCode());
|
|
|
order.setStatus(-2);
|
|
|
order.setRefundPrice(storeAfterSales.getRefundAmount());
|
|
|
order.setRefundStatus(OrderInfoEnum.REFUND_STATUS_2.getValue());
|
|
@@ -709,26 +751,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService
|
|
|
userService.subTuiMoney(order);
|
|
|
}
|
|
|
|
|
|
- // 财务审核通过,同步到jst erp
|
|
|
- if(StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
- String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
- if(StringUtils.equals(erp, ErpTypeConstant.JST_ERP)){
|
|
|
- FsJstAftersalePush fsJstAftersalePush = new FsJstAftersalePush();
|
|
|
- fsJstAftersalePush.setOrderId(order.getOrderCode());
|
|
|
- fsJstAftersalePush.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
- fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.SUCCESS.getIndex()));
|
|
|
- fsJstAftersalePush.setRetryCount(0);
|
|
|
- fsJstAftersalePushMapper.insert(fsJstAftersalePush);
|
|
|
|
|
|
- // 售后单改成已确认
|
|
|
- FsJstAftersalePush aftersaleConfirm = new FsJstAftersalePush();
|
|
|
- aftersaleConfirm.setOrderId(order.getOrderCode());
|
|
|
- aftersaleConfirm.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
- aftersaleConfirm.setType(String.valueOf(AfterSalesOrderStatusEnum.CONFIRM.getIndex()));
|
|
|
- aftersaleConfirm.setRetryCount(0);
|
|
|
- fsJstAftersalePushMapper.insert(aftersaleConfirm);
|
|
|
- }
|
|
|
- }
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
@@ -765,6 +788,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService
|
|
|
fsJstAftersalePush.setTaskStatus(TaskStatusEnum.PENDING.getCode());
|
|
|
fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.CLOSED.getIndex()));
|
|
|
fsJstAftersalePush.setRetryCount(0);
|
|
|
+ fsJstAftersalePush.setAfterSaleId(String.valueOf(param.getSalesId()));
|
|
|
fsJstAftersalePushMapper.insert(fsJstAftersalePush);
|
|
|
} else {
|
|
|
//创建新的OMS订单
|