From fbc8d20f0ae2f663e1a13560f314f05b870c998c Mon Sep 17 00:00:00 2001
From: his-uncles-father <88386378@qq.com>
Date: 星期三, 21 四月 2021 16:16:28 +0800
Subject: [PATCH] 合同附件上传

---
 java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java                     |    2 
 service-front/src/main/java/com/java110/front/smo/assetImport/IImportRoomFeeSMO.java             |    2 
 service-front/src/main/java/com/java110/front/components/assetImport/ImportRoomFeeComponent.java |   12 +++
 java110-generator/src/main/java/com/java110/code/newBack/BackCoderGeneratorStart.java            |    2 
 java110-bean/src/main/java/com/java110/po/contract/ContractPo.java                               |   13 ++++
 service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java     |   50 ++++++++++++++++
 service-store/src/main/java/com/java110/store/api/ContractApi.java                               |   40 +++++++++++++
 7 files changed, 116 insertions(+), 5 deletions(-)

diff --git a/java110-bean/src/main/java/com/java110/po/contract/ContractPo.java b/java110-bean/src/main/java/com/java110/po/contract/ContractPo.java
index 82dee88..3292f13 100644
--- a/java110-bean/src/main/java/com/java110/po/contract/ContractPo.java
+++ b/java110-bean/src/main/java/com/java110/po/contract/ContractPo.java
@@ -1,6 +1,9 @@
 package com.java110.po.contract;
 
+import com.java110.po.contractFile.ContractFilePo;
+
 import java.io.Serializable;
+import java.util.List;
 
 public class ContractPo implements Serializable {
 
@@ -31,7 +34,7 @@
     private String objPersonName;
     private String objPersonId;
     private String startUserId;
-
+    private List<ContractFilePo> contractFilePo;
 
     public String getaLink() {
         return aLink;
@@ -248,4 +251,12 @@
     public void setStartUserId(String startUserId) {
         this.startUserId = startUserId;
     }
+    public List<ContractFilePo> getContractFilePo() {
+        return contractFilePo;
+    }
+
+    public void setContractFilePo(List<ContractFilePo> contractFilePo) {
+        this.contractFilePo = contractFilePo;
+    }
+
 }
diff --git a/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java b/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
index 86202eb..ef27e0c 100644
--- a/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
+++ b/java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java
@@ -146,6 +146,8 @@
     public static final String CODE_PREFIX_appointmentId = "80";
     public static final String CODE_PREFIX_contractId = "81";
     public static final String CODE_PREFIX_contractTypeId = "81";
+    public static final String CODE_PREFIX_contractFileId = "89";
+
     public static final String CODE_PREFIX_specCd = "82";
     public static final String CODE_PREFIX_loginId = "82";
     public static final String CODE_PREFIX_templateId = "82";
diff --git a/java110-generator/src/main/java/com/java110/code/newBack/BackCoderGeneratorStart.java b/java110-generator/src/main/java/com/java110/code/newBack/BackCoderGeneratorStart.java
index b3a30df..b0815df 100644
--- a/java110-generator/src/main/java/com/java110/code/newBack/BackCoderGeneratorStart.java
+++ b/java110-generator/src/main/java/com/java110/code/newBack/BackCoderGeneratorStart.java
@@ -29,7 +29,7 @@
     public static void main(String[] args) throws Exception {
 
         //鍔犺浇閰嶇疆
-        StringBuffer sb = readFile(GeneratorStart.class.getResource("/newBack/template_1.json").getFile());
+        StringBuffer sb = readFile(GeneratorStart.class.getResource("/newBack/template_contractFile.json").getFile());
 
         JSONObject dataJson = JSONObject.parseObject(sb.toString());
 
diff --git a/service-front/src/main/java/com/java110/front/components/assetImport/ImportRoomFeeComponent.java b/service-front/src/main/java/com/java110/front/components/assetImport/ImportRoomFeeComponent.java
index e9ef012..d04f460 100644
--- a/service-front/src/main/java/com/java110/front/components/assetImport/ImportRoomFeeComponent.java
+++ b/service-front/src/main/java/com/java110/front/components/assetImport/ImportRoomFeeComponent.java
@@ -2,7 +2,6 @@
 
 import com.java110.core.context.IPageData;
 import com.java110.front.controller.CallComponentController;
-import com.java110.front.smo.assetExport.IAssetExportSMO;
 import com.java110.front.smo.assetExport.IExportRoomSMO;
 import com.java110.front.smo.assetImport.IImportRoomFeeSMO;
 import org.slf4j.Logger;
@@ -39,6 +38,17 @@
     }
 
     /**
+     * 涓婁紶闄勪欢
+     *
+     * @param uploadFile 闄勪欢鏁版嵁
+     * @return ResponseEntity 瀵硅薄
+     */
+    public ResponseEntity<String> uploadContactFile(IPageData pd, MultipartFile uploadFile) throws Exception {
+        return importRoomFeeSMOImpl.importFile(uploadFile);
+    }
+
+
+    /**
      * 娣诲姞搴旂敤鏁版嵁
      *
      * @param pd 椤甸潰鏁版嵁灏佽
diff --git a/service-front/src/main/java/com/java110/front/smo/assetImport/IImportRoomFeeSMO.java b/service-front/src/main/java/com/java110/front/smo/assetImport/IImportRoomFeeSMO.java
index c169516..2a434e1 100644
--- a/service-front/src/main/java/com/java110/front/smo/assetImport/IImportRoomFeeSMO.java
+++ b/service-front/src/main/java/com/java110/front/smo/assetImport/IImportRoomFeeSMO.java
@@ -22,5 +22,7 @@
      */
     public ResponseEntity<String> importExcelData(IPageData pd,  MultipartFile uploadFile) throws Exception;
 
+    public ResponseEntity<String> importFile(MultipartFile uploadFile) throws Exception;
+
     ResponseEntity<String> importTempData(IPageData pd);
 }
diff --git a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
index b12d232..286e9de 100644
--- a/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
+++ b/service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java
@@ -2,6 +2,11 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+
+import com.java110.config.properties.code.Java110Properties;
+import com.java110.core.client.FtpUploadTemplate;
+import com.java110.core.client.OssUploadTemplate;
+
 import com.java110.core.component.BaseComponentSMO;
 import com.java110.core.context.IPageData;
 import com.java110.core.factory.GenerateCodeFactory;
@@ -10,12 +15,18 @@
 import com.java110.entity.assetImport.ImportRoomFee;
 import com.java110.entity.component.ComponentValidateResult;
 import com.java110.front.smo.assetImport.IImportRoomFeeSMO;
+
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.util.*;
+
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.ImportExcelUtils;
 import com.java110.utils.util.StringUtil;
+
 import com.java110.vo.ResultVo;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -51,6 +62,16 @@
     @Autowired
     private RestTemplate restTemplate;
 
+    @Autowired
+    private FtpUploadTemplate ftpUploadTemplate;
+
+    @Autowired
+    private Java110Properties java110Properties;
+
+    @Autowired
+    private OssUploadTemplate ossUploadTemplate;
+
+
     @Override
     public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
 
@@ -85,6 +106,31 @@
     }
 
     @Override
+    public ResponseEntity<String> importFile(MultipartFile uploadFile) throws Exception {
+        try {
+            String fileName = "";
+            String ossSwitch = MappingCache.getValue(OSSUtil.DOMAIN, OSSUtil.OSS_SWITCH);
+            if (StringUtil.isEmpty(ossSwitch) || !OSSUtil.OSS_SWITCH_OSS.equals(ossSwitch)) {
+                fileName = ftpUploadTemplate.upload(uploadFile, java110Properties.getFtpServer(),
+                        java110Properties.getFtpPort(), java110Properties.getFtpUserName(),
+                        java110Properties.getFtpUserPassword(), java110Properties.getFtpPath());
+            } else {
+                fileName = ossUploadTemplate.upload(uploadFile, java110Properties.getFtpServer(),
+                        java110Properties.getFtpPort(), java110Properties.getFtpUserName(),
+                        java110Properties.getFtpUserPassword(), java110Properties.getFtpPath());
+            }
+            ResponseEntity<String> responseEntity = new ResponseEntity<String>(fileName, HttpStatus.OK);
+            return responseEntity;
+        } catch (Exception e) {
+            logger.error("涓婁紶鍚堝悓闄勪欢澶辫触 ", e);
+            return new ResponseEntity<String>("闈炲父鎶辨瓑锛屼笂浼犲悎鍚岄檮浠跺け璐ワ細" + e.getMessage(), HttpStatus.BAD_REQUEST);
+        }
+    }
+
+
+
+    @Override
+
     public ResponseEntity<String> importTempData(IPageData pd) {
         ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
@@ -120,9 +166,9 @@
      * @param roomFees 鎴垮眿璐圭敤
      */
     private ResponseEntity<String> dealExcelCarData(IPageData pd,
-                                                 List<ImportRoomFee> roomFees,
+                                                    List<ImportRoomFee> roomFees,
 
-                                                 ComponentValidateResult result) {
+                                                    ComponentValidateResult result) {
         ResponseEntity<String> responseEntity = null;
         //淇濆瓨鍗曞厓淇℃伅 鍜� 妤兼爧淇℃伅
         responseEntity = savedCarFees(pd, roomFees, result);
diff --git a/service-store/src/main/java/com/java110/store/api/ContractApi.java b/service-store/src/main/java/com/java110/store/api/ContractApi.java
index 7a7a143..2346da0 100644
--- a/service-store/src/main/java/com/java110/store/api/ContractApi.java
+++ b/service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -1,6 +1,12 @@
 package com.java110.store.api;
 
+
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.factory.GenerateCodeFactory;
+
+import com.alibaba.fastjson.JSONObject;
+
 import com.java110.dto.contract.ContractDto;
 import com.java110.dto.contractAttr.ContractAttrDto;
 import com.java110.dto.contractChangePlan.ContractChangePlanDto;
@@ -17,9 +23,17 @@
 import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
 import com.java110.po.contractChangePlanDetailAttr.ContractChangePlanDetailAttrPo;
 import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+
+import com.java110.po.contractFile.ContractFilePo;
 import com.java110.po.contractType.ContractTypePo;
 import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
 import com.java110.po.contractTypeTemplate.ContractTypeTemplatePo;
+import com.java110.po.purchase.PurchaseApplyDetailPo;
+
+import com.java110.po.contractType.ContractTypePo;
+import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
+import com.java110.po.contractTypeTemplate.ContractTypeTemplatePo;
+
 import com.java110.store.bmo.contract.IDeleteContractBMO;
 import com.java110.store.bmo.contract.IGetContractBMO;
 import com.java110.store.bmo.contract.ISaveContractBMO;
@@ -59,6 +73,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
 
 
 @RestController
@@ -196,6 +214,18 @@
             contractPo.setContractParentId("-1");
         }
         reqJson.put("userId", userId);
+
+
+        JSONArray contractFiles = reqJson.getJSONArray("contractFilePo");
+        List<ContractFilePo> contractFilePos = new ArrayList<>();
+        for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) {
+            JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex);
+            ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class);
+            contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId));
+            contractFilePos.add(contractFilePo);
+        }
+        contractPo.setContractFilePo(contractFilePos);
+
         return saveContractBMOImpl.save(contractPo, reqJson);
     }
 
@@ -228,6 +258,16 @@
 
 
         ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
+
+        JSONArray contractFiles = reqJson.getJSONArray("contractFilePo");
+        List<ContractFilePo> contractFilePos = new ArrayList<>();
+        for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) {
+            JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex);
+            ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class);
+            contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId));
+            contractFilePos.add(contractFilePo);
+        }
+        contractPo.setContractFilePo(contractFilePos);
         return updateContractBMOImpl.update(contractPo, reqJson);
     }
 

--
Gitblit v1.8.0