package cn.cslg.pas.service; import cn.cslg.pas.common.model.vo.ProjectImportVO; import cn.cslg.pas.common.utils.DateUtils; import cn.cslg.pas.common.utils.FileUtils; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.common.utils.StringUtils; import cn.cslg.pas.domain.Project; import cn.cslg.pas.domain.ProjectImport; import cn.cslg.pas.mapper.ProjectImportMapper; import cn.hutool.core.io.FileUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.File; import java.util.Date; /** * @author Administrator * @description 针对表【os_thematic_import(专题库数据导入记录)】的数据库操作Service * @createDate 2022-05-19 10:55:10 */ @Service @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class ProjectImportService extends ServiceImpl { private final FileUtils fileUtils; private final ProjectImportStatusService projectImportStatusService; public IPage getPageList(ProjectImportVO params) { IPage pageList = baseMapper.getPageList(new Page<>(params.getCurrent(), params.getSize()), params); return pageList; } @Transactional public String delete(Integer id) { ProjectImport temp = this.getById(id); this.removeById(id); projectImportStatusService.deleteByImportId(id); if (StringUtils.isNotEmpty(temp.getUrl())) { FileUtil.del(fileUtils.getSystemPath(temp.getUrl())); } return Response.success(true); } public Integer add(Integer userId, String url) { File file = new File(fileUtils.getSystemPath(url)); ProjectImport projectImport = new ProjectImport(); projectImport.setCreateBy(userId); projectImport.setCreateTime(new Date()); projectImport.setUrl(url); projectImport.setFileSize(FileUtil.size(file)); projectImport.setFileName(file.getName()); projectImport.insert(); return projectImport.getId(); } }