44323
2023-10-11 f7e51fc7c91e474e5c0bcc79c47f074c0a59b5c3
cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
@@ -1,35 +1,68 @@
<?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 coursePackageSchedulingId = #{coursePackageSchedulingId}
        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="stuId != null ">
            and studentId = #{stuId}
        <if test="null != studentId">
            and studentId in
            <foreach collection="studentId" item="item" index="index" separator="," open="(" close=")">
                #{item}
            </foreach>
        </if>
        <if test="appUserId != null">
            and appUserId = #{appUserId}
        </if>
        order by insertTime desc
    </select>
    <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_payment  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_payment py
                LEFT JOIN t_course_package pg ON py.coursePackageId = pg.id
        <where>
            <if test="null != tStudentId">
                py.studentId = #{tStudentId}
            </if>
        </where>
    </select>
    <select id="getMaxDate" resultType="java.util.Date">
        SELECT
            MAX(useTime)
        FROM t_course_package_payment py
        where py.studentId = #{tStudentId}
    </select>
</mapper>