Sfoglia il codice sorgente

康年堂订单导入状态

yh 6 giorni fa
parent
commit
09bc78f141

+ 20 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -41,6 +41,8 @@ import com.fs.his.service.impl.FsDfAccountServiceImpl;
 import com.fs.his.utils.ConfigUtil;
 import com.fs.his.vo.FsStoreOrderListAndStatisticsVo;
 import com.fs.his.vo.FsStoreOrderListVO;
+import com.fs.his.vo.FsStoreOrderStateVo;
+import com.fs.his.vo.FsStoreOrderStatusExcelVO;
 import com.fs.hisStore.config.FsErpConfig;
 import com.fs.hisStore.domain.FsStoreOrderItemScrm;
 import com.fs.hisStore.domain.FsStoreOrderScrm;
@@ -255,6 +257,24 @@ public class FsStoreOrderScrmController extends BaseController {
         return vo;
     }
 
+    @GetMapping("/importUpdatStoreOrderTemplate")
+    public AjaxResult importUpdateOrderTemplate()
+    {
+        ExcelUtil<FsStoreOrderStateVo> util = new ExcelUtil<>(FsStoreOrderStateVo.class);
+        return util.importTemplateExcel("导入订单状态");
+    }
+
+    @Log(title = "导入订单状态", businessType = BusinessType.IMPORT)
+    @PostMapping("/importOrderStatusData")
+    @PreAuthorize("@ss.hasPermi('his:storeOrder:editImport')")
+    public AjaxResult importOrderStatusData(MultipartFile file, boolean updateSupport) throws Exception
+    {
+        ExcelUtil<FsStoreOrderStateVo> util = new ExcelUtil<>(FsStoreOrderStateVo.class);
+        List<FsStoreOrderStateVo> list = util.importExcel(file.getInputStream());
+        String message = fsStoreOrderService.importOrderStatusData(list);
+        return AjaxResult.success(message);
+    }
+
     @PreAuthorize("@ss.hasPermi('store:storeOrder:payRemainList')")
     @GetMapping("/payRemainList")
     public TableDataInfo payRemainList(FsStoreOrderParam param) {

+ 14 - 0
fs-service/src/main/java/com/fs/his/vo/FsStoreOrderStateVo.java

@@ -0,0 +1,14 @@
+package com.fs.his.vo;
+
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+
+@Data
+public class FsStoreOrderStateVo {
+    @Excel(name = "订单编号")
+    private String orderCode;
+
+    @Excel(name = "订单状态")
+    private String status;
+}

+ 1 - 1
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreAfterSalesScrmMapper.java

@@ -109,7 +109,7 @@ public interface FsStoreAfterSalesScrmMapper
             "and s.sales_status = #{maps.salesStatus} " +
             "</if>" +
             "<if test = 'maps.orderStatus != null    '> " +
-            "and s.order_status = #{maps.orderStatus} " +
+            "and o.status = #{maps.orderStatus} " +
             "</if>" +
             "<if test = 'maps.orderCode != null and  maps.orderCode !=  \"\" '> " +
             "and o.order_code like concat('%', #{maps.orderCode}, '%') " +

+ 7 - 4
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreOrderScrmService.java

@@ -16,8 +16,8 @@ import com.fs.his.domain.FsStorePayment;
 import com.fs.his.dto.ExpressInfoDTO;
 import com.fs.his.dto.FsStoreOrderAmountScrmStatsQueryDto;
 import com.fs.his.param.FsStoreOrderSalesParam;
-import com.fs.his.vo.FsStoreOrderAmountScrmStatsVo;
-import com.fs.his.vo.FsStoreOrderExcelVO;
+import com.fs.his.vo.*;
+import com.fs.his.vo.FsPrescribeVO;
 import com.fs.hisStore.domain.FsStoreOrderItemScrm;
 import com.fs.hisStore.domain.FsStoreOrderLogsScrm;
 import com.fs.hisStore.domain.FsStoreOrderScrm;
@@ -28,8 +28,9 @@ import com.fs.hisStore.dto.FsStoreOrderComputeDTO;
 import com.fs.hisStore.dto.StoreOrderExpressExportDTO;
 import com.fs.hisStore.param.*;
 import com.fs.hisStore.vo.*;
-
-import com.fs.his.vo.FsPrescribeVO;
+import com.fs.hisStore.vo.FsStoreOrderErpExportVO;
+import com.fs.hisStore.vo.FsStoreOrderVO;
+import com.fs.hisStore.vo.FsStoreProductDeliverExcelVO;
 
 /**
  * 订单Service接口
@@ -352,4 +353,6 @@ public interface IFsStoreOrderScrmService
     void updateFsStoreOrderDb(FsStoreOrderScrm order);
 
     ExpressInfoDTO getDfExpressInfoDTO(FsStoreOrderScrm order);
+
+    String importOrderStatusData(List<FsStoreOrderStateVo> list);
 }

+ 68 - 5
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -28,11 +28,7 @@ import com.fs.common.event.TemplateEvent;
 import com.fs.common.event.TemplateListenEnum;
 import com.fs.common.exception.CustomException;
 import com.fs.common.exception.ServiceException;
-import com.fs.common.utils.CloudHostUtils;
-import com.fs.common.utils.DateUtils;
-import com.fs.common.utils.IpUtil;
-import com.fs.common.utils.ServletUtils;
-import com.fs.common.utils.StringUtils;
+import com.fs.common.utils.*;
 import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.common.utils.ip.IpUtils;
 import com.fs.common.utils.spring.SpringUtils;
@@ -5442,6 +5438,73 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
         return expressInfoDTO;
     }
 
+    @Override
+    public String importOrderStatusData(List<FsStoreOrderStateVo> 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 (FsStoreOrderStateVo vo : list) {
+            try {
+                //1.必填参数
+                ExcelUtils.validateRequiredFields(vo, list.indexOf(vo) + 1); // 传入行号
+                FsStoreOrderScrm o = fsStoreOrderMapper.selectFsStoreOrderByOrderCode(vo.getOrderCode());
+                if (o ==null){
+                    failureNum++;
+                    String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 导入失败:";
+                    failureMsg.append(msg).append("订单不存在");
+                    continue;
+                }
+
+                FsStoreOrderScrm param = new FsStoreOrderScrm();
+                param.setOrderCode(vo.getOrderCode());
+                String inputStatus = vo.getStatus();
+                if (StringUtils.isEmpty(inputStatus)) {
+                    failureNum++;
+                    String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 导入失败:";
+                    failureMsg.append(msg).append("该订单状态为空");
+                    continue;
+                }
+
+                if ("-1".equals(inputStatus)) {
+                    failureNum++;
+                    String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 导入失败:";
+                    failureMsg.append(msg).append("该状态不支持修改为退款中,需要手动申请退款");
+                    continue;
+                }
+
+                if ("-2".equals(inputStatus)) {
+                    failureNum++;
+                    String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 导入失败:";
+                    failureMsg.append(msg).append("该状态不支持修改为已退款,需要审核完成退款");
+                    continue;
+                }
+
+                param.setStatus(Integer.valueOf(inputStatus));
+                fsStoreOrderMapper.updateFsStoreOrderByOrderCode(param);
+
+                successNum++;
+                successMsg.append("<br/>").append(successNum).append("、订单编号 ").append(vo.getOrderCode()).append(" 修改成功");
+
+            } catch (Exception e) {
+
+                failureNum++;
+                String msg = "<br/>" + failureNum + "、订单编号 " + vo.getOrderCode() + " 修改失败:";
+                failureMsg.append(msg).append(e.getMessage());
+            }
+        }
+        if (failureNum > 0) {
+            failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
+            throw new ServiceException(failureMsg.toString());
+        } else {
+            successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
+        }
+        return successMsg.toString();
+    }
+
     private static final DateTimeFormatter CST_FORMATTER = DateTimeFormatter
             .ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US)
             .withZone(ZoneId.of("Asia/Shanghai"));

+ 3 - 3
fs-service/src/main/resources/application-config-druid-knt.yml

@@ -10,9 +10,9 @@ logging:
 wx:
   miniapp:
     configs:
-      - appid:
-        secret:
-        token:
+      - appid: wxd2edd379beb6581b
+        secret: b1dff8f6deb4a00dd4a0878b075071df
+        token: cbnd7lJvkripVOpyTFAna6NAWCxCrvC
         aesKey: HlEiBB55eaWUaeBVAQO3cWKWPYv1vOVQSq7nFNICw4E
         msgDataFormat: JSON
   cp: