zouxuan 3 éve
szülő
commit
46f008dd38

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

@@ -687,4 +687,11 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<Integer> queryHasMemberGroupStudent();
+
+    /**
+     * 获取云教练活动分部目标
+     * @return
+     */
+    List<CloudTeacherActiveTargetDto> queryOrganTarget();
+
 }

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.alibaba.fastjson.JSONArray;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
@@ -796,7 +798,8 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         List<Integer> studentIds = studentRegistrationDao.queryHasMemberGroupStudent();
         studentDao.remarkCountFlag(studentIds);
         //更新目标学员、目标金额
-
+        SysConfig config = sysConfigDao.findByParamName("cloud_teacher_active_target");
+        config.setParanValue(JSON.toJSONString(studentRegistrationDao.queryOrganTarget()));
     }
 
     @Override

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

@@ -1826,6 +1826,8 @@
 		<result property="totalNum" column="total_num_"/>
 		<result property="buyAmount" column="buy_amount_"/>
 		<result property="buyNum" column="buy_num_"/>
+		<result property="targetAmount" column="target_amount_"/>
+		<result property="targetNum" column="target_num_"/>
 	</resultMap>
     <select id="countCloudTeacherActive" resultMap="CloudTeacherActiveTargetDto">
 		SELECT o.name_ organ_name_,o.id_ organ_id_,CASE WHEN SUM(cto.amount_) IS NULL THEN 0 ELSE SUM(cto.amount_) END buy_amount_,

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

@@ -1702,4 +1702,28 @@
         LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
         WHERE sr.music_group_status_ != 'QUIT' AND mg.status_ NOT IN ('CANCELED','CLOSE') AND mg.course_view_type_ = 2
     </select>
+    <select id="queryOrganTarget" resultMap="com.ym.mec.biz.dal.dao.IndexBaseMonthDataDao.CloudTeacherActiveTargetDto">
+        SELECT o.id_ organ_id_,COUNT(DISTINCT su.id_) target_num_,COUNT(DISTINCT su.id_) * 2040 target_amount_ FROM student_registration sr
+        LEFT JOIN sys_user su  ON sr.user_id_ = su.id_
+        LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
+        -- 新用户
+        WHERE su.id_ NOT IN (SELECT DISTINCT(cssp.`user_id_`)  FROM `course_schedule_student_payment` cssp
+        LEFT JOIN course_schedule cs on cssp.`course_schedule_id_` = cs.`id_`
+        LEFT JOIN `music_group` mg on mg.`id_` = cssp.`music_group_id_`
+        WHERE cs.`group_type_` = 'MUSIC' AND cs.`status_` = 'OVER' AND mg.`status_` = 'PROGRESS'
+        GROUP BY cssp.`user_id_` HAVING COUNT(cs.`id_`) &lt;= 4)
+        -- 			非管乐
+        AND su.id_ NOT IN (SELECT user_id_ FROM student WHERE subject_id_list_ REGEXP '21|25|26|27|28|29')
+        -- 			声部排除
+        AND su.organ_id_ NOT IN (36,38,39,41,42,43,44,45,46,47,48,49,50,52,54,55,56,63)
+        -- 			购买了云教练
+        AND su.id_ NOT IN (SELECT DISTINCT student_id_ FROM cloud_teacher_order WHERE active_remark_ IS NULL AND status_ != 0)
+        -- 			未退团,不是会员团
+        AND su.id_ NOT IN (SELECT DISTINCT sr.user_id_ FROM student_registration sr
+        LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
+        WHERE sr.music_group_status_ != 'QUIT' AND mg.course_view_type_ = 2)
+
+        AND sr.music_group_status_ = 'NORMAL' AND mg.course_view_type_ != 2 AND mg.`status_` = 'PROGRESS'
+        GROUP BY su.organ_id_
+    </select>
 </mapper>