zouxuan 5 年 前
コミット
3b53881008

+ 5 - 24
mec-auth/mec-auth-server/src/main/resources/logback-spring.xml

@@ -27,29 +27,10 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.ym.mec" level="INFO" />
-
-	<!--开发环境:打印控制台 -->
-	<springProfile name="dev">
-		<root level="INFO">
-			<appender-ref ref="stdout" />
-			<appender-ref ref="file" />
-		</root>
-	</springProfile>
-	
-	<springProfile name="test">
-		<root level="INFO">
-			<appender-ref ref="stdout" />
-			<appender-ref ref="file" />
-		</root>
-	</springProfile>
-
-	<!--生产环境:输出到文件 -->
-	<springProfile name="prod">
-		<root level="WARN">
-			<appender-ref ref="stdout" />
-			<appender-ref ref="file" />
-		</root>
-	</springProfile>
+	<logger name="com.ym.mec" level="DEBUG" />
+	<root level="DEBUG">
+		<appender-ref ref="stdout" />
+		<appender-ref ref="file" />
+	</root>
 
 </configuration>

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -306,4 +306,12 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
      */
     List<Map<String, BigDecimal>> findGroupCoursesUnitPrice(@Param("groupType") GroupType groupType,
                                                             @Param("groupIds") List<String> groupIds);
+
+    /**
+     * 获取未进入教室的学员列表
+     * @param roomId
+     * @param courseScheduleId
+     * @return
+     */
+    List<RongyunBasicUserDto> queryNoJoinStu(@Param("roomId") String roomId, @Param("courseScheduleId") String courseScheduleId);
 }

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/RongyunBasicUserDto.java

@@ -0,0 +1,33 @@
+package com.ym.mec.biz.dal.dto;
+
+public class RongyunBasicUserDto {
+    private Integer userId;
+
+    private String userName;
+
+    private String headUrl;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getHeadUrl() {
+        return headUrl;
+    }
+
+    public void setHeadUrl(String headUrl) {
+        this.headUrl = headUrl;
+    }
+}

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -480,4 +480,17 @@
 		GROUP BY
 			music_group_id_;
 	</select>
+    <resultMap id="RongyunBasicUserDto" type="com.ym.mec.biz.dal.dto.RongyunBasicUserDto">
+        <result property="userName" column="username_"/>
+        <result property="userId" column="user_id_"/>
+        <result property="headUrl" column="avatar_"/>
+    </resultMap>
+    <select id="queryNoJoinStu" resultMap="RongyunBasicUserDto">
+		SELECT CASE WHEN su.username_ IS NULL THEN su.real_name_ ELSE su.username_ END username_,
+		su.avatar_,cssp.user_id_
+		FROM course_schedule_student_payment cssp
+		LEFT JOIN sys_user su ON su.id_ = cssp.user_id_
+		WHERE cssp.course_schedule_id_ = #{courseScheduleId}
+		AND NOT EXISTS (SELECT * FROM rongyun_room_member rrm WHERE rrm.rid = #{roomId} AND rrm.uid = cssp.user_id_)
+	</select>
 </mapper>

+ 7 - 3
mec-im/src/main/java/com/ym/controller/RoomController.java

@@ -5,12 +5,9 @@ import com.ym.common.ApiException;
 import com.ym.common.BaseResponse;
 import com.ym.common.ErrorEnum;
 import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.common.exception.BizException;
 import com.ym.pojo.*;
 import com.ym.service.MessageService;
 import com.ym.service.RoomService;
-import io.rong.models.message.GroupMessage;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -38,6 +35,11 @@ public class RoomController{
         return new BaseResponse<>(roomResult);
     }
 
+    @RequestMapping(value = "/queryNoJoinStu", method = RequestMethod.GET)
+    public Object queryNoJoinStu(String roomId){
+        return new BaseResponse<>(roomService.queryNoJoinStu(roomId));
+    }
+
     @RequestMapping(value = "/signIn", method = RequestMethod.POST)
     public Object signIn(Long roomId){
         roomService.signIn(roomId);
@@ -172,6 +174,8 @@ public class RoomController{
             result = roomService.syncDeviceState(data.getRoomId(), DeviceTypeEnum.Microphone, data.getMicrophoneOn());
         } else if (data.getMusicModeOn() != null) {
             result = roomService.syncDeviceState(data.getRoomId(), DeviceTypeEnum.MusicMode, data.getMusicModeOn());
+        }  else if (data.getHandUpOn() != null) {
+            result = roomService.syncDeviceState(data.getRoomId(), DeviceTypeEnum.HandUp, data.getHandUpOn());
         } else {
             throw new ApiException(ErrorEnum.ERR_REQUEST_PARA_ERR);
         }

+ 2 - 2
mec-im/src/main/java/com/ym/dao/RoomMemberDao.java

@@ -64,8 +64,8 @@ public interface RoomMemberDao extends JpaRepository<RoomMember, Long> {
 
     @Transactional
     @Modifying
-    @Query(value = "update rongyun_room_member set mic=?3 where rid=?1 and uid=?2", nativeQuery = true)
-    public int updateHandByRidAndUid(String rid, String uid, boolean mic);
+    @Query(value = "update rongyun_room_member set hand=?3 where rid=?1 and uid=?2", nativeQuery = true)
+    public int updateHandByRidAndUid(String rid, String uid, boolean hand);
 
     @Transactional
     @Modifying

+ 1 - 0
mec-im/src/main/java/com/ym/pojo/RoomMember.java

@@ -18,6 +18,7 @@ public class RoomMember {
 
     private @Getter @Setter String uid;
     private @Getter @Setter String rid;
+    private @Getter @Setter String headUrl;
     private @Getter @Setter int role;
     private @Getter @Setter Date joinDt;
     private @Getter @Setter String name;

+ 2 - 0
mec-im/src/main/java/com/ym/pojo/RoomResult.java

@@ -28,6 +28,7 @@ public class RoomResult {
     public static class MemberResult {
         String userId;
         String userName;
+        String headUrl;
         int role;
         Date joinTime;
         boolean camera;
@@ -53,6 +54,7 @@ public class RoomResult {
             result.setCamera(member.isCamera());
             result.setUserName(member.getName());
             result.setHandUp(member.isHand());
+            result.setHeadUrl(member.getHeadUrl());
             result.setPlayMidiJson(JSONObject.parseObject(midiMap.get(Integer.parseInt(member.getUid())),CustomMessage.class));
             members.add(result);
         }

+ 13 - 5
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -14,6 +14,8 @@ import com.ym.job.ScheduleManager;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.RongyunBasicUserDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.StudentAttendance;
 import com.ym.mec.biz.dal.entity.Teacher;
@@ -185,7 +187,7 @@ public class RoomServiceImpl implements RoomService {
             }else {
                 roleEnum = RoleEnum.RoleStudent;
             }
-            saveRoomMember(userId, userName, roomId, roleEnum.getValue(), !isDisableCamera,!isMusicMode, curTime);
+            saveRoomMember(userId,sysUser.getAvatar(), userName, roomId, roleEnum.getValue(), !isDisableCamera,!isMusicMode, curTime);
             IMApiResultInfo resultInfo = imHelper.joinGroup(new String[]{userId}, roomId, roomId);
             if (!resultInfo.isSuccess()) {
                 throw new ApiException(ErrorEnum.ERR_CREATE_ROOM_ERROR, resultInfo.getErrorMessage());
@@ -355,7 +357,7 @@ public class RoomServiceImpl implements RoomService {
         }
     }
 
-    private void saveRoomMember(String userId, String userName, String roomId, int role, boolean cameraOn,boolean musicModeOn, Date joinTime) {
+    private void saveRoomMember(String userId, String headUrl, String userName, String roomId, int role, boolean cameraOn,boolean musicModeOn, Date joinTime) {
         RoomMember roomMember = new RoomMember();
         roomMember.setUid(userId);
         roomMember.setName(userName);
@@ -364,6 +366,7 @@ public class RoomServiceImpl implements RoomService {
         roomMember.setCamera(cameraOn);
         roomMember.setJoinDt(joinTime);
         roomMember.setMusicMode(musicModeOn);
+        roomMember.setHeadUrl(headUrl);
         roomMemberDao.save(roomMember);
     }
 
@@ -785,9 +788,6 @@ public class RoomServiceImpl implements RoomService {
             msg.setType(taskInfo.getTypeEnum().ordinal());
             msg.setOpUserId(authUser.getId().toString());
             msg.setOpUserName(authUser.getUsername());
-            if (typeEnum.equals(DeviceTypeEnum.HandUp)){
-                userId = authUser.getId().toString();
-            }
             imHelper.publishMessage(authUser.getId().toString(), userId, roomId, msg);
         } else {
             if (typeEnum.equals(DeviceTypeEnum.Camera)) {
@@ -901,6 +901,9 @@ public class RoomServiceImpl implements RoomService {
         } else if (type.equals(DeviceTypeEnum.Microphone)){
             result = roomMemberDao.updateMicByRidAndUid(roomId, userId, enable);
             deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable);
+        } else if (type.equals(DeviceTypeEnum.HandUp)){
+            result = roomMemberDao.updateHandByRidAndUid(roomId, userId, enable);
+            deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable);
         }else {
             result = roomMemberDao.updateMusicByRidAndUid(roomId, userId, enable);
             deviceResourceMessage = new DeviceStateChangedMessage(type.ordinal(), enable);
@@ -1436,6 +1439,11 @@ public class RoomServiceImpl implements RoomService {
         }*/
     }
 
+    @Override
+    public List<RongyunBasicUserDto> queryNoJoinStu(String roomId) {
+        return courseScheduleStudentPaymentDao.queryNoJoinStu(roomId,roomId.substring(1));
+    }
+
     /*@Override
     public void sendImPlayMidiMessage(PlayMidiMessageData playMidiMessageData) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();

+ 8 - 0
mec-im/src/main/java/com/ym/service/RoomService.java

@@ -1,6 +1,8 @@
 package com.ym.service;
 
 import com.ym.common.ApiException;
+import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.RongyunBasicUserDto;
 import com.ym.pojo.*;
 
 import java.util.List;
@@ -74,6 +76,12 @@ public interface RoomService {
     void sendImPlayMidiMessage(PlayMidiMessageData playMidiMessageData) throws Exception;
 
     /**
+     * 获取未进入教室的学员列表
+     * @return
+     */
+    List<RongyunBasicUserDto> queryNoJoinStu(String roomId);
+
+    /**
      * 发送节拍器自定义消息
      */
 //    void sendImPlayMidiMessage(PlayMidiMessageData playMidiMessageData);