From 1129cc278ec2f7f1fd3eb325b11974bd884346da Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 09 四月 2025 13:48:49 +0800
Subject: [PATCH] 灌溉计划详情增加计划状态

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java |  251 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 251 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java
new file mode 100644
index 0000000..6f26cd1
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java
@@ -0,0 +1,251 @@
+package com.dy.pipIrrGlobal.webCtrls;
+
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.dyFile.FileConstant;
+import com.dy.pipIrrGlobal.dyFile.FileOperate;
+import com.dy.pipIrrGlobal.dyFile.FileRestVo;
+import com.dy.pipIrrGlobal.dyFile.FileVo;
+import com.dy.pipIrrGlobal.pojoFi.WebFile;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Date;
+/**
+ * web鏂囦欢涓婁紶
+ */
+@Slf4j
+@RestController
+@RequestMapping(path="webFile")
+public class WebFileCtrl {
+
+    @Autowired
+    private FileOperate fileOp ;
+
+    @Autowired
+    private WebFileSv sv ;
+
+    @Value("${dy.webFile.fmUrl}")
+    private String fmUrl ;
+
+    //鏀寔鐨勬枃浠剁被鍨�
+    @Value("${dy.webFile.supportedFileTypes}")
+    private String supportedFileTypes ;
+
+    //瑙嗛鐨勭缉鐣ュ浘鐨勬墿灞曞悕
+    private static final String VideoZipPicFileType = "jpg";
+
+    /**
+     * 涓婁紶鐓х墖鍥剧墖鏂囦欢 锛堝綋鍓嶅彧瀵筽ng jpg鏍煎紡鍥剧墖鏀寔缂╃暐鍥撅級
+     * @param file web绔笂浼犳枃浠剁殑post瀵硅薄
+     * @return 杩斿洖缁撴灉
+     */
+    @PostMapping("/upPhoto")
+    //鍙傝�冿細https://blog.zhengru.top/posts/33486.html#%E5%8D%95%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0
+    public BaseResponse<?> upPhoto(MultipartFile file) {
+        try {
+            if (file != null) {
+                String[] fileNameGrp = fileOp.splitFileName(file) ;
+                if(fileNameGrp != null && fileNameGrp[0] != null && fileNameGrp[1] != null){
+                    if(!fileNameGrp[1].trim().equals("")){
+                        FileRestVo frVo = fileOp.saveFile(file,
+                                fmUrl,
+                                FileConstant.fileRequestMapping,
+                                FileConstant.filePostMapping_photo,
+                                FileConstant.NotRegionNum,
+                                fileNameGrp[1],
+                                null);
+                        String fileMainName = fileOp.getFileMainName(frVo.fileName) ;
+                        Long id = this.saveFileInfo(fileNameGrp[0], fileNameGrp[1], fileMainName, frVo.fileNameHash, frVo.fileWebPath);
+                        FileVo fvo = new FileVo(id,
+                                frVo.fileNameHash,
+                                fileNameGrp[0],
+                                fileNameGrp[1],
+                                frVo.getFileWebPath(),
+                                (frVo.getFileWebUrl() + frVo.getFileWebPath()),
+                                fileOp.getFileZipPath(frVo.getFileWebUrl() + frVo.getFileWebPath()),
+                                frVo.fileWebDownloadPath + id) ;
+                        return  BaseResponseUtils.buildSuccess(fvo) ;
+                    }else {
+                        return BaseResponseUtils.buildError("鏈緱鍒颁笂浼犳枃浠剁殑鎵╁睍鍚�");
+                    }
+                }else {
+                    return BaseResponseUtils.buildError("鏈兘鎷嗗垎涓婁紶鏂囦欢鍚嶇О");
+                }
+            } else {
+                return BaseResponseUtils.buildError("鏈笂浼犳枃浠�");
+            }
+        } catch (Exception e) {
+            log.error("涓婁紶鐓х墖鏂囦欢寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 涓婁紶褰曢煶闊抽鏂囦欢
+     * @param file web绔笂浼犳枃浠剁殑post瀵硅薄
+     * @return 杩斿洖缁撴灉
+     */
+    @PostMapping("/upPhone")
+    public BaseResponse<?> upPhone(MultipartFile file) {
+        try {
+            if (file != null) {
+                String[] fileNameGrp = fileOp.splitFileName(file) ;
+                if(fileNameGrp != null && fileNameGrp[0] != null && fileNameGrp[1] != null){
+                    if(!fileNameGrp[1].trim().equals("")){
+                        FileRestVo frVo = fileOp.saveFile(file,
+                                fmUrl,
+                                FileConstant.fileRequestMapping,
+                                FileConstant.filePostMapping_phone,
+                                FileConstant.NotRegionNum,
+                                fileNameGrp[1],
+                                null);
+                        String fileMainName = fileOp.getFileMainName(frVo.fileName) ;
+                        Long id = this.saveFileInfo(fileNameGrp[0], fileNameGrp[1], fileMainName, frVo.fileNameHash, frVo.fileWebPath);
+                        FileVo fvo = new FileVo(id,
+                                frVo.fileNameHash,
+                                fileNameGrp[0],
+                                fileNameGrp[1],
+                                frVo.getFileWebPath(),
+                                frVo.getFileWebUrl() + frVo.getFileWebPath(),
+                                null,
+                                frVo.fileWebDownloadPath + id) ;
+                        return  BaseResponseUtils.buildSuccess(fvo) ;
+                    }else {
+                        return BaseResponseUtils.buildError("鏈緱鍒颁笂浼犳枃浠剁殑鎵╁睍鍚�");
+                    }
+                }else {
+                    return BaseResponseUtils.buildError("鏈兘鎷嗗垎涓婁紶鏂囦欢鍚嶇О");
+                }
+            } else {
+                return BaseResponseUtils.buildError("鏈笂浼犳枃浠�");
+            }
+        } catch (Exception e) {
+            log.error("涓婁紶鐓х墖鏂囦欢寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+
+    /**
+     * 涓婁紶褰曞儚瑙嗛鏂囦欢
+     * @param file web绔笂浼犳枃浠剁殑post瀵硅薄
+     * @return 杩斿洖缁撴灉
+     */
+    @PostMapping("/upVideo")
+    public BaseResponse<?> upVideo(MultipartFile file) {
+        try {
+            if (file != null) {
+                String[] fileNameGrp = fileOp.splitFileName(file) ;
+                if(fileNameGrp != null && fileNameGrp[0] != null && fileNameGrp[1] != null){
+                    if(!fileNameGrp[1].trim().equals("")){
+                        FileRestVo frVo = fileOp.saveFile(file,
+                                fmUrl,
+                                FileConstant.fileRequestMapping,
+                                FileConstant.filePostMapping_video,
+                                FileConstant.NotRegionNum,
+                                fileNameGrp[1],
+                                null);
+                        String fileMainName = fileOp.getFileMainName(frVo.fileName) ;
+                        Long id = this.saveFileInfo(fileNameGrp[0], fileNameGrp[1], fileMainName, frVo.fileNameHash, frVo.fileWebPath);
+                        FileVo fvo = new FileVo(id,
+                                frVo.fileNameHash,
+                                fileNameGrp[0],
+                                fileNameGrp[1],
+                                frVo.getFileWebPath(),
+                                frVo.getFileWebUrl() + frVo.getFileWebPath(),
+                                fileOp.getFileZipPath(frVo.getFileWebUrl() + frVo.getFileWebPath(), VideoZipPicFileType),
+                                frVo.fileWebDownloadPath + id) ;
+                        return  BaseResponseUtils.buildSuccess(fvo) ;
+                    }else {
+                        return BaseResponseUtils.buildError("鏈緱鍒颁笂浼犳枃浠剁殑鎵╁睍鍚�");
+                    }
+                }else {
+                    return BaseResponseUtils.buildError("鏈兘鎷嗗垎涓婁紶鏂囦欢鍚嶇О");
+                }
+            } else {
+                return BaseResponseUtils.buildError("鏈笂浼犳枃浠�");
+            }
+        } catch (Exception e) {
+            log.error("涓婁紶鐓х墖鏂囦欢寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+
+    /**
+     * 涓婁紶鏂囨。鏂囦欢
+     * @param file web绔笂浼犳枃浠剁殑post瀵硅薄
+     * @return 杩斿洖缁撴灉
+     */
+    @PostMapping("/upDocument")
+    public BaseResponse<?> upDocument(MultipartFile file) {
+        try {
+            if (file != null) {
+                String[] fileNameGrp = fileOp.splitFileName(file) ;
+                if(fileNameGrp != null && fileNameGrp[0] != null && fileNameGrp[1] != null){
+                    if(!fileNameGrp[1].trim().equals("")){
+                       String fileExtName = fileNameGrp[1];
+                       if(!supportedFileTypes.contains(fileExtName)){
+                           return BaseResponseUtils.buildError("璇蜂笂浼燱ord,Excel,PDF绫诲瀷鏂囨。");
+                       }
+                        FileRestVo frVo = fileOp.saveFile(file,
+                                fmUrl,
+                                FileConstant.fileRequestMapping,
+                                FileConstant.filePostMapping_document,
+                                FileConstant.NotRegionNum,
+                                fileNameGrp[1],
+                                null);
+                        String fileMainName = fileOp.getFileMainName(frVo.fileName) ;
+                        Long id = this.saveFileInfo(fileNameGrp[0], fileNameGrp[1], fileMainName, frVo.fileNameHash, frVo.fileWebPath);
+                        FileVo fvo = new FileVo(id,
+                                frVo.fileNameHash,
+                                fileNameGrp[0],
+                                fileNameGrp[1],
+                                frVo.getFileWebPath(),
+                                frVo.getFileWebUrl() + frVo.getFileWebPath(),
+                                null,
+                                frVo.fileWebDownloadPath + id) ;
+                        return  BaseResponseUtils.buildSuccess(fvo) ;
+                    }else {
+                        return BaseResponseUtils.buildError("鏈緱鍒颁笂浼犳枃浠剁殑鎵╁睍鍚�");
+                    }
+                }else {
+                    return BaseResponseUtils.buildError("鏈兘鎷嗗垎涓婁紶鏂囦欢鍚嶇О");
+                }
+            } else {
+                return BaseResponseUtils.buildError("鏈笂浼犳枃浠�");
+            }
+        } catch (Exception e) {
+            log.error("涓婁紶鐓х墖鏂囦欢寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+
+    /**
+     * 鏁版嵁搴撳瓨鍌�
+     * @param orgName 鏂囦欢鍘熷悕绉�
+     * @param extName 鏂囦欢鎵╁睍鍚�
+     * @param newName 鏂囦欢鏂板悕绉�
+     * @param hash  鏂囦欢鏂板悕绉扮殑鍝堝笇鍊�
+     * @param filePath 鏂囦欢鏈嶅姟绔瓨鍌ㄧ浉瀵硅矾寰�
+     * @return 鏁版嵁璁板綍涓婚敭
+     */
+    private Long saveFileInfo(String orgName, String extName, String newName, Integer hash, String filePath){
+        WebFile po = new WebFile() ;
+        po.orgName = orgName ;
+        po.extName = extName ;
+        po.newName = newName ;
+        po.hash = hash ;
+        po.filePath = filePath ;
+        po.dt = new Date() ;
+        return this.sv.save(po) ;
+    }
+
+}

--
Gitblit v1.8.0