|  | @@ -9,6 +9,7 @@
 | 
	
		
			
				|  |  |      <resultMap type="com.ym.mec.biz.dal.entity.VipGroup" id="VipGroup">
 | 
	
		
			
				|  |  |          <result column="id_" property="id"/>
 | 
	
		
			
				|  |  |          <result column="user_id_" property="userId"/>
 | 
	
		
			
				|  |  | +        <result column="username_" property="userName"/>
 | 
	
		
			
				|  |  |          <result column="single_class_minutes_" property="singleClassMinutes"/>
 | 
	
		
			
				|  |  |          <result column="payment_expire_date_" property="paymentExpireDate"/>
 | 
	
		
			
				|  |  |          <result column="courses_expire_date_" property="coursesExpireDate"/>
 | 
	
	
		
			
				|  | @@ -25,6 +26,10 @@
 | 
	
		
			
				|  |  |          <result column="online_classes_unit_price_" property="onlineClassesUnitPrice"/>
 | 
	
		
			
				|  |  |          <result column="offline_classes_unit_price_" property="offlineClassesUnitPrice"/>
 | 
	
		
			
				|  |  |          <result column="total_price_" property="totalPrice"/>
 | 
	
		
			
				|  |  | +        <result column="student_num_" property="studentNum"/>
 | 
	
		
			
				|  |  | +        <result column="total_class_times_" property="totalClassTimes"/>
 | 
	
		
			
				|  |  | +        <result column="current_class_times_" property="currentClassTimes"/>
 | 
	
		
			
				|  |  | +        <result column="is_salary_" property="isSalary"/>
 | 
	
		
			
				|  |  |      </resultMap>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <resultMap id="studentManageVipGroup" type="com.ym.mec.biz.dal.dto.StudentManageVipGroupDto" extends="VipGroup">
 | 
	
	
		
			
				|  | @@ -81,6 +86,42 @@
 | 
	
		
			
				|  |  |  		SELECT * FROM vip_group ORDER BY id_
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    <sql id="vipGroupQueryCondition">
 | 
	
		
			
				|  |  | +        <where>
 | 
	
		
			
				|  |  | +            <if test="search!=null and search!=''">
 | 
	
		
			
				|  |  | +                vg.name LIKE CONCAT('%',#{search},'%')
 | 
	
		
			
				|  |  | +            </if>
 | 
	
		
			
				|  |  | +            <if test="organId!=null">
 | 
	
		
			
				|  |  | +                AND FIND_IN_SET(#{organId},vg.organ_id_list_)
 | 
	
		
			
				|  |  | +            </if>
 | 
	
		
			
				|  |  | +        </where>
 | 
	
		
			
				|  |  | +    </sql>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <select id="findAllByOrgan" resultMap="VipGroup">
 | 
	
		
			
				|  |  | +		SELECT
 | 
	
		
			
				|  |  | +            vg.*,
 | 
	
		
			
				|  |  | +            su.username_,
 | 
	
		
			
				|  |  | +            cg.student_num_,
 | 
	
		
			
				|  |  | +            cg.total_class_times_,
 | 
	
		
			
				|  |  | +            cg.current_class_times_
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +            vip_group vg
 | 
	
		
			
				|  |  | +            LEFT JOIN sys_user su ON vg.user_id_=su.id_
 | 
	
		
			
				|  |  | +            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_
 | 
	
		
			
				|  |  | +        <include refid="vipGroupQueryCondition"/>
 | 
	
		
			
				|  |  | +        ORDER BY vg.id_
 | 
	
		
			
				|  |  | +        <include refid="global.limit"/>
 | 
	
		
			
				|  |  | +	</select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <select id="countVipGroupByOrgan" resultType="int">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +        count(*)
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +        vip_group vg
 | 
	
		
			
				|  |  | +        <include refid="vipGroupQueryCondition"/>
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      <!-- 向数据库增加一条记录 -->
 | 
	
		
			
				|  |  |      <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.VipGroup" useGeneratedKeys="true" keyColumn="id"
 | 
	
		
			
				|  |  |              keyProperty="id">
 | 
	
	
		
			
				|  | @@ -149,6 +190,9 @@
 | 
	
		
			
				|  |  |              <if test="totalPrice != null">
 | 
	
		
			
				|  |  |                  total_price_ = #{totalPrice},
 | 
	
		
			
				|  |  |              </if>
 | 
	
		
			
				|  |  | +            <if test="isSalary!=null">
 | 
	
		
			
				|  |  | +                is_salary_=#{isSalary}
 | 
	
		
			
				|  |  | +            </if>
 | 
	
		
			
				|  |  |          </set>
 | 
	
		
			
				|  |  |          WHERE id_ = #{id}
 | 
	
		
			
				|  |  |      </update>
 | 
	
	
		
			
				|  | @@ -304,4 +348,93 @@
 | 
	
		
			
				|  |  |              WHERE cs.status_="NOT_START" AND cs.type_="VIP" AND vgcgm.vip_group_id_=#{vipGroupId}
 | 
	
		
			
				|  |  |              GROUP BY cs.teach_mode_
 | 
	
		
			
				|  |  |      </select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <resultMap id="vipGroupStudentDto" type="com.ym.mec.biz.dal.dto.VipGroupStudentDto">
 | 
	
		
			
				|  |  | +        <result column="id_" property="id"/>
 | 
	
		
			
				|  |  | +        <result column="username_" property="userName"/>
 | 
	
		
			
				|  |  | +        <result column="total_class_times_" property="totalClassTimes"/>
 | 
	
		
			
				|  |  | +        <result column="current_class_times_" property="currentClassTimes"/>
 | 
	
		
			
				|  |  | +    </resultMap>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <select id="findVipGroupStudents" resultMap="vipGroupStudentDto">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +            su.id_,
 | 
	
		
			
				|  |  | +            su.username_,
 | 
	
		
			
				|  |  | +            cg.total_class_times_,
 | 
	
		
			
				|  |  | +            cg.current_class_times_
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +            vip_group_class_group_mapper vgcgm
 | 
	
		
			
				|  |  | +            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 vgcgm.id_=#{vipGroupId}
 | 
	
		
			
				|  |  | +        ORDER BY su.id_
 | 
	
		
			
				|  |  | +        <include refid="global.limit"/>
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <select id="countVipGroupStudents" resultType="int">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +        count(*)
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +        vip_group_class_group_mapper vgcgm
 | 
	
		
			
				|  |  | +        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_
 | 
	
		
			
				|  |  | +        WHERE vgcgm.id_=#{vipGroupId}
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <resultMap id="teachingRecord" type="com.ym.mec.biz.dal.dto.VipGroupCourseSchduleRecordDto">
 | 
	
		
			
				|  |  | +        <result column="id_" property="id"/>
 | 
	
		
			
				|  |  | +        <result column="start_class_time_" property="startClassTime"/>
 | 
	
		
			
				|  |  | +        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  | +        <result column="teach_mode_" property="teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  | +        <result column="is_salary_" property="isSalary" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  | +    </resultMap>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <sql id="teachingRecordQueryCondition">
 | 
	
		
			
				|  |  | +        <where>
 | 
	
		
			
				|  |  | +            vgcgm.vip_group_id_=#{vipGroupId}
 | 
	
		
			
				|  |  | +            <if test="startTime!=null and endTime!=null">
 | 
	
		
			
				|  |  | +                cs.class_date_ BETWEEN #{startTime} AND #{endTime}
 | 
	
		
			
				|  |  | +            </if>
 | 
	
		
			
				|  |  | +            <if test="teachMode!=null and teachMode!=''">
 | 
	
		
			
				|  |  | +                cs.teach_mode_=#{teachMode}
 | 
	
		
			
				|  |  | +            </if>
 | 
	
		
			
				|  |  | +            <if test="status!=null and status!=''">
 | 
	
		
			
				|  |  | +                cs.status_=#{status}
 | 
	
		
			
				|  |  | +            </if>
 | 
	
		
			
				|  |  | +        </where>
 | 
	
		
			
				|  |  | +    </sql>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <select id="findTeachingRecord">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +            cs.id_,
 | 
	
		
			
				|  |  | +            CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
 | 
	
		
			
				|  |  | +            cs.status_,
 | 
	
		
			
				|  |  | +            cs.teach_mode_,
 | 
	
		
			
				|  |  | +            cs.is_salary_
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +            vip_group_class_group_mapper vgcgm
 | 
	
		
			
				|  |  | +            LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
 | 
	
		
			
				|  |  | +        <include refid="teachingRecordQueryCondition"/>
 | 
	
		
			
				|  |  | +        ORDER BY cs.id_
 | 
	
		
			
				|  |  | +        <include refid="global.limit"/>
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  | +    <select id="countTeachingRecord">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +        COUNT(*)
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +        vip_group_class_group_mapper vgcgm
 | 
	
		
			
				|  |  | +        LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
 | 
	
		
			
				|  |  | +        <include refid="teachingRecordQueryCondition"/>
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <select id="getClassTimes" resultType="com.ym.mec.biz.dal.dto.TeachingRecordBaseInfo">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +            cg.total_class_times_ totalClassTimes,
 | 
	
		
			
				|  |  | +            cg.current_class_times_ currentClassTimes
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +            vip_group_class_group_mapper vgcgm
 | 
	
		
			
				|  |  | +            LEFT JOIN class_group cg ON vgcgm.class_group_id_=cg.id_
 | 
	
		
			
				|  |  | +        WHERE vgcgm.vip_group_id_=#{vipGroupId}
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  |  </mapper>
 |