|
@@ -26,6 +26,31 @@
|
|
|
<result property="vipGroupCategory" column="vip_group_category_"/>
|
|
|
</resultMap>
|
|
|
|
|
|
+ <resultMap id="vipGroupManageDetailDto" type="com.ym.mec.biz.dal.dto.VipGroupManageDetailDto" extends="VipGroup">
|
|
|
+ <result property="studentNum" column="student_num_"/>
|
|
|
+ <collection property="students" ofType="com.ym.mec.auth.api.entity.SysUser" column="user_id_">
|
|
|
+ <result property="id" column="user_id_"/>
|
|
|
+ <result property="username" column="username_"/>
|
|
|
+ </collection>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
+ <resultMap id="studentVipGroupDetailDto" type="com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto" extends="studentVipGroup">
|
|
|
+ <collection property="students" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule" column="user_id_"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
+ <resultMap type="com.ym.mec.biz.dal.dto.StudentVipGroupShowListDto" id="studentVipGroup">
|
|
|
+ <result column="vip_group_id_" property="vipGroupId"/>
|
|
|
+ <result column="vip_group_name_" property="vipGroupName"/>
|
|
|
+ <result column="single_class_minutes_" property="singleClassMinutes"/>
|
|
|
+ <result column="payment_expire_date_" property="paymentExpireDate"/>
|
|
|
+ <result column="online_classes_num_" property="onlineClassesNum"/>
|
|
|
+ <result column="offline_classes_num_" property="offlineClassesNum"/>
|
|
|
+ <result column="price_" property="price"/>
|
|
|
+ <result column="expect_student_num_" property="expectStudentNum"/>
|
|
|
+ <result column="student_num_" property="studentNum"/>
|
|
|
+ <result column="teacher_name_" property="teacherName"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
<!-- 根据主键查询一条记录 -->
|
|
|
<select id="get" resultMap="VipGroup">
|
|
|
SELECT * FROM vip_group WHERE id_ = #{id}
|
|
@@ -117,4 +142,115 @@
|
|
|
<select id="queryCount" resultType="int">
|
|
|
SELECT COUNT(*) FROM vip_group
|
|
|
</select>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <select id="findVipGroups" resultMap="studentVipGroup">
|
|
|
+ SELECT
|
|
|
+ vg.id_ vip_group_id_,
|
|
|
+ vg.name_ vip_group_name_,
|
|
|
+ vg.single_class_minutes_,
|
|
|
+ vg.payment_expire_date_,
|
|
|
+ vg.courses_expire_date_,
|
|
|
+ vg.online_classes_num_,
|
|
|
+ vg.offline_classes_num_,
|
|
|
+ cg.expect_student_num_,
|
|
|
+ cg.student_num_,
|
|
|
+ su.username_ teacher_name_
|
|
|
+ FROM
|
|
|
+ vip_group vg
|
|
|
+ LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
|
|
|
+ LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
|
|
|
+ LEFT JOIN class_group_teacher_mapper cgtm ON vgcgm.class_group_id_=cgtm.class_group_id_
|
|
|
+ LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
|
|
|
+ ORDER BY vg.id_ DESC
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
+ <select id="countVipGorups" resultType="int">
|
|
|
+ SELECT
|
|
|
+ count(*)
|
|
|
+ FROM
|
|
|
+ vip_group vg
|
|
|
+ </select>
|
|
|
+ <select id="getVipGroupBaseInfo">
|
|
|
+ SELECT
|
|
|
+ vg.*,
|
|
|
+ cg.student_num_,
|
|
|
+ su.*
|
|
|
+ FROM
|
|
|
+ vip_group vg
|
|
|
+ LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
|
|
|
+ LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
|
|
|
+ LEFT JOIN class_group_student_mapper cgsm ON vgcgm.class_group_id_=cgsm.class_group_id_
|
|
|
+ LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
|
|
|
+ WHERE vg.id_=1
|
|
|
+ ORDER BY vg.id_ DESC
|
|
|
+ </select>
|
|
|
+ <select id="getVipGroupCurrentClassTime">
|
|
|
+ SELECT
|
|
|
+ if(MAX(cs.current_class_times_) IS NULL,0,MAX(cs.current_class_times_))
|
|
|
+ FROM
|
|
|
+ vip_group vg
|
|
|
+ LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
|
|
|
+ LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
|
|
|
+ WHERE vg.id_=1 AND CONCAT(cs.class_date_,' ',cs.end_class_time_)<now()
|
|
|
+ GROUP BY cs.id_
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <sql id="vipGroupAttendanceQueryCondition">
|
|
|
+ <where>
|
|
|
+ <if test="vipGroupId!=null">
|
|
|
+ and vg.id_=#{vipGroupId}
|
|
|
+ </if>
|
|
|
+ <if test="startTime != null">
|
|
|
+ and CONCAT(cs.class_date_,' ',cs.end_class_time_) > #{startTime}
|
|
|
+ </if>
|
|
|
+ <if test="endTime != null">
|
|
|
+ and CONCAT(cs.class_date_,' ',cs.end_class_time_) < #{endTime}
|
|
|
+ </if>
|
|
|
+ <if test="status != null">
|
|
|
+ and cs.status_ = #{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ </if>
|
|
|
+ <if test="complaintStatus != null">
|
|
|
+ and cs.complaint_status_ = #{complaintStatus}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ </sql>
|
|
|
+ <select id="findVipGroupAttendances" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
|
|
|
+ SELECT
|
|
|
+ cs.*
|
|
|
+ FROM
|
|
|
+ vip_group vg
|
|
|
+ LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
|
|
|
+ LEFT JOIN teacher_attendance ta ON vgcgm.class_group_id_=ta.class_group_id_
|
|
|
+ LEFT JOIN course_schedule cs ON ta.course_schedule_id_=cs.id_
|
|
|
+ <include refid="vipGroupAttendanceQueryCondition"/>
|
|
|
+ ORDER BY ta.id_
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
+ <select id="countVipGroupAttendance" resultType="int">
|
|
|
+ SELECT
|
|
|
+ count(*)
|
|
|
+ FROM
|
|
|
+ vip_group vg
|
|
|
+ LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
|
|
|
+ LEFT JOIN teacher_attendance ta ON vgcgm.class_group_id_=ta.class_group_id_
|
|
|
+ LEFT JOIN course_schedule cs ON ta.course_schedule_id_=cs.id_
|
|
|
+ <include refid="vipGroupAttendanceQueryCondition"/>
|
|
|
+ ORDER BY ta.id_
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getVipGroupDetail" resultMap="studentVipGroupDetailDto">
|
|
|
+ SELECT
|
|
|
+ vg.*,
|
|
|
+ su.username_ teacher_name_,
|
|
|
+ cs.*
|
|
|
+ FROM
|
|
|
+ vip_group vg
|
|
|
+ LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
|
|
|
+ LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
|
|
|
+ LEFT JOIN class_group_teacher_mapper cgtm ON vgcgm.class_group_id_=cgtm.class_group_id_
|
|
|
+ LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
|
|
|
+ WHERE vg.id_=#{vipGroupId}
|
|
|
+ </select>
|
|
|
</mapper>
|