Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 5 năm trước cách đây
mục cha
commit
333f2ea4fa

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -126,6 +126,15 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<ImGroupModel> queryUserVipGroups(@Param("userId") Integer userId, @Param("search") String search);
 
     /**
+     * 获取学员所在网管课群组信息
+     *
+     * @param userId
+     * @param search
+     * @return
+     */
+    List<ImGroupModel> queryUserPracticeGroups(@Param("userId") Integer userId, @Param("search") String search);
+
+    /**
      * 获取学员所在对外群组信息
      *
      * @param userId

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

@@ -20,7 +20,7 @@ public interface CoursesGroupService extends BaseService<Long, CoursesGroup> {
      * @param courseGroupCreateInfo: 课程组创建信息
      * @return void
      */
-    void createCourseGroup(CourseGroupCreateDto courseGroupCreateInfo);
+    HttpResponseResult createCourseGroup(CourseGroupCreateDto courseGroupCreateInfo);
 
     /**
      * @describe 获取教师课程组列表
@@ -59,7 +59,7 @@ public interface CoursesGroupService extends BaseService<Long, CoursesGroup> {
      */
     HttpResponseResult buyCourseGroup(Integer userId, Long courseGroupId, boolean isUseBalancePayment);
 
-    void orderCallback(StudentPaymentOrder studentPaymentOrder);
+    HttpResponseResult orderCallback(StudentPaymentOrder studentPaymentOrder);
 
     /**
      * @describe 无学生课程组提醒

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

@@ -712,8 +712,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     public List<ImGroupModel> queryUserGroups(Integer userId, String search) {
         List<ImGroupModel> imGroupModels = classGroupDao.queryUserMusicGroups(userId, search);
         imGroupModels.addAll(classGroupDao.queryUserVipGroups(userId, search));
+        imGroupModels.addAll(classGroupDao.queryUserPracticeGroups(userId, search));
         imGroupModels.addAll(classGroupDao.queryUserCommGroups(userId, search));
-
         if (imGroupModels != null && imGroupModels.size() > 0) {
             imGroupModels.forEach(e -> {
                 e.setCount(classGroupService.findGroupUsers(Integer.parseInt(e.getId())).size());

+ 33 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java

@@ -26,9 +26,11 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
@@ -95,7 +97,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
-    public void createCourseGroup(CourseGroupCreateDto courseGroupCreateInfo) {
+    public HttpResponseResult createCourseGroup(CourseGroupCreateDto courseGroupCreateInfo) {
         CoursesGroup courseGroup = courseGroupCreateInfo.getCoursesGroup();
         CourseGenerateDto courseCycleInfo = courseGroupCreateInfo.getCourseCycleInfo();
         if(Objects.isNull(courseGroup.getName())|| StringUtils.isBlank(courseGroup.getName())){
@@ -121,6 +123,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 
         //总课程时长
         Integer totalCourseTime=courseCycleInfo.getCourseCount()*courseCycleInfo.getSingleClassMinutes();
+
         sysTenantAccountService.update(courseGroup.getTeacherId(), -totalCourseTime, "", SysTenantAccountDetail.TransType.CONSUME, "",BigDecimal.ZERO,"课程组创建");
 
         Teacher teacher = teacherDao.get(courseGroup.getTeacherId());
@@ -140,7 +143,14 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
             newCourse.setStatus(CourseStatusEnum.NOT_START);
             newCourse.setName(courseGroup.getName());
         }
-        courseScheduleService.checkNewCourseSchedules(newCourses,false);
+        try {
+            courseScheduleService.checkNewCourseSchedules(newCourses,false);
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            String errMessage;
+            errMessage="抱歉啦,当前所选时段组合,「" + teacher.getRealName() + "」老师已被预约,请重新选择时段或更换老师后重试。";
+            return BaseController.failed(HttpStatus.FOUND, errMessage);
+        }
 
         CourseSchedule firstCourseSchedule = newCourses.stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get();
         if(firstCourseSchedule.getStartClassTime().before(now)){
@@ -221,6 +231,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         }
         courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
         teacherAttendanceDao.batchInsert(teacherAttendances);
+        return BaseController.succeed();
     }
 
     @Override
@@ -465,11 +476,11 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
-    public void orderCallback(StudentPaymentOrder order) {
+    public HttpResponseResult orderCallback(StudentPaymentOrder order) {
         if(order.getExpectAmount().compareTo(BigDecimal.ZERO)>0){
             StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.get(order.getId());
             if(!studentPaymentOrder.getStatus().equals(DealStatusEnum.ING)){
-                return;
+                return BaseController.succeed();
             }
             SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(order.getUserId());
             List<StudentPaymentOrder> userGroupOrders = studentPaymentOrderDao.findUserGroupOrders(order.getUserId(), order.getMusicGroupId(), order.getGroupType(),null);
@@ -484,7 +495,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                     order.setMemo("重复支付,进入余额");
                 }
                 studentPaymentOrderDao.update(order);
-                return;
+                return BaseController.succeed();
             }
 
             Long ingOrderNum=statusOrderNumMap.get(DealStatusEnum.ING);
@@ -493,7 +504,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                     sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "网管课支付失败,退还余额");
                 }
                 studentPaymentOrderDao.update(order);
-                return;
+                return BaseController.succeed();
             }
 
             if(order.getStatus().equals(DealStatusEnum.SUCCESS)){
@@ -507,7 +518,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                 coursesGroup.setStatus(GroupStatusEnum.CANCEL);
                 coursesGroupDao.update(coursesGroup);
                 groupService.deleteGroupOtherInfo(order.getMusicGroupId(),GroupType.PRACTICE);
-                return;
+                return BaseController.succeed();
             }
             studentPaymentOrderDao.update(order);
 
@@ -552,7 +563,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
 
                 sysUserCashAccountService.updateBalance(order.getUserId(), order.getExpectAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "支付成功,但课程组不处于正常状态");
 
-                return;
+                return BaseController.succeed();
             }
         }
         CoursesGroup coursesGroup = coursesGroupDao.get(Long.valueOf(order.getMusicGroupId()));
@@ -596,9 +607,18 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 
         try {
-//            contractService.transferPracticeCoursesContract(order.getUserId(),classGroup.getTotalClassTimes(),practiceGroup.getCoursesStartDate(),practiceGroup.getCoursesExpireDate(),order.getExpectAmount());
+            courseScheduleService.checkNewCourseSchedules(groupNotStartCourses,false);
         } catch (Exception e) {
-            LOGGER.error("对外课程组[{}]购买协议错误:{}",order.getMusicGroupId(),e.getMessage(),e.getMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            String errMessage;
+
+            String courseName=e.getMessage().substring(e.getMessage().indexOf(")-")+2);
+            courseName = courseName.substring(0,courseName.indexOf("("));
+            errMessage="抱歉啦,当前所选时段组合,与您现有课程「";
+            errMessage+=courseName;
+            errMessage+="」时段冲突,请选择其他时段重试。";
+
+            return BaseController.failed(HttpStatus.FOUND, errMessage);
         }
 
         List<ImGroupMember> imGroupMemberList = new ArrayList<>();
@@ -607,11 +627,13 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
         // 创建群组
         imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+
+        return BaseController.succeed();
     }
 
     @Override
     public void noStudentsCourseGroupRemind() {
-        Date startDate = DateUtil.addDays(new Date(), -1);
+        Date startDate = DateUtil.addDays(new Date(), 1);
         List<CoursesGroup> noStudentsGroups = coursesGroupDao.findNoStudentsGroups(startDate);
         if(CollectionUtils.isEmpty(noStudentsGroups)){
             return;

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1088,8 +1088,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
-    public List<BasicUserDto> findTeachersByStuId(Integer studentId,String search) {
-        //获取相关乐团老师列表
+    public List<BasicUserDto> findTeachersByStuId(Integer studentId,String search){
+        //获取相关课程,班级老师列表
         Set<Integer> teacherIds = teacherDao.findMusicTeacherIds(studentId);
         //获取学员所在乐团列表
         List<String> musicGroupIds = studentRegistrationDao.queryStudentMusicGroup(studentId);

+ 8 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -8,7 +8,10 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.StudentAttendanceService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.common.config.RequestAttributeHystrixConcurrencyStrategy;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -18,6 +21,8 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -44,8 +49,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
-	private SubjectDao subjectDao;
-	@Autowired
 	private MusicGroupStudentFeeDao musicGroupStudentFeeDao;
 	@Autowired
 	private MusicGroupQuitDao musicGroupQuitDao;
@@ -58,14 +61,13 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	@Autowired
 	private SysConfigService sysConfigService;
 	@Autowired
-	private CourseScheduleService courseScheduleService;
-	@Autowired
 	private TeacherAttendanceDao teacherAttendanceDao;
 
 	@Override
 	public BaseDAO<Long, StudentAttendance> getDAO() {
 		return studentAttendanceDao;
 	}
+	private static final Logger log = LoggerFactory.getLogger(StudentAttendanceServiceImpl.class);
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -583,7 +585,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 	}
 
 	@Override
-	@Transactional(rollbackFor = Exception.class)
 	public void repairStudentAttendance(Integer month) {
 		//获取所有有老师考勤的课程记录,正常签退,当月线上课,有学员签到记录
 		List<CourseSchedule> courseScheduleList = courseScheduleDao.queryScheduleByAttendance(month);
@@ -594,6 +595,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		}
 		Date date = new Date();
 		for (CourseSchedule courseSchedule : courseScheduleList) {
+			log.info("课程编号: {}",courseSchedule.getId());
 			//只会修复签到的学员考勤
 			List<StudentAttendance> byCourseId = studentAttendanceDao.findByCourseId(courseSchedule.getId());
 			if(byCourseId == null || byCourseId.size() == 0){

+ 20 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkReplyServiceImpl.java

@@ -1,11 +1,14 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 import com.ym.mec.biz.dal.dao.StudentCourseHomeworkReplyDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.StudentCourseHomeworkCommentDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.biz.dal.entity.StudentCourseHomeworkReply;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.page.StudentCourseHomeworkReplyQueryInfo;
 import com.ym.mec.biz.service.StudentCourseHomeworkReplyService;
 import com.ym.mec.biz.service.StudentCourseHomeworkService;
@@ -15,13 +18,13 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 @Service
 public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long, StudentCourseHomeworkReply> implements StudentCourseHomeworkReplyService {
@@ -49,13 +52,13 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 		if(Objects.isNull(studentCourseHomework)){
 			throw new BizException("请指定需要回复的作业");
 		}
-//		CourseSchedule courseSchedule = courseScheduleDao.get(studentCourseHomework.getCourseScheduleId());
-//		Map<Integer, String> userMap = new HashMap<>();
-//		userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
-//		SysUser user = teacherDao.getUser(studentCourseHomework.getUserId());
-//		String notifyUrl = "9?courseScheduleID=" + studentCourseHomework.getId() + "&userId=" + studentCourseHomework.getUserId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
-//		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_STUDENT_REPLY_PUSH,
-//				userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(),"yyyy年MM月dd日"), user.getUsername());
+		CourseSchedule courseSchedule = courseScheduleDao.get(studentCourseHomework.getCourseScheduleId());
+		Map<Integer, String> userMap = new HashMap<>();
+		userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
+		SysUser user = teacherDao.getUser(studentCourseHomework.getUserId());
+		String notifyUrl = "9?courseScheduleID=" + studentCourseHomework.getId() + "&userId=" + studentCourseHomework.getUserId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
+		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_STUDENT_REPLY_PUSH,
+				userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(),"yyyy年MM月dd日"), user.getUsername());
 		return super.insert(bean);
 	}
 
@@ -70,13 +73,13 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 				studentCourseHomework.getCourseHomeworkId(),
 				studentCourseHomework.getUserId());
 
-//		CourseSchedule courseSchedule = courseScheduleDao.get(studentCourseHomework.getCourseScheduleId());
-//		Map<Integer, String> userMap = new HashMap<>();
-//		userMap.put(studentCourseHomework.getUserId(),studentCourseHomework.getUserId().toString());
-//		SysUser user = teacherDao.get(courseSchedule.getTeacherId());
-//		String notifyUrl = "3?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
-//		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_TEACHER_REPLY_PUSH,
-//				userMap, null, 0, notifyUrl, "STUDENT", user.getRealName(), courseSchedule.getName());
+		CourseSchedule courseSchedule = courseScheduleDao.get(studentCourseHomework.getCourseScheduleId());
+		Map<Integer, String> userMap = new HashMap<>();
+		userMap.put(studentCourseHomework.getUserId(),studentCourseHomework.getUserId().toString());
+		SysUser user = teacherDao.get(courseSchedule.getTeacherId());
+		String notifyUrl = "3?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
+		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_TEACHER_REPLY_PUSH,
+				userMap, null, 0, notifyUrl, "STUDENT", user.getRealName(), courseSchedule.getName());
 		super.insert(bean);
 	}
 

+ 8 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -22,8 +22,10 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -100,12 +102,12 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             }
         }
 
-//        Map<Integer, String> userMap = new HashMap<>();
-//        userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
-//        SysUser user = teacherDao.getUser(bean.getUserId());
-//        String notifyUrl = "9?courseScheduleID=" + bean.getId() + "&userId=" + bean.getUserId() + "&studentCourseHomeworkId=" + bean.getId();
-//        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_SUBMIT_PUSH,
-//                userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日"), user.getUsername());
+        Map<Integer, String> userMap = new HashMap<>();
+        userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
+        SysUser user = teacherDao.getUser(bean.getUserId());
+        String notifyUrl = "9?courseScheduleID=" + bean.getId() + "&userId=" + bean.getUserId() + "&studentCourseHomeworkId=" + bean.getId();
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_SUBMIT_PUSH,
+                userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日"), user.getUsername());
         courseHomeworkService.update(courseHomework);
     }
 

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -303,6 +303,23 @@
         </where>
         GROUP BY cg.id_
     </select>
+    <select id="queryUserPracticeGroups" resultMap="imGroupModel">
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,
+        cg.student_num_,cg.img_
+        FROM class_group_student_mapper cgsm
+        LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
+        LEFT JOIN practice_group pg ON pg.id_ = cg.music_group_id_
+        <where>
+            cg.del_flag_ = 0 AND cgsm.status_ != 'QUIT' AND pg.group_status_ = 'NORMAL' AND cgsm.group_type_ = 'PRACTICE'
+            <if test="userId != null">
+                AND cgsm.user_id_ = #{userId}
+            </if>
+            <if test="search != null and search != ''">
+                AND cg.name_ LIKE CONCAT('%',#{search},'%')
+            </if>
+        </where>
+        GROUP BY cg.id_
+    </select>
     <select id="queryUserCommGroups" resultMap="imGroupModel">
         SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,
         cg.student_num_,cg.img_

+ 4 - 6
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2528,9 +2528,8 @@
         SELECT cs.*
         FROM course_schedule cs
                  LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
-        WHERE (UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_)) - UNIX_TIMESTAMP(#{endDateTime})) >= 0
-          AND (UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_)) - UNIX_TIMESTAMP(#{endDateTime})) &lt;=
-              60 * #{continueCourseTime}
+        WHERE TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) >= 0
+          AND TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) &lt;= #{continueCourseTime}
           AND cs.teacher_id_ = #{courseSchedule.teacherId}
           AND cs.class_group_id_ = #{courseSchedule.classGroupId}
           AND ta.sign_in_time_ IS NULL
@@ -2541,9 +2540,8 @@
         SELECT cs.*
         FROM course_schedule cs
                  LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
-        WHERE (UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_)) - UNIX_TIMESTAMP(#{endDateTime})) >= 0
-          AND (UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_)) - UNIX_TIMESTAMP(#{endDateTime})) &lt;=
-              60 * #{continueCourseTime}
+        WHERE TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) >= 0
+          AND TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) &lt;= #{continueCourseTime}
           AND cs.teacher_id_ = #{courseSchedule.teacherId}
           AND cs.class_group_id_ = #{courseSchedule.classGroupId}
         LIMIT 1

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

@@ -197,6 +197,7 @@
 			cg.group_type_ = 'COMM'
 			AND cs.group_type_ = 'COMM'
 			AND cg.student_num_ = 0
+			AND csg.status_='NORMAL'
 		GROUP BY csg.id_ HAVING MAX(cs.class_date_)&lt;=DATE_FORMAT(#{startDate}, '%Y-%m-%d')
     </select>
     <select id="findNoCoursesGroups" resultMap="CoursesGroup">

+ 6 - 6
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -846,6 +846,12 @@
         LEFT JOIN practice_group pg ON pg.id_ = cgsm.music_group_id_
         WHERE cgsm.group_type_ = 'PRACTICE' AND cgsm.user_id_ = #{studentId}
     </select>
+    <select id="findCloseCourseTeacherIds" resultType="java.lang.Integer">
+        SELECT DISTINCT cgtm.user_id_ FROM class_group_student_mapper cgsm
+        LEFT JOIN class_group_teacher_mapper cgtm ON cgsm.class_group_id_ = cgtm.class_group_id_
+        LEFT JOIN courses_group cg ON cg.id_ = cgsm.music_group_id_
+        WHERE cgsm.group_type_ = 'COMM' AND cgsm.user_id_ = #{studentId}
+    </select>
 
     <select id="findTeacherInfo"  resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
         SELECT
@@ -882,12 +888,6 @@
         </if>
         GROUP BY su.id_
     </select>
-    <select id="findCloseCourseTeacherIds" resultType="java.lang.Integer">
-        SELECT DISTINCT csts.user_id_ FROM course_schedule_student_payment cssp
-        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
-        LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
-        WHERE cssp.group_type_ IN ('VIP','PRACTICE') AND cs.status_ = 'OVER' AND cssp.user_id_ = #{studentId}
-    </select>
     <select id="findCloseCourseStudentIds" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
         SELECT su.username_,su.id_ user_id_,su.avatar_ head_url_,su.gender_,NULL subject_name_,su.user_type_
         FROM course_schedule_teacher_salary csts

+ 1 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseGroupController.java

@@ -53,8 +53,7 @@ public class CourseGroupController extends BaseController {
         }
         courseGroupCreateInfo.getCoursesGroup().setOrganId(teacher.getOrganId());
         courseGroupCreateInfo.getCoursesGroup().setTeacherId(sysUser.getId());
-        coursesGroupService.createCourseGroup(courseGroupCreateInfo);
-        return succeed();
+        return coursesGroupService.createCourseGroup(courseGroupCreateInfo);
     }
 
     @ApiOperation(value = "获取课程组列表")