Explorar o código

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

liujunchi %!s(int64=3) %!d(string=hai) anos
pai
achega
1e013e66e5

+ 5 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/AppConstant.java

@@ -54,4 +54,9 @@ public interface AppConstant {
      * 官网
      */
     String APPLICATION_WEBSITE = "website";
+
+    /**
+     * 网络教室
+     */
+    String APPLICATION_CLASSROOM = "classroom";
 }

+ 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
      */

+ 0 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/EmployeeDto.java

@@ -1,10 +1,8 @@
 package com.yonge.cooleshow.biz.dal.dto;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.entity.Employee;
 import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
-import com.yonge.cooleshow.biz.dal.enums.UserLockFlag;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.beanutils.BeanUtils;

+ 0 - 38
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/UserLockFlag.java

@@ -1,38 +0,0 @@
-package com.yonge.cooleshow.biz.dal.enums;
-
-import com.baomidou.mybatisplus.annotation.EnumValue;
-import com.yonge.toolset.base.enums.BaseEnum;
-
-/** 
- * 会员状态枚举类
- */
-public enum UserLockFlag implements BaseEnum<Integer, UserLockFlag> {
-
-	NORMAL(0, "正常"), LOCKED(9, "锁定"), CANCELLED(1, "冻结");
-	@EnumValue
-	private int code;
-
-	private String remark;
-
-	UserLockFlag(int code, String remark) {
-		this.code = code;
-		this.remark = remark;
-	}
-
-	public Integer getCode() {
-		return this.code;
-	}
-
-	public String getRemark() {
-		return this.remark;
-	}
-
-	public static UserLockFlag codeOf(int code) {
-		for (UserLockFlag userStatus : UserLockFlag.values()) {
-			if (code == userStatus.getCode()) {
-				return userStatus;
-			}
-		}
-		return null;
-	}
-}

+ 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/java/com/yonge/cooleshow/biz/dal/vo/EmployeeVo.java

@@ -3,7 +3,7 @@ package com.yonge.cooleshow.biz.dal.vo;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.Employee;
 import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
-import com.yonge.cooleshow.biz.dal.enums.UserLockFlag;
+import com.yonge.cooleshow.common.enums.UserLockFlag;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.beanutils.BeanUtils;

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherVo.java

@@ -4,8 +4,9 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
 import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
-import com.yonge.cooleshow.biz.dal.enums.UserLockFlag;
+
 import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
+import com.yonge.cooleshow.common.enums.UserLockFlag;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.format.annotation.DateTimeFormat;

+ 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,

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

@@ -40,6 +40,6 @@
 	</select>
     <select id="findByUserIdAndCourseId" resultMap="BaseResultMap">
         select * from student_attendance where student_id_ = #{userId} and
-        course_schedule_id_ = #{courseId} LIMIT 1
+        course_schedule_id_ = #{scheduleId} LIMIT 1
     </select>
 </mapper>

+ 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

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

@@ -115,7 +115,8 @@
             u.phone_ as phone,
             (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
             u.real_name_ as realName,
-            id_card_no_ as idCardNo,
+            u.id_card_no_ as idCardNo,
+            u.lock_flag_ as lockFlag,
             (case when isnull(b.user_id_) then 0 else 1 end) as isBank,
             (
                 SELECT GROUP_CONCAT(name_) FROM subject WHERE FIND_IN_SET(id_,t.subject_id_)

+ 4 - 4
cooleshow-user/user-classroom/src/main/java/com/yonge/cooleshow/classroom/ClassroomApplication.java

@@ -1,6 +1,8 @@
 package com.yonge.cooleshow.classroom;
 
 import com.spring4all.swagger.EnableSwagger2Doc;
+import com.yonge.cooleshow.common.constant.AppConstant;
+import com.yonge.toolset.base.BaseApplication;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -14,15 +16,13 @@ import org.springframework.context.annotation.Configuration;
 @EnableFeignClients("com.yonge.cooleshow")
 @MapperScan(basePackages = {"com.yonge.cooleshow.biz.dal.dao", "com.yonge.toolset.payment.core.dao"})
 @ComponentScan(basePackages = {
-        "com.yonge.cooleshow.classroom", "com.yonge.cooleshow.auth", "com.yonge.cooleshow.biz",
-        "com.yonge.cooleshow.common", "com.yonge.cooleshow.common.security",
-        "com.yonge.toolset.log", "com.yonge.toolset.thirdparty", "com.yonge.toolset.payment"
+        "com.yonge.cooleshow", "com.yonge.toolset"
 })
 @Configuration
 @EnableSwagger2Doc
 public class ClassroomApplication {
     public static void main(String[] args) {
-        SpringApplication.run(ClassroomApplication.class, args);
+        BaseApplication.run(AppConstant.APPLICATION_CLASSROOM, ClassroomApplication.class, args);
     }
 
 }