Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

周箭河 5 yıl önce
ebeveyn
işleme
8d4cec48a9

+ 9 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -6,11 +6,14 @@ import com.ym.mec.auth.service.SysUserRoleService;
 import com.ym.mec.auth.service.SysUserService;
 import com.ym.mec.auth.web.controller.queryInfo.SysUserQueryInfo;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.ImResult;
+import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.security.AuthUser;
 import com.ym.mec.common.security.SecurityConstants;
 import com.ym.mec.common.security.SecurityUtils;
 import com.ym.mec.common.service.IdGeneratorService;
+import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.date.DateUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -35,6 +38,8 @@ public class UserController extends BaseController {
 	@Autowired
 	private SysRoleService sysRoleService;
 	@Autowired
+	private ImFeignService imFeignService;
+	@Autowired
 	private SysUserRoleService sysUserRoleService;
 	@Autowired
 	private IdGeneratorService smsCodeService;
@@ -123,6 +128,10 @@ public class UserController extends BaseController {
 		}else {
 			sysUser.setUsername(username);
 		}
+		if(StringUtils.isEmpty(sysUser.getImToken())){
+			ImResult register = imFeignService.register(new ImUserModel(sysUser.getId().toString(), username, sysUser.getAvatar()));
+			sysUser.setImToken(register.getToken());
+		}
 		password = new BCryptPasswordEncoder().encode(password);
 		sysUser.setPassword(password);
 		sysUser.setUpdateTime(new Date());

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

@@ -1508,7 +1508,7 @@
         WHERE cs.id_ = #{courseScheduleId}
     </select>
     <select id="queryMusicGroupIds" resultMap="com.ym.mec.biz.dal.dao.GroupDao.Group">
-        SELECT DISTINCT cgsm.music_group_id_ id_,cgsm.group_type_ FROM class_group_student_mapper cgsm
+        SELECT DISTINCT cgsm.music_group_id_ group_id_,cgsm.group_type_ FROM class_group_student_mapper cgsm
         LEFT JOIN music_group mg ON mg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'MUSIC'
         LEFT JOIN vip_group vg ON vg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'VIP'
         LEFT JOIN practice_group pg ON pg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'PRACTICE'
@@ -1529,7 +1529,7 @@
           AND (mg.status_ = 'PROGRESS' OR vg.group_status_ = 2 OR vg.group_status_ = 4 OR pg.id_ IS NOT NULL)
     </select>
     <select id="queryMusicGroupIdsWithoutOverGroup" resultMap="com.ym.mec.biz.dal.dao.GroupDao.Group">
-        SELECT DISTINCT spo.music_group_id_ id_,cgsm.group_type_ FROM student_payment_order spo
+        SELECT DISTINCT spo.music_group_id_ group_id_,cgsm.group_type_ FROM student_payment_order spo
         LEFT JOIN class_group_student_mapper cgsm ON spo.music_group_id_ = cgsm.music_group_id_
         LEFT JOIN vip_group vg ON vg.id_=spo.music_group_id_ AND spo.group_type_='VIP'
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_

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

@@ -28,7 +28,7 @@
 				and teacher_id_ = #{teacherId}
 			</if>
 			<if test="title != null">
-				and title_ = #{title}
+				and title_ like '%' #{title} '%'
 			</if>
 			<if test="batchNo != null">
 				and batch_no_ = #{batchNo}

+ 11 - 5
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -394,9 +394,10 @@
         (SELECT pg.`student_id_` ,max(concat(cs.`class_date_`,' ',cs.`end_class_time_` )) lastClassDate
         FROM `practice_group` pg
         LEFT JOIN `course_schedule` cs on cs.`music_group_id_` = pg.`id_`
-        WHERE cs.`group_type_` = 'PRACTICE' AND pg.`buy_months_` IS NULL
+        WHERE cs.`group_type_` = 'PRACTICE' AND pg.`buy_months_` IS NULL AND pg.group_status_ != 'CANCEL'
         GROUP BY pg.`student_id_` ) a
-        left join (SELECT pg.`student_id_` ,min(pg.`create_time_`) firstBuyTime  FROM `practice_group` pg WHERE pg.`buy_months_` IS NOT NULL GROUP BY pg.`student_id_` ) b
+        left join (SELECT pg.`student_id_` ,min(pg.`create_time_`) firstBuyTime
+        FROM `practice_group` pg WHERE pg.`buy_months_` IS NOT NULL AND pg.group_status_ != 'CANCEL' GROUP BY pg.`student_id_` ) b
         on a.student_id_ = b.student_id_
         left join `sys_user` u on u.`id_` = a.student_id_
         <include refid="queryStudentBuysSql"/>
@@ -413,14 +414,16 @@
     </resultMap>
     <select id="queryStudentBuys" resultMap="queryStudentBuysMap">
         SELECT o.`name_` organ_name_,a.student_id_,u.`username_` student_name_,u.phone_,a.lastClassDate last_class_date_,
-        b.firstBuyTime first_buy_time_,DATEDIFF(b.firstBuyTime,a.lastClassDate) interval_day_,
+        b.firstBuyTime first_buy_time_,
+        CASE WHEN DATEDIFF(b.firstBuyTime,a.lastClassDate) &lt; 0 THEN 0 ELSE DATEDIFF(b.firstBuyTime,a.lastClassDate) END interval_day_,
         CASE WHEN b.firstBuyTime IS NULL THEN 0 ELSE 1 END buy_practice_ FROM
         (SELECT pg.`student_id_` ,max(concat(cs.`class_date_`,' ',cs.`end_class_time_` )) lastClassDate
         FROM `practice_group` pg
         LEFT JOIN `course_schedule` cs on cs.`music_group_id_` = pg.`id_`
-        WHERE cs.`group_type_` = 'PRACTICE' AND pg.`buy_months_` IS NULL
+        WHERE cs.`group_type_` = 'PRACTICE' AND pg.`buy_months_` IS NULL AND pg.group_status_ != 'CANCEL'
         GROUP BY pg.`student_id_` ) a
-        left join (SELECT pg.`student_id_` ,min(pg.`create_time_`) firstBuyTime  FROM `practice_group` pg WHERE pg.`buy_months_` IS NOT NULL GROUP BY pg.`student_id_` ) b
+        left join (SELECT pg.`student_id_` ,min(pg.`create_time_`) firstBuyTime
+        FROM `practice_group` pg WHERE pg.`buy_months_` IS NOT NULL AND pg.group_status_ != 'CANCEL' GROUP BY pg.`student_id_` ) b
         on a.student_id_ = b.student_id_
         left join `sys_user` u on u.`id_` = a.student_id_
         left join `organization` o on o.`id_` = u.`organ_id_`
@@ -438,6 +441,9 @@
             <if test="buyPractice != null and buyPractice == true">
                 AND b.firstBuyTime IS NOT NULL
             </if>
+            <if test="organId != null">
+                AND FIND_IN_SET(u.`organ_id_`,#{organId})
+            </if>
         </where>
     </sql>
 </mapper>

+ 11 - 21
mec-im/src/main/java/com/ym/controller/RoomController.java

@@ -4,17 +4,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.ym.common.ApiException;
 import com.ym.common.BaseResponse;
 import com.ym.common.ErrorEnum;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CoursesGroupDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CoursesGroup;
-import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.enums.SignStatusEnum;
-import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 import com.ym.pojo.*;
 import com.ym.service.RoomService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -25,13 +17,10 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/room")
+@Slf4j
 public class RoomController{
     @Autowired
     RoomService roomService;
-    @Autowired
-    private TeacherDao teacherDao;
-    @Autowired
-    private CourseScheduleDao courseScheduleDao;
 
     @RequestMapping(value = "/join", method = RequestMethod.POST)
     public Object joinRoom(@RequestBody ReqUserData data)
@@ -50,18 +39,19 @@ public class RoomController{
     @RequestMapping(value = "/statusSync")
     public Object statusSync(@RequestBody String body) throws Exception {
         ChannelStateNotify notify = JSONObject.parseObject(body, ChannelStateNotify.class);
+        log.info("statusSyncParam: {}",JSONObject.toJSON(notify));
         boolean result = false;
         if(notify.getEvent() == 12 || notify.getEvent() == 3){
             result = roomService.statusSync(notify.getChannelId(), notify.getUserId());
         }else if(notify.getEvent() == 11){
-            Teacher teacher = teacherDao.get(Integer.parseInt(notify.getUserId()));
-            Long roomId = Long.parseLong(notify.getChannelId().substring(1));
-            CourseSchedule courseSchedule = courseScheduleDao.get(roomId);
-            if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
-                roomService.joinRoom(teacher.getRealName(),roomId.toString(),false,false);
-            }else {
-                roomService.joinRoom(teacher.getUsername(),roomId.toString(),false,false);
-            }
+//            Teacher teacher = teacherDao.get(Integer.parseInt(notify.getUserId()));
+//            Long roomId = Long.parseLong(notify.getChannelId().substring(1));
+//            CourseSchedule courseSchedule = courseScheduleDao.get(roomId);
+//            if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
+//                roomService.joinRoom(teacher.getRealName(),roomId.toString(),false,false);
+//            }else {
+//                roomService.joinRoom(teacher.getUsername(),roomId.toString(),false,false);
+//            }
         }
         return new BaseResponse<>(result);
     }