yangys
2024-03-29 153cc3fd4ef015a8b1390b2eef3d102c5859a5e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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);
    }
}