zcloud_gbs_edu/web-infrastructure/src/main/resources/mapper/CurriculumMapper.xml

51 lines
2.4 KiB
XML
Raw Normal View History

2026-01-13 13:38:14 +08:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zcloud.edu.persistence.mapper.CurriculumMapper">
<select id="getListPage" resultType="com.zcloud.edu.persistence.dataobject.CurriculumDO">
select c.*,
corp.corp_name as corpName,
tt.name as trainingTypeName,
count(cc.id) as chapterCount,
sum(vc.video_time) as videoTime
from curriculum c
left join corp_info corp on c.corpinfo_id = corp.id
left join training_type tt on c.training_type_id = tt.training_type_id and tt.delete_enum = 'FALSE'
left join curriculum_chapter cc
on c.curriculum_id = cc.curriculum_id and cc.delete_enum = 'FALSE' and cc.parent_id != '0'
left join video_courseware vc
on cc.video_courseware_id = vc.video_courseware_id and vc.delete_enum = 'FALSE' and vc.state = 1
where c.delete_enum = 'FALSE'
<if test="params.corpinfoId != null">
and c.corpinfo_id = #{params.corpinfoId}
</if>
<if test="params.inCorpinfoId != null">
AND c.corpinfo_id in
<foreach collection="params.inCorpinfoId" item="corpinfoId" open="(" close=")" separator=",">
#{corpinfoId}
</foreach>
</if>
<if test="params.curriculumName != null and params.curriculumName !='' ">
and c.curriculum_name like concat('%',#{params.curriculumName},'%')
</if>
<if test="params.trainingTypeId != null and params.trainingTypeId !=''">
and c.training_type_id = #{params.trainingTypeId}
</if>
<if test="params.sellFlag != null">
and c.sell_flag = #{params.sellFlag}
</if>
<if test="params.uploadStartTime != null and params.uploadStartTime !='' ">
and DATE(c.create_time) <![CDATA[>=]]> #{params.uploadStartTime}
</if>
<if test="params.uploadEndTime != null and params.uploadEndTime !='' ">
and DATE(c.create_time) <![CDATA[<=]]> #{params.uploadEndTime}
</if>
group by c.id
order by c.create_time asc
</select>
</mapper>