From a13255b4129ee8a7a7b7e1ecd8e02dd2c78f7c17 Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期四, 16 一月 2025 16:19:20 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java |  157 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 148 insertions(+), 9 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 8e9cf64..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,28 +1,51 @@
 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.PortalVIDTO;
 import com.vci.pagemodel.KeyValue;
 import com.vci.pagemodel.PortalVIVO;
 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 {
+    /**
+     * 鏃ュ織
+     */
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
    private OsPortalVIServiceI portalVIServiceI;
     /**
      * 琛ㄥ崟鍒楄〃
@@ -31,27 +54,143 @@
      * @param baseQueryObject 鏌ヨ鏉′欢
      * @return 鍒楄〃鐨勫唴瀹�
      */
-    @GetMapping( "/referDataGrid")
+    @GetMapping( "/gridPortalVIDatas")
     @VciBusinessLog(operateName = "琛ㄥ崟/琛ㄦ牸鍒楄〃")
-    public DataGrid<PortalVIVO> referDataGrid(BaseQueryObject baseQueryObject){
+    public DataGrid<PortalVIVO> gridPortalVIDatas(BaseQueryObject baseQueryObject){
         return portalVIServiceI.gridPortalVIVOs(baseQueryObject);
     }
 
+
+    /**
+     *鏍规嵁琛ㄥ崟id鑾峰彇鍏蜂綋鏁版嵁
+     * @param id
+     * @param viType
+     * @return
+     */
+    @GetMapping( "/getPortalVIById")
+    @VciBusinessLog(operateName = "鑾峰彇琛ㄥ崟/琛ㄦ牸鏁版嵁")
+    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);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
+    }
     /**
      * 琛ㄥ崟/table淇濆瓨
      * @param portalVIDTO
      * @return
      */
     @PostMapping("/savePortalVI")
-    @VciBusinessLog(operateName = "娣诲姞琛ㄥ崟/琛ㄦ牸")
+    @VciBusinessLog(operateName = "淇濆瓨琛ㄥ崟/琛ㄦ牸")
     public BaseResult savePortalVI(@RequestBody PortalVIDTO portalVIDTO){
         if(StringUtils.isNotBlank(portalVIDTO.getId())){
-            return portalVIServiceI.edit(portalVIDTO);
+            return portalVIServiceI.editSave(portalVIDTO);
         }else{
-            return portalVIServiceI.add(portalVIDTO);
+            return portalVIServiceI.addSave(portalVIDTO);
+        }
+    }
+    /**
+     * 琛ㄥ崟/table鍒犻櫎
+     * btmTypeDTO 涓氬姟绫诲瀷瀵硅薄
+     * @return 鍒犻櫎缁撴灉
+     */
+    @DeleteMapping("/delete")
+    @VciBusinessLog(operateName = "鍒犻櫎琛ㄥ崟/琛ㄦ牸")
+    public BaseResult delete(@RequestBody DeletePortalVIDTOList deletePortalVIDTOList){
+        try {
+            return portalVIServiceI.delete(deletePortalVIDTOList) ? BaseResult.success("鍒犻櫎鎴愬姛锛�"):BaseResult.fail("鍒犻櫎澶辫触锛�");
+        } catch (PLException e) {
+            e.printStackTrace();
+            String exceptionMessage = "鍒犻櫎琛ㄥ崟鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
+    }
+    /**
+     * 琛ㄥ崟/table鍒犻櫎
+     * btmTypeDTO 涓氬姟绫诲瀷瀵硅薄
+     * @return 鍒犻櫎缁撴灉
+     */
+    @DeleteMapping("/deleteByIds")
+    @VciBusinessLog(operateName = "鍒犻櫎琛ㄥ崟/琛ㄦ牸")
+    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);
+            logger.error(exceptionMessage);
+            return BaseResult.fail(exceptionMessage);
+        }
+    }
+
+    /**
+     * 琛ㄥ崟/table鍏嬮殕
+     * @param portalVIDTOList clong瀵硅薄
+     * @return
+     */
+    @PostMapping("/clone")
+    @VciBusinessLog(operateName = "鍏嬮殕琛ㄥ崟/琛ㄦ牸")
+    public BaseResult clone(@RequestBody ClonePortalVIDTOList portalVIDTOList){
+        try {
+            return portalVIServiceI.clone(portalVIDTOList) ? BaseResult.success("鍏嬮殕鎴愬姛锛�"):BaseResult.fail("鍏嬮殕澶辫触锛�");
+        } catch (Throwable e) {
+            e.printStackTrace();
+            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();
+        }
+    }
+
     /**
      * 鑾峰彇灞炴�у瓧娈电被鍨�
      */
@@ -64,7 +203,7 @@
      * 鑾峰彇瓒呴摼鎺ュ脊鍑烘柟娉�
      */
     @GetMapping("/getItemDblList")
-    @VciBusinessLog(operateName = "灞炴�у瓧娈电被鍨�")
+    @VciBusinessLog(operateName = "瓒呴摼鎺ョ被鍨�")
     public BaseResult<List<KeyValue>> getItemDblList(){
         return  BaseResult.dataList(ItemDblEnum.getEnumAll());
     }

--
Gitblit v1.9.3