فهرست منبع

学员小课统计

zouxuan 3 سال پیش
والد
کامیت
daf369def1

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java

@@ -397,7 +397,4 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
 
     //获取网管课订单数量
     List<IndexBaseMonthData> getStudentPracticeOrderNum(@Param("dayStr") String dayStr,@Param("tenantId") Integer tenantId);
-
-    //小课回访数量
-    List<IndexBaseMonthData> getStudentLostNum(@Param("dayStr") String dayStr, @Param("purpose") String purpose,@Param("tenantId") Integer tenantId);
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentStatisticsDao.java

@@ -48,6 +48,7 @@ public interface StudentStatisticsDao extends BaseDAO<Integer, StudentStatistics
     //统计回访人数
     Integer countVisitNum(@Param("groupType") String groupType, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("organId") String organId);
 
+    //统计流失人数
     Integer countLostStudentNum(@Param("groupType") String groupType, @Param("startDate") String startDate, @Param("endDate") String endDate, @Param("organId") String organId);
 
     //获取指导老师列表

+ 0 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexDataType.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.dal.enums;
 
-import com.sun.org.apache.xpath.internal.operations.Bool;
 import com.ym.mec.common.enums.BaseEnum;
 
 /**
@@ -88,9 +87,6 @@ public enum IndexDataType implements BaseEnum<String, IndexDataType> {
     STUDENT_VIP_ORDER_NUM("STUDENT_VIP_ORDER_NUM", "学员vip课订单数量", false, false),
     STUDENT_THEORY_ORDER_NUM("STUDENT_THEORY_ORDER_NUM", "学员乐理课订单数量", false, false),
     STUDENT_PRACTICE_ORDER_NUM("STUDENT_PRACTICE_ORDER_NUM", "学员网管课订单数量", false, false),
-    STUDENT_VIP_LOST_NUM("STUDENT_VIP_LOST_NUM", "学员vip课流失数量", false, false),
-    STUDENT_THEORY_LOST_NUM("STUDENT_THEORY_LOST_NUM", "学员乐理课流失数量", false, false),
-    STUDENT_PRACTICE_LOST_NUM("STUDENT_PRACTICE_LOST_NUM", "学员网管课流失数量", false, false),
     ;
 
     private String code;

+ 0 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -468,15 +468,6 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(STUDENT_PRACTICE_ORDER_NUM)) {
 			saveData(indexBaseMonthDataDao.getStudentPracticeOrderNum(dayStr,tenantId), dayStr, IndexDataType.STUDENT_PRACTICE_ORDER_NUM, tenantId);
 		}
-		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(STUDENT_VIP_LOST_NUM)) {
-			saveData(indexBaseMonthDataDao.getStudentLostNum(dayStr,"VIP课回访",tenantId), dayStr, IndexDataType.STUDENT_VIP_LOST_NUM, tenantId);
-		}
-		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(STUDENT_THEORY_LOST_NUM)) {
-			saveData(indexBaseMonthDataDao.getStudentLostNum(dayStr, "乐理课回访",tenantId), dayStr, IndexDataType.STUDENT_THEORY_LOST_NUM, tenantId);
-		}
-		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(STUDENT_PRACTICE_LOST_NUM)) {
-			saveData(indexBaseMonthDataDao.getStudentLostNum(dayStr, "网管课回访",tenantId), dayStr, IndexDataType.STUDENT_PRACTICE_LOST_NUM, tenantId);
-		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_COURSE)) {
 			List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, null, null,tenantId);

+ 0 - 8
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -1925,12 +1925,4 @@
 		WHERE spo.type_ = 'PRACTICE_GROUP_BUY' OR spo.type_ = 'PRACTICE_GROUP_RENEW' OR (spo.group_type_ = 'MUSIC' AND spod.type_ = 'PRACTICE')
 		GROUP BY spo.user_id_,spo.create_time_,spo.organ_id_;
 	</select>
-	<select id="getStudentLostNum" resultMap="IndexBaseMonthData">
-		SELECT sv.create_time_ month_,sv.organ_id_,COUNT(sv.id_) total_num_,sv.tenant_id_ FROM (
-		SELECT DATE_FORMAT(create_time_,'%Y-%m-%d') create_time_,organ_id_,id_,tenant_id_ FROM student_visit
-		WHERE id_ IN (SELECT MAX(id_) FROM student_visit
-		WHERE type_ = '小课回访' AND purpose_ = #{purpose} AND feedback_type_ = 'LOST' AND DATE_FORMAT(create_time_,'%Y-%m-%d') = #{dayStr} AND tenant_id_ = #{tenantId}
-		GROUP BY student_id_))sv
-		GROUP BY sv.create_time_
-	</select>
 </mapper>

+ 6 - 17
mec-biz/src/main/resources/config/mybatis/StudentStatisticsMapper.xml

@@ -335,16 +335,17 @@
 		</if>
 	</select>
 	<select id="countLostStudentNum" resultType="java.lang.Integer">
-		SELECT SUM(total_num_) FROM index_base_month_data
-		<include refid="lostDateTypeSql"/>
+		SELECT COUNT(ss.id_) FROM student_statistics ss
+		LEFT JOIN student_basic_info sbi ON ss.user_id_ = sbi.user_id_
+		WHERE ss.group_type_ = #{groupType} AND ss.last_visit_status_ = 'LOST'
 		<if test="startDate != null and startDate != ''">
-			AND month_ >= #{startDate}
+			AND ss.last_visit_time_ >= #{startDate}
 		</if>
 		<if test="endDate != null and endDate != ''">
-			AND month_ &lt;= #{endDate}
+			AND ss.last_visit_time_ &lt;= #{endDate}
 		</if>
 		<if test="organId != null and organId != ''">
-			AND FIND_IN_SET(organ_id_,#{organId})
+			AND FIND_IN_SET(sbi.organ_id_,#{organId})
 		</if>
 	</select>
 	<select id="queryTeacherIds" resultType="java.lang.Integer">
@@ -365,16 +366,4 @@
 			'STUDENT_PRACTICE_ORDER_NUM'
 		</if>
 	</sql>
-	<sql id="lostDateTypeSql">
-		WHERE data_type_ =
-		<if test="groupType == 'VIP'">
-			'STUDENT_VIP_LOST_NUM'
-		</if>
-		<if test="groupType == 'THEORY'">
-			'STUDENT_THEORY_LOST_NUM'
-		</if>
-		<if test="groupType == 'PRACTICE'">
-			'STUDENT_PRACTICE_LOST_NUM'
-		</if>
-	</sql>
 </mapper>