Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 years ago
parent
commit
808bfe21c6

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DemoGroupDao.java

@@ -55,12 +55,15 @@ public interface DemoGroupDao extends BaseDAO<Long, DemoGroup> {
      */
     Integer countDemoGroupStudents(Long demoGroupId);
 
+
+
     /**
      * @Author: Joburgess
      * @Date: 2019/9/25
      * 试听课列表获取
      */
-    List<StudentDemoGroupListDto> findDemoGroupList(Map<String,Object> params);
+    List<StudentDemoGroupListDto> findDemoGroupList(@Param("params") Map<String,Object> params,
+                                                    @Param("demoGroupIds") List<Integer> demoGroupIds);
 
     /**
      * @Author: Joburgess
@@ -69,6 +72,8 @@ public interface DemoGroupDao extends BaseDAO<Long, DemoGroup> {
      */
     Integer countDemoGroupList(Map<String,Object> params);
 
+    List<Integer> findDemoGoupIds(Map<String,Object> params);
+
     /**
      * @Author: Joburgess
      * @Date: 2019/9/25

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1225,6 +1225,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseSchedule.setCreateTime(date);
                 courseSchedule.setUpdateTime(date);
                 courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
+                courseSchedule.setMusicGroupId(classGroup.getMusicGroupId());
                 courseSchedule.setType(classGroup4MixDto.getCourseType());
                 courseSchedule.setName(subjectNames + "-" + CourseSchedule.CourseScheduleType.SINGLE.getMsg());
                 courseSchedule.setGroupType(GroupType.MUSIC);
@@ -1438,6 +1439,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
                 courseSchedule.setType(classGroup4MixDto.getCourseType());
                 courseSchedule.setGroupType(GroupType.MUSIC);
+                courseSchedule.setMusicGroupId(classGroup.getMusicGroupId());
                 courseSchedule.setName(subjectNames + "-" + CourseSchedule.CourseScheduleType.SINGLE.getMsg());
 
                 courseScheduleDao.insert(courseSchedule);

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DemoGroupServiceImpl.java

@@ -146,7 +146,8 @@ public class DemoGroupServiceImpl extends BaseServiceImpl<Long, DemoGroup>  impl
 		if (count > 0) {
 			pageInfo.setTotal(count);
 			params.put("offset", pageInfo.getOffset());
-			dataList = demoGroupDao.findDemoGroupList(params);
+			List<Integer> demoGoupIds = demoGroupDao.findDemoGoupIds(params);
+			dataList = demoGroupDao.findDemoGroupList(params,demoGoupIds);
 		}
 		if (count == 0) {
 			dataList = new ArrayList<>();

+ 17 - 15
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -672,6 +672,7 @@
     <sql id="queryStudentCourseScheduleRecordCondition">
         <where>
             sa.user_id_=#{userId}
+            AND cs.status_='OVER'
             <if test="teachMode!=null and teachMode!=''">
                 AND cs.teach_mode_=#{teachMode}
             </if>
@@ -686,21 +687,21 @@
 
     <select id="findStudentCourseScheduleRecords" resultMap="studentCourseScheduleRecord">
         SELECT
-        sa.id_,
-        sa.status_,
-        sa.teacher_id_,
-        su.username_,
-        cs.id_ course_schedule_id_,
-        cs.name_,
-        cs.class_date_,
-        CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
-        CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
-        cs.teacher_id_,
-        cs.teach_mode_
+            sa.id_,
+            sa.status_,
+            sa.teacher_id_,
+            su.username_,
+            cs.id_ course_schedule_id_,
+            cs.name_,
+            cs.class_date_,
+            CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
+            CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
+            cs.teacher_id_,
+            cs.teach_mode_
         FROM
-        student_attendance sa
-        LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
-        LEFT JOIN sys_user su ON sa.teacher_id_=su.id_
+          student_attendance sa
+            LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
+            LEFT JOIN sys_user su ON sa.teacher_id_=su.id_
         <include refid="queryStudentCourseScheduleRecordCondition"/>
         ORDER BY cs.class_date_ DESC,cs.start_class_time_ DESC
         <include refid="global.limit"/>
@@ -1270,7 +1271,7 @@
         cs.schoole_id_
       from  course_schedule cs
         LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_
-      where cs.class_group_id_=#{classGroupId} AND cs.status=#{status}
+      where cs.class_group_id_=#{classGroupId} AND cs.status_=#{status}
     </select>
     <select id="findByClassGroups" resultMap="CourseSchedule">
         select
@@ -1361,6 +1362,7 @@
         WHERE
             cg.music_group_id_=#{musicGroupId}
             AND status_ = #{status}
+            AND cs.type_!='HIGH'
     </select>
     <delete id="deleteCourseSchedulesByClassGroupIds">
         DELETE FROM course_schedule WHERE class_group_id_ IN

+ 57 - 24
mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml

@@ -187,42 +187,75 @@
         </where>
     </sql>
 
+    <sql id="demoGroupQueryCondition1">
+        <where>
+            dgcp.status_=0
+            AND dgcp.demo_group_id_ IN
+            <foreach collection="demoGroupIds" item="demoGroupId" open="(" close=")" separator=",">
+                #{demoGroupId}
+            </foreach>
+            AND CONCAT(dgcp.course_date_,' ',dgcp.start_time_)&gt;=NOW()
+            <if test="params.search!=null">
+                AND su.username_ like concat('%',#{params.search},'%')
+            </if>
+            <if test="params.subjectIds!=null and params.subjectIds!=''">
+                AND FIND_IN_SET(dg.subject_id_,#{params.subjectIds})
+            </if>
+            <if test="params.startTime!=null and params.endTime==null">
+                AND CONCAT(dgcp.course_date_,' ',dgcp.start_time_)&gt;=DATE_FORMAT(#{params.startTime},'%Y-%m-%d %H:%i:%S')
+                AND dgcp.course_date_=DATE_FORMAT(#{params.startTime},'%Y-%m-%d')
+            </if>
+            <if test="params.startTime!=null and params.endTime!=null">
+                AND (CONCAT(dgcp.course_date_,' ',dgcp.start_time_) BETWEEN DATE_FORMAT(#{params.startTime},'%Y-%m-%d %H:%i:%S') AND DATE_FORMAT(#{params.endTime},'%Y-%m-%d %H:%i:%S'))
+            </if>
+        </where>
+    </sql>
+
     <select id="findDemoGroupList" resultMap="studentDemoGroupListDto">
         SELECT
-        dg.id_ demo_group_id_,
-        su.username_,
-        su.avatar_,
-        t.introduction_,
-        s.name_ subject_name_,
-        COUNT(cg.id_) number_of_classes_,
-        dgcp.id_,
-        dgcp.demo_group_id_,
-        dgcp.create_time_,
-        dgcp.status_,
-        dgcp.course_date_,
-        CONCAT(dgcp.course_date_,' ',dgcp.start_time_) start_time_,
-        CONCAT(dgcp.course_date_,' ',dgcp.end_time_) end_time_
+            dg.id_ demo_group_id_,
+            su.username_,
+            su.avatar_,
+            t.introduction_,
+            s.name_ subject_name_,
+            COUNT(cg.id_) number_of_classes_,
+            dgcp.id_,
+            dgcp.demo_group_id_,
+            dgcp.create_time_,
+            dgcp.status_,
+            dgcp.course_date_,
+            CONCAT(dgcp.course_date_,' ',dgcp.start_time_) start_time_,
+            CONCAT(dgcp.course_date_,' ',dgcp.end_time_) end_time_
         FROM
-        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 class_group cg ON dg.id_=cg.music_group_id_ AND cg.group_type_='DEMO'
-        <include refid="demoGroupQueryCondition"/>
+            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 class_group cg ON dg.id_=cg.music_group_id_ AND cg.group_type_='DEMO'
+        <include refid="demoGroupQueryCondition1"/>
         GROUP BY dgcp.id_,dg.id_
         ORDER BY dgcp.start_time_
-        <include refid="global.limit"/>
     </select>
     <select id="countDemoGroupList" resultType="java.lang.Integer">
         SELECT
-        count(*)
+          COUNT(DISTINCT dg.id_)
         FROM
         demo_group dg
-        LEFT JOIN demo_group_courses_plan dgcp ON dg.id_=dgcp.demo_group_id_
-        LEFT JOIN sys_user su ON dg.user_id_=su.id_
+        LEFT JOIN demo_group_courses_plan dgcp ON dg.id_ = dgcp.demo_group_id_
+        LEFT JOIN sys_user su ON dg.user_id_ = su.id_
         <include refid="demoGroupQueryCondition"/>
     </select>
+    <select id="findDemoGoupIds" resultType="java.lang.Integer">
+        SELECT
+          DISTINCT dg.id_
+        FROM
+          demo_group dg
+        LEFT JOIN demo_group_courses_plan dgcp ON dg.id_ = dgcp.demo_group_id_
+        LEFT JOIN sys_user su ON dg.user_id_ = su.id_
+        <include refid="demoGroupQueryCondition"/>
+        <include refid="global.limit"/>
+    </select>
     <select id="findClassGroupIDByDemoGroupId" resultType="java.lang.Integer">
 		SELECT
 			id_

+ 8 - 1
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -507,15 +507,22 @@
           LEFT JOIN sys_user su ON suca.user_id_=su.id_
         WHERE
           suca.course_balance_ >0
+          <if test="search!=null and search!=''">
+              AND (su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+          </if>
         <include refid="global.limit"/>
     </select>
     <select id="countHaveCourseBalanceStudentNum" resultType="int">
         SELECT
             COUNT(1)
         FROM
-        sys_user_cash_account suca
+            sys_user_cash_account suca
+            LEFT JOIN sys_user su ON suca.user_id_=su.id_
         WHERE
         suca.course_balance_ >0
+        <if test="search!=null and search!=''">
+            AND (su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+        </if>
     </select>
 
     <select id="countVipGroupStudents" resultType="int">