CourseDictMapper.xml 4.09 KB
<?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.subsidy.mapper.CourseDictMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.subsidy.model.CourseDictDO">
        <id column="id" property="id" />
        <result column="create_date" property="createDate" />
        <result column="update_date" property="updateDate" />
        <result column="delete_date" property="deleteDate" />
        <result column="course_name" property="courseName" />
        <result column="category_id" property="categoryId" />
        <result column="course_type" property="courseType" />
        <result column="course_source" property="courseSource" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <select id="queryCourses" resultType="com.subsidy.vo.course.QueryCoursesVO">
        SELECT
        t.*,
        t2.name
        FROM
        course_dict t
        left join category t2 on t.category_id = t2.id
        WHERE
        t.delete_date IS NULL
        <if test="companyId ==null ">
            and t.company_id  is null
        </if>
        <if test="companyId !=null and companyId !='' ">
            and t.company_id  = #{companyId}
        </if>
        <if test="categoryId != null">
            AND t.category_id = #{categoryId}
        </if>
        <if test="courseName != null and courseName !=''">
            AND t.course_name like concat('%',#{courseName} ,'%')
        </if>
        <if test="courseSource != null and courseSource != ''">
            AND t.course_source = #{courseSource}
        </if>
        <if test="courseType != null and courseType !=''">
            AND t.course_type = #{courseType}
        </if>

    </select>

    <sql id="Base_Column_List">
        create_date,
        update_date,
        delete_date,
        id, course_name, category_id, course_type, course_source
    </sql>

    <select id="queryCourseMember" parameterType="com.subsidy.vo.member.StudyPageVO" resultType="com.subsidy.model.ClassMemberMappingDO">
        SELECT
            t3.*
        FROM
            course_dict t
            LEFT JOIN class_dict t2 ON t.id = t2.course_id
            LEFT JOIN class_member_mapping t3 ON t2.id = t3.member_id
        WHERE
            t.delete_date IS NULL
            AND t2.delete_date IS NULL
            AND t3.delete_date IS NULL
            AND t.id = {classId}
    </select>

    <select id="queryPublicCourses" resultType="com.subsidy.vo.course.QueryCoursesVO">
        SELECT
        t.*,
        t2.name
        FROM
        course_dict t
        left join category t2 on t.category_id = t2.id
        WHERE
        t.delete_date IS NULL
        <if test="categoryId != null">
            AND t.category_id = #{categoryId}
        </if>
        <if test="courseName != null and courseName !=''">
            AND t.course_name like concat('%',#{courseName} ,'%')
        </if>
        <if test="courseSource != null and courseSource != ''">
            AND t.course_source = #{courseSource}
        </if>
        <if test="courseType != null and courseType !=''">
            AND t.course_type = #{courseType}
        </if>
            AND t.administer_id is null
    </select>

    <select id="queryCompanyCourse" resultType="com.subsidy.vo.course.QueryCoursesVO">
        SELECT
        t.*,
        t2.name
        FROM
        course_dict t
        left join category t2 on t.category_id = t2.id
        WHERE
        t.delete_date IS NULL
        <if test="categoryId != null">
            AND t.category_id = #{categoryId}
        </if>
        <if test="courseName != null and courseName !=''">
            AND t.course_name like concat('%',#{courseName} ,'%')
        </if>
        <if test="courseSource != null and courseSource != ''">
            AND t.course_source = #{courseSource}
        </if>
        <if test="courseType != null and courseType !=''">
            AND t.course_type = #{courseType}
        </if>
        <if test="companyId !=null and companyId !='' ">
            AND t.company_id = #{companyId}
        </if>
    </select>
</mapper>