|
|
@@ -1100,45 +1100,60 @@ public class FsIntegralOrderServiceImpl implements IFsIntegralOrderService
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String importOrderStatusData(List<FsIntegralOrderExcelVO> list) {
|
|
|
+ public FsIntegralOrderImportResultVO importOrderStatusData(List<FsIntegralOrderExcelVO> list) {
|
|
|
if (StringUtils.isNull(list) || list.isEmpty()) {
|
|
|
throw new ServiceException("导入数据不能为空!");
|
|
|
}
|
|
|
- int successNum = 0;
|
|
|
- int failureNum = 0;
|
|
|
- StringBuilder successMsg = new StringBuilder();
|
|
|
- StringBuilder failureMsg = new StringBuilder();
|
|
|
- for (FsIntegralOrderExcelVO vo : list) {
|
|
|
+ FsIntegralOrderImportResultVO result = new FsIntegralOrderImportResultVO();
|
|
|
+
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ FsIntegralOrderExcelVO vo = list.get(i);
|
|
|
+ int rowNum = i + 2; // Excel行号从2开始(第1行是表头)
|
|
|
+
|
|
|
try {
|
|
|
//1.必填参数
|
|
|
- ExcelUtils.validateRequiredFields(vo, list.indexOf(vo) + 1); // 传入行号
|
|
|
+ ExcelUtils.validateRequiredFields(vo, rowNum);
|
|
|
|
|
|
FsIntegralOrder order = fsIntegralOrderMapper.selectOne(Wrappers.<FsIntegralOrder>lambdaQuery().eq(FsIntegralOrder::getOrderCode, vo.getOrderCode()));
|
|
|
- if (order ==null){
|
|
|
- failureNum++;
|
|
|
- String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 导入失败:";
|
|
|
- failureMsg.append(msg).append("订单不存在");
|
|
|
+ if (order == null) {
|
|
|
+ FsIntegralOrderImportResultVO.ImportResultItem item = new FsIntegralOrderImportResultVO.ImportResultItem();
|
|
|
+ item.setRowNum(rowNum);
|
|
|
+ item.setOrderCode(vo.getOrderCode());
|
|
|
+ item.setErrorMessage("订单不存在");
|
|
|
+ result.getFailureList().add(item);
|
|
|
+ result.setFailureNum(result.getFailureNum() + 1);
|
|
|
continue;
|
|
|
}
|
|
|
+
|
|
|
FsIntegralOrder param = new FsIntegralOrder(); //修改订单的参数
|
|
|
param.setOrderCode(vo.getOrderCode());
|
|
|
param.setOrderId(order.getOrderId());
|
|
|
+
|
|
|
if ("6".equals(vo.getStatus())) {
|
|
|
- failureNum++;
|
|
|
- String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 导入失败:";
|
|
|
- failureMsg.append(msg).append("该状态不支持修改为待推送");
|
|
|
+ FsIntegralOrderImportResultVO.ImportResultItem item = new FsIntegralOrderImportResultVO.ImportResultItem();
|
|
|
+ item.setRowNum(rowNum);
|
|
|
+ item.setOrderCode(vo.getOrderCode());
|
|
|
+ item.setErrorMessage("该状态不支持修改为待推送");
|
|
|
+ result.getFailureList().add(item);
|
|
|
+ result.setFailureNum(result.getFailureNum() + 1);
|
|
|
continue;
|
|
|
}
|
|
|
if ("-1".equals(vo.getStatus())) {
|
|
|
- failureNum++;
|
|
|
- String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 导入失败:";
|
|
|
- failureMsg.append(msg).append("该状态不支持修改为退款中,需要手动申请退款");
|
|
|
+ FsIntegralOrderImportResultVO.ImportResultItem item = new FsIntegralOrderImportResultVO.ImportResultItem();
|
|
|
+ item.setRowNum(rowNum);
|
|
|
+ item.setOrderCode(vo.getOrderCode());
|
|
|
+ item.setErrorMessage("该状态不支持修改为退款中,需要手动申请退款");
|
|
|
+ result.getFailureList().add(item);
|
|
|
+ result.setFailureNum(result.getFailureNum() + 1);
|
|
|
continue;
|
|
|
}
|
|
|
if ("-2".equals(vo.getStatus())) {
|
|
|
- failureNum++;
|
|
|
- String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 导入失败:";
|
|
|
- failureMsg.append(msg).append("该状态不支持修改为退款中,需要审核完成退款");
|
|
|
+ FsIntegralOrderImportResultVO.ImportResultItem item = new FsIntegralOrderImportResultVO.ImportResultItem();
|
|
|
+ item.setRowNum(rowNum);
|
|
|
+ item.setOrderCode(vo.getOrderCode());
|
|
|
+ item.setErrorMessage("该状态不支持修改为退款中,需要审核完成退款");
|
|
|
+ result.getFailureList().add(item);
|
|
|
+ result.setFailureNum(result.getFailureNum() + 1);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
@@ -1154,48 +1169,55 @@ public class FsIntegralOrderServiceImpl implements IFsIntegralOrderService
|
|
|
String userAddress = vo.getUserAddress();
|
|
|
String userPhone = vo.getUserPhone();
|
|
|
if (StringUtils.isNotBlank(userAddress) || StringUtils.isNotBlank(userPhone)){
|
|
|
- if (Objects.equals(FsStoreOrderStatusEnum.STATUS_6.getValue(), status)) {
|
|
|
+ // 不要使用误导性枚举
|
|
|
+ if (Objects.equals(FsIntegralOrderStatusEnum.STATUS_1.getValue(), status)) {
|
|
|
param.setUserAddress(userAddress.isEmpty()?null:userAddress);
|
|
|
param.setUserPhone(userPhone.isEmpty()?null:userPhone);
|
|
|
} else {
|
|
|
- failureNum++;
|
|
|
- String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 修改失败:";
|
|
|
- failureMsg.append(msg).append("该状态不支持修改收货人地址或电话");
|
|
|
+ FsIntegralOrderImportResultVO.ImportResultItem item = new FsIntegralOrderImportResultVO.ImportResultItem();
|
|
|
+ item.setRowNum(rowNum);
|
|
|
+ item.setOrderCode(vo.getOrderCode());
|
|
|
+ item.setErrorMessage("该状态不支持修改收货人地址或电话");
|
|
|
+ result.getFailureList().add(item);
|
|
|
+ result.setFailureNum(result.getFailureNum() + 1);
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 处理物流字段(非必须,填了就更新)
|
|
|
+ if (StringUtils.isNotBlank(vo.getDeliveryCode())) {
|
|
|
+ param.setDeliveryCode(vo.getDeliveryCode());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(vo.getDeliveryName())) {
|
|
|
+ param.setDeliveryName(vo.getDeliveryName());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(vo.getDeliverySn())) {
|
|
|
+ param.setDeliverySn(vo.getDeliverySn());
|
|
|
+ }
|
|
|
+
|
|
|
param.setDeliveryStatus((vo.getDeliveryStatus()==null|| vo.getDeliveryStatus().isEmpty())?null:Integer.valueOf(vo.getDeliveryStatus()));
|
|
|
param.setDeliveryType(vo.getDeliveryType().isEmpty()?null:vo.getDeliveryType());
|
|
|
param.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
|
|
- //修改订单金额
|
|
|
-// BigDecimal payRemain = vo.getPayRemain();
|
|
|
-// if (payRemain != null){
|
|
|
-// if (!payRemain.equals(order.getPayRemain())){
|
|
|
-// BigDecimal payMoney = order.getPayMoney(); //实收金额
|
|
|
-// param.setPayPrice(payMoney.add(payRemain)); //应收金额
|
|
|
-// param.setPayRemain(vo.getPayRemain());
|
|
|
-// }
|
|
|
-// }
|
|
|
fsIntegralOrderMapper.updateById(param);
|
|
|
|
|
|
- successNum++;
|
|
|
- successMsg.append("<br/>").append(successNum).append("、订单编号 ").append(vo.getOrderCode()).append(" 修改成功");
|
|
|
+ FsIntegralOrderImportResultVO.ImportResultItem item = new FsIntegralOrderImportResultVO.ImportResultItem();
|
|
|
+ item.setRowNum(rowNum);
|
|
|
+ item.setOrderCode(vo.getOrderCode());
|
|
|
+ result.getSuccessList().add(item);
|
|
|
+ result.setSuccessNum(result.getSuccessNum() + 1);
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
-
|
|
|
- failureNum++;
|
|
|
- String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 修改失败:";
|
|
|
- failureMsg.append(msg).append(e.getMessage());
|
|
|
+ FsIntegralOrderImportResultVO.ImportResultItem item = new FsIntegralOrderImportResultVO.ImportResultItem();
|
|
|
+ item.setRowNum(rowNum);
|
|
|
+ item.setOrderCode(vo.getOrderCode());
|
|
|
+ item.setErrorMessage(e.getMessage());
|
|
|
+ result.getFailureList().add(item);
|
|
|
+ result.setFailureNum(result.getFailureNum() + 1);
|
|
|
}
|
|
|
}
|
|
|
- if (failureNum > 0) {
|
|
|
- failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
|
|
|
- throw new ServiceException(failureMsg.toString());
|
|
|
- } else {
|
|
|
- successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
|
|
|
- }
|
|
|
- return successMsg.toString();
|
|
|
+
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1258,3 +1280,4 @@ public class FsIntegralOrderServiceImpl implements IFsIntegralOrderService
|
|
|
return cloned;
|
|
|
}
|
|
|
}
|
|
|
+
|