Browse Source

1、添加教务老师字段
2、布置作业

Joburgess 5 years ago
parent
commit
65065b27d4

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CoursesGroupDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.CoursesGroup;
+import com.ym.mec.biz.dal.enums.GroupStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
@@ -58,5 +59,25 @@ public interface CoursesGroupDao extends BaseDAO<Long, CoursesGroup> {
      */
     List<CoursesGroup> findNoStudentsGroups(@Param("startDate")Date startDate);
 
+    /**
+     * @describe 获取无课时的课程组
+     * @author Joburgess
+     * @date 2020/3/18
+     * @param :
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CoursesGroup>
+     */
+    List<CoursesGroup> findNoCoursesGroups();
+
     CoursesGroup lockGroup(@Param("groupId") Long groupId);
+
+    /**
+     * @describe 更新课程组状态
+     * @author Joburgess
+     * @date 2020/3/18
+     * @param groupIds:
+     * @param status:
+     * @return int
+     */
+    int updateGroupStatus(@Param("groupIds") List<Long> groupIds,
+                          @Param("status")GroupStatusEnum status);
 }

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

@@ -69,4 +69,13 @@ public interface CoursesGroupService extends BaseService<Long, CoursesGroup> {
      * @return void
      */
     void noStudentsCourseGroupRemind();
+
+    /**
+     * @describe 结束已完成的课程组
+     * @author Joburgess
+     * @date 2020/3/18
+     * @param :
+     * @return void
+     */
+    void finishCourseGroup();
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java

@@ -614,4 +614,14 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                     userMap, null, 0, null, "TEACHER", noStudentsGroup.getName());
         }
     }
+
+    @Override
+    public void finishCourseGroup() {
+        List<CoursesGroup> noCoursesGroups = coursesGroupDao.findNoCoursesGroups();
+        if(CollectionUtils.isEmpty(noCoursesGroups)){
+            return;
+        }
+        List<Long> groupIds = noCoursesGroups.stream().map(CoursesGroup::getId).collect(Collectors.toList());
+        coursesGroupDao.updateGroupStatus(groupIds, GroupStatusEnum.FINISH);
+    }
 }

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

@@ -118,7 +118,13 @@
 			update_time_ = NOW()
 		</set> WHERE id_ = #{id}
 	</update>
-	
+	<update id="updateGroupStatus">
+		UPDATE courses_group SET status_=#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} WHERE id_ IN
+		<foreach collection="groupIds" item="groupId" open="(" close=")" separator=",">
+			#{groupId}
+		</foreach>
+	</update>
+
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
 		DELETE FROM courses_group WHERE id_ = #{id} 
@@ -186,4 +192,19 @@
 			AND cg.student_num_ = 0
 		GROUP BY csg.id_ HAVING MAX(cs.class_date_)&lt;=DATE_FORMAT(#{startDate}, '%Y-%m-%d')
     </select>
+    <select id="findNoCoursesGroups" resultMap="CoursesGroup">
+		SELECT
+			cg.*
+		FROM
+			courses_group cg
+			LEFT JOIN course_schedule cs ON cs.music_group_id_ = cg.id_
+			AND cs.group_type_ = 'COMM'
+			AND CONCAT( cs.class_date_, ' ', cs.end_class_time_ ) > NOW( )
+		WHERE
+			cg.status_ = 'NORMAL'
+			GROUP BY
+			cg.id_
+			HAVING
+			COUNT( cs.id_ ) &lt;=0
+	</select>
 </mapper>

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

@@ -100,4 +100,6 @@ public interface TaskRemoteService {
 	@GetMapping("task/noStudentsCourseGroupRemind")
 	void noStudentsCourseGroupRemind();
 
+	@GetMapping("task/finishCourseGroup")
+	void finishCourseGroup();
 }

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

@@ -125,4 +125,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	public void noStudentsCourseGroupRemind() {
 		logger.info("对外课程组无学生推送失败");
 	}
+
+	@Override
+	public void finishCourseGroup() {
+		logger.info("更新对外课程组至已结束失败");
+	}
 }

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/UpdateCourseGroupToFinishTask.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 UpdateCourseGroupToFinishTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.finishCourseGroup();
+	}
+}

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

@@ -199,4 +199,9 @@ public class TaskController extends BaseController {
 		coursesGroupService.noStudentsCourseGroupRemind();
 	}
 
+	//更新对外课程组状态至已结束
+	@GetMapping("/finishCourseGroup")
+	public void finishCourseGroup(){
+		coursesGroupService.finishCourseGroup();
+	}
 }