9 小时以前 9bad721754fe8bbe2e5f459d0706e0fefac569f3
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
package cn.iocoder.yudao.module.qcreport.dal.mysql.version;
 
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.qcreport.controller.admin.version.vo.QcReportTemplateVersionPageReqVO;
import cn.iocoder.yudao.module.qcreport.dal.dataobject.version.QcReportTemplateVersionDO;
import org.apache.ibatis.annotations.Mapper;
 
import java.util.Collection;
import java.util.List;
 
@Mapper
public interface QcReportTemplateVersionMapper extends BaseMapperX<QcReportTemplateVersionDO> {
 
    default PageResult<QcReportTemplateVersionDO> selectPage(QcReportTemplateVersionPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
                .eqIfPresent(QcReportTemplateVersionDO::getTemplateId, reqVO.getTemplateId())
                .likeIfPresent(QcReportTemplateVersionDO::getVersion, reqVO.getVersion())
                .eqIfPresent(QcReportTemplateVersionDO::getStatus, reqVO.getStatus())
                .betweenIfPresent(QcReportTemplateVersionDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(QcReportTemplateVersionDO::getId));
    }
 
    default List<QcReportTemplateVersionDO> selectListByTemplateId(Long templateId) {
        return selectList(new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
                .eq(QcReportTemplateVersionDO::getTemplateId, templateId)
                .orderByDesc(QcReportTemplateVersionDO::getId));
    }
 
    default List<QcReportTemplateVersionDO> selectListByTemplateIdsAndStatus(Collection<Long> templateIds,
                                                                            Integer status) {
        return selectList(new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
                .in(QcReportTemplateVersionDO::getTemplateId, templateIds)
                .eq(QcReportTemplateVersionDO::getStatus, status));
    }
 
    default QcReportTemplateVersionDO selectByTemplateIdAndVersion(Long templateId, String version) {
        return selectOne(new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
                .eq(QcReportTemplateVersionDO::getTemplateId, templateId)
                .eq(QcReportTemplateVersionDO::getVersion, version));
    }
 
    /**
     * 查询模板的最新一个版本(按 id 倒序取第一条)
     */
    default QcReportTemplateVersionDO selectLatestByTemplateId(Long templateId) {
        List<QcReportTemplateVersionDO> list = selectList(new LambdaQueryWrapperX<QcReportTemplateVersionDO>()
                .eq(QcReportTemplateVersionDO::getTemplateId, templateId)
                .orderByDesc(QcReportTemplateVersionDO::getId)
                .last("LIMIT 1"));
        return list.isEmpty() ? null : list.get(0);
    }
 
}