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