package org.springblade.modules.yw.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.oss.model.BladeFile; import org.springblade.core.tool.api.R; import org.springblade.modules.resource.builder.OssBuilder; import org.springblade.modules.yw.entity.YwAttachEntity; import org.springblade.modules.yw.vo.YwAttachVO; import org.springblade.modules.yw.mapper.YwAttachMapper; import org.springblade.modules.yw.service.IYwAttachService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.List; /** * 业务附件表 服务实现类 * * @author BladeX * @since 2024-11-11 */ @Service public class YwAttachServiceImpl extends ServiceImpl implements IYwAttachService { /** * 对象存储构建类 */ @Autowired private OssBuilder ossBuilder; @Override public IPage selectAttachPage(IPage page, YwAttachVO attach) { return page.setRecords(baseMapper.selectAttachPage(page, attach)); } /** * 导入单位附件信息 * @param files * @param firmId * @param type * @return */ @Override public R importAttach(List files, Long firmId,Integer type) { // 遍历文件导入 for (MultipartFile file : files) { String originalFilename = file.getOriginalFilename(); String[] split = originalFilename.split("\\."); // 设置 try { // 文件上传 BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream()); // 设置信息 YwAttachEntity attachEntity = new YwAttachEntity(); attachEntity.setName(split[0]); attachEntity.setLink(bladeFile.getLink()); attachEntity.setFirmId(firmId); attachEntity.setType(type); // 保存 save(attachEntity); } catch (IOException e) { e.printStackTrace(); } } return null; } }