From b6184e2ddf3db37a94f7efb3b619bbc64642a292 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期二, 27 一月 2026 18:12:48 +0800
Subject: [PATCH] Z四

---
 service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java |   89 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 72 insertions(+), 17 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java
index 0efe8c3..f7fd3b7 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -4,21 +4,27 @@
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.java110.api.importData.DefaultImportDataAdapt;
 import com.java110.api.importData.IImportDataCleaningAdapt;
 import com.java110.api.smo.DefaultAbstractComponentSMO;
 import com.java110.api.smo.assetImport.IAssetImportSMO;
 import com.java110.core.context.IPageData;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.PropertyWhiteListFlowDto;
 import com.java110.dto.log.AssetImportLogDetailDto;
+import com.java110.dto.payFee.PayFeeBatchDto;
 import com.java110.dto.system.ComponentValidateResult;
 import com.java110.dto.user.UserDto;
+import com.java110.intf.IImportPropertyWhiteListfFlowServiceSMO;
 import com.java110.intf.common.IAssetImportLogDetailInnerServiceSMO;
 import com.java110.intf.common.IAssetImportLogInnerServiceSMO;
+import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO;
 import com.java110.intf.job.IUserImportDataV1InnerServiceSMO;
 import com.java110.intf.user.IMenuUserV1InnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.po.log.AssetImportLogDetailPo;
 import com.java110.po.log.AssetImportLogPo;
+import com.java110.po.payFee.PayFeeBatchPo;
 import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.*;
 import com.java110.vo.ResultVo;
@@ -26,6 +32,7 @@
 import org.slf4j.Logger;
 import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -53,7 +60,8 @@
     /**
      * 瀵煎叆鏈�澶ц鏁�
      */
-    public static final int MAX_LINE = 5000;
+    @Value("${import.line.max}")
+    public int MAX_LINE;
 
     /**
      * 瀵煎叆鏈�澶ц鏁�
@@ -79,11 +87,22 @@
     @Autowired
     private IUserInnerServiceSMO iUserInnerServiceSMOImpl;
 
+    @Autowired
+    private IImportPropertyWhiteListfFlowServiceSMO importPropertyWhiteListfFlowServiceSMO;
+
+
+    @Autowired
+    private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
+
     @Override
     public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+        if (paramIn.getString("userId").isEmpty() || paramIn.getString("userId").equals("null")){
+            throw new IllegalArgumentException("userId涓虹┖");
+        }
         paramIn.put("userId", pd.getUserId());
         Assert.hasKeyAndValue(paramIn, "importAdapt", "鏈寘鍚ā鏉�");
+        Assert.hasKeyAndValue(paramIn, "userId", "鏈寘鍚玼serId");
         String importAdapt = paramIn.getString("importAdapt") + "DataCleaning";
 
         importDataCleaningAdapt = ApplicationContextFactory.getBean(importAdapt, IImportDataCleaningAdapt.class);
@@ -98,18 +117,61 @@
             Workbook workbook = null;  //宸ヤ綔绨�
             //宸ヤ綔琛�
             String[] headers = null;   //琛ㄥご淇℃伅
-            workbook = ImportExcelUtils.createWorkbook(uploadFile);
+            if(uploadFile == null || uploadFile.getSize() == 0){
 
-            // todo 閫傞厤鍣ㄥ皝瑁呮暟鎹�
-            List datas = importDataCleaningAdapt.analysisExcel(workbook, paramIn, result);
+                PropertyWhiteListFlowDto propertyWhiteListFlowDto = new PropertyWhiteListFlowDto();
+                propertyWhiteListFlowDto.setCommunityId((String) JSONObject.parseObject(pd.getReqData()).get("communityId"));
+                // todo 閫傞厤鍣ㄥ皝瑁呮暟鎹�
+                List<PropertyWhiteListFlowDto> datas = importPropertyWhiteListfFlowServiceSMO.queryPropertyWhiteListFlow(propertyWhiteListFlowDto);
+                PayFeeBatchPo payFeeBatchPo = new PayFeeBatchPo();
+                payFeeBatchPo.setBatchId(GenerateCodeFactory.getGeneratorId("12"));
+                payFeeBatchPo.setCommunityId(paramIn.getString("communityId"));
+                payFeeBatchPo.setCreateUserId(paramIn.getString("userId"));
+                UserDto userDto = new UserDto();
+                userDto.setUserId(paramIn.getString("userId"));
+                List<UserDto> userDtos = iUserInnerServiceSMOImpl.getUsers(userDto);
 
+                Assert.listOnlyOne(userDtos, "鐢ㄦ埛涓嶅瓨鍦�");
+                payFeeBatchPo.setCreateUserName(userDtos.get(0).getUserName());
+                payFeeBatchPo.setState(PayFeeBatchDto.STATE_NORMAL);
+                payFeeBatchPo.setMsg("姝e父");
+                int flag = payFeeBatchV1InnerServiceSMOImpl.savePayFeeBatch(payFeeBatchPo);
 
-            if (datas == null || datas.size() > MAX_LINE) {
-                throw new IllegalArgumentException("鏁版嵁涓虹┖锛屾垨鑰呮暟鎹鏁板ぇ浜�" + MAX_LINE);
+                if (flag < 1) {
+                    throw new IllegalArgumentException("鐢熸垚鎵规澶辫触");
+                }
+
+                paramIn.put("batchId", payFeeBatchPo.getBatchId());
+
+                for (PropertyWhiteListFlowDto importRoomFee : datas) {
+                    importRoomFee.setUserId(paramIn.getString("userId"));
+                    importRoomFee.setStoreId(paramIn.getString("storeId"));
+                    importRoomFee.setCommunityId(paramIn.getString("communityId"));
+                    importRoomFee.setBatchId(paramIn.getString("batchId"));
+                    importRoomFee.setObjType(paramIn.getString("objType"));
+                }
+
+                if (datas == null || datas.size() > MAX_LINE) {
+                    throw new IllegalArgumentException("鏁版嵁涓虹┖锛屾垨鑰呮暟鎹鏁板ぇ浜�" + MAX_LINE);
+                }
+
+                // 淇濆瓨鏁版嵁
+                return saveLogAndImportData(pd, datas, result, paramIn.getString("importAdapt"));
             }
+            else{
+                workbook = ImportExcelUtils.createWorkbook(uploadFile);
+                result.setImportFileName(uploadFile.getOriginalFilename());
+                // todo 閫傞厤鍣ㄥ皝瑁呮暟鎹�
+                List datas = importDataCleaningAdapt.analysisExcel(workbook, paramIn, result);
 
-            // 淇濆瓨鏁版嵁
-            return saveLogAndImportData(pd, datas, result, paramIn.getString("importAdapt"));
+
+                if (datas == null || datas.size() > MAX_LINE) {
+                    throw new IllegalArgumentException("鏁版嵁涓虹┖锛屾垨鑰呮暟鎹鏁板ぇ浜�" + MAX_LINE);
+                }
+
+                // 淇濆瓨鏁版嵁
+                return saveLogAndImportData(pd, datas, result, paramIn.getString("importAdapt"));
+            }
         } catch (Exception e) {
             logger.error("瀵煎叆澶辫触 ", e);
             return new ResponseEntity<String>("闈炲父鎶辨瓑锛屾偍濉啓鐨勬ā鏉挎暟鎹湁璇細" + e.getMessage(), HttpStatus.BAD_REQUEST);
@@ -135,15 +197,7 @@
         assetImportLogPo.setErrorCount("0");
         assetImportLogPo.setSuccessCount("0");
         String userId = null;
-        try {
-            userId = new ObjectMapper().readValue(pd.getReqData(), HashMap.class).get("userId").toString();
-        } catch (JsonMappingException e) {
-            throw new RuntimeException(e);
-        } catch (JsonParseException e) {
-            throw new RuntimeException(e);
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
+        userId = pd.getUserId();
         if(userId != null) {
             UserDto userDto = new UserDto();
             userDto.setUserId(userId);
@@ -152,6 +206,7 @@
                 assetImportLogPo.setUserName(users.get(0).getUserName());
             }
         }
+        assetImportLogPo.setImportFileName(result.getImportFileName());
         assetImportLogInnerServiceSMOImpl.saveAssetImportLog(assetImportLogPo);
 
         List<AssetImportLogDetailPo> assetImportLogDetailPos = new ArrayList<>();

--
Gitblit v1.8.0