From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-file/jnpf-file-yozo/jnpf-file-yozo-biz/src/main/java/jnpf/service/impl/YozoServiceImpl.java |  149 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 149 insertions(+), 0 deletions(-)

diff --git a/jnpf-file/jnpf-file-yozo/jnpf-file-yozo-biz/src/main/java/jnpf/service/impl/YozoServiceImpl.java b/jnpf-file/jnpf-file-yozo/jnpf-file-yozo-biz/src/main/java/jnpf/service/impl/YozoServiceImpl.java
new file mode 100644
index 0000000..4f181eb
--- /dev/null
+++ b/jnpf-file/jnpf-file-yozo/jnpf-file-yozo-biz/src/main/java/jnpf/service/impl/YozoServiceImpl.java
@@ -0,0 +1,149 @@
+package jnpf.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import jnpf.base.ActionResult;
+import jnpf.base.vo.PaginationVO;
+import jnpf.constant.MsgCode;
+import jnpf.entity.FileEntity;
+import jnpf.mapper.FileMapper;
+import jnpf.model.YozoFileParams;
+import jnpf.model.YozoParams;
+import jnpf.service.YozoService;
+import jnpf.utils.SplicingUrlUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
+
+/**
+ * @author JNPF
+ */
+@Service
+@RequiredArgsConstructor
+public class YozoServiceImpl implements YozoService {
+
+    
+    private final FileMapper fileMapper;
+
+    public static final String F_FILE_VERSION = "F_FileVersion";
+
+    @Override
+    public String getPreviewUrl(YozoFileParams params) {
+        return SplicingUrlUtil.getPreviewUrl(params);
+    }
+
+    @Override
+    public ActionResult<Object>saveFileId(String fileVersionId, String fileId, String fileName) {
+
+        FileEntity fileEntity =new FileEntity();
+        fileEntity.setId(fileId);
+        fileEntity.setFileName(fileName);
+        fileEntity.setFileVersionId(fileVersionId);
+        fileEntity.setType("create");
+
+        fileMapper.insert(fileEntity);
+
+        return ActionResult.success(MsgCode.SU001.get());
+    }
+
+    @Override
+    public FileEntity selectByName(String fileNa) {
+        QueryWrapper<FileEntity> wrapper =new QueryWrapper<>();
+        wrapper.eq("F_FileName",fileNa);
+        return fileMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public ActionResult<Object>saveFileIdByHttp(String fileVersionId, String fileId, String fileUrl) {
+        String fileName = "";
+        String url="";
+        String name="";
+        try {
+             url = URLDecoder.decode(fileUrl, "UTF-8");
+             if (url.contains("/")){
+                 fileName = url.substring(url.lastIndexOf("/") + 1);
+             }else {
+                 fileName = url.substring(url.lastIndexOf("\\") + 1);
+             }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        //鍚屼竴url鏂囦欢鏁�
+        QueryWrapper<FileEntity> wrapper =new QueryWrapper<>();
+        wrapper.eq("F_Url",url);
+        Integer total = 0;
+        if (total==0){
+            name=fileName;
+        }else{
+            String t =total.toString();
+            name= fileName+"(" + t +")";
+        }
+        FileEntity fileEntity =new FileEntity();
+        fileEntity.setType(url.contains("http") ? "http" : "local");
+        fileEntity.setFileVersionId(fileVersionId );
+        fileEntity.setId(fileId);
+        fileEntity.setFileName(name);
+        fileEntity.setUrl(url);
+        fileMapper.insert(fileEntity);
+        return ActionResult.success(MsgCode.SU001.get());
+    }
+
+    @Override
+    public ActionResult<Object>deleteFileByVersionId(String versionId) {
+        QueryWrapper<FileEntity> wrapper = new QueryWrapper<>();
+        wrapper.eq(F_FILE_VERSION,versionId);
+        int i = fileMapper.delete(wrapper);
+        if (i==1){
+            return ActionResult.success(MsgCode.SU003.get());
+        }
+            return ActionResult.fail(MsgCode.FA003.get());
+    }
+
+    @Override
+    public FileEntity selectByVersionId(String fileVersionId) {
+        QueryWrapper<FileEntity> wrapper = new QueryWrapper<>();
+        wrapper.eq(F_FILE_VERSION,fileVersionId);
+        return fileMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public ActionResult<Object>deleteBatch(String[] versions) {
+        for (String version : versions){
+            QueryWrapper<FileEntity> wrapper = new QueryWrapper<>();
+            wrapper.eq(F_FILE_VERSION,version);
+            int i = fileMapper.delete(wrapper);
+            if (i==0){
+                return ActionResult.fail(MsgCode.FA045.get(version));
+            }
+        }
+        return ActionResult.success(MsgCode.SU003.get());
+
+    }
+
+    @Override
+    public void editFileVersion(String oldFileId, String newFileId) {
+        UpdateWrapper<FileEntity> wrapper = new UpdateWrapper<>();
+        wrapper.eq(F_FILE_VERSION,oldFileId);
+        FileEntity fileEntity =new FileEntity();
+        fileEntity.setFileVersionId(newFileId);
+        fileEntity.setOldFileVersionId(oldFileId);
+        fileMapper.update(fileEntity,wrapper);
+    }
+
+    @Override
+    public List<FileEntity> getAllList(PaginationVO pageModel) {
+        Page<FileEntity> page = new Page<>(pageModel.getCurrentPage(), pageModel.getPageSize());
+        IPage<FileEntity> iPage = fileMapper.selectPage(page,null);
+        return iPage.getRecords();
+    }
+
+
+}

--
Gitblit v1.8.0