浏览代码

1、服务指标;
2、增加课外训练待布置学员列表;
3、网管课续费提醒;

Joburgess 5 年之前
父节点
当前提交
afa66fa94e

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java

@@ -323,4 +323,12 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
      */
     int countStudentAndTeacherTrialPractices(@Param("studentId") Integer studentId,
                                              @Param("teacherId") Integer teacherId);
+
+    /**
+     * @describe 获取需要提醒续费的网管课
+     * @author Joburgess
+     * @date 2020.05.29
+     * @return java.util.List<com.ym.mec.biz.dal.entity.PracticeGroup>
+     */
+    List<PracticeGroup> getNeedRemindPractices();
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/PracticeGroupService.java

@@ -305,4 +305,11 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
      */
     boolean isPurchasedPracticeCourse(Integer userId);
 
+    /**
+     * @describe 网管课续费提醒
+     * @author Joburgess
+     * @date 2020.05.29
+     * @return void
+     */
+    void practiceGroupRenewRemind();
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -3,12 +3,14 @@ package com.ym.mec.biz.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
 import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.StudentDao;
 import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dto.ClassGroupStudentInfoDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
@@ -52,6 +54,8 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
     private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
     @Autowired
     private TeacherDefaultMusicGroupSalaryService teacherDefaultMusicGroupSalaryService;
+    @Autowired
+    private StudentDao studentDao;
 
     private static String holidayUrl = "http://tool.bitefu.net/jiari/?d=";
 
@@ -293,6 +297,9 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 }
             }
             courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+
+            List<Integer> studentIds = userIdStrSet.stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
+            studentDao.updateStudentServiceOrOperatingTag(null,studentIds, YesOrNoEnum.YES.getCode(),null);
         }
 
         //乐团在合奏班

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -3716,4 +3716,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 		}
 		return false;
 	}
+
+    @Override
+    public void practiceGroupRenewRemind() {
+        List<PracticeGroup> needRemindPractices = practiceGroupDao.getNeedRemindPractices();
+    }
 }

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

@@ -74,7 +74,7 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 				exercisesSituationDto.setExistVipCourse(Objects.isNull(vipCourses)?0:vipCourses.intValue());
 				Long practiceCourses=studentPracticeCourseMap.get(exercisesSituationDto.getStudentId());
 				exercisesSituationDto.setExistPracticeCourse(Objects.isNull(practiceCourses)?0:practiceCourses.intValue());
-				exercisesSituationDto.setExpectExercisesNum((int) until+1);
+//				exercisesSituationDto.setExpectExercisesNum((int) until+1);
 				List<StudentEduTeacherDto> studentEduTeachers = studentEduTeachersMap.get(exercisesSituationDto.getStudentId());
 				if(!CollectionUtils.isEmpty(studentEduTeachers)){
 					List<StudentEduTeacherDto> t1 = studentEduTeachers.stream().filter(set -> set.getGroupType().equals(GroupType.VIP.getCode())||set.getGroupType().equals(GroupType.PRACTICE.getCode())).collect(Collectors.toList());

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -684,4 +684,13 @@
       SELECT COUNT(pg.id_) FROM practice_group pg LEFT JOIN course_schedule cs ON cs.music_group_id_=pg.id_
       WHERE pg.student_id_=#{studentId} AND pg.type_='TRIAL' AND cs.group_type_='PRACTICE' AND CONCAT(cs.class_date_, ' ', cs.end_class_time_)>NOW()
     </select>
+    <select id="getNeedRemindPractices" resultMap="PracticeGroup">
+        SELECT
+            *
+        FROM
+            practice_group
+        WHERE
+            TIMESTAMPDIFF( DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' ), DATE_FORMAT( courses_expire_date_, '%Y-%m-%d' ) ) = 7
+            OR TIMESTAMPDIFF( DAY, DATE_FORMAT( NOW( ), '%Y-%m-%d' ), DATE_FORMAT( courses_expire_date_, '%Y-%m-%d' ) ) = 14;
+    </select>
 </mapper>

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

@@ -366,7 +366,7 @@
             LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = s.user_id_
             LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
             AND CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &gt; #{monday}
-            AND cs.group_type_ IN ( 'MUSIC', 'PRACTICE' )
+            AND (cs.group_type_ = 'PRACTICE' OR (cs.group_type_='MUSIC' AND cs.teach_mode_='OFFLINE')  )
         WHERE
             s.service_tag_ = 1
         GROUP BY

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.task;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 
@@ -117,4 +118,8 @@ public interface TaskRemoteService {
 	// 更新乐团缴费日历的状态
 	@GetMapping("task/updateMusicGroupPaymentCalenderStatus")
 	void updateMusicGroupPaymentCalenderStatus();
+
+	//网管课续费提醒
+	@GetMapping("task/practiceGroupRenewRemind")
+	void practiceGroupRenewRemind();
 }

+ 5 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -150,4 +150,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	public void updateMusicGroupPaymentCalenderStatus() {
 		logger.info("更新乐团缴费日历的状态失败");
 	}
+
+	@Override
+	public void practiceGroupRenewRemind() {
+		logger.info("网管课续费提醒失败");
+	}
 }

+ 23 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/PracticeGroupRenewRemindTask.java

@@ -0,0 +1,23 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author Joburgess
+ * @Date 2020.05.29
+ */
+@Service
+public class PracticeGroupRenewRemindTask extends BaseTask {
+
+    @Autowired
+    private TaskRemoteService taskRemoteService;
+
+    @Override
+    public void execute() throws TaskException {
+        taskRemoteService.practiceGroupRenewRemind();
+    }
+}

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -245,4 +245,10 @@ public class TaskController extends BaseController {
 	public void updateMusicGroupPaymentCalenderStatus() {
 		musicGroupPaymentCalenderService.autoUpdateMusicGroupPaymentCalenderStatus();
 	}
+
+	//网管课续费提醒
+	@GetMapping("/practiceGroupRenewRemind")
+	public void practiceGroupRenewRemind(){
+		practiceGroupService.practiceGroupRenewRemind();
+	}
 }