puzhibing
2024-03-04 7e7f901b2172281dc294dfbc67e6ad00625f09f4
cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
@@ -1,64 +1,87 @@
<?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.dsh.course.mapper.CoursePackageStudentMapper">
    <update id="updateSignInOrNotById">
        update t_course_package_student set signInOrNot = 2 where id =#{id}
    </update>
    <select id="queryStuDeduClassHourNums" resultType="com.dsh.course.entity.CoursePackageStudent">
        SELECT *
        FROM t_course_package_student
        UNION ALL
        SELECT *
        FROM t_course_package_student1
        UNION ALL
        SELECT *
        FROM t_course_package_student2
        UNION ALL
        SELECT *
        FROM t_course_package_student3
        UNION ALL
        SELECT *
        FROM t_course_package_student4
        UNION ALL
        SELECT *
        FROM t_course_package_student5
        WHERE signInOrNot = 1
        <if test="courseId != null">
            and coursePackageId = #{courseId}
    <select id="queryCoursePackageStudentList" resultType="map">
        select
        CAST(id AS CHAR(20)) as id,
        appUserId,
        studentId,
        signInOrNot,
        reservationStatus
        from t_course_package_student where 1=1
        <if test="ids != null and ids.size() > 0">
            and coursePackageSchedulingId in
            <foreach collection="ids" close=")" item="id" open="(" separator=",">
                #{id}
            </foreach>
        </if>
        <if test="stuId != null ">
            and studentId = #{stuId}
        and reservationStatus != 3
        <if test="null != userId">
            and appUserId in
            <foreach collection="appUserId" item="item" index="index" separator="," open="(" close=")">
                #{item}
            </foreach>
        </if>
        <if test="appUserId != null">
            and appUserId = #{appUserId}
        <if test="null != studentId">
            and studentId in
            <foreach collection="studentId" item="item" index="index" separator="," open="(" close=")">
                #{item}
            </foreach>
        </if>
        order by insertTime desc
    </select>
    <select id="queryAppUserOfStuAttendClass" resultType="com.dsh.course.entity.CoursePackageStudent">
        SELECT *
        FROM t_course_package_student
        UNION ALL
        SELECT *
        FROM t_course_package_student1
        UNION ALL
        SELECT *
        FROM t_course_package_student2
        UNION ALL
        SELECT *
        FROM t_course_package_student3
        UNION ALL
        SELECT *
        FROM t_course_package_student4
        UNION ALL
        SELECT *
        FROM t_course_package_student5
        WHERE signInOrNot = 1 and reservationStatus = 1
        <if test=" appUserId != null">
            and appUserId = #{appUserId}
        </if>
        <if test="coursePackageIds.size >0">
            and coursePackageId in
        <foreach collection="coursePackageIds" close=")" index="index" open="(" separator="," item="item">
            #{item}
        </foreach>
        </if>
    <select id="listAll" resultType="com.dsh.course.entity.StudentClassInfo">
        SELECT
            SUM( py.totalClassHours ) AS totalHours,
            SUM( py.laveClassHours ) AS restHours,
            SUM( py.giftClassHours ) as giftHours
        FROM
            t_course_package_order_student  py
           where  py.studentId = #{tStudentId}
    </select>
    <select id="getClassList" resultType="com.dsh.course.entity.dto.ClassListDto">
        SELECT
        *,
        pg.NAME AS className,
        pg.`type` AS classType
        FROM
        t_course_package_order_student py
        LEFT JOIN t_course_package pg ON py.coursePackageId = pg.id
        <where>
              py.status = 1
            <if test="null != tStudentId">
                and py.studentId = #{tStudentId}
            </if>
            and pg.type!=3
        </where>
    </select>
    <select id="getMaxDate" resultType="java.util.Date">
        SELECT
            MAX(useTime)
        FROM t_course_package_payment py
        where py.studentId = #{tStudentId}
    </select>
    <select id="getHoliList" resultType="com.dsh.course.entity.dto.ClassListDto">
        select
            od.id,od.insertTime as insertTime, cp.name as className,cp.type as classType
        from t_course_package_order od
                 left join t_course_package cp on od.coursePackageId = cp.id
        WHERE            od.payStatus = 2  and cp.type = 2
    </select>
</mapper>