DgFileServiceImpl.java 2.31 KB
package com.pashanhoo.file.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pashanhoo.common.util.fileupload.MinioUtil;
import com.pashanhoo.file.entity.DgFileConverter;
import com.pashanhoo.file.entity.DgFileDO;
import com.pashanhoo.file.entity.vo.*;
import com.pashanhoo.file.mapper.DgFileMapper;
import com.pashanhoo.file.service.DgFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


import java.util.List;
import java.util.stream.Collectors;

/**
 * <p>
 * 档案文件信息 服务实现类
 * </p>
 *
 * @author
 * @since 2021-11-05
 */
@Service
public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> implements DgFileService {

    @Autowired
    private DgFileConverter dgfileConverter;

    @Autowired
    private DgFileMapper dgfileMapper;

    @Autowired
    MinioUtil minioUtil;

    /**
     * 新增记录
     * @param request
     * @return
     */
    @Override
    public boolean insertDgFile(List<AddDgFileRequest> request) {
        List<DgFileDO> dgFileDOS = dgfileConverter.voList2ListDO(request);
        return this.saveBatch(dgFileDOS);
    }

    /**
     * 根据主键查询记录详情
     * @param id
     * @return
     */
    @Override
    public DgFileDetailVO getDgFileDetailById(String id) {
        DgFileDO dgfileDO = this.getById(id);
        DgFileDetailVO dgFileDetailVO = dgfileConverter.do2DetailVO(dgfileDO);
        String previewUrl = minioUtil.getPreviewUrl(dgFileDetailVO.getFjurl());
        dgFileDetailVO.setFjurl(previewUrl);
        return dgFileDetailVO;
    }

    /**
     * 修改单条记录
     * @param request
     * @return
     */
    @Override
    public boolean updateDgFile(UpdateDgFileRequest request) {
        DgFileDO dgfileDO = dgfileConverter.updateRequest2DO(request);
        return this.updateById(dgfileDO);
    }

    /**
     * 获取附件列表
     * @param bsmArchive
     * @return
     */
    @Override
    public List<DgCatalogWithFileVO> getFileList(String bsmArchive) {
        List<DgCatalogWithFileVO> fileList = dgfileMapper.getFileList(bsmArchive);
        fileList.forEach(catalogWithFiles->catalogWithFiles.getFileLists().forEach(file->file.setFjurl(minioUtil.getPreviewUrl(file.getFjurl()))));
        return fileList;
    }

}