Jelajahi Sumber

1、陪练课调整
2、付费陪练课

Joburgess 5 tahun lalu
induk
melakukan
ecdd33f6e2

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

@@ -25,6 +25,15 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
                                                             @Param("endDate") Date endDate);
 
     /**
+     * @describe 批量更新
+     * @author Joburgess
+     * @date 2020/2/23
+     * @param groups:
+     * @return int
+     */
+    int batchUpdate(@Param("groups") List<PracticeGroup> groups);
+
+    /**
      * @describe 统计用户的申请记录
      * @author Joburgess
      * @date 2020/2/3
@@ -101,4 +110,12 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
      * @return java.util.List<com.ym.mec.biz.dal.dto.PracticeCourseDto>
      */
     List<PracticeCourseDto> findUserBuyPracticeGroups(@Param("userId") Integer userId);
+
+    /**
+     * @describe 获取已经达到截至时间的陪练课程组
+     * @author Joburgess
+     * @date 2020/2/23
+     * @return java.util.List<com.ym.mec.biz.dal.entity.PracticeGroup>
+     */
+    List<PracticeGroup> findHistoryPracticeGroups();
 }

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

@@ -214,4 +214,13 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
 	 * @return com.ym.mec.common.entity.HttpResponseResult
 	 */
 	HttpResponseResult repay(Integer userId,Integer practiceGroupId);
+
+	/**
+	 * @describe 更新历史陪练课程组状态
+	 * @author Joburgess
+	 * @date 2020/2/23
+	 * @param :
+	 * @return void
+	 */
+	void updateHistoryPracticeGroupStatus();
 }

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

@@ -1782,7 +1782,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				}
 			}
 			
-			if ((newCourseSchedule.getStatus() != oldCourseSchedule.getStatus() && newCourseSchedule.getStatus() == CourseStatusEnum.NOT_START)) {
+			if (newCourseSchedule.getStatus() == CourseStatusEnum.NOT_START) {
 				//如果已结束修改成了未开始,需要更新学生考勤记录
 				studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
 				

+ 20 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -3045,12 +3045,12 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             LOGGER.error("小课[{}]购买协议错误:{}",order.getMusicGroupId(),e.getMessage(),e.getMessage());
         }
 
-//        List<ImGroupMember> imGroupMemberList = new ArrayList<>();
-//        imGroupMemberList.add(new ImGroupMember(practiceGroup.getUserId().toString()));
-//        imGroupMemberList.add(new ImGroupMember(practiceGroup.getStudentId().toString()));
-//        ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
-//        // 创建群组
-//        imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+        List<ImGroupMember> imGroupMemberList = new ArrayList<>();
+        imGroupMemberList.add(new ImGroupMember(practiceGroup.getUserId().toString()));
+        imGroupMemberList.add(new ImGroupMember(practiceGroup.getStudentId().toString()));
+        ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
+        // 创建群组
+        imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
     }
 
     @Override
@@ -3137,7 +3137,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         List<StudentPaymentOrder> ingOrders = statusOrderMap.get(DealStatusEnum.ING);
         if(CollectionUtils.isEmpty(ingOrders)||ingOrders.size()<=0){
-            throw new BizException("此课程组不存在进行中的订单");
+            throw new BizException("此课程组不存在待支付的订单");
         }else{
             for (StudentPaymentOrder ingOrder : ingOrders) {
                 ingOrder.setStatus(DealStatusEnum.CLOSE);
@@ -3182,4 +3182,17 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             throw new BizException("调用支付接口出错", e);
         }
     }
+
+    @Override
+    public void updateHistoryPracticeGroupStatus() {
+        List<PracticeGroup> historyPracticeGroups = practiceGroupDao.findHistoryPracticeGroups();
+        List<PracticeGroup> needUpdateGroups = new ArrayList<>();
+        for (PracticeGroup historyPracticeGroup : historyPracticeGroups) {
+            if(historyPracticeGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)){
+                historyPracticeGroup.setGroupStatus(GroupStatusEnum.FINISH);
+                needUpdateGroups.add(historyPracticeGroup);
+            }
+        }
+        practiceGroupDao.batchUpdate(needUpdateGroups);
+    }
 }

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

@@ -62,6 +62,19 @@
 		WHERE id_ = #{id}
 	</update>
 
+	<update id="batchUpdate">
+		<foreach collection="groups" item="group" separator=";">
+			UPDATE practice_group
+			<set>
+				<if test="groupStatus!=null">
+					group_status_=#{group.groupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+				</if>
+				update_time_ = NOW()
+			</set>
+			WHERE id_ = #{group.id}
+		</foreach>
+	</update>
+
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="PracticeGroup">
 		SELECT * FROM practice_group WHERE id_ = #{id}
@@ -146,6 +159,9 @@
 		LEFT JOIN sys_user su ON pg.user_id_ = su.id_
 		WHERE pg.student_id_=#{userId} AND pg.id_=#{groupId};
 	</select>
+    <select id="findHistoryPracticeGroups" resultMap="PracticeGroup">
+		SELECT * FROM practice_group WHERE courses_expire_date_ &lt; NOW()
+    </select>
 
     <sql id="practiceGroupQueryCondition">
 		<where>

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

@@ -71,4 +71,8 @@ public interface TaskRemoteService {
 	@GetMapping("task/teacherCourseStatistic")
 	// 老师课酬统计
 	public void teacherCourseStatistic();
+
+	//更新历史陪练课至已结束
+	@GetMapping("/updateHistoryPracticeGroupStatus")
+	public void updateHistoryPracticeGroupStatus();
 }

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

@@ -90,4 +90,9 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 	public void teacherCourseStatistic() {
 		logger.info("统计老师课酬失败");
 	}
+
+	@Override
+	public void updateHistoryPracticeGroupStatus() {
+		logger.info("历史陪练课状态更新失败");
+	}
 }

+ 21 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/UpdateHistoryPracticeGroupStatusTask.java

@@ -0,0 +1,21 @@
+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;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/2/23
+ */
+public class UpdateHistoryPracticeGroupStatusTask extends BaseTask {
+
+    @Autowired
+    private TaskRemoteService taskRemoteService;
+
+    @Override
+    public void execute() throws TaskException {
+        taskRemoteService.updateHistoryPracticeGroupStatus();
+    }
+}

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

@@ -39,6 +39,9 @@ public class TaskController extends BaseController {
 	@Autowired
 	private TeacherCourseStatisticsService teacherCourseStatisticsService;
 
+	@Autowired
+	private PracticeGroupService practiceGroupService;
+
 	@GetMapping("/refreshPaymentFeeStatus")
 	// 刷新付费状态
 	public void refreshPaymentFeeStatus() {
@@ -135,4 +138,10 @@ public class TaskController extends BaseController {
 		teacherCourseStatisticsService.teacherCourseStatistic();
 	}
 
+	//更新历史陪练课至已结束
+	@GetMapping("/updateHistoryPracticeGroupStatus")
+	public void updateHistoryPracticeGroupStatus(){
+		practiceGroupService.updateHistoryPracticeGroupStatus();
+	}
+
 }