From d0ae279ff3b83358d1c07f4481a041c4ad335026 Mon Sep 17 00:00:00 2001
From: dangsn <dangsn@chicecm.com>
Date: 星期二, 03 十二月 2024 11:57:38 +0800
Subject: [PATCH] 提取业务系统使用的功能,独立出一个单独的模块

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java |   89 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 72 insertions(+), 17 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java
index b86ab56..cd18e44 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java
@@ -1,34 +1,42 @@
 package com.vci.web.controller;
 
+import com.vci.constant.FrameWorkLangCodeConstant;
 import com.vci.corba.common.PLException;
 import com.vci.dto.ClonePortalVIDTOList;
 import com.vci.dto.DeletePortalVIDTOList;
-import com.vci.dto.OsBtmTypeDTO;
 import com.vci.dto.PortalVIDTO;
 import com.vci.pagemodel.KeyValue;
 import com.vci.pagemodel.PortalVIVO;
-import com.vci.starter.web.annotation.controller.VciUnCheckRight;
 import com.vci.starter.web.annotation.log.VciBusinessLog;
+import com.vci.starter.web.exception.VciBaseException;
 import com.vci.starter.web.pagemodel.BaseQueryObject;
 import com.vci.starter.web.pagemodel.BaseResult;
 import com.vci.starter.web.pagemodel.DataGrid;
+import com.vci.starter.web.util.ControllerUtil;
+import com.vci.starter.web.util.LangBaseUtil;
+import com.vci.starter.web.util.LocalFileUtil;
 import com.vci.starter.web.util.VciBaseUtil;
 import com.vci.web.enumpck.ItemDblEnum;
-import com.vci.web.enumpck.ItemTypeEnum;
+import com.vci.enumpck.UI.ItemTypeEnum;
 import com.vci.web.service.OsPortalVIServiceI;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
+import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 
 /**
- * 鍏紡鎺у埗鍣�
+ * 琛ㄥ崟/琛ㄦ牸鎺у埗鍣�
  * @author weidy
  * @date 2022-2-11
  */
+@VciBusinessLog(modelName="琛ㄥ崟/琛ㄦ牸鎺у埗鍣�",notStore=true)
 @RestController
 @RequestMapping("/portalVIController")
 public class WebPortalVIController {
@@ -56,17 +64,18 @@
     /**
      *鏍规嵁琛ㄥ崟id鑾峰彇鍏蜂綋鏁版嵁
      * @param id
+     * @param viType
      * @return
      */
     @GetMapping( "/getPortalVIById")
     @VciBusinessLog(operateName = "鑾峰彇琛ㄥ崟/琛ㄦ牸鏁版嵁")
-    public BaseResult getPortalVIById(@RequestBody String id,@RequestBody String viType){
+    public BaseResult getPortalVIById(@RequestParam("id") String id,@RequestParam("viType") String viType){
         try{
             PortalVIVO portalVIVO=  portalVIServiceI.getPortalVIById(id,viType);
            return  BaseResult.success(portalVIVO);
         }catch (Throwable e){
             e.printStackTrace();
-            String exceptionMessage = "鍒涘缓涓氬姟绫诲瀷鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+            String exceptionMessage = "鑾峰彇琛ㄥ崟/琛ㄦ牸鏁版嵁鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
             logger.error(exceptionMessage);
             return BaseResult.fail(exceptionMessage);
         }
@@ -84,10 +93,9 @@
         }else{
             return portalVIServiceI.addSave(portalVIDTO);
         }
-
     }
     /**
-     * 涓氬姟绫诲瀷鍒犻櫎
+     * 琛ㄥ崟/table鍒犻櫎
      * btmTypeDTO 涓氬姟绫诲瀷瀵硅薄
      * @return 鍒犻櫎缁撴灉
      */
@@ -104,38 +112,85 @@
         }
     }
     /**
-     * 涓氬姟绫诲瀷鍒犻櫎
+     * 琛ㄥ崟/table鍒犻櫎
      * btmTypeDTO 涓氬姟绫诲瀷瀵硅薄
      * @return 鍒犻櫎缁撴灉
      */
     @DeleteMapping("/deleteByIds")
     @VciBusinessLog(operateName = "鍒犻櫎琛ㄥ崟/琛ㄦ牸")
-    public BaseResult deleteByIds(@RequestBody String ids){
+    public BaseResult deleteByIds(@RequestParam("ids") String ids){
         try {
             return portalVIServiceI.delete(ids) ? BaseResult.success("鍒犻櫎鎴愬姛锛�"):BaseResult.fail("鍒犻櫎澶辫触锛�");
         } catch (PLException e) {
             e.printStackTrace();
-            String exceptionMessage = "鍒犻櫎琛ㄥ崟鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+            String exceptionMessage =  VciBaseUtil.getExceptionMessage(e);
             logger.error(exceptionMessage);
             return BaseResult.fail(exceptionMessage);
         }
     }
+
     /**
-     *
+     * 琛ㄥ崟/table鍏嬮殕
+     * @param portalVIDTOList clong瀵硅薄
+     * @return
      */
     @PostMapping("/clone")
-    @VciBusinessLog(operateName = "鍒犻櫎琛ㄥ崟/琛ㄦ牸")
+    @VciBusinessLog(operateName = "鍏嬮殕琛ㄥ崟/琛ㄦ牸")
     public BaseResult clone(@RequestBody ClonePortalVIDTOList portalVIDTOList){
         try {
-            return portalVIServiceI.clone(portalVIDTOList) ? BaseResult.success("鍒犻櫎鎴愬姛锛�"):BaseResult.fail("鍒犻櫎澶辫触锛�");
+            return portalVIServiceI.clone(portalVIDTOList) ? BaseResult.success("鍏嬮殕鎴愬姛锛�"):BaseResult.fail("鍏嬮殕澶辫触锛�");
         } catch (Throwable e) {
             e.printStackTrace();
-            String exceptionMessage = "鍒犻櫎琛ㄥ崟鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+            String exceptionMessage = "鍏嬮殕琛ㄥ崟/琛ㄦ牸鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
             logger.error(exceptionMessage);
             return BaseResult.fail(exceptionMessage);
         }
 
     }
+
+    /**
+     * 瀵煎嚭鏁版嵁搴撶殑琛ㄤ俊鎭埌excel
+     * @param response 鍝嶅簲瀵硅薄
+     * @param ids 涓氬姟绫诲瀷鐨勭紪鍙凤紝鐢ㄩ�楀彿鍒嗗壊
+     */
+    @PostMapping("/exportExcel")
+    @VciBusinessLog(operateName = "瀵煎嚭琛ㄥ崟/琛ㄦ牸鍒癳xcel涓�")
+    public void exportExcel(String ids,HttpServletResponse response){
+        String excelFileName = portalVIServiceI.exportToExcel(VciBaseUtil.str2List(ids));
+        try {
+            ControllerUtil.writeFileToResponse(response,excelFileName);
+        } catch (IOException e) {
+            try {
+                ControllerUtil.writeDataToResponse(response, LangBaseUtil.getErrorMsg(e).getBytes(StandardCharsets.UTF_8),null);
+            } catch (IOException ex) {
+                ex.printStackTrace();
+            }
+        }
+    }
+
+    /**
+     * 瀵煎嚭鏁版嵁搴撶殑琛ㄤ俊鎭埌excel
+     * @param file 涓婁紶鐨勬枃浠�
+     */
+    @PostMapping("/importData")
+    @VciBusinessLog(operateName = "瀵煎叆琛ㄥ崟/琛ㄦ牸")
+    public BaseResult importData(MultipartFile file){
+        String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename());
+        File file1 = new File(excelFileName);
+        try {
+            file.transferTo(new File(excelFileName));
+            if (file != null) {
+                return portalVIServiceI.importData(file1);
+            } else {
+                return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"鏃犲鍏ョ殑鏂囦欢"});
+            }
+        }catch (Throwable e) {
+            throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e);
+        }finally {
+            file1.delete();
+        }
+    }
+
     /**
      * 鑾峰彇灞炴�у瓧娈电被鍨�
      */
@@ -148,7 +203,7 @@
      * 鑾峰彇瓒呴摼鎺ュ脊鍑烘柟娉�
      */
     @GetMapping("/getItemDblList")
-    @VciBusinessLog(operateName = "灞炴�у瓧娈电被鍨�")
+    @VciBusinessLog(operateName = "瓒呴摼鎺ョ被鍨�")
     public BaseResult<List<KeyValue>> getItemDblList(){
         return  BaseResult.dataList(ItemDblEnum.getEnumAll());
     }

--
Gitblit v1.9.3