sf
jiangping
2025-04-30 dcdb0231034810232f2542f3865666ebf72daf11
server/service/src/main/java/com/doumee/service/business/impl/FileRecordServiceImpl.java
@@ -2,20 +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;
/**
@@ -24,6 +31,7 @@
 * @date 2023/09/19 17:30
 */
@Service
@Slf4j
public class FileRecordServiceImpl implements FileRecordService {
    @Autowired
@@ -33,12 +41,50 @@
    private BaseDataService baseDataService;
    @Override
    @Async
    public Integer create(FileRecord fileRecord) {
        fileRecordMapper.insert(fileRecord);
        return fileRecord.getId();
    }
    @Override
    public Integer dealOploadEvent() {
    @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;
    }
@@ -119,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());
@@ -131,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));
    }