TaskController.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. package com.ym.mec.web.controller;
  2. import com.ym.mec.biz.dal.enums.IndexDataType;
  3. import com.ym.mec.biz.event.source.CourseEventSource;
  4. import com.ym.mec.biz.service.*;
  5. import com.ym.mec.common.controller.BaseController;
  6. import com.ym.mec.common.redis.service.RedisCache;
  7. import org.apache.commons.lang3.StringUtils;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.web.bind.annotation.GetMapping;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.RestController;
  12. import java.util.*;
  13. import java.util.stream.Collectors;
  14. @RequestMapping("task")
  15. @RestController
  16. public class TaskController extends BaseController {
  17. @Autowired
  18. private MusicGroupStudentFeeService musicGroupStudentFeeService;
  19. @Autowired
  20. private VipGroupService vipGroupService;
  21. @Autowired
  22. private CourseScheduleService courseScheduleService;
  23. @Autowired
  24. private TeacherAttendanceService teacherAttendanceService;
  25. @Autowired
  26. private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
  27. @Autowired
  28. private StudentCourseHomeworkService studentCourseHomeworkService;
  29. @Autowired
  30. private CourseHomeworkService courseHomeworkService;
  31. @Autowired
  32. private StudentPaymentOrderService studentPaymentOrderService;
  33. @Autowired
  34. private TenantPaymentOrderService tenantPaymentOrderService;
  35. @Autowired
  36. private TeacherCourseStatisticsService teacherCourseStatisticsService;
  37. @Autowired
  38. private PracticeGroupService practiceGroupService;
  39. @Autowired
  40. private CourseScheduleEvaluateService courseScheduleEvaluateService;
  41. @Autowired
  42. private CourseReviewService courseReviewService;
  43. @Autowired
  44. private CoursesGroupService coursesGroupService;
  45. @Autowired
  46. private ExtracurricularExercisesService extracurricularExercisesService;
  47. @Autowired
  48. private StudentService studentService;
  49. @Autowired
  50. private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
  51. @Autowired
  52. private MusicGroupPaymentCalenderDetailService musicGroupPaymentCalenderDetailService;
  53. @Autowired
  54. private StudentServeService studentServeService;
  55. @Autowired
  56. private OperatingReportService operatingReportService;
  57. @Autowired
  58. private GoodsService goodsService;
  59. @Autowired
  60. private StudentGoodsSellService studentGoodsSellService;
  61. @Autowired
  62. private SysMessageService sysMessageService;
  63. @Autowired
  64. private CourseEventSource courseEventSource;
  65. @Autowired
  66. private RedisCache<String, Object> redisCache;
  67. @Autowired
  68. private IndexBaseMonthDataService indexBaseMonthDataService;
  69. @Autowired
  70. private InspectionItemPlanService inspectionItemPlanService;
  71. @Autowired
  72. private StudentInstrumentService studentInstrumentService;
  73. @Autowired
  74. private CloudTeacherOrderService cloudTeacherOrderService;
  75. @GetMapping(value = "/autoAffirmReceiveTask")
  76. // 自动确认收货
  77. public void affirmReceive(){
  78. studentGoodsSellService.affirmReceive(null);
  79. }
  80. @GetMapping(value = "/closeStudentServiceTag")
  81. // 关闭指定学员服务指标
  82. public void closeStudentServiceTag(){
  83. studentServeService.closeStudentServiceTag();
  84. }
  85. @GetMapping(value = "/pushWaitSendMessageTask")
  86. // 每天9点推送前一天22点之后的推送消息
  87. public void pushWaitSendMessageTask(){
  88. sysMessageService.pushWaitSendMessageTask();
  89. }
  90. @GetMapping(value = "/repertoryWarn")
  91. // 商品库存预警
  92. public void repertoryWarn(){
  93. goodsService.repertoryWarn();
  94. }
  95. @GetMapping(value = "/refreshUserMusicGroupPaymentStatusTask")
  96. // 刷新学员乐团付费状态
  97. public void refreshUserMusicGroupPaymentStatusTask(){
  98. musicGroupPaymentCalenderDetailService.refreshUserMusicGroupPaymentStatusTask();
  99. }
  100. @GetMapping("/refreshPaymentFeeStatus")
  101. // 刷新付费状态
  102. public void refreshPaymentFeeStatus() {
  103. musicGroupStudentFeeService.refreshPaymentFeeStatus();
  104. }
  105. @GetMapping("/vipGroupAwardedMonthlyRewards")
  106. // vip课月度奖励
  107. public void vipGroupAwardedMonthlyRewards() {
  108. vipGroupService.awardedMonthlyRewards();
  109. }
  110. @GetMapping("/vipGroupTeacherSalarySettlement")
  111. // vip课课酬结算
  112. public void vipGroupTeacherSalarySettlement() {
  113. courseScheduleTeacherSalaryService.teacherSalarySettlement();
  114. redisCache.getRedisTemplate().opsForSet().add(CourseScheduleTeacherSalaryService.TASK_KEY, "VIP");
  115. // courseScheduleTeacherSalaryService.salaryMark();
  116. }
  117. @GetMapping("/practiceTeacherSalarySettlement")
  118. // 陪练课课酬结算
  119. public void practiceTeacherSalarySettlement() {
  120. courseScheduleTeacherSalaryService.practiceTeacherSalarySettlement();
  121. redisCache.getRedisTemplate().opsForSet().add(CourseScheduleTeacherSalaryService.TASK_KEY, "PRACTICE");
  122. // courseScheduleTeacherSalaryService.salaryMark();
  123. }
  124. // 乐团课课酬结算
  125. @GetMapping("/musicGroupTeacherSalarySettlement")
  126. public void musicGroupTeacherSalarySettlement() {
  127. courseScheduleTeacherSalaryService.musicGroupTeacherSalarySettlement();
  128. redisCache.getRedisTemplate().opsForSet().add(CourseScheduleTeacherSalaryService.TASK_KEY, "MUSIC");
  129. // courseScheduleTeacherSalaryService.salaryMark();
  130. }
  131. @GetMapping("/updateCourseScheduleToOverStatus")
  132. // 更新课程状态至已结束
  133. public void updateCourseScheduleToOverStatus() {
  134. courseScheduleService.updateCourseScheduleToOverStatus();
  135. courseScheduleService.updateCourseScheduleToUnderway();
  136. courseEventSource.courseStatusChange(null);
  137. }
  138. @GetMapping("/updateVipGroupToFinishedStatus")
  139. // 更新VIP课程状态至已结束
  140. public void updateVipGroupToFinishedStatus() {
  141. vipGroupService.updateVipGroupStatusToFinished();
  142. }
  143. @GetMapping("/stopVipGroupWithNoCreate")
  144. // 取消达到报名时间未达到报名人数的vip课
  145. public void stopVipGroupWithNoCreate() {
  146. vipGroupService.stopVipGroupWithNoCreate();
  147. }
  148. @GetMapping("/pushNoSignOutMessage")
  149. // 推送未签退消息提醒
  150. public void pushNoSignOutMessage() {
  151. teacherAttendanceService.pushNoSignOutMessage();
  152. }
  153. @GetMapping("/studentCoursesScheduleRemind")
  154. // 学生有课提醒
  155. public void studentCoursesScheduleRemind() {
  156. // courseScheduleService.studentCoursesScheduleRemind();
  157. }
  158. @GetMapping("/studentSignInRemind")
  159. // 学生上课提醒
  160. public void studentSignInRemind() {
  161. courseScheduleService.studentSignInRemind();
  162. }
  163. @GetMapping("/studentHomeworkRemind")
  164. // 学生作业提醒
  165. public void studentHomeworkRemind() {
  166. studentCourseHomeworkService.homeworkRemind();
  167. }
  168. @GetMapping("/teacherCoursesScheduleRemind")
  169. // 老师有课提醒
  170. public void teacherCoursesScheduleRemind() {
  171. courseScheduleService.teacherCoursesScheduleRemind();
  172. }
  173. @GetMapping("/teacherSignInRemind")
  174. // 老师上课提醒
  175. public void teacherSignInRemind() {
  176. // courseScheduleService.teacherSignInRemind();
  177. }
  178. @GetMapping("/homeworkNoReplyRemind")
  179. // 老师未回复作业提醒
  180. public void homeworkNoReplyRemind() {
  181. courseHomeworkService.homeworkNoReplyRemind();
  182. }
  183. // 查询订单状态
  184. @GetMapping("/queryOrderStatus")
  185. public void queryOrderStatus() throws Exception {
  186. try {
  187. studentPaymentOrderService.queryOrderStatus();
  188. } catch (Exception e) {
  189. e.printStackTrace();
  190. }
  191. tenantPaymentOrderService.queryOrderStatusFromRemote();
  192. }
  193. // 统计老师课酬
  194. @GetMapping("/teacherCourseStatistic")
  195. public void teacherCourseStatisticsService() throws Exception {
  196. teacherCourseStatisticsService.teacherCourseStatistic();
  197. }
  198. // 更新历史陪练课至已结束
  199. @GetMapping("/updateHistoryPracticeGroupStatus")
  200. public void updateHistoryPracticeGroupStatus() {
  201. practiceGroupService.updateHistoryPracticeGroupStatus();
  202. }
  203. // 练习报告定时推送
  204. @GetMapping("/pushStudyReport")
  205. public void pushStudyReport() {
  206. practiceGroupService.pushStudyReport(null, "JIGUANG");
  207. }
  208. // 新增待填写月报定时推送(推送老师)
  209. @GetMapping("/pushNeedPostReport")
  210. public void pushNeedPostReport() {
  211. courseScheduleEvaluateService.pushNeedPostReport();
  212. }
  213. // 定时预生成待提交月报
  214. @GetMapping("/createEvaluate")
  215. public void createEvaluate() {
  216. courseScheduleEvaluateService.createEvaluate(new Date());
  217. }
  218. // 新增待填写评论定时推送(推送老师)
  219. @GetMapping("/pushNeedReview2Teacher")
  220. public void pushNeedReview2Teacher() {
  221. courseReviewService.pushNeedReview2Teacher();
  222. }
  223. //对外无学生课程组提醒
  224. @GetMapping("/noStudentsCourseGroupRemind")
  225. public void noStudentsCourseGroupRemind(){
  226. coursesGroupService.noStudentsCourseGroupRemind();
  227. }
  228. //更新对外课程组状态至已结束
  229. @GetMapping("/finishCourseGroup")
  230. public void finishCourseGroup(){
  231. coursesGroupService.finishCourseGroup();
  232. }
  233. //学生服务信息统计
  234. @GetMapping("/exercisesSituationStatistics")
  235. public void exercisesSituationStatistics(String monday){
  236. studentServeService.exercisesSituationStatistics2(monday,null);
  237. // studentServeService.exercisesSituationStatistics2(null,new ArrayList<>(Arrays.asList(1095257)));
  238. // studentServeService.exercisesSituationStatistics(null);
  239. }
  240. //更新学生运营指标
  241. @GetMapping("/updateStudentOperatingTag")
  242. public void updateStudentOperatingTag(){
  243. studentService.updateOperatingTempTag();
  244. }
  245. // 更新乐团缴费日历的状态
  246. @GetMapping("/updateMusicGroupPaymentCalenderStatus")
  247. public void updateMusicGroupPaymentCalenderStatus() {
  248. musicGroupPaymentCalenderService.autoUpdateMusicGroupPaymentCalenderStatus();
  249. }
  250. // 更新乐团学员缴费状态
  251. @GetMapping("/updateMusicGroupStudentFeeStatus")
  252. public void updateMusicGroupStudentFeeStatus() {
  253. musicGroupPaymentCalenderService.autoUpdateMusicGroupStudentFeeStatus();
  254. }
  255. // 推送教师异常考勤
  256. @GetMapping("/pushTeacherExceptionAttendanceTask")
  257. public void pushTeacherExceptionAttendanceTask() {
  258. teacherAttendanceService.pushTeacherExceptionAttendanceTask();
  259. }
  260. //应布置课外训练提醒
  261. @GetMapping("/studentServeRemind")
  262. public void studentServeRemind(){
  263. extracurricularExercisesService.studentServeRemind();
  264. }
  265. //经营报表
  266. @GetMapping("/operatingReport")
  267. public void operatingReport(){
  268. operatingReportService.statistics();
  269. }
  270. @GetMapping("/updateCourseActualPrice")
  271. public void updateCourseActualPrice(){
  272. courseEventSource.courseStatusChange(null);
  273. }
  274. @GetMapping("/countIndexBaseData")
  275. public void countIndexBaseData(String month, String dataTypes){
  276. Set<IndexDataType> dataTypeSet = new HashSet<>();
  277. if(StringUtils.isNotBlank(dataTypes)){
  278. dataTypeSet = Arrays.stream(dataTypes.split(",")).map(s->IndexDataType.valueOf(s)).collect(Collectors.toSet());
  279. }
  280. indexBaseMonthDataService.indexBaseDataTask(month, dataTypeSet);
  281. }
  282. //乐团巡查计划当日9:00
  283. @GetMapping("/inspectionPlan")
  284. public void inspectionPlan(){
  285. inspectionItemPlanService.pushNotice();
  286. }
  287. //乐保到期提醒
  288. @GetMapping("/maintenanceNotice")
  289. public void maintenanceNotice(){
  290. studentInstrumentService.pushNotice();
  291. }
  292. //每年9.1升级学员的班级
  293. @GetMapping("/updateGrade")
  294. public void updateGrade(){
  295. studentService.updateGrade();
  296. }
  297. //乐保历史数据处理
  298. @GetMapping("/maintenanceOldDateAdd")
  299. public void maintenanceOldDateAdd(){
  300. studentInstrumentService.addOldStudentInstrument();
  301. }
  302. //更新学员指导老师和声部信息
  303. @GetMapping("/updateStudentTeacherAndSubject")
  304. public void updateStudentTeacherAndSubject(){
  305. studentService.updateStudentTeacherAndSubject();
  306. }
  307. //推送查看今日收入提醒
  308. @GetMapping("/todayIncomeRemind")
  309. public void todayIncomeRemind(){
  310. courseScheduleTeacherSalaryService.todayIncomeRemind();
  311. }
  312. //大雅基本工资标记
  313. @GetMapping("/salaryMarkNew")
  314. public void salaryMarkNew(Date startDay){
  315. courseScheduleTeacherSalaryService.salaryMarkNew(startDay);
  316. }
  317. //处理未生效的乐团云教练订单
  318. @GetMapping("/checkCloudOrderStart")
  319. public void checkCloudOrderStart(){
  320. cloudTeacherOrderService.checkCloudOrderStart();
  321. }
  322. }