浏览代码

Merge branch 'zx_saas_qrLogin' of http://git.dayaedu.com/yonge/mec into test

zouxuan 1 年之前
父节点
当前提交
a491251c11

+ 2 - 2
mec-application/src/main/java/com/ym/mec/student/controller/SmsCodeController.java

@@ -34,13 +34,13 @@ public class SmsCodeController extends BaseController {
     @Autowired
     private RedissonClient redissonClient;
 
-    @ApiOperation(value = "发送登录短信验证码")
+    /*@ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String")
     @PostMapping(value = "/sendSms")
     public Object sendLoginVerifyCode(String mobile) throws Exception {
         smsCodeService.sendValidCode(mobile);
         return succeed();
-    }
+    }*/
 
     @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),

+ 2 - 2
mec-application/src/main/java/com/ym/mec/teacher/controller/SmsCodeController.java

@@ -34,13 +34,13 @@ public class SmsCodeController extends BaseController {
     @Autowired
     private RedissonClient redissonClient;
 
-    @ApiOperation(value = "发送登录短信验证码")
+    /*@ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String")
     @PostMapping(value = "/sendSms")
     public Object sendLoginVerifyCode(String mobile) throws Exception {
         smsCodeService.sendValidCode(mobile);
         return succeed();
-    }
+    }*/
 
     @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),

+ 2 - 2
mec-application/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -98,8 +98,8 @@ public class TeacherCourseScheduleController extends BaseController {
 
     @ApiOperation(value = "获取最近的一节课")
     @PostMapping("/getRecentCourseSchedule")
-    public HttpResponseResult<CourseScheduleDto> getRecentCourseSchedule(){
-        return succeed(scheduleService.getRecentCourseSchedule(sysUserService.getUserId()));
+    public HttpResponseResult<CourseScheduleDto> getRecentCourseSchedule(Long courseId){
+        return succeed(scheduleService.getRecentCourseSchedule(sysUserService.getUserId(),courseId));
     }
 
     @ApiOperation(value = "根据月份获取该月历史有课的日期")

+ 2 - 2
mec-application/src/main/java/com/ym/mec/web/controller/SmsCodeController.java

@@ -34,13 +34,13 @@ public class SmsCodeController extends BaseController {
     @Autowired
     private RedissonClient redissonClient;
 
-    @ApiOperation(value = "发送登录短信验证码")
+    /*@ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String")
     @PostMapping(value = "/sendSms")
     public Object sendLoginVerifyCode(String mobile) throws Exception {
         smsCodeService.sendValidCode(mobile);
         return succeed();
-    }
+    }*/
 
     @ApiOperation(value = "发送登录短信验证码")
     @ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),

+ 4 - 0
mec-application/src/main/resources/exportColumnMapper.ini

@@ -365,3 +365,7 @@ fieldColumns = ["organName","studentId","studentName","createTime","time","amoun
 [乐团梯队数据导出]
 headColumns = ["乐团","长笛","单簧管","萨克斯","小号","圆号","长号","上低音号","大号","小军鼓","合计"]
 fieldColumns = ["musicGroupName","flute","clarinet","saxophone","trumpet","horn","trombone","euphonium","tuba","snareDrum","total"]
+
+[云教练待激活明细]
+headColumns = ["分部","学员编号","学员姓名","手机号","学员声部","云教练类型","数量","缴费金额(元)","状态","取消原因","操作人","操作时间","获得资格时间"]
+fieldColumns = ["organName","studentId","name","phone","subjectName","type.msg","time","amount","status == 1 ? '待激活':'已取消'","cancelReason","operatorName","operateTime","createTime"]

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/TokenController.java

@@ -261,7 +261,7 @@ public class TokenController extends BaseController {
 		return succeed("退出成功");
 	}
 
-	@GetMapping(value = "/checkToken",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+	@GetMapping(value = "/checkToken")
 	@ApiOperation(value = "检查token")
 	public HttpResponseResult<Object> checkToken(HttpServletRequest request) throws IOException {
 

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -2093,5 +2093,5 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     void configCourseware(@Param("courseId") Long courseId, @Param("coursewareDetailId") String coursewareDetailId);
 
     //获取最近的一节线下课
-    CourseScheduleDto getRecentCourseSchedule(@Param("userId") Integer userId);
+    CourseScheduleDto getRecentCourseSchedule(@Param("userId") Integer userId, @Param("courseId") Long courseId);
 }

+ 10 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.dal.dto;
 
-import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.*;
 import io.swagger.annotations.ApiModelProperty;
@@ -110,6 +109,16 @@ public class TeacherAttendanceDto {
 
     @ApiModelProperty(value = "课程规划")
     private String coursePlan;
+    @ApiModelProperty(value = "关联课件编号")
+    private String coursewareDetailId;
+
+    public String getCoursewareDetailId() {
+        return coursewareDetailId;
+    }
+
+    public void setCoursewareDetailId(String coursewareDetailId) {
+        this.coursewareDetailId = coursewareDetailId;
+    }
 
     public TeachModeEnum getTeachMode() {
         return teachMode;

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

@@ -171,7 +171,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	/**
 	 * 获取最近的一节课
 	 */
-	CourseScheduleDto getRecentCourseSchedule(Integer userId);
+	CourseScheduleDto getRecentCourseSchedule(Integer userId,Long courseId);
 
 	/**
 	 * @describe 根据日期获取

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

@@ -1346,8 +1346,26 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     }
 
 	@Override
-	public CourseScheduleDto getRecentCourseSchedule(Integer userId) {
-		return courseScheduleDao.getRecentCourseSchedule(userId);
+	public CourseScheduleDto getRecentCourseSchedule(Integer userId,Long courseId) {
+		CourseScheduleDto courseSchedule = courseScheduleDao.getRecentCourseSchedule(userId,courseId);
+		if(Objects.nonNull(courseSchedule)){
+			if (Objects.nonNull(courseSchedule.getClassGroupId())) {
+				List<StudentNameAndPhoneDto> courseStudentNameAndPhone = classGroupStudentMapperDao.findCourseStudentNameAndPhone(courseSchedule.getId().intValue());
+				if(!CollectionUtils.isEmpty(courseStudentNameAndPhone)){
+					List<String> studentNames = courseStudentNameAndPhone.stream().filter(s->Objects.nonNull(s)&&Objects.nonNull(s.getUserName())).map(StudentNameAndPhoneDto::getUserName).collect(Collectors.toList());
+					courseSchedule.setStudentNames(StringUtils.join(studentNames, ","));
+//					courseSchedule.setStudents(courseStudentNameAndPhone);
+				}
+			}
+			Map<Integer, Long> studentNumCourseMap = MapUtil.convertIntegerMap(studentAttendanceDao.countStudentAttendancesByCourses(Collections.singletonList(courseSchedule.getId())));
+			Long studentNum = studentNumCourseMap.get(courseSchedule.getId());
+			if (Objects.nonNull(studentNum)) {
+				courseSchedule.setIsCallNames(studentNum > 0 ? YesOrNoEnum.YES : YesOrNoEnum.NO);
+			} else {
+				courseSchedule.setIsCallNames(YesOrNoEnum.NO);
+			}
+		}
+		return courseSchedule;
 	}
 
 	// 数据整理
@@ -1923,6 +1941,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		//合并新课程和已存在的课程
 		List<CourseSchedule> allCourseSchedules;
 		if (!CollectionUtils.isEmpty(existCourseSchedules)) {
+			//如果是直播课,那么只校验同一个课程组的课程
+			CourseSchedule courseSchedule = courseSchedules.get(0);
+			if(courseSchedule.getType() == CourseScheduleType.LIVE){
+				existCourseSchedules = existCourseSchedules.stream().
+						filter(e -> e.getMusicGroupId().equals(courseSchedule.getMusicGroupId())).collect(Collectors.toList());
+			}
 			allCourseSchedules = ListUtils.sum(courseSchedules, existCourseSchedules);
 		} else {
 			allCourseSchedules = courseSchedules;

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

@@ -2090,8 +2090,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             incomeDto.setCloudCoachIncome(incomeDto.getCloudCoachIncome().add(groupCloudAmount.getOrDefault(organId,BigDecimal.ZERO)));
             incomeDto.setSaleCloudCoachIncome(incomeDto.getSaleCloudCoachIncome().add(personalCloudAmount.getOrDefault(organId,BigDecimal.ZERO)));
             //服务收入
-            incomeDto.setServiceIncome(incomeDto.getLargeInstruments()
-                    .add(incomeDto.getStudentGuidanceIncome())
+            incomeDto.setServiceIncome(incomeDto.getStudentGuidanceIncome()
                     .add(incomeDto.getCoursePurchaseIncome())
                     .add(incomeDto.getExamIncome())
                     .add(incomeDto.getMaintenanceCost())

+ 9 - 3
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -492,6 +492,7 @@
         <result column="total_class_times_" property="totalClassTimes"/>
         <result column="current_class_times_" property="currentClassTimes"/>
         <result column="student_num_" property="studentNum"/>
+        <result column="courseware_detail_id_" property="coursewareDetailId"/>
     </resultMap>
 
     <select id="getCurrentCourseDetail"
@@ -516,7 +517,8 @@
                s.longitude_latitude_,
                su.real_name_                                     teacher_name_,
                ta.sign_in_time_,
-               cs.teach_mode_
+               cs.teach_mode_,
+               cs.courseware_detail_id_
         FROM course_schedule cs
                  LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
                  LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
@@ -777,9 +779,13 @@
         LEFT JOIN school s ON cs.schoole_id_ = s.id_
         LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_ AND ta.teacher_id_=#{userId}
         WHERE cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND cs.merge_flag_ = 0
-        AND cs.class_date_ &lt;= DATE_FORMAT(NOW(),'%Y%m%d')
+        AND cs.class_date_ >= DATE_FORMAT(NOW(),'%Y%m%d')
         AND cs.status_ IN ('NOT_START','UNDERWAY')
-        AND csts.user_id_ = #{userId} AND cs.pre_course_flag_ != 1 LIMIT 1
+        AND csts.user_id_ = #{userId} AND cs.pre_course_flag_ != 1
+        <if test="courseId != null">
+            AND cs.id_ = #{courseId}
+        </if>
+        ORDER BY cs.class_date_,cs.start_class_time_ LIMIT 1
     </select>
 
     <select id="getTeacherCourseSchedulesWithDate" resultMap="courseScheduleDto">

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

@@ -138,7 +138,7 @@
     </select>
     <sql id="queryPageSql">
         <where>
-        	mgq.tenant_id_ = #{tenantId} AND (mgq.school_staff_audit_status_ IS NULL OR mgq.school_staff_audit_status_ = 'PASS')
+        	mgq.tenant_id_ = #{tenantId}
             <if test="ids != null and ids != ''">
                 AND FIND_IN_SET(mgq.id_,#{ids})
             </if>