소스 검색

excel导入功能

jaikuai 3 년 전
부모
커밋
f5b1d70b94

+ 3 - 6
src/main/java/cn/fastfun/controller/api/ApiAppDeviceController.java

@@ -1,6 +1,7 @@
 package cn.fastfun.controller.api;
 
 import cn.fastfun.controller.param.DeviceQueryParam;
+import cn.fastfun.service.AppDeviceService;
 import cn.fastfun.service.SysExcelFieldService;
 import cn.fastfun.service.entity.AppDevice;
 import com.bridge.dto.ApiDTO;
@@ -30,7 +31,7 @@ import java.util.Map;
 public class ApiAppDeviceController {
     //业务类
     @Resource(name = "appDeviceService")
-    JpaService<AppDevice, String> appDeviceService;
+    AppDeviceService appDeviceService;
 
     @Resource
     SysExcelFieldService sysExcelFieldService;
@@ -73,11 +74,7 @@ public class ApiAppDeviceController {
     @ApiOperation(value = "数据导入")
     @RequestMapping(value = "excelImport", method = RequestMethod.POST)
     public ApiDTO excelImport(MultipartFile file) {
-        List<Map<String, Object>> list = sysExcelFieldService.importExcel("invoice", file);
-        List<AppDevice> devices = new ArrayList<>();
-        list.forEach(p -> devices.add(new AppDevice(p)));
-
-        appDeviceService.save(devices);
+        appDeviceService.importDevice(sysExcelFieldService.importExcel("invoice", file));
         return ApiDTO.ok();
     }
 

+ 20 - 0
src/main/java/cn/fastfun/service/AppDeviceService.java

@@ -0,0 +1,20 @@
+package cn.fastfun.service;
+
+import cn.fastfun.service.entity.AppDevice;
+import com.bridge.service.JpaService;
+import com.bridge.service.impl.JpaServiceImp;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 设备相关服务
+ */
+public interface AppDeviceService extends JpaService<AppDevice, String> {
+
+    /**
+     * excel导入设备
+     */
+    void importDevice(List<Map<String, Object>> list);
+
+}

+ 23 - 5
src/main/java/cn/fastfun/service/impl/AppDeviceServiceImp.java

@@ -1,15 +1,33 @@
 package cn.fastfun.service.impl;
 
+import cn.fastfun.service.AppDeviceService;
 import cn.fastfun.service.entity.AppDevice;
-import com.bridge.service.JpaService;
+import com.bridge.exception.ApiRuntimeException;
 import com.bridge.service.impl.JpaServiceImp;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 /**
-* 服务实现类
-* Created by Bridge.
-*/
+ * 服务实现类
+ * Created by Bridge.
+ */
 @Service("appDeviceService")
-public class AppDeviceServiceImp extends JpaServiceImp<AppDevice, String> implements JpaService<AppDevice, String> {
+public class AppDeviceServiceImp extends JpaServiceImp<AppDevice, String> implements AppDeviceService {
 
+    @Override
+    public void importDevice(List<Map<String, Object>> list) {
+        List<AppDevice> devices = new ArrayList<>();
+        String diffBatchNum = "";
+        for (Map<String, Object> p : list) {
+            AppDevice device = new AppDevice(p);
+            if (StringUtils.isEmpty(diffBatchNum)) diffBatchNum = device.getBatchNum();
+            if (!diffBatchNum.equals(device.getBatchNum())) new ApiRuntimeException("存在不同的批次号");
+            devices.add(device);
+        }
+        save(devices);
+    }
 }