LearningContentBoardMapper.java 5.04 KB
Newer Older
liqin's avatar
liqin committed
1 2
package cn.wisenergy.chnmuseum.party.mapper;

liqin's avatar
liqin committed
3
import cn.wisenergy.chnmuseum.party.model.Asset;
liqin's avatar
liqin committed
4
import cn.wisenergy.chnmuseum.party.model.ExhibitionBoard;
liqin's avatar
liqin committed
5 6
import cn.wisenergy.chnmuseum.party.model.LearningContentBoard;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
liqin's avatar
liqin committed
7 8
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
liqin's avatar
liqin committed
9 10 11
import org.apache.ibatis.annotations.Select;

import java.util.List;
liqin's avatar
liqin committed
12 13 14 15 16 17 18 19 20 21 22

/**
 * <p>
 * 学习内容展板 Mapper 接口
 * </p>
 *
 * @author Danny Lee
 * @since 2021-03-16
 */
public interface LearningContentBoardMapper extends BaseMapper<LearningContentBoard> {

liqin's avatar
liqin committed
23
    @Select("SELECT lcb.*, eb.`name` as exhibition_board_name FROM learning_content_board lcb, exhibition_board eb WHERE lcb.exhibition_board_id = eb.id and lcb.learning_content_id = #{learningContentId} order by lcb.sortorder desc")
liqin's avatar
liqin committed
24 25
    List<LearningContentBoard> selectBoardListByLearningContentId(String learningContentId);

liqin's avatar
liqin committed
26 27 28 29
    @Select("<script>"
            + "SELECT eb.* FROM learning_content_board lcb, exhibition_board eb "
            + "WHERE lcb.exhibition_board_id = eb.id "
            + "<if test='learningContentId != null'>and lcb.learning_content_id = #{learningContentId} </if>"
liqin's avatar
liqin committed
30 31
            + "<if test='nameOrCode != null'>and eb.name like CONCAT('%', #{nameOrCode}, '%') </if>"
            + "order by lcb.sortorder desc"
liqin's avatar
liqin committed
32 33 34 35
            + "</script>"
    )
    IPage<ExhibitionBoard> selectBoardPageByLearningContentId(Page<?> page, String learningContentId, String nameOrCode);

liqin's avatar
liqin committed
36
    @Select("SELECT t.* FROM " +
liqin's avatar
liqin committed
37
            "(" +
liqin's avatar
liqin committed
38
            "SELECT a.*, eb.id exhibition_board_id, eb.name exhibition_board_name, eb.cover exhibition_board_cover FROM learning_content_board lcb, learning_content lc, exhibition_board eb, video_content vc, asset a "
liqin's avatar
liqin committed
39 40
            + "WHERE lcb.learning_content_id = lc.id "
            + "and lcb.exhibition_board_id = eb.id "
liqin's avatar
liqin committed
41 42
            + "and eb.video_content_id = vc.id "
            + "and vc.id = a.ref_item_id "
liqin's avatar
liqin committed
43
            + "and a.file_type = 'VIDEO' "
liqin's avatar
liqin committed
44 45
            + "and lc.applicable_scope = 'THIS_ORGAN' "
            + "and lc.organ_code = #{organCode} "
liqin's avatar
liqin committed
46
            + "UNION "
liqin's avatar
liqin committed
47
            + "SELECT a.*, eb.id exhibition_board_id, eb.name exhibition_board_name, eb.cover exhibition_board_cover FROM learning_content_board lcb, learning_content lc, exhibition_board eb, asset a "
liqin's avatar
liqin committed
48 49 50 51 52 53 54
            + "WHERE lcb.learning_content_id = lc.id "
            + "and lcb.exhibition_board_id = eb.id "
            + "and eb.id = a.ref_item_id "
            + "and a.file_cat = 'EXHIBITION_BOARD_DATUM' "
            + "and a.file_type = 'VIDEO' "
            + "and lc.applicable_scope = 'THIS_ORGAN' "
            + "and lc.organ_code = #{organCode} "
liqin's avatar
liqin committed
55
            + "UNION "
liqin's avatar
liqin committed
56 57
            + "SELECT a.*, eb.id exhibition_board_id, eb.name exhibition_board_name, eb.cover exhibition_board_cover "
            + "FROM learning_content_board lcb, learning_content lc, exhibition_board eb, video_content vc, asset a "
liqin's avatar
liqin committed
58 59
            + "WHERE lcb.learning_content_id = lc.id "
            + "and lcb.exhibition_board_id = eb.id "
liqin's avatar
liqin committed
60 61
            + "and eb.video_content_id = vc.id "
            + "and vc.id = a.ref_item_id "
liqin's avatar
liqin committed
62
            + "and a.file_type = 'VIDEO' "
liqin's avatar
liqin committed
63 64
            + "and lc.applicable_scope = 'THIS_ORGAN_SUB'"
            + "and lc.organ_code like CONCAT(#{organCode},'%') "
liqin's avatar
liqin committed
65
            + "UNION "
liqin's avatar
liqin committed
66
            + "SELECT a.*, eb.id exhibition_board_id, eb.name exhibition_board_name, eb.cover exhibition_board_cover FROM learning_content_board lcb, learning_content lc, exhibition_board eb, asset a "
liqin's avatar
liqin committed
67 68 69 70 71 72 73
            + "WHERE lcb.learning_content_id = lc.id "
            + "and lcb.exhibition_board_id = eb.id "
            + "and eb.id = a.ref_item_id "
            + "and a.file_cat = 'EXHIBITION_BOARD_DATUM' "
            + "and a.file_type = 'VIDEO' "
            + "and lc.applicable_scope = 'THIS_ORGAN_SUB' "
            + "and lc.organ_code = #{organCode} "
liqin's avatar
liqin committed
74
            + "UNION "
liqin's avatar
liqin committed
75
            + "SELECT a.*, eb.id exhibition_board_id, eb.name exhibition_board_name, eb.cover exhibition_board_cover FROM learning_content_board lcb, learning_content lc, exhibition_board eb, video_content vc, asset a "
liqin's avatar
liqin committed
76 77
            + "WHERE lcb.learning_content_id = lc.id "
            + "and lcb.exhibition_board_id = eb.id "
liqin's avatar
liqin committed
78 79
            + "and eb.video_content_id = vc.id "
            + "and vc.id = a.ref_item_id "
liqin's avatar
liqin committed
80
            + "and a.file_type = 'VIDEO' "
liqin's avatar
liqin committed
81
            + "and lc.applicable_scope = 'ALL_PLAT'"
liqin's avatar
liqin committed
82
            + "UNION "
liqin's avatar
liqin committed
83 84
            + "SELECT a.*, eb.id exhibition_board_id, eb.name exhibition_board_name, eb.cover exhibition_board_cover "
            + "FROM learning_content_board lcb, learning_content lc, exhibition_board eb, asset a "
liqin's avatar
liqin committed
85 86 87 88 89 90 91
            + "WHERE lcb.learning_content_id = lc.id "
            + "and lcb.exhibition_board_id = eb.id "
            + "and eb.id = a.ref_item_id "
            + "and a.file_cat = 'EXHIBITION_BOARD_DATUM' "
            + "and a.file_type = 'VIDEO' "
            + "and lc.applicable_scope = 'ALL_PLAT'" +
            ") t"
liqin's avatar
liqin committed
92
    )
liqin's avatar
liqin committed
93
    IPage<Asset> selectAssetPageByOrganCode(Page<?> page, String organCode);
liqin's avatar
liqin committed
94

liqin's avatar
liqin committed
95
}