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

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pashanhoo.catalog.entity.vo.DgArchivesCatalogWithFileVO;
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;

/**
 * <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 request
     * @return
     */
    @Override
    public List<DgArchivesCatalogWithFileVO> searchDgFileList(DgFileSearchRequest request) {

        List<DgArchivesCatalogWithFileVO> fileListVOS = dgfileMapper.selectCatalogWithFile(request);

        for (DgArchivesCatalogWithFileVO fileListVO : fileListVOS) {
            for (DgFileDO dgFileDO : fileListVO.getDgFileDOS()) {
                if (dgFileDO.getFjurl() != null) {
                    String previewUrl = minioUtil.getPreviewUrl(dgFileDO.getFjurl());
                    dgFileDO.setFjurl(previewUrl);
                }
            }
        }
        return fileListVOS;
    }

}