Browse Source

考级状态定时任务

liujc 2 years ago
parent
commit
14d22e5a29

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/DegreeMapper.java

@@ -23,5 +23,6 @@ public interface DegreeMapper extends BaseMapper<Degree> {
 	 * @return List<DegreeWrapper.Degree>
 	 */
 	List<Degree> selectPage(@Param("page") IPage<Degree> page, @Param("param") DegreeWrapper.DegreeQuery param);
-	
+
+    void degreeStatusChange();
 }

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

@@ -52,4 +52,9 @@ public interface DegreeService extends IService<Degree>  {
      * @return DegreeWrapper.StudentDegreeInfo
      */
     DegreeWrapper.StudentDegreeInfo studentDegreeInfoById(Long id);
+
+    /**
+     * 考级状态变更
+     */
+    void degreeStatusChange();
 }

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

@@ -253,4 +253,9 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
 
         return wrapper;
     }
+
+    @Override
+    public void degreeStatusChange() {
+        this.baseMapper.degreeStatusChange();
+    }
 }

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/DegreeMapper.xml

@@ -28,4 +28,14 @@
         </where>
 	</select>
 
+    <update id="degreeStatusChange">
+        UPDATE degree SET status_ =
+            case
+                when start_time_ &lt; now() and end_time_ &gt; now() then 'START'
+                when end_time_ &lt;= now() then 'END'
+                else 'NOT_START'
+            end
+
+        WHERE status_ != 'END' and start_time_ &lt; now()
+    </update>
 </mapper>

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

@@ -299,4 +299,8 @@ public interface TaskRemoteService {
 
     @GetMapping("task/teacherCloudCourseReport")
     void teacherCloudCourseReport();
+
+
+    @GetMapping("task/degreeStatusChange")
+    void degreeStatusChange() ;
 }

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

@@ -349,4 +349,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
     public void teacherCloudCourseReport() {
 
     }
+
+    @Override
+    public void degreeStatusChange() {
+        logger.error("考级状态变更失败");
+    }
 }

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/DegreeStatusChangeTask.java

@@ -0,0 +1,19 @@
+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;
+
+@Service
+public class DegreeStatusChangeTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.degreeStatusChange();
+	}
+}

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

@@ -129,6 +129,9 @@ public class TaskController extends BaseController {
     @Autowired
     private TeacherCloudCourseReportService teacherCloudCourseReportService;
 
+    @Autowired
+    private DegreeService degreeService;
+
 	@GetMapping(value = "/initSysMusicCompareDayData")
 	public void initSysMusicCompareDayData(){
 		sysMusicCompareRecordService.initSysMusicCompareDayData();
@@ -642,4 +645,10 @@ public class TaskController extends BaseController {
 		return succeed();
 	}
 
+    @ApiOperation("考级状态变更 - 1分钟一次")
+    @GetMapping("/degreeStatusChange")
+    public Object degreeStatusChange() {
+        degreeService.degreeStatusChange();
+        return succeed();
+    }
 }