Browse Source

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

zouxuan 5 năm trước cách đây
mục cha
commit
5798f83721

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherMapperDao.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.ClassGroupTeacherMapDto;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
@@ -81,4 +82,13 @@ public interface ClassGroupTeacherMapperDao extends BaseDAO<Long, ClassGroupTeac
      * @return
      */
     String queryTeachingNames(Long classGroupId);
+
+    /**
+     * @describe 根据班级编号获取教师班级关联记录
+     * @author Joburgess
+     * @date 2020/1/3
+     * @param classGroupIds: 班级编号列表
+     * @return java.util.List<com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper>
+     */
+    List<ClassGroupTeacherMapDto> findByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds);
 }

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroupTeacherMapDto.java

@@ -0,0 +1,21 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+
+/**
+ * @Author Joburgess
+ * @Date 2020/1/3
+ */
+public class ClassGroupTeacherMapDto extends ClassGroupTeacherMapper {
+    private String userName;
+
+    @Override
+    public String getUserName() {
+        return userName;
+    }
+
+    @Override
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleEndDto.java

@@ -10,6 +10,16 @@ public class CourseScheduleEndDto extends CourseSchedule {
 
     private String groupName;
 
+    private String teacherName;
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
     public String getGroupName() {
         return groupName;
     }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SuperClassGroupDto.java

@@ -10,6 +10,26 @@ public class SuperClassGroupDto extends ClassGroup {
 
     private String groupName;
 
+    private String bishopTeacherNames;
+
+    private String teachingTeacherNames;
+
+    public String getBishopTeacherNames() {
+        return bishopTeacherNames;
+    }
+
+    public void setBishopTeacherNames(String bishopTeacherNames) {
+        this.bishopTeacherNames = bishopTeacherNames;
+    }
+
+    public String getTeachingTeacherNames() {
+        return teachingTeacherNames;
+    }
+
+    public void setTeachingTeacherNames(String teachingTeacherNames) {
+        this.teachingTeacherNames = teachingTeacherNames;
+    }
+
     public String getGroupName() {
         return groupName;
     }

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

@@ -2233,11 +2233,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             params.put("offset", pageInfo.getOffset());
             results = classGroupDao.superFindClassGroups(params);
             List<Group> groups=new ArrayList<>();
+            List<Integer> classGroupIds=new ArrayList<>();
             groups.add(null);
             for (SuperClassGroupDto result : results) {
                 Group group=new Group(result.getMusicGroupId(),result.getGroupType());
                 groups.add(group);
+                classGroupIds.add(result.getId());
             }
+            List<ClassGroupTeacherMapDto> classGroupTeacherMaps = classGroupTeacherMapperDao.findByClassGroupIds(classGroupIds);
+            Map<Integer, Map<TeachTypeEnum, List<ClassGroupTeacherMapDto>>> classTeacherTypeMaps = classGroupTeacherMaps.stream()
+                    .collect(Collectors.groupingBy(ClassGroupTeacherMapDto::getClassGroupId, Collectors.groupingBy(ClassGroupTeacherMapDto::getTeacherRole)));
             groups = groupDao.findByGroupIds(groups);
             Map<String, Map<GroupType, List<Group>>> groupsGroupByGroup = groups.stream().collect(Collectors.groupingBy(Group::getId, Collectors.groupingBy(Group::getGroupType)));
             results.forEach(result -> {
@@ -2248,6 +2253,21 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                         result.setGroupName(groupTemps.get(0).getGroupName());
                     }
                 }
+                Map<TeachTypeEnum, List<ClassGroupTeacherMapDto>> teachTypeEnumListMap = classTeacherTypeMaps.get(result.getId());
+                if(Objects.nonNull(teachTypeEnumListMap)){
+                    for (TeachTypeEnum teachType:teachTypeEnumListMap.keySet()){
+                        List<ClassGroupTeacherMapDto> classGroupTeachers=teachTypeEnumListMap.get(teachType);
+                        if(!CollectionUtils.isEmpty(classGroupTeachers)){
+                            List<String> userNames = classGroupTeachers.stream().map(ClassGroupTeacherMapDto::getUserName).collect(Collectors.toList());
+                            if(teachType.equals(TeachTypeEnum.BISHOP)){
+                                result.setBishopTeacherNames(Arrays.toString(userNames.toArray()));
+                            }
+                            if(teachType.equals(TeachTypeEnum.TEACHING)){
+                                result.setTeachingTeacherNames(Arrays.toString(userNames.toArray()));
+                            }
+                        }
+                    }
+                }
             });
         }
         pageInfo.setRows(results);

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

@@ -94,6 +94,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private SysConfigService sysConfigService;
     @Autowired
     private GroupDao groupDao;
+    @Autowired
+    private TeacherDao teacherDao;
 
     private final Logger LOGGER = LoggerFactory
             .getLogger(this.getClass());
@@ -1119,6 +1121,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
 
         classGroupCourseSchedulesWithDate.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
+
         for (int i=0;i<classGroupCourseSchedulesWithDate.size();i++) {
             CourseSchedule courseSchedule=classGroupCourseSchedulesWithDate.get(i);
             calendar.setTime(courseSchedule.getClassDate());
@@ -2175,10 +2178,14 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             results = courseScheduleDao.endFindCourseSchedules(params);
             List<Group> groups=new ArrayList<>();
             groups.add(null);
+            List<Integer> teacherIds=new ArrayList<>();
             for (CourseScheduleEndDto courseScheduleEndDto : results) {
                 Group group=new Group(courseScheduleEndDto.getMusicGroupId(),courseScheduleEndDto.getGroupType());
                 groups.add(group);
+                teacherIds.add(courseScheduleEndDto.getActualTeacherId());
             }
+            List<Map<Integer, String>> nameIdMaps = teacherDao.queryUsernameByIds(teacherIds);
+            Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
             groups = groupDao.findByGroupIds(groups);
             Map<String, Map<GroupType, List<Group>>> groupsGroupByGroup = groups.stream().collect(Collectors.groupingBy(Group::getId, Collectors.groupingBy(Group::getGroupType)));
             results.forEach(result -> {
@@ -2188,6 +2195,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     if(!CollectionUtils.isEmpty(groupTemps)){
                         result.setGroupName(groupTemps.get(0).getGroupName());
                     }
+                    result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
                 }
             });
         }

+ 14 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -162,18 +162,20 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 
 		//是否在范围内
 		boolean isInScore = true;
-		if(StringUtils.isBlank(school.getLongitudeLatitude())){
-			if(studentAttendanceInfos.getUpdate().equals(YesOrNoEnum.YES.getCode())){
-				school.setLongitudeLatitude(studentAttendanceInfos.getSignInLongitudeLatitude());
-				schoolDao.update(school);
-			}
-		}else{
-			SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
-			double attendanceRange = Double.valueOf(sysConfig.getParanValue());
-			double distance = MapUtil.distance(studentAttendanceInfos.getSignInLongitudeLatitude(),
-					school.getLongitudeLatitude());
-			if(distance>attendanceRange){
-				isInScore=false;
+		if(Objects.nonNull(school)){
+			if(StringUtils.isBlank(school.getLongitudeLatitude())){
+				if(studentAttendanceInfos.getUpdate().equals(YesOrNoEnum.YES.getCode())){
+					school.setLongitudeLatitude(studentAttendanceInfos.getSignInLongitudeLatitude());
+					schoolDao.update(school);
+				}
+			}else{
+				SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
+				double attendanceRange = Double.valueOf(sysConfig.getParanValue());
+				double distance = MapUtil.distance(studentAttendanceInfos.getSignInLongitudeLatitude(),
+						school.getLongitudeLatitude());
+				if(distance>attendanceRange){
+					isInScore=false;
+				}
 			}
 		}
 

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1002,6 +1002,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("该课程已结束报名!");
 		}
 
+		if(Objects.nonNull(vipGroup.getStudentIdList())){
+			Set<Integer> userIds = Arrays.asList(vipGroup.getStudentIdList().split(",")).stream().mapToInt(Integer::parseInt).boxed().collect(Collectors.toSet());
+			if(!userIds.contains(user.getId())){
+				throw new BizException("您无法购买此课程");
+			}
+		}
+
 		StudentPaymentOrder oldOrder = studentPaymentOrderDao.findNotFailedOrderByStudentVipGroup(vipGroupBuyParams.getVipGroupId(),
 				user.getId());
 

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

@@ -17,6 +17,10 @@
         <result column="update_time_" property="updateTime"/>
     </resultMap>
 
+    <resultMap id="ClassGroupTeacherMapDto" type="com.ym.mec.biz.dal.dto.ClassGroupTeacherMapDto" extends="ClassGroupTeacherMapper">
+        <result column="username_" property="userName"/>
+    </resultMap>
+
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="ClassGroupTeacherMapper">
         SELECT *
@@ -153,6 +157,18 @@
     <select id="findByClassGroup" resultMap="ClassGroupTeacherMapper">
         SELECT * FROM class_group_teacher_mapper WHERE class_group_id_=#{classGroupId}
     </select>
+    <select id="findByClassGroupIds" resultMap="ClassGroupTeacherMapDto">
+        SELECT
+            cgtm.*,
+            su.real_name_ username_
+        FROM
+            class_group_teacher_mapper cgtm
+            LEFT JOIN sys_user su ON cgtm.user_id_ = su.id_
+        WHERE cgtm.class_group_id_ IN
+        <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
+            #{classGroupId}
+        </foreach>
+    </select>
 
     <!-- 删除对应班级老师关联关系 -->
     <delete id="delClassGroupTeacherMapper">

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1894,7 +1894,8 @@
             cs.actual_teacher_id_,
             cs.teach_mode_,
             cs.type_,
-            cs.schoole_id_
+            cs.schoole_id_,
+            cg.name_ class_group_name_
         FROM
           course_schedule cs
           LEFT JOIN class_group cg ON cg.id_=cs.class_group_id_