浏览代码

Merge remote-tracking branch 'origin/master'

liweifan 3 年之前
父节点
当前提交
9b905a0bd6

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherDao.java

@@ -29,18 +29,18 @@ public interface TeacherDao extends BaseMapper<Teacher> {
     List<TeacherVo> selectPage(@Param("page") IPage page, @Param("param") TeacherSearch teacher);
 
     /**
+     * @description: 获取用户基本信息
      * @param userId
      * @return com.yonge.cooleshow.biz.dal.dto.BasicUserInfo
-     * @description: 获取用户基本信息
      * @author zx
      * @date 2022/3/22 13:52
      */
     BasicUserInfo getBasicUserInfo(@Param("userId") Long userId);
 
     /**
+     * @description: 获取用户基本信息
      * @param studentIds
      * @return com.yonge.cooleshow.biz.dal.dto.BasicUserInfo
-     * @description: 获取用户基本信息
      * @author zx
      * @date 2022/3/22 13:52
      */

+ 19 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -488,6 +488,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         //每日日期数据
         List<CourseCalendarEntity> list = new ArrayList<>();
 
+        //查询系统配置开课/结束时间
+        String star = sysConfigService.findConfigValue(SysConfigConstant.COURSE_START_SETTING);//系统开课时间
+        String end = sysConfigService.findConfigValue(SysConfigConstant.COURSE_END_SETTING);//系统关课时间
+
         //获取每日日期数据
         while (firstDay.isBefore(lastDay) || firstDay.isEqual(lastDay)) {
             CourseCalendarEntity entity = new CourseCalendarEntity();
@@ -499,6 +503,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             if (Objects.nonNull(jsonArray)) {
                 List<CourseTimeEntity> timeEntities = jsonArray.stream()
                         .map(t -> getCourseTimeEntity(entity, (JSONObject) t))
+                        .filter(f -> checkTime(f, star, end))
                         .collect(Collectors.toList());
                 entity.setCourseTime(timeEntities);
             }
@@ -517,6 +522,18 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         return timeEntity;
     }
 
+    private boolean checkTime(CourseTimeEntity entity, String star, String end) {
+        Date startTime = entity.getStartTime();
+        Date endTime = entity.getEndTime();
+        String classDate = DateUtil.dateToString(entity.getStartTime());
+        Date s = DateUtil.strToDate(classDate + " " + star + ":00");
+        Date e = DateUtil.strToDate(classDate + " " + end + ":00");
+        if (startTime.before(s) || endTime.after(e)) {
+            return false;
+        }
+        return true;
+    }
+
     /**
      * 将每日上课时间时间添加到日历中
      *
@@ -1116,7 +1133,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         Date endTime = adjustVo.getEndTime();
         Date now = new Date();
 
-        if(endTime==null){
+        if (endTime == null) {
             CourseSchedule courseSchedule = baseMapper.selectById(courseId);
             Integer minutes = Math.toIntExact(ChronoUnit.MINUTES.between(Instant.ofEpochMilli(courseSchedule.getStartTime().getTime()), Instant.ofEpochMilli(courseSchedule.getEndTime().getTime())));
             endTime = DateUtil.offsetMinute(startTime, minutes);
@@ -1978,7 +1995,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         Date s = DateUtil.strToDate(classDate + " " + star + ":00");
         Date e = DateUtil.strToDate(classDate + " " + end + ":00");
         if (startTime.before(s) || endTime.after(e)) {
-            throw new BizException("排课时间区间为{}~{}",star,end);
+            throw new BizException("排课时间区间为{}~{}", star, end);
         }
 
         if (startTime.before(new Date())) {

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -174,7 +174,7 @@
     </select>
 
     <select id="queryTeacherPracticeCourse" resultType="com.yonge.cooleshow.biz.dal.vo.MyCourseVo">
-        SELECT
+        SELECT distinct
             u.id_ AS userId,
             u.username_ AS userName,
             u.real_name_ AS realName,

+ 10 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherFreeTimeMapper.xml

@@ -108,7 +108,16 @@
             p.subject_price_ AS subjectPrice
         FROM teacher_free_time f
                  LEFT JOIN teacher_subject_price p ON f.id_=p.teacher_free_time_id
-        WHERE f.teacher_id_=#{teacherId} AND f.default_flag_=1
+        WHERE f.teacher_id_=#{teacherId}
+        AND f.default_flag_=1
+        AND f.enable_flag_=1
+        AND f.monday_ IS NOT NULL
+        AND f.tuesday_ IS NOT NULL
+        AND f.wednesday_ IS NOT NULL
+        AND f.thursday_ IS NOT NULL
+        AND f.friday_ IS NOT NULL
+        AND f.saturday_ IS NOT NULL
+        AND f.sunday_ IS NOT NULL
     </select>
     <select id="getTeacherFreeTime" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime">
         SELECT * FROM teacher_free_time WHERE default_flag_=1

+ 4 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -93,12 +93,13 @@
 		<result property="realName" column="real_name_"/>
 		<result property="avatar" column="avatar_"/>
 	</resultMap>
-	<select id="getBasicUserInfo" resultType="com.yonge.cooleshow.biz.dal.dto.BasicUserInfo">
-		SELECT id_ userId,username_ username,real_name_ realName,avatar_ avatar FROM sys_user WHERE id_ = #{userId} LIMIT 1
+	<select id="getBasicUserInfo" resultMap="BasicUserInfo">
+		SELECT id_ user_id_,username_,real_name_,avatar_ FROM sys_user WHERE id_ = #{userId} LIMIT 1
 	</select>
 
 	<select id="findBasicUserInfo" resultMap="BasicUserInfo">
-		SELECT id_ user_id_,username_,real_name_,avatar_ FROM sys_user WHERE id_ IN
+		SELECT id_ user_id_,username_,real_name_,avatar_ FROM sys_user
+		WHERE id_ IN
 		<foreach collection="studentIds" open="(" close=")" separator="," item="userId">
 			#{userId}
 		</foreach>