package com.qianwen.smartman.modules.dnc.service.impl;
|
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.qianwen.core.excel.util.ExcelUtil;
|
import com.qianwen.core.mp.base.BaseServiceImpl;
|
import com.qianwen.core.mp.support.Condition;
|
import com.qianwen.core.mp.support.Query;
|
import com.qianwen.core.oss.model.BladeFile;
|
import com.qianwen.core.tool.utils.DateUtil;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.common.constant.CommonConstant;
|
import com.qianwen.smartman.modules.dnc.convert.DncArtBagLogConvert;
|
import com.qianwen.smartman.modules.dnc.dto.DncArtBagLogDTO;
|
import com.qianwen.smartman.modules.dnc.entity.DncArtBagLog;
|
import com.qianwen.smartman.modules.dnc.excel.DncArtBagLogExcel;
|
import com.qianwen.smartman.modules.dnc.mapper.DncArtBagLogMapper;
|
import com.qianwen.smartman.modules.dnc.service.IDncArtBagLogService;
|
import com.qianwen.smartman.modules.dnc.vo.DncArtBagLogPageVO;
|
import com.qianwen.smartman.modules.dnc.vo.DncArtBagLogVO;
|
import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder;
|
|
@Service
|
public class DncArtBagLogServiceImpl extends BaseServiceImpl<DncArtBagLogMapper, DncArtBagLog> implements IDncArtBagLogService {
|
private final OssBuilder ossBuilder;
|
|
|
public DncArtBagLogServiceImpl(final OssBuilder ossBuilder) {
|
this.ossBuilder = ossBuilder;
|
}
|
|
@Override // org.springblade.modules.dnc.service.IDncArtBagLogService
|
public IPage<DncArtBagLogVO> page(Query query, DncArtBagLogPageVO dncArtBagLogPageVO) {
|
IPage<DncArtBagLog> page = page(Condition.getPage(query),Wrappers.<DncArtBagLog>lambdaQuery()
|
.eq(Func.isNotEmpty(dncArtBagLogPageVO.getBagId()), DncArtBagLog::getArtBagId, dncArtBagLogPageVO.getBagId())
|
.likeRight(Func.isNotEmpty(dncArtBagLogPageVO.getFileName()), DncArtBagLog::getFileName, dncArtBagLogPageVO.getFileName())
|
.eq(Func.isNotEmpty(dncArtBagLogPageVO.getFileClass()), DncArtBagLog::getSuffix, dncArtBagLogPageVO.getFileClass())
|
.eq(Func.isNotEmpty(dncArtBagLogPageVO.getFileType()), DncArtBagLog::getFileType, dncArtBagLogPageVO.getFileType())
|
.eq(Func.isNotEmpty(dncArtBagLogPageVO.getFileBelong()), DncArtBagLog::getFileBelong, dncArtBagLogPageVO.getFileBelong())
|
.eq(Func.isNotEmpty(dncArtBagLogPageVO.getStorage()), DncArtBagLog::getStorage, dncArtBagLogPageVO.getStorage())
|
.orderByDesc(DncArtBagLog::getOperationTime));
|
/*
|
IPage<DncArtBagLog> page = page(Condition.getPage(query), (Wrapper) Wrappers.lambdaQuery().eq(Func.isNotEmpty(dncArtBagLogPageVO.getBagId()), (v0) -> {
|
return v0.getArtBagId();
|
}, dncArtBagLogPageVO.getBagId()).likeRight(Func.isNotEmpty(dncArtBagLogPageVO.getFileName()), (v0) -> {
|
return v0.getFileName();
|
}, dncArtBagLogPageVO.getFileName()).eq(Func.isNotEmpty(dncArtBagLogPageVO.getFileClass()), (v0) -> {
|
return v0.getSuffix();
|
}, dncArtBagLogPageVO.getFileClass()).eq(Func.isNotEmpty(dncArtBagLogPageVO.getFileType()), (v0) -> {
|
return v0.getFileType();
|
}, dncArtBagLogPageVO.getFileType()).eq(Func.isNotEmpty(dncArtBagLogPageVO.getFileBelong()), (v0) -> {
|
return v0.getFileBelong();
|
}, dncArtBagLogPageVO.getFileBelong()).eq(Func.isNotEmpty(dncArtBagLogPageVO.getStorage()), (v0) -> {
|
return v0.getStorage();
|
}, dncArtBagLogPageVO.getStorage()).orderByDesc((v0) -> {
|
return v0.getOperationTime();
|
}));*/
|
IPage<DncArtBagLogVO> convert = DncArtBagLogConvert.INSTANCE.convert(page);
|
convert.getRecords().forEach(dncArtBagLogVO -> {
|
dncArtBagLogVO.setVersion(Func.isNotBlank(dncArtBagLogVO.getVersion()) ? dncArtBagLogVO.getVersion() + CommonConstant.FILE_SUFFIX : "");
|
});
|
return convert;
|
}
|
|
@Override // org.springblade.modules.dnc.service.IDncArtBagLogService
|
public DncArtBagLogVO save(DncArtBagLogDTO dncArtBagLogDTO) {
|
DncArtBagLog dncArtBagLog = DncArtBagLogConvert.INSTANCE.convertDTO(dncArtBagLogDTO);
|
save(dncArtBagLog);
|
return DncArtBagLogConvert.INSTANCE.convert(dncArtBagLog);
|
}
|
|
@Override // org.springblade.modules.dnc.service.IDncArtBagLogService
|
public List<String> listFileClass() {
|
return list().stream().map((v0) -> {
|
return v0.getSuffix();
|
}).filter((v0) -> {
|
return Func.isNotEmpty(v0);
|
}).distinct().collect(Collectors.toList());
|
}
|
|
@Override // org.springblade.modules.dnc.service.IDncArtBagLogService
|
public BladeFile export(DncArtBagLogPageVO dncArtBagLogPageVO) {
|
IPage<DncArtBagLogVO> page = page(new Query().setSize(-1), dncArtBagLogPageVO);
|
List<DncArtBagLogVO> records = page.getRecords();
|
List<DncArtBagLogExcel> dncArtBagLogExcels = DncArtBagLogConvert.INSTANCE.convertExcel(records);
|
String fileName = String.format("%s-%s.xlsx", "变更日志", DateUtil.time());
|
MultipartFile multipartFile = ExcelUtil.exportToMultipartFile(fileName, "变更日志", dncArtBagLogExcels, DncArtBagLogExcel.class);
|
return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile);
|
}
|
}
|