From dcdb0231034810232f2542f3865666ebf72daf11 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 30 四月 2025 16:45:34 +0800
Subject: [PATCH] sf

---
 server/service/src/main/java/com/doumee/service/business/impl/FileRecordServiceImpl.java |   70 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 4 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/FileRecordServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/FileRecordServiceImpl.java
index aac434e..4f8656e 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/FileRecordServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/FileRecordServiceImpl.java
@@ -2,18 +2,27 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
 import com.doumee.dao.business.FileRecordMapper;
 import com.doumee.dao.business.model.FileRecord;
+import com.doumee.dao.business.model.dto.OssModel;
+import com.doumee.service.business.BaseDataService;
 import com.doumee.service.business.FileRecordService;
 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 lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -22,15 +31,61 @@
  * @date 2023/09/19 17:30
  */
 @Service
+@Slf4j
 public class FileRecordServiceImpl implements FileRecordService {
 
     @Autowired
     private FileRecordMapper fileRecordMapper;
+    @Autowired
+    @Lazy
+    private BaseDataService baseDataService;
 
     @Override
+    @Async
     public Integer create(FileRecord fileRecord) {
         fileRecordMapper.insert(fileRecord);
         return fileRecord.getId();
+    }
+    @Override
+    @Async
+    public synchronized  Integer dealOploadEvent() {
+        log.info("寮�濮嬩笂浼犻檮浠朵俊鎭�=================start==================");
+        OssModel ossModel = baseDataService.initOssModel();
+        FileRecord fileRecord = new FileRecord();
+        fileRecord.setStatus(Constants.ZERO);
+        fileRecord.setIsdeleted(Constants.ZERO);
+        List<FileRecord> allLis = findList(fileRecord);
+        if(allLis==null || allLis.size() ==0){
+            log.info("寮�濮嬩笂浼犻檮浠朵俊鎭�=================end========鏃犲緟澶勭悊鏁版嵁===========");
+            return 0;
+        }
+        List<String > keyList = new ArrayList<>();
+        for(FileRecord model:allLis){
+                keyList.add(model.getKeyval());
+        }
+        try {
+            ALiYunUtil obs = new ALiYunUtil(ossModel.getEndpoint(), ossModel.getAccessId(), ossModel.getAccessKey());
+            obs.deleteObjects(ossModel.getBucket(),keyList);
+        }catch (Exception e){
+        }
+
+        Date date = new Date();
+        for(FileRecord model:allLis){
+            try {
+                ALiYunUtil obs = new ALiYunUtil(ossModel.getEndpoint(), ossModel.getAccessId(), ossModel.getAccessKey());
+                obs.deleteObjects(ossModel.getBucket(),keyList);
+                obs.uploadOnlineObject(model.getUrl(),ossModel.getBucket(), model.getKeyval(),null);
+                model.setStatus(Constants.ONE);
+                model.setContent("涓婁紶鎴愬姛");
+            }catch (Exception e){
+                model.setStatus(Constants.TWO);
+                model.setContent(e.getMessage());
+            }
+            model.setEditDate(date);
+            fileRecordMapper.updateById(model);
+        }
+
+        return  0;
     }
 
     @Override
@@ -110,7 +165,7 @@
             queryWrapper.lambda().eq(FileRecord::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
         if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(FileRecord::getName, pageWrap.getModel().getName());
+            queryWrapper.lambda().like(FileRecord::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getInfo() != null) {
             queryWrapper.lambda().eq(FileRecord::getInfo, pageWrap.getModel().getInfo());
@@ -122,18 +177,25 @@
             queryWrapper.lambda().eq(FileRecord::getType, pageWrap.getModel().getType());
         }
         if (pageWrap.getModel().getFolder() != null) {
-            queryWrapper.lambda().eq(FileRecord::getFolder, pageWrap.getModel().getFolder());
+            queryWrapper.lambda().like(FileRecord::getFolder, pageWrap.getModel().getFolder());
         }
         if (pageWrap.getModel().getStatus() != null) {
             queryWrapper.lambda().eq(FileRecord::getStatus, pageWrap.getModel().getStatus());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+        if (pageWrap.getModel().getKeyval() != null) {
+            queryWrapper.lambda().like(FileRecord::getKeyval, pageWrap.getModel().getKeyval());
+        }
+        if (pageWrap.getModel().getUrl() != null) {
+            queryWrapper.lambda().like(FileRecord::getUrl, pageWrap.getModel().getUrl());
+        }
+  /*      for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                 queryWrapper.orderByDesc(sortData.getProperty());
             } else {
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
-        }
+        }*/
+        queryWrapper.lambda().orderByAsc(FileRecord::getStatus);
         return PageData.from(fileRecordMapper.selectPage(page, queryWrapper));
     }
 

--
Gitblit v1.9.3