|
@@ -14,6 +14,8 @@
|
|
|
<result column="create_time_" property="createTime" />
|
|
|
<result column="update_time_" property="updateTime" />
|
|
|
<result column="user_id_" property="userId" />
|
|
|
+ <result column="price_" property="price"/>
|
|
|
+ <result column="subject_id_" property="subjectId"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<resultMap id="studentDemoGroupListDto" type="com.ym.mec.biz.dal.dto.StudentDemoGroupListDto">
|
|
@@ -23,7 +25,8 @@
|
|
|
<result property="avatar" column="avatar_"/>
|
|
|
<result property="introduction" column="introduction_"/>
|
|
|
<result property="numberOfClasses" column="number_of_classes_"/>
|
|
|
- <result property="subjectList" column="subject_list_"/>
|
|
|
+ <result property="subjectName" column="subject_name_"/>
|
|
|
+ <collection property="coursesPlans" resultMap="com.ym.mec.biz.dal.dao.DemoGroupCoursesPlanDao.DemoGroupCoursesPlan" column="dgcp.id_"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<!-- 根据主键查询一条记录 -->
|
|
@@ -43,7 +46,7 @@
|
|
|
SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
|
|
|
</selectKey>
|
|
|
-->
|
|
|
- INSERT INTO demo_group (id_,name_,single_class_minutes_,organ_id_list_,create_time_,update_time_,user_id_) VALUES(#{id},#{name},#{singleClassMinutes},#{organIdList},#{createTime},#{updateTime},#{userId})
|
|
|
+ INSERT INTO demo_group (id_,name_,single_class_minutes_,organ_id_list_,create_time_,update_time_,user_id_,price_,subject_id_) VALUES(#{id},#{name},#{singleClassMinutes},#{organIdList},#{createTime},#{updateTime},#{userId},#{price},#{subjectId})
|
|
|
</insert>
|
|
|
|
|
|
<!-- 根据主键查询一条记录 -->
|
|
@@ -70,6 +73,12 @@ name_ = #{name},
|
|
|
<if test="createTime != null">
|
|
|
create_time_ = #{createTime},
|
|
|
</if>
|
|
|
+ <if test="price != null">
|
|
|
+ price_ = #{price},
|
|
|
+ </if>
|
|
|
+ <if test="subjectId != null">
|
|
|
+ subject_id_ = #{subjectId},
|
|
|
+ </if>
|
|
|
</set> WHERE id_ = #{id}
|
|
|
</update>
|
|
|
|
|
@@ -100,9 +109,9 @@ create_time_ = #{createTime},
|
|
|
<select id="getOrganIdByUserId" resultType="java.lang.Integer">
|
|
|
select organ_id_ from sys_user where id_=#{userId}
|
|
|
</select>
|
|
|
- <select id="createCourseScheduleByDemoGroupId" parameterType="com.ym.mec.biz.dal.entity.DemoGroup" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
|
|
|
+ <select id="createCourseScheduleByDemoGroup" parameterType="com.ym.mec.biz.dal.entity.DemoGroup" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
|
|
|
SELECT
|
|
|
- dgcgm.class_group_id_ class_group_id_,
|
|
|
+ #{classGroupId} class_group_id_,
|
|
|
'NOT_START' status_,
|
|
|
DATE_FORMAT(dgcp.courses_start_time_,'%Y-%m-%d') class_date_,
|
|
|
dgcp.courses_start_time_ start_class_time_,
|
|
@@ -112,7 +121,7 @@ create_time_ = #{createTime},
|
|
|
FROM
|
|
|
demo_group_courses_plan dgcp
|
|
|
LEFT JOIN demo_group_class_group_mapper dgcgm ON dgcp.demo_group_id_=dgcgm.demo_group_id_
|
|
|
- WHERE dgcp.demo_group_id_=#{demoGroup.id} AND dgcp.courses_start_time_ > NOW()
|
|
|
+ WHERE dgcp.demo_group_id_=#{demoGroup.id} AND dgcp.courses_start_time_ = #{startTime}
|
|
|
</select>
|
|
|
<select id="countDemoGroupStudents" resultType="java.lang.Integer">
|
|
|
SELECT
|
|
@@ -125,30 +134,38 @@ create_time_ = #{createTime},
|
|
|
|
|
|
<sql id="demoGroupQueryCondition">
|
|
|
<where>
|
|
|
- <if test="teacherName!=null">
|
|
|
- su.username like concat('%',#{teacherName},'%')
|
|
|
+ <if test="search!=null">
|
|
|
+ su.username like concat('%',#{search},'%')
|
|
|
+ </if>
|
|
|
+ <if test="subjectIds!=null">
|
|
|
+ AND FIND_IN_SET(dg.subject_id_,#{subjectIds})
|
|
|
+ </if>
|
|
|
+ <if test="startTimes!=null">
|
|
|
+ AND FIND_IN_SET(dgcp.courses_start_time_,#{startTimes})
|
|
|
</if>
|
|
|
</where>
|
|
|
</sql>
|
|
|
|
|
|
<select id="findDemoGroupList" resultMap="studentDemoGroupListDto">
|
|
|
SELECT
|
|
|
- dg.id_ demo_group_id_,
|
|
|
- su.id_ user_id_,
|
|
|
- su.username_,
|
|
|
- su.avatar_,
|
|
|
- COUNT(DISTINCT cs.id_) number_of_classes_,
|
|
|
- GROUP_CONCAT(DISTINCT s.name_) subject_list_
|
|
|
+ dg.id_ demo_group_id_,
|
|
|
+ su.username_,
|
|
|
+ su.avatar_,
|
|
|
+ t.introduction_,
|
|
|
+ s.name_ subject_name_,
|
|
|
+ COUNT(dgcgm.class_group_id_) number_of_classes_,
|
|
|
+ dgcp.*
|
|
|
FROM
|
|
|
- demo_group dg
|
|
|
- LEFT JOIN sys_user su ON dg.user_id_=su.id_
|
|
|
- LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
|
|
|
- LEFT JOIN class_group cg ON dgcgm.class_group_id_=cg.id_
|
|
|
- LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,cg.subject_id_list_)
|
|
|
- LEFT JOIN course_schedule cs ON dgcgm.class_group_id_=cs.class_group_id_
|
|
|
- <include refid="demoGroupQueryCondition"/>
|
|
|
- GROUP BY dg.id_
|
|
|
- ORDER BY dg.id_
|
|
|
+ demo_group dg
|
|
|
+ LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
|
|
|
+ LEFT JOIN teacher t ON dg.user_id_=t.id_
|
|
|
+ LEFT JOIN sys_user su ON dg.user_id_=su.id_
|
|
|
+ LEFT JOIN `subject` s ON dg.subject_id_=s.id_
|
|
|
+ LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
|
|
|
+ <include refid="demoGroupQueryCondition"/>
|
|
|
+ GROUP BY dgcp.id_,dg.id_
|
|
|
+ ORDER BY dgcp.courses_start_time_
|
|
|
+ <include refid="global.limit"/>
|
|
|
</select>
|
|
|
<select id="countDemoGroupList" resultType="java.lang.Integer">
|
|
|
SELECT
|
|
@@ -165,4 +182,40 @@ create_time_ = #{createTime},
|
|
|
demo_group_class_group_mapper
|
|
|
WHERE demo_group_id_=#{demoGroupId}
|
|
|
</select>
|
|
|
+ <select id="findDemoGroupByTeacherId" resultMap="DemoGroup">
|
|
|
+ SELECT * FROM demo_group WHERE user_id_=#{teacherId}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <sql id="teacherDemoGroupsQueryCondition">
|
|
|
+ <where>
|
|
|
+ dg.user_id_=#{teacherId}
|
|
|
+ </where>
|
|
|
+ </sql>
|
|
|
+
|
|
|
+ <select id="findTeacherDemoGroups" resultType="com.ym.mec.biz.dal.dto.TeacherManageDemoGroupListDto">
|
|
|
+ SELECT
|
|
|
+ cs.class_date_ classDate,
|
|
|
+ GROUP_CONCAT(DISTINCT CONCAT(cs.start_class_time_,cs.end_class_time_)) startTimes,
|
|
|
+ GROUP_CONCAT(s.name_) subjectNames
|
|
|
+ FROM
|
|
|
+ demo_group dg
|
|
|
+ LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
|
|
|
+ LEFT JOIN class_group cg ON dgcgm.class_group_id_=cg.id_
|
|
|
+ LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
|
|
|
+ LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,cg.subject_id_list_)
|
|
|
+ <include refid="teacherDemoGroupsQueryCondition"/>
|
|
|
+ GROUP BY cs.class_date_
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
+ <select id="countTeacherDemoGroups" resultType="int">
|
|
|
+ SELECT
|
|
|
+ count(*)
|
|
|
+ FROM
|
|
|
+ demo_group dg
|
|
|
+ LEFT JOIN demo_group_class_group_mapper dgcgm ON dg.id_=dgcgm.demo_group_id_
|
|
|
+ LEFT JOIN class_group cg ON dgcgm.class_group_id_=cg.id_
|
|
|
+ LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
|
|
|
+ <include refid="teacherDemoGroupsQueryCondition"/>
|
|
|
+ GROUP BY cs.class_date_
|
|
|
+ </select>
|
|
|
</mapper>
|