|
@@ -5,16 +5,16 @@
|
|
|
不要修改此文件。所有改动将在下次重新自动生成时丢失。
|
|
|
-->
|
|
|
<mapper namespace="com.ym.mec.biz.dal.dao.StudentDao">
|
|
|
-
|
|
|
- <resultMap type="com.ym.mec.biz.dal.entity.Student" id="Student">
|
|
|
- <result column="user_id_" property="userId" />
|
|
|
- <result column="subject_id_list_" property="subjectIdList" />
|
|
|
- <result column="service_tag_" property="serviceTag" />
|
|
|
- <result column="operating_tag_" property="operatingTag" />
|
|
|
- <result column="teacher_id_" property="teacherId" />
|
|
|
- <result column="create_time_" property="createTime" />
|
|
|
- <result column="update_time_" property="updateTime" />
|
|
|
- </resultMap>
|
|
|
+
|
|
|
+ <resultMap type="com.ym.mec.biz.dal.entity.Student" id="Student">
|
|
|
+ <result column="user_id_" property="userId"/>
|
|
|
+ <result column="subject_id_list_" property="subjectIdList"/>
|
|
|
+ <result column="service_tag_" property="serviceTag"/>
|
|
|
+ <result column="operating_tag_" property="operatingTag"/>
|
|
|
+ <result column="teacher_id_" property="teacherId"/>
|
|
|
+ <result column="create_time_" property="createTime"/>
|
|
|
+ <result column="update_time_" property="updateTime"/>
|
|
|
+ </resultMap>
|
|
|
|
|
|
<!-- 根据主键查询一条记录 -->
|
|
|
<select id="get" resultMap="Student">
|
|
@@ -29,120 +29,128 @@
|
|
|
FROM student
|
|
|
</select>
|
|
|
|
|
|
- <select id="lockUser" resultType="int" useCache="false" flushCache="true">
|
|
|
- SELECT id_ FROM sys_user WHERE id_=#{userId} FOR UPDATE
|
|
|
- </select>
|
|
|
-
|
|
|
- <!-- 向数据库增加一条记录 -->
|
|
|
- <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Student" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
|
|
- INSERT INTO student (user_id_,subject_id_list_,
|
|
|
- <if test="serviceTag != null">
|
|
|
- service_tag_,
|
|
|
- </if>
|
|
|
- <if test="operatingTag != null">
|
|
|
- operating_tag_,
|
|
|
- </if>
|
|
|
- teacher_id_,create_time_,update_time_)
|
|
|
- VALUES
|
|
|
- (#{userId},#{subjectIdList},
|
|
|
- <if test="serviceTag != null">
|
|
|
- #{serviceTag},
|
|
|
- </if>
|
|
|
- <if test="operatingTag != null">
|
|
|
- #{operatingTag},
|
|
|
- </if>
|
|
|
- #{teacherId},NOW(),NOW())
|
|
|
- </insert>
|
|
|
+ <select id="lockUser" resultType="int" useCache="false" flushCache="true">
|
|
|
+ SELECT id_
|
|
|
+ FROM sys_user
|
|
|
+ WHERE id_ = #{userId} FOR
|
|
|
+ UPDATE
|
|
|
+ </select>
|
|
|
|
|
|
- <update id="update" parameterType="com.ym.mec.biz.dal.entity.Student">
|
|
|
- UPDATE student
|
|
|
- <set>
|
|
|
- <if test="subjectIdList != null">
|
|
|
- subject_id_list_ = #{subjectIdList},
|
|
|
- </if>
|
|
|
- <if test="serviceTag != null">
|
|
|
- service_tag_ = #{serviceTag},
|
|
|
- </if>
|
|
|
- <if test="operatingTag != null">
|
|
|
- operating_tag_ = #{operatingTag},
|
|
|
- </if>
|
|
|
- <if test="teacherId != null">
|
|
|
- teacher_id_=#{teacherId},
|
|
|
- </if>
|
|
|
- <if test="updateTime != null">
|
|
|
- update_time_ = #{updateTime},
|
|
|
- </if>
|
|
|
- <if test="updateTime == null">
|
|
|
- update_time_ = NOW()
|
|
|
- </if>
|
|
|
- </set>
|
|
|
- WHERE user_id_ = #{userId}
|
|
|
- </update>
|
|
|
+ <!-- 向数据库增加一条记录 -->
|
|
|
+ <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Student" useGeneratedKeys="true" keyColumn="id"
|
|
|
+ keyProperty="id">
|
|
|
+ INSERT INTO student (user_id_,subject_id_list_,
|
|
|
+ <if test="serviceTag != null">
|
|
|
+ service_tag_,
|
|
|
+ </if>
|
|
|
+ <if test="operatingTag != null">
|
|
|
+ operating_tag_,
|
|
|
+ </if>
|
|
|
+ teacher_id_,create_time_,update_time_)
|
|
|
+ VALUES
|
|
|
+ (#{userId},#{subjectIdList},
|
|
|
+ <if test="serviceTag != null">
|
|
|
+ #{serviceTag},
|
|
|
+ </if>
|
|
|
+ <if test="operatingTag != null">
|
|
|
+ #{operatingTag},
|
|
|
+ </if>
|
|
|
+ #{teacherId},NOW(),NOW())
|
|
|
+ </insert>
|
|
|
|
|
|
- <!-- 分页查询 -->
|
|
|
- <select id="queryPage" resultMap="Student" parameterType="map">
|
|
|
- SELECT * FROM student <include refid="global.limit"/>
|
|
|
- </select>
|
|
|
+ <update id="update" parameterType="com.ym.mec.biz.dal.entity.Student">
|
|
|
+ UPDATE student
|
|
|
+ <set>
|
|
|
+ <if test="subjectIdList != null">
|
|
|
+ subject_id_list_ = #{subjectIdList},
|
|
|
+ </if>
|
|
|
+ <if test="serviceTag != null">
|
|
|
+ service_tag_ = #{serviceTag},
|
|
|
+ </if>
|
|
|
+ <if test="operatingTag != null">
|
|
|
+ operating_tag_ = #{operatingTag},
|
|
|
+ </if>
|
|
|
+ <if test="teacherId != null">
|
|
|
+ teacher_id_=#{teacherId},
|
|
|
+ </if>
|
|
|
+ <if test="updateTime != null">
|
|
|
+ update_time_ = #{updateTime},
|
|
|
+ </if>
|
|
|
+ <if test="updateTime == null">
|
|
|
+ update_time_ = NOW()
|
|
|
+ </if>
|
|
|
+ </set>
|
|
|
+ WHERE user_id_ = #{userId}
|
|
|
+ </update>
|
|
|
|
|
|
- <!-- 查询当前表的总记录数 -->
|
|
|
- <select id="queryCount" resultType="int">
|
|
|
- SELECT COUNT(*) FROM student
|
|
|
- </select>
|
|
|
- <select id="findStudents" resultMap="com.ym.mec.biz.dal.dao.TeacherDao.SysUser">
|
|
|
- SELECT id_, username_, phone_,avatar_ FROM sys_user
|
|
|
- <include refid="studentQueryCondition"/>
|
|
|
- ORDER BY id_
|
|
|
- <include refid="global.limit"/>
|
|
|
- </select>
|
|
|
- <select id="countStudents" resultType="int">
|
|
|
- SELECT COUNT(id_) FROM sys_user
|
|
|
- <include refid="studentQueryCondition"/>
|
|
|
- </select>
|
|
|
- <sql id="studentQueryCondition">
|
|
|
- <where>
|
|
|
- <if test="organIdList!=null">
|
|
|
- organ_id_ IN
|
|
|
- <foreach collection="organIdList" item="organId" open="(" close=")" separator=",">
|
|
|
- #{organId}
|
|
|
- </foreach>
|
|
|
- </if>
|
|
|
- <if test="search!=null">
|
|
|
- AND (username_ LIKE CONCAT('%', #{search}, '%') OR phone_ LIKE CONCAT('%', #{search}, '%'))
|
|
|
- </if>
|
|
|
- AND FIND_IN_SET("STUDENT", user_type_)
|
|
|
- </where>
|
|
|
- </sql>
|
|
|
+ <!-- 分页查询 -->
|
|
|
+ <select id="queryPage" resultMap="Student" parameterType="map">
|
|
|
+ SELECT * FROM student
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
|
|
|
- <select id="queryByOperatingTag" resultMap="Student">
|
|
|
- SELECT * FROM student WHERE operating_tag_ = #{operatingTag}
|
|
|
- </select>
|
|
|
+ <!-- 查询当前表的总记录数 -->
|
|
|
+ <select id="queryCount" resultType="int">
|
|
|
+ SELECT COUNT(*)
|
|
|
+ FROM student
|
|
|
+ </select>
|
|
|
+ <select id="findStudents" resultMap="com.ym.mec.biz.dal.dao.TeacherDao.SysUser">
|
|
|
+ SELECT id_, username_, phone_,avatar_ FROM sys_user
|
|
|
+ <include refid="studentQueryCondition"/>
|
|
|
+ ORDER BY id_
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
+ <select id="countStudents" resultType="int">
|
|
|
+ SELECT COUNT(id_) FROM sys_user
|
|
|
+ <include refid="studentQueryCondition"/>
|
|
|
+ </select>
|
|
|
+ <sql id="studentQueryCondition">
|
|
|
+ <where>
|
|
|
+ <if test="organIdList!=null">
|
|
|
+ organ_id_ IN
|
|
|
+ <foreach collection="organIdList" item="organId" open="(" close=")" separator=",">
|
|
|
+ #{organId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="search!=null">
|
|
|
+ AND (username_ LIKE CONCAT('%', #{search}, '%') OR phone_ LIKE CONCAT('%', #{search}, '%'))
|
|
|
+ </if>
|
|
|
+ AND FIND_IN_SET("STUDENT", user_type_)
|
|
|
+ </where>
|
|
|
+ </sql>
|
|
|
|
|
|
- <update id="batchUpdate" parameterType="java.util.List">
|
|
|
- <foreach collection="studentList" item="item" index="index" open="" close="" separator=";">
|
|
|
- UPDATE student
|
|
|
- <set>
|
|
|
- <if test="item.subjectIdList != null">
|
|
|
- subject_id_list_ = #{item.subjectIdList},
|
|
|
- </if>
|
|
|
- <if test="item.serviceTag != null">
|
|
|
- service_tag_ = #{item.serviceTag},
|
|
|
- </if>
|
|
|
- <if test="item.operatingTag != null">
|
|
|
- operating_tag_ = #{item.operatingTag},
|
|
|
- </if>
|
|
|
- <if test="item.teacherId != null">
|
|
|
- teacher_id_=#{item.teacherId},
|
|
|
- </if>
|
|
|
- <if test="item.updateTime != null">
|
|
|
- update_time_ = #{item.updateTime},
|
|
|
- </if>
|
|
|
- <if test="item.updateTime == null">
|
|
|
- update_time_ = NOW()
|
|
|
- </if>
|
|
|
- </set>
|
|
|
- WHERE user_id_ = #{item.userId}
|
|
|
+ <select id="queryByOperatingTag" resultMap="Student">
|
|
|
+ SELECT *
|
|
|
+ FROM student
|
|
|
+ WHERE operating_tag_ = #{operatingTag}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <update id="batchUpdate" parameterType="java.util.List">
|
|
|
+ <foreach collection="studentList" item="item" index="index" open="" close="" separator=";">
|
|
|
+ UPDATE student
|
|
|
+ <set>
|
|
|
+ <if test="item.subjectIdList != null">
|
|
|
+ subject_id_list_ = #{item.subjectIdList},
|
|
|
+ </if>
|
|
|
+ <if test="item.serviceTag != null">
|
|
|
+ service_tag_ = #{item.serviceTag},
|
|
|
+ </if>
|
|
|
+ <if test="item.operatingTag != null">
|
|
|
+ operating_tag_ = #{item.operatingTag},
|
|
|
+ </if>
|
|
|
+ <if test="item.teacherId != null">
|
|
|
+ teacher_id_=#{item.teacherId},
|
|
|
+ </if>
|
|
|
+ <if test="item.updateTime != null">
|
|
|
+ update_time_ = #{item.updateTime},
|
|
|
+ </if>
|
|
|
+ <if test="item.updateTime == null">
|
|
|
+ update_time_ = NOW()
|
|
|
+ </if>
|
|
|
+ </set>
|
|
|
+ WHERE user_id_ = #{item.userId}
|
|
|
</foreach>
|
|
|
- </update>
|
|
|
+ </update>
|
|
|
|
|
|
<resultMap id="student4operating" type="com.ym.mec.biz.dal.dto.Student4operating">
|
|
|
<result column="organ_name_" property="organName"/>
|
|
@@ -219,7 +227,7 @@
|
|
|
|
|
|
<sql id="student4OperatingQueryCondition">
|
|
|
<where>
|
|
|
- su.user_type_ LIKE '%STUDENT%' AND su.del_flag_ = 0
|
|
|
+ su.user_type_ LIKE '%STUDENT%'
|
|
|
<if test="search != null and search != ''">
|
|
|
AND (su.phone_ LIKE CONCAT('%',#{search},'%') OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.id_
|
|
|
LIKE CONCAT('%',#{search},'%'))
|
|
@@ -261,21 +269,21 @@
|
|
|
GROUP BY teacher_id_
|
|
|
</select>
|
|
|
|
|
|
- <select id="getBuyNums" resultMap="student4operating">
|
|
|
- SELECT s.teacher_id_, COUNT(DISTINCT cssp.user_id_) student_num_
|
|
|
+ <select id="getBuyNums" resultType="java.util.Map">
|
|
|
+ SELECT s.teacher_id_ 'key', COUNT(DISTINCT cssp.user_id_) 'value'
|
|
|
FROM course_schedule_student_payment cssp
|
|
|
LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cs.teach_mode_ = 'ONLINE'
|
|
|
LEFT JOIN student s ON s.user_id_ = cssp.user_id_
|
|
|
- WHERE cs.status_ IN ('NOT_START', 'UNDERWAY')
|
|
|
+ WHERE FIND_IN_SET(s.teacher_id_, #{teacherIds})
|
|
|
+ AND cs.status_ IN ('NOT_START', 'UNDERWAY')
|
|
|
AND (cs.is_lock_ IS NULL OR cs.is_lock_ = 0)
|
|
|
<if test="groupType != null">
|
|
|
AND cs.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
</if>
|
|
|
- AND FIND_IN_SET(s.teacher_id_, #{teacherIds})
|
|
|
GROUP BY s.teacher_id_
|
|
|
</select>
|
|
|
- <select id="getPracticeAndVipNums" resultMap="student4operating">
|
|
|
- SELECT s.teacher_id_, COUNT(DISTINCT pg.student_id_) student_num_
|
|
|
+ <select id="getPracticeAndVipNums" resultType="java.util.Map">
|
|
|
+ SELECT s.teacher_id_ 'key', COUNT(DISTINCT pg.student_id_) 'value'
|
|
|
FROM practice_group pg
|
|
|
LEFT JOIN student s on s.user_id_ = pg.student_id_
|
|
|
LEFT JOIN course_schedule_student_payment vcssp
|
|
@@ -284,15 +292,13 @@
|
|
|
ON pcssp.user_id_ = pg.student_id_ AND pcssp.group_type_ = 'PRACTICE'
|
|
|
LEFT JOIN course_schedule vcs ON vcs.id_ = vcssp.course_schedule_id_ AND vcs.teach_mode_ = 'ONLINE'
|
|
|
LEFT JOIN course_schedule pcs ON pcs.id_ = pcssp.course_schedule_id_
|
|
|
- WHERE pg.group_status_ IN ('NORMAL', 'FINISH')
|
|
|
- AND vcs.id_ >= 1
|
|
|
- AND pcs.id_ >= 1
|
|
|
- AND (vcs.is_lock_ IS NULL OR vcs.is_lock_ = 0)
|
|
|
- AND (pcs.is_lock_ IS NULL OR pcs.is_lock_ = 0)
|
|
|
+ WHERE FIND_IN_SET(s.teacher_id_, #{teacherIds})
|
|
|
+ AND pg.group_status_ IN ('NORMAL', 'FINISH')
|
|
|
AND vcs.status_ IN ('NOT_START', 'UNDERWAY')
|
|
|
AND pcs.status_ IN ('NOT_START', 'UNDERWAY')
|
|
|
+ AND (vcs.is_lock_ IS NULL OR vcs.is_lock_ = 0)
|
|
|
+ AND (pcs.is_lock_ IS NULL OR pcs.is_lock_ = 0)
|
|
|
AND pg.buy_months_ >= 1
|
|
|
- AND FIND_IN_SET(s.teacher_id_, #{teacherIds})
|
|
|
GROUP BY s.teacher_id_
|
|
|
</select>
|
|
|
</mapper>
|