liujunchi před 2 roky
rodič
revize
93905665de

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -1249,6 +1249,18 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
             log.info("opsRoom>>>> joinRoom error roomUid: {}", roomUid);
             return;
         }
+
+        // 判断用户机构是否有权限进入该直播间
+        SysUser sysUser = sysUserFeignService.queryUserById(userId);
+        if (Objects.isNull(sysUser)) {
+            log.info("opsRoom>>>> joinRoom user null error userId: {}", userId);
+            return;
+        }
+        if (!sysUser.getTenantId().equals(imLiveBroadcastRoomVo.getTenantId())) {
+            log.info("opsRoom>>>> joinRoom error tenant diff userId: {}, tenantId: {}", userId, sysUser.getTenantId());
+            return;
+        }
+
         //记录用户当前房间uid
         redissonClient.getBucket(LIVE_USER_ROOM.replace(USER_ID, userId.toString())).set(roomUid, 12L, TimeUnit.HOURS);
         //房间累计用户信息-指只要进入到该房间的用户都要记录
@@ -1947,6 +1959,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         imLiveBroadcastRoom.setSpeakerStatus(liveRoom.getSpeakerStatus());
         imLiveBroadcastRoom.setPushStatus(liveRoom.getPushStatus());
         imLiveBroadcastRoom.setBanStatus(liveRoom.getBanStatus());
+        whetherChat(room.getId(), liveRoom.getBanStatus());
         // 不用前端传时间
         // imLiveBroadcastRoom.setLiveTotalTime(liveRoom.getLiveTotalTime());
 

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -381,6 +381,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
                 filter(e -> Arrays.stream(e.getOrganId().split(",")).collect(Collectors.toList()).contains(sysUser.getOrganId().toString())).collect(Collectors.toList());
         if(CollectionUtils.isEmpty(activityDtos)){
             succeed.setMsg("当前分部暂未开通活动");
+            succeed.setData(2);
             return succeed;
         }
         if(memberPayParamDto.getLiveGoodsId() == 1 || memberPayParamDto.getLiveGoodsId() == 5){

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

@@ -74,6 +74,7 @@
                 AND (
                 a.`id_` LIKE CONCAT('%', #{param.search},'%')
                 OR a.`room_title_` LIKE CONCAT('%', #{param.search},'%')
+                OR a.`live_remark_` LIKE CONCAT('%', #{param.search},'%')
                 )
             </if>
             <if test="param.tenantId != null ">

+ 15 - 0
mec-im/src/main/java/com/ym/controller/UserController.java

@@ -25,6 +25,8 @@ import javax.servlet.http.HttpServletRequest;
 import java.util.Arrays;
 import java.util.List;
 
+import static com.ym.mec.common.controller.BaseController.succeed;
+
 @RestController
 @RequestMapping("/user")
 public class UserController {
@@ -61,6 +63,19 @@ public class UserController {
     }
 
 
+
+    /**
+     * 监听融云用户状态变更
+     *
+     * @param userState List<ImUserState>
+     */
+    @PostMapping(value = "/update/statusImUser")
+    public Object updateStatusImUser(@RequestBody List<ImUserState> userState) {
+        log.info("statusImUser >>>>> : {}", JSONObject.toJSONString(userState));
+        imLiveBroadcastRoomService.opsRoom(userState);
+        return succeed();
+    }
+
     @ApiOperation("腾讯im 回调接口")
     @PostMapping(value = "/tencentImCallback")
     public TencentImCallbackResult tencentImCallback(@RequestBody String body, HttpServletRequest request) {

+ 4 - 0
mec-teacher/pom.xml

@@ -65,6 +65,10 @@
 			<artifactId>easy-captcha</artifactId>
 			<version>1.6.2</version>
 		</dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
     </dependencies>
 	<build>
 		<plugins>