package com.qianwen.smartman.modules.resource.service.impl;
|
|
import java.io.File;
|
import java.io.IOException;
|
|
import org.apache.commons.io.FileUtils;
|
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.qianwen.core.excel.util.ExcelUtil;
|
import com.qianwen.core.oss.model.BladeFile;
|
import com.qianwen.core.tool.utils.FileUtil;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.common.constant.ExcelConstant;
|
import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder;
|
import com.qianwen.smartman.modules.resource.convert.AttachConvert;
|
import com.qianwen.smartman.modules.resource.entity.Attach;
|
import com.qianwen.smartman.modules.resource.enums.TemplateEnum;
|
import com.qianwen.smartman.modules.resource.service.IAttachService;
|
import com.qianwen.smartman.modules.resource.service.ISystemResourceService;
|
|
import me.zhyd.oauth.log.Log;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/resource/service/impl/SystemResourceServiceImpl.class */
|
public class SystemResourceServiceImpl implements ISystemResourceService {
|
private final OssBuilder ossBuilder;
|
private final IAttachService attachService;
|
|
|
public SystemResourceServiceImpl(final OssBuilder ossBuilder, final IAttachService attachService) {
|
this.ossBuilder = ossBuilder;
|
this.attachService = attachService;
|
}
|
|
@Override // org.springblade.modules.resource.service.ISystemResourceService
|
public BladeFile getBusinessTemplateInfo(TemplateEnum templateEnum) {
|
try {
|
String fileName = templateEnum.getFileName() + ExcelConstant.SUFFIX;
|
Attach target = this.attachService.getOne((new QueryWrapper<Attach>()).lambda().eq(Attach::getOriginalName, fileName));
|
/*
|
Attach target = (Attach) this.attachService.getOne((Wrapper) new QueryWrapper().lambda().eq((v0) -> {
|
return v0.getOriginalName();
|
}, fileName));*/
|
if (!Func.isEmpty(target)) {
|
return AttachConvert.INSTANCE.convert(target);
|
}
|
ClassPathResource classPathResource = new ClassPathResource(ExcelConstant.DIRECTORY + fileName);
|
File file = new File(System.getProperty("java.io.tmpdir") + "/" + fileName);
|
|
FileUtils.copyToFile(classPathResource.getInputStream(), file);
|
|
MultipartFile multipartFile = ExcelUtil.fileToMultipartFile(file);
|
BladeFile bladeFile = this.ossBuilder.systemTemplate().putFile(fileName, multipartFile);
|
String fileExtension = FileUtil.getFileExtension(fileName);
|
Attach attach = new Attach();
|
attach.setDomainName(bladeFile.getDomain());
|
attach.setLink(bladeFile.getLink());
|
attach.setName(bladeFile.getName());
|
attach.setOriginalName(bladeFile.getOriginalName());
|
attach.setAttachSize(Long.valueOf(multipartFile.getSize()));
|
attach.setExtension(fileExtension);
|
this.attachService.save(attach);
|
return bladeFile;
|
} catch (IOException e) {
|
Log.error("获取业务模板失败",e);
|
throw new RuntimeException(e);
|
}
|
}
|
}
|