|  | @@ -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,52 @@ 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>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	<select id="findDemoGroupStartClassTimesWithWeekByTeacherId" resultType="com.ym.mec.biz.dal.dto.EducationDemoGroupListDto">
 | 
	
		
			
				|  |  | +		SELECT
 | 
	
		
			
				|  |  | +			class_date_ classDate,
 | 
	
		
			
				|  |  | +			GROUP_CONCAT(start_class_time_) startClassTimes
 | 
	
		
			
				|  |  | +		FROM
 | 
	
		
			
				|  |  | +			course_schedule
 | 
	
		
			
				|  |  | +		WHERE
 | 
	
		
			
				|  |  | +			YEARWEEK(class_date_) = YEARWEEK( now( ) )
 | 
	
		
			
				|  |  | +		GROUP BY class_date_
 | 
	
		
			
				|  |  | +	</select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  </mapper>
 |