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 implements IDncArtBagLogService { private final OssBuilder ossBuilder; public DncArtBagLogServiceImpl(final OssBuilder ossBuilder) { this.ossBuilder = ossBuilder; } @Override // org.springblade.modules.dnc.service.IDncArtBagLogService public IPage page(Query query, DncArtBagLogPageVO dncArtBagLogPageVO) { IPage page = page(Condition.getPage(query),Wrappers.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 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 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 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 page = page(new Query().setSize(-1), dncArtBagLogPageVO); List records = page.getRecords(); List 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); } }