ClassMemberMappingMapper.xml 2.54 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.ClassMemberMappingMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.subsidy.model.ClassMemberMappingDO">
        <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="member_id" property="memberId" />
        <result column="class_id" property="classId" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        create_date,
        update_date,
        delete_date,
        id, member_id, class_id
    </sql>

    <select id="getMemberClass" parameterType="long" resultType="com.subsidy.model.ClassDictDO">
        SELECT
        t2.*
        FROM
        class_member_mapping t
        LEFT JOIN class_dict t2 ON t.class_id = t2.id
        WHERE
        t.delete_date IS NULL
        AND t2.delete_date IS NULL
        and DATE_FORMAT(t2.end_date ,'%Y-%m-%d')>=DATE_FORMAT(now(), '%Y-%m-%d')
        and DATE_FORMAT(t2.start_date ,'%Y-%m-%d')&lt;= DATE_FORMAT(now(), '%Y-%m-%d')
        and t.member_id = #{memberId}
    </select>

    <select id="getClassMembers" resultType="long">
        SELECT
            t.member_id
        FROM
            class_member_mapping t
        WHERE
            t.delete_date IS NULL
            AND t.class_id = #{classId}

    </select>

    <select id="getClassMembersWithName" resultType="com.subsidy.vo.administer.ClassDailyInfoVO">
        SELECT
        t2.id,
        t2.user_name
        FROM
        class_member_mapping t
        left join member t2 on t.member_id = t2.id
        WHERE
        t.delete_date IS NULL
        and t2.delete_date is null
        AND t.class_id = #{classId}
        <if test="userName !=null and userName !=''">
            and t2.user_name like concat('%',#{userName} ,'%')
        </if>
    </select>

    <select id="getMemberClassCount" parameterType="long" resultType="long">
        SELECT
        count(1)
        FROM
        class_member_mapping t
        LEFT JOIN class_dict t2 ON t.class_id = t2.id
        WHERE
        t.delete_date IS NULL
        AND t2.delete_date IS NULL
        and t2.end_date >=DATE_FORMAT(now(), '%Y-%m-%d')
        and t2.start_date  &lt;= DATE_FORMAT(now(), '%Y-%m-%d')
        and t.member_id = #{memberId}
    </select>

</mapper>