Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
7a08b6a2f3
18 changed files with 201 additions and 75 deletions
  1. 20 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java
  2. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java
  3. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java
  4. 3 3
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java
  5. 1 1
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  6. 18 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleEvaluateDao.java
  7. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  8. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentBuyPracticeDto.java
  9. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Student.java
  10. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java
  11. 5 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  12. 53 19
      mec-biz/src/main/resources/config/mybatis/CourseScheduleEvaluateMapper.xml
  13. 5 3
      mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml
  14. 36 2
      mec-biz/src/main/resources/config/mybatis/StudentMapper.xml
  15. 5 0
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  16. 12 26
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  17. 2 2
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  18. 1 10
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

+ 20 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java

@@ -113,6 +113,26 @@ public class SysUser implements Serializable{
 	@ApiModelProperty(value = "是否是超管",required = false)
 	private Boolean isSuperAdmin = false;
 
+	private Integer serviceTag;
+
+	private Integer operatingTag;
+
+	public Integer getServiceTag() {
+		return serviceTag;
+	}
+
+	public void setServiceTag(Integer serviceTag) {
+		this.serviceTag = serviceTag;
+	}
+
+	public Integer getOperatingTag() {
+		return operatingTag;
+	}
+
+	public void setOperatingTag(Integer operatingTag) {
+		this.operatingTag = operatingTag;
+	}
+
 	public String getCurrentGrade() {
 		return currentGrade;
 	}

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -84,5 +84,5 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * 保存student
 	 * @param userId
 	 */
-    void saveStudent(@Param("userId") Integer userId, @Param("lesseeOrganId") Integer lesseeOrganId);
+    void saveStudent(@Param("userId") Integer userId);
 }

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java

@@ -102,5 +102,5 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	 * 保存student数据
 	 * @param userId
 	 */
-	void saveStudent(Integer userId,Integer lesseeOrganId);
+	void saveStudent(Integer userId);
 }

+ 3 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -169,7 +169,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 				sysUser.setUserType("STUDENT");
 				sysUser.setOrganId(lesseeOrganId);
 				sysUserDao.insert(sysUser);
-				sysUserService.saveStudent(sysUser.getId(),lesseeOrganId);
+				sysUserService.saveStudent(sysUser.getId());
 				//添加用户现金账户
 				imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
 				userFeignService.createCashAccount(sysUser.getId());
@@ -207,8 +207,8 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 	}
 
 	@Override
-	public void saveStudent(Integer userId,Integer lesseeOrganId) {
-		sysUserDao.saveStudent(userId,lesseeOrganId);
+	public void saveStudent(Integer userId) {
+		sysUserDao.saveStudent(userId);
 	}
 
 }

+ 1 - 1
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -81,7 +81,7 @@
 		VALUES(#{userId},0,0,1,NOW(),NOW())
     </insert>
     <insert id="saveStudent">
-        INSERT INTO student (user_id_,subject_id_list_,create_time_,update_time_) VALUES(#{userId},#{lesseeOrganId},NOW(),NOW())
+        INSERT INTO student (user_id_,create_time_,update_time_) VALUES(#{userId},NOW(),NOW())
     </insert>
 
     <!-- 根据主键查询一条记录 -->

+ 18 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleEvaluateDao.java

@@ -119,10 +119,9 @@ public interface CourseScheduleEvaluateDao extends BaseDAO<Long, CourseScheduleE
     /**
      * 网管课体验人数
      *
-     * @param studentIds
      * @return
      */
-    List<Practice4OrganDto> getPracticeTryNums(@Param("studentIds") String studentIds);
+    List<Practice4OrganDto> getPracticeTryNums();
 
     /**
      * vip课体验人数
@@ -135,10 +134,9 @@ public interface CourseScheduleEvaluateDao extends BaseDAO<Long, CourseScheduleE
      * 网管课转化人数
      *
      * @param classDate
-     * @param studentIds
      * @return
      */
-    List<Practice4OrganDto> getPracticeBuyNums(@Param("classDate") Date classDate, @Param("endDate") Date endDate, @Param("studentIds") String studentIds);
+    List<Practice4OrganDto> getPracticeBuyNums(@Param("classDate") Date classDate, @Param("endDate") Date endDate);
 
     /**
      * VIP课转化人数
@@ -146,5 +144,20 @@ public interface CourseScheduleEvaluateDao extends BaseDAO<Long, CourseScheduleE
      * @param classDate
      * @return
      */
-    List<Practice4OrganDto> getVipBuyNums(@Param("classDate") Date classDate,@Param("endDate") Date endDate);
+    List<Practice4OrganDto> getVipBuyNums(@Param("classDate") Date classDate, @Param("endDate") Date endDate);
+
+    /**
+     * 网管课和vip课同事存在的人数
+     *
+     * @param classDate
+     * @param endDate
+     * @return
+     */
+    List<Practice4OrganDto> getPracticeAndVipNums(@Param("classDate") Date classDate, @Param("endDate") Date endDate);
+
+    /**
+     * 禁止中vip和网管同时存在人数
+     * @return
+     */
+    List<Practice4OrganDto> getPracticeAndVipTryNums();
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -318,4 +318,6 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<String> queryStudentMusicGroup(Integer studentId);
+
+    String getSubjectIds(Integer userId);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentBuyPracticeDto.java

@@ -14,6 +14,9 @@ public class StudentBuyPracticeDto {
     //老师名
     private String teacherName;
 
+    //老师名
+    private String courseGroupTeacherName;
+
     //分部
     private String organName;
 
@@ -32,6 +35,14 @@ public class StudentBuyPracticeDto {
     //时间差
     private int intervalDay;
 
+    public String getCourseGroupTeacherName() {
+        return courseGroupTeacherName;
+    }
+
+    public void setCourseGroupTeacherName(String courseGroupTeacherName) {
+        this.courseGroupTeacherName = courseGroupTeacherName;
+    }
+
     public String getTeacherName() {
         return teacherName;
     }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Student.java

@@ -28,6 +28,10 @@ public class Student {
 		this.subjectIdList = subjectIdList;
 	}
 
+	public Student(Integer userId) {
+		this.userId = userId;
+	}
+
 	public Student() {
 	}
 

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
@@ -38,6 +39,26 @@ public class StudentManageQueryInfo extends QueryInfo {
 
     private Boolean hasPracticeCourse;
 
+    private Integer serviceTag;
+
+    private Integer operatingTag;
+
+    public Integer getServiceTag() {
+        return serviceTag;
+    }
+
+    public void setServiceTag(Integer serviceTag) {
+        this.serviceTag = serviceTag;
+    }
+
+    public Integer getOperatingTag() {
+        return operatingTag;
+    }
+
+    public void setOperatingTag(Integer operatingTag) {
+        this.operatingTag = operatingTag;
+    }
+
     public Boolean getIsExport() {
         return isExport;
     }

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -382,7 +382,7 @@ public class StudentManageServiceImpl implements StudentManageService {
         sysUser.setImToken(register.getToken());
         teacherDao.updateUser(sysUser);
         sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
-        studentService.upSet(new Student(userId,sysUser.getOrganId().toString()));
+        studentService.upSet(new Student(userId,studentRegistrationDao.getSubjectIds(userId)));
         return userId;
     }
 
@@ -398,7 +398,10 @@ public class StudentManageServiceImpl implements StudentManageService {
             throw new BizException("手机号已被占用");
         }
         teacherDao.updateUser(sysUser);
-        studentService.upSet(new Student(userId,sysUser.getOrganId().toString()));
+        Student student = new Student(userId, studentRegistrationDao.getSubjectIds(userId));
+        student.setOperatingTag(sysUser.getOperatingTag());
+        student.setServiceTag(sysUser.getServiceTag());
+        studentService.upSet(student);
         return userId;
     }
 

+ 53 - 19
mec-biz/src/main/resources/config/mybatis/CourseScheduleEvaluateMapper.xml

@@ -331,42 +331,54 @@
     <select id="getPracticeTryNums" resultMap="practice4Organ">
         SELECT pg.organ_id_, count(distinct pg.student_id_) try_num_
         FROM practice_group pg
-        LEFT JOIN student s ON s.user_id_ = pg.student_id_
+                 LEFT JOIN student s ON s.user_id_ = pg.student_id_
         WHERE pg.group_status_ IN ('NORMAL', 'FINISH')
-        <if test="studentIds != null">
-            AND FIND_IN_SET(pg.student_id_,#{studentIds})
-        </if>
-        AND pg.buy_months_ >=1
-        AND s.operating_tag_ = 0
+          AND pg.buy_months_ >= 1
+          AND s.operating_tag_ = 0
         GROUP BY pg.organ_id_
     </select>
 
     <!-- vip体验人数(禁止的) -->
     <select id="getVipTryNums" resultMap="practice4Organ">
-        SELECT vg.organ_id_, COUNT(DISTINCT cssp.user_id_) try_num_, GROUP_CONCAT(distinct cssp.user_id_) student_ids_
+        SELECT vg.organ_id_, COUNT(DISTINCT cssp.user_id_) try_num_
         FROM course_schedule_student_payment cssp
                  LEFT JOIN vip_group vg ON cssp.music_group_id_ = vg.id_ AND cssp.group_type_ = 'VIP'
-                 LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+                 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 vg.organ_id_ >= 1
+        WHERE vg.id_ >= 1
+          AND cs.id_ >= 1
+          AND (cs.is_lock_ IS NULL OR cs.is_lock_ = 0)
           AND s.operating_tag_ = 0
-          AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
-          AND cs.teach_mode_ = 'ONLINE'
         GROUP BY vg.organ_id_
     </select>
 
+    <select id="getPracticeAndVipTryNums" resultMap="practice4Organ">
+        SELECT pg.organ_id_, COUNT(DISTINCT pg.student_id_) try_num_
+        FROM practice_group pg
+                 LEFT JOIN course_schedule_student_payment cssp
+                           ON cssp.user_id_ = pg.student_id_ AND cssp.group_type_ = 'VIP'
+                 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 pg.group_status_ IN ('NORMAL', 'FINISH')
+          AND pg.buy_months_ >= 1
+          AND cs.id_ >= 1
+          AND (cs.is_lock_ IS NULL OR cs.is_lock_ = 0)
+          AND s.operating_tag_ = 0
+        GROUP BY pg.organ_id_
+    </select>
+
     <select id="getVipBuyNums" resultMap="practice4Organ">
-        SELECT vg.organ_id_, COUNT(DISTINCT cssp.user_id_) vip_num_, GROUP_CONCAT(DISTINCT cssp.user_id_) student_ids_
+        SELECT vg.organ_id_, COUNT(DISTINCT cssp.user_id_) vip_num_
         FROM course_schedule_student_payment cssp
         LEFT JOIN vip_group vg ON cssp.music_group_id_ = vg.id_ AND cssp.group_type_ = 'VIP'
-        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
-        WHERE vg.organ_id_ >= 1
+        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cs.teach_mode_ = 'ONLINE'
+        WHERE vg.id_ >= 1
+        AND cs.id_ >=1
         AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) >= #{classDate}
         <if test="endDate != null">
             <![CDATA[AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) < #{endDate}]]>
         </if>
         AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
-        AND cs.teach_mode_ = 'ONLINE'
         GROUP BY vg.organ_id_
     </select>
 
@@ -375,16 +387,38 @@
         FROM course_schedule_student_payment cssp
         LEFT JOIN practice_group pg ON cssp.music_group_id_ = pg.id_ AND cssp.group_type_ = 'PRACTICE'
         LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
-        WHERE pg.organ_id_ >= 1
+        WHERE pg.id_ >= 1
+        AND pg.group_status_ IN ('NORMAL', 'FINISH')
+        AND cs.id_ >=1
+        AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
         AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) >= #{classDate}
         <if test="endDate != null">
             <![CDATA[AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) < #{endDate}]]>
         </if>
-        <if test="studentIds != null">
-            AND FIND_IN_SET(cssp.user_id_,#{studentIds})
+        AND pg.buy_months_ >= 1
+        GROUP BY pg.organ_id_
+    </select>
+
+    <select id="getPracticeAndVipNums" resultMap="practice4Organ">
+        SELECT pg.organ_id_,COUNT(DISTINCT pg.student_id_) practice_num_
+        FROM practice_group pg
+        LEFT JOIN course_schedule_student_payment vcssp ON vcssp.user_id_ = pg.student_id_ AND vcssp.group_type_='VIP'
+        LEFT JOIN course_schedule_student_payment pcssp 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)
+        AND CONCAT(vcs.class_date_, ' ', vcs.end_class_time_) >= #{classDate}
+        AND CONCAT(pcs.class_date_, ' ', pcs.end_class_time_) >= #{classDate}
+        <if test="endDate != null">
+            <![CDATA[AND CONCAT(vcs.class_date_, ' ', vcs.end_class_time_) < #{endDate}
+            AND CONCAT(pcs.class_date_, ' ', pcs.end_class_time_) < #{endDate}]]>
         </if>
         AND pg.buy_months_ >= 1
-        AND (cs.is_lock_  IS NULL OR cs.is_lock_=0)
         GROUP BY pg.organ_id_
     </select>
 </mapper>

+ 5 - 3
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -412,6 +412,7 @@
         <result property="studentId" column="student_id_"/>
         <result property="studentName" column="student_name_"/>
         <result property="teacherName" column="teacher_name_"/>
+        <result property="courseGroupTeacherName" column="course_group_teacher_"/>
         <result property="firstBuyTime" column="first_buy_time_"/>
         <result property="intervalDay" column="interval_day_"/>
         <result property="lastClassDate" column="last_class_date_"/>
@@ -423,7 +424,7 @@
         b.lastClassDate last_class_date_,c.firstBuyTime first_buy_time_,
         CASE WHEN DATEDIFF(c.firstBuyTime,b.lastClassDate) &lt; 0 THEN 0 ELSE DATEDIFF(c.firstBuyTime,b.lastClassDate)
         END interval_day_,
-        CASE WHEN c.firstBuyTime IS NULL THEN 0 ELSE 1 END buy_practice_,d.teacher_name_
+        CASE WHEN c.firstBuyTime IS NULL THEN 0 ELSE 1 END buy_practice_,d.teacher_name_,d.course_group_teacher_
         FROM
         (SELECT DISTINCT(pg.`student_id_`),pg.`organ_id_` FROM `practice_group` pg WHERE pg.`group_status_` in
         ('NORMAL','FINISH')) a
@@ -436,13 +437,14 @@
         FROM `practice_group` pg
         WHERE pg.`buy_months_` IS NOT NULL AND pg.`group_status_` IN ('NORMAL','FINISH') GROUP
         BY pg.`student_id_` ) c ON a.student_id_ = c.student_id_
-        LEFT JOIN (SELECT GROUP_CONCAT(DISTINCT su.real_name_) teacher_name_,pg.student_id_
+        LEFT JOIN (SELECT GROUP_CONCAT(DISTINCT su.real_name_) teacher_name_,pg.student_id_,GROUP_CONCAT(DISTINCT suc.real_name_) course_group_teacher_
         FROM `practice_group` pg
         LEFT JOIN `course_schedule` cs ON cs.`music_group_id_` = pg.`id_`
         LEFT JOIN sys_user su ON su.id_ = cs.actual_teacher_id_
+        LEFT JOIN sys_user suc ON suc.id_ = pg.user_id_
         WHERE cs.`group_type_` = 'PRACTICE' AND pg.`group_status_` IN ('NORMAL','FINISH') GROUP BY pg.`student_id_` ) d ON a.student_id_ = d.student_id_
         LEFT JOIN `sys_user` u ON u.`id_` = a.student_id_
-        LEFT JOIN `organization` o ON o.`id_` = a.organ_id_
+        LEFT JOIN `organization` o ON o.`id_` = a.organ_id_;
         <include refid="queryStudentBuysSql"/>
         <include refid="global.limit"/>
     </select>

+ 36 - 2
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -31,11 +31,45 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<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_,create_time_,update_time_) VALUES(#{userId},#{subjectIdList},NOW(),NOW())
+		INSERT INTO student (user_id_,subject_id_list_,
+		<if test="serviceTag != null">
+			service_tag_,
+		</if>
+		<if test="operatingTag != null">
+			operating_tag_,
+		</if>
+		create_time_,update_time_)
+		VALUES
+		(#{userId},#{subjectIdList},
+		<if test="serviceTag != null">
+			#{serviceTag},
+		</if>
+		<if test="operatingTag != null">
+			#{operatingTag},
+		</if>
+		NOW(),NOW())
 	</insert>
 	
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.Student">
-		UPDATE student SET subject_id_list_=#{subjectIdList},update_time_=NOW() WHERE user_id_=#{userId}
+		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="updateTime != null">
+				update_time_ = #{updateTime},
+			</if>
+			<if test="updateTime == null">
+				update_time_ = NOW()
+			</if>
+		</set>
+		WHERE user_id_ = #{userId}
 	</update>
 	
 	<!-- 分页查询 -->

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -603,4 +603,9 @@
         LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
         WHERE sr.user_id_ = #{studentId} AND sr.music_group_status_ != 'QUIT' AND mg.status_ = 'PROGRESS'
     </select>
+    <select id="getSubjectIds" resultType="java.lang.String">
+        SELECT GROUP_CONCAT(sr.subject_id_) FROM student_registration sr
+        WHERE sr.music_group_status_ != 'QUIT' AND sr.user_id_ = #{userId}
+        GROUP BY sr.user_id_
+    </select>
 </mapper>

+ 12 - 26
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.util.date.DateUtil;
+import freemarker.template.utility.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -492,23 +493,18 @@ public class StudentOrderController extends BaseController {
 
     @GetMapping("/getPracticeStatis")
     public HttpResponseResult getPracticeStatis() {
+        Date nowDate = new Date();
         List<Organization> organs = organizationDao.findAllOrgans();
         //除去禁止的体验人数
         List<Practice4OrganDto> organTryNums = courseScheduleEvaluateDao.getTryNums();
-        List<Practice4OrganDto> organPracticeTryNums = courseScheduleEvaluateDao.getPracticeTryNums(null);
+        List<Practice4OrganDto> organPracticeTryNums = courseScheduleEvaluateDao.getPracticeTryNums();
         List<Practice4OrganDto> organVipTryNums = courseScheduleEvaluateDao.getVipTryNums();
-        String studentIds = organVipTryNums.stream().map(Practice4OrganDto::getStudentIds).collect(Collectors.joining(","));
-        List<Practice4OrganDto> organPracticeAndVipTryNums = courseScheduleEvaluateDao.getPracticeTryNums(studentIds);
-        List<Practice4OrganDto> practiceBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(new Date(), null, null);
-        List<Practice4OrganDto> vipBuyNums = courseScheduleEvaluateDao.getVipBuyNums(new Date(), null);
+        List<Practice4OrganDto> organPracticeAndVipTryNums = courseScheduleEvaluateDao.getPracticeAndVipTryNums();
+        List<Practice4OrganDto> practiceBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(nowDate, null);
+        List<Practice4OrganDto> vipBuyNums = courseScheduleEvaluateDao.getVipBuyNums(nowDate, null);
 
-        List<Practice4OrganDto> practiceAndVipBuyNums = new ArrayList<>();
-
-        studentIds = vipBuyNums.stream().filter(practice4OrganDto -> practice4OrganDto.getOrganId() != null).map(Practice4OrganDto::getStudentIds).collect(Collectors.joining(","));
-        if (!studentIds.isEmpty()) {
-            practiceAndVipBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(new Date(), null, studentIds);
-        }
-        Date startTime = DateUtil.getFirstDayOfMonth(new Date());
+        List<Practice4OrganDto> practiceAndVipBuyNums = courseScheduleEvaluateDao.getPracticeAndVipNums(nowDate, null);
+        Date startTime = DateUtil.getFirstDayOfMonth(nowDate);
         Date endTime = DateUtil.addMonths(startTime, 1);
 
 
@@ -520,25 +516,15 @@ public class StudentOrderController extends BaseController {
         List<PracticeGroupsDto> monthOrganRenewMoneys = courseScheduleEvaluateDao.getMonthOrganMoney(OrderTypeEnum.PRACTICE_GROUP_RENEW, startTime);
 
         //本月总人数
-        List<Practice4OrganDto> nowMonthPracticeBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(startTime, endTime, null);
+        List<Practice4OrganDto> nowMonthPracticeBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(startTime, endTime);
         List<Practice4OrganDto> nowMonthVipBuyNums = courseScheduleEvaluateDao.getVipBuyNums(startTime, endTime);
-        List<Practice4OrganDto> nowMonthPracticeAndVipBuyNums = new ArrayList<>();
-
-        studentIds = vipBuyNums.stream().filter(practice4OrganDto -> practice4OrganDto.getOrganId() != null).map(Practice4OrganDto::getStudentIds).collect(Collectors.joining(","));
-        if (!studentIds.isEmpty()) {
-            nowMonthPracticeAndVipBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(startTime, endTime, studentIds);
-        }
+        List<Practice4OrganDto> nowMonthPracticeAndVipBuyNums = courseScheduleEvaluateDao.getPracticeAndVipNums(startTime, endTime);
 
         //上月总人数
         Date lastMonthStartTime = DateUtil.addMonths(startTime, -1);
-        List<Practice4OrganDto> lastMonthPracticeBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(lastMonthStartTime, startTime, null);
+        List<Practice4OrganDto> lastMonthPracticeBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(lastMonthStartTime, startTime);
         List<Practice4OrganDto> lastMonthVipBuyNums = courseScheduleEvaluateDao.getVipBuyNums(lastMonthStartTime, startTime);
-        List<Practice4OrganDto> lastMonthPracticeAndVipBuyNums = new ArrayList<>();
-
-        studentIds = vipBuyNums.stream().filter(practice4OrganDto -> practice4OrganDto.getOrganId() != null).map(Practice4OrganDto::getStudentIds).collect(Collectors.joining(","));
-        if (!studentIds.isEmpty()) {
-            lastMonthPracticeAndVipBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(lastMonthStartTime, startTime, studentIds);
-        }
+        List<Practice4OrganDto> lastMonthPracticeAndVipBuyNums = courseScheduleEvaluateDao.getPracticeAndVipNums(lastMonthStartTime, startTime);
 
         List<Practice4OrganDto> practice4Organs = new ArrayList<>();
         for (Organization organ : organs) {

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -107,9 +107,9 @@ public class ExportController extends BaseController {
         List<StudentBuyPracticeDto> rows = practiceGroupService.studentBuys(queryInfo).getRows();
         OutputStream outputStream = response.getOutputStream();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "学员名称", "所属分部","老师名称", "购买网管课",
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "学员名称", "所属分部","课程老师","课程组老师", "购买网管课",
                     "免费课结束日期", "首次购买日期", "时间差"}, new String[]{
-                    "studentId", "studentName", "organName","teacherName" ,"buyPractice.msg",
+                    "studentId", "studentName", "organName","teacherName","courseGroupTeacherName" ,"buyPractice.msg",
                     "lastClassDate", "firstBuyTime", "intervalDay"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");

+ 1 - 10
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -82,16 +82,7 @@ public class StudentManageController extends BaseController {
     @ApiOperation(value = "修改学员信息")
     @PostMapping("/studentUpdate")
     @PreAuthorize("@pcs.hasPermissions('studentManage/studentUpdate')")
-    public Object studentUpdate(Integer id, String phone, String username, Integer gender, String realName, Date birthdate,String nation,Integer organId){
-        SysUser sysUser = new SysUser();
-        sysUser.setId(id);
-        sysUser.setPhone(phone);
-        sysUser.setUsername(username);
-        sysUser.setGender(gender);
-        sysUser.setRealName(realName);
-        sysUser.setBirthdate(birthdate);
-        sysUser.setNation(nation);
-        sysUser.setOrganId(organId);
+    public Object studentUpdate(SysUser sysUser){
         return succeed(studentManageService.studentUpdate(sysUser));
     }