Explorar o código

直播人员可以选管理

liujunchi %!s(int64=2) %!d(string=hai) anos
pai
achega
667741fef3

+ 4 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/enums/SysUserType.java

@@ -1,5 +1,6 @@
 package com.ym.mec.auth.api.enums;
 
+import com.baomidou.mybatisplus.annotation.EnumValue;
 import org.apache.commons.lang3.StringUtils;
 
 import com.ym.mec.common.enums.BaseEnum;
@@ -10,6 +11,9 @@ public enum SysUserType implements BaseEnum<String, SysUserType> {
 
 	private String desc;
 
+	@EnumValue
+	private String code;
+
 	private SysUserType(String desc) {
 	}
 

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ImLiveBroadcastRoomDto.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.auth.api.enums.SysUserType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -27,6 +28,9 @@ public class ImLiveBroadcastRoomDto implements Serializable {
     @ApiModelProperty(value = "主讲人id/老师id")
     private Integer speakerId;
 
+    @ApiModelProperty("用户类型 TEACHER 老师 EDUCATION 教务端")
+    private SysUserType clientType;
+
     @Size(max = 12, message = "房间标题最多12个字!")
     @NotBlank(message = "房间标题不能为空")
     @ApiModelProperty(value = "房间标题/最多12个字")
@@ -117,6 +121,14 @@ public class ImLiveBroadcastRoomDto implements Serializable {
         }
     }
 
+    public SysUserType getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(SysUserType clientType) {
+        this.clientType = clientType;
+    }
+
     public Integer getId() {
         return id;
     }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImLiveBroadcastRoom.java

@@ -4,6 +4,7 @@ import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.ym.mec.auth.api.enums.SysUserType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -34,6 +35,11 @@ public class ImLiveBroadcastRoom implements Serializable {
     @ApiModelProperty(value = "主讲人id/老师id")
     private Integer speakerId;
 
+
+    @TableField("client_type_")
+    @ApiModelProperty("用户类型 TEACHER 老师 EDUCATION 教务端")
+    private SysUserType clientType;
+
     @TableField("room_uid_")
     @ApiModelProperty(value = "房间编号")
     private String roomUid;
@@ -120,6 +126,14 @@ public class ImLiveBroadcastRoom implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    public SysUserType getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(SysUserType clientType) {
+        this.clientType = clientType;
+    }
+
     public String getServiceProvider() {
         return serviceProvider;
     }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/vo/ImLiveBroadcastRoomVo.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.vo;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.microsvc.toolkit.middleware.live.message.LiveRoomConfig;
+import com.ym.mec.auth.api.enums.SysUserType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -41,6 +42,9 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     @ApiModelProperty(value = "主讲人id/老师id")
     private Integer speakerId;
 
+    @ApiModelProperty("用户类型 TEACHER 老师 EDUCATION 教务端")
+    private SysUserType clientType;
+
     @ApiModelProperty(value = "主讲人名称")
     private String speakerName;
 
@@ -119,6 +123,14 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     @ApiModelProperty(value = "禁言状态: 0 取消;1禁言")
     private Integer banStatus;
 
+    public SysUserType getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(SysUserType clientType) {
+        this.clientType = clientType;
+    }
+
     public String getServiceProvider() {
         return serviceProvider;
     }

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

@@ -16,6 +16,7 @@ import com.microsvc.toolkit.middleware.live.message.RTCRequest;
 import com.microsvc.toolkit.middleware.live.message.RTCRoom;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.biz.dal.dao.ImLiveBroadcastRoomDao;
 import com.ym.mec.biz.dal.dao.ImLiveBroadcastRoomMemberDao;
 import com.ym.mec.biz.dal.dao.LiveGoodsMapperDao;
@@ -280,6 +281,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         String os = WrapperUtil.toStr(param, "os");
         if (StringUtils.isNotBlank(os) && os.equals("teacher")) {
             param.put("speakerId", getSysUser().getId());
+            param.put("clientType", SysUserType.TEACHER.getCode());
         }
         Page<ImLiveBroadcastRoomVo> pageInfo = PageUtil.concatTimePage(param, "startTime", "endTime");
         pageInfo.setDesc("a.created_time_");
@@ -1440,7 +1442,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         List<ImLiveBroadcastRoom> list = this.list(new WrapperUtil<ImLiveBroadcastRoom>()
                 .hasEq("live_state_", 0)
                 .hasEq("room_state_", 0)
-                .hasGe("live_start_time_", now)
+                // .hasGe("live_start_time_", now)
                 .hasLe("live_start_time_", endTime)
                 .queryWrapper());
         if (CollectionUtils.isEmpty(list)) {
@@ -1535,12 +1537,17 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
      *             <P>/#/liveRoomList 直播中
      */
     private void sendRoomLiveState(SysUser user, ImLiveBroadcastRoom room, MessageTypeEnum en) {
-        String teacherBaseUrl = sysConfigDao.findConfigValue(SysConfigService.TEACHER_BASE_URL);
-        if (StringUtils.isBlank(teacherBaseUrl)) {
+        String baseUrl;
+        if (room.getClientType().equals(SysUserType.EDUCATION)) {
+            baseUrl=sysConfigDao.findConfigValue(SysConfigService.EDU_TEACHER_BASE_URL);
+        } else {
+            baseUrl=sysConfigDao.findConfigValue(SysConfigService.TEACHER_BASE_URL);
+        }
+        if (StringUtils.isBlank(baseUrl)) {
             log.error("sendRoomState error: teacherBaseUrl is null");
             return;
         }
-        teacherBaseUrl = "13?" + teacherBaseUrl;
+        baseUrl = "13?" + baseUrl;
         Map<Integer, String> pushMap = new HashMap<>();
         pushMap.put(user.getId(), user.getId().toString());
         String memo;
@@ -1550,12 +1557,12 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
             //创建直播间
             if (en.equals(MessageTypeEnum.JIGUANG_LIVE_CREATED)) {
                 //创建直播间-发送消息-跳到未开始页面
-                memo = teacherBaseUrl + "/#/liveRoomList?t=0";
+                memo = baseUrl + "/#/liveRoomList?t=0";
                 SysUser createUser = getSysUser(room.getCreatedBy());
                 objs = new Object[]{createUser.getUsername(), liveDateStr, room.getLiveRemark()};
             } else if (en.equals(MessageTypeEnum.JIGUANG_LIVE_STARTED)) {
                 //直播开始-发送消息-跳到直播中页面
-                memo = teacherBaseUrl + "/#/liveRoomList";
+                memo = baseUrl + "/#/liveRoomList";
                 objs = new Object[]{liveDateStr, room.getRoomTitle()};
             } else {
                 log.error("sendRoomState error: MessageTypeEnum error " + en);

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

@@ -47,6 +47,7 @@
         a.room_title_ AS roomTitle,
         a.live_remark_ AS liveRemark,
         a.speaker_id_ AS speakerId,
+        a.client_type_ as clientType,
         b.real_name_ AS speakerName,
         b.im_token_ as imToken,
         b.avatar_ AS speakerPic,
@@ -99,6 +100,9 @@
             <if test="param.serviceProvider != null and param.serviceProvider != ''">
                 and  a.service_provider_ = #{param.serviceProvider}
             </if>
+            <if test="param.clientType != null and param.clientType != ''">
+                and  a.client_type_ = #{param.clientType}
+            </if>
         </where>
     </select>
 

+ 4 - 1
mec-web/pom.xml

@@ -70,7 +70,10 @@
 			<groupId>com.yonge.datasource</groupId>
 			<artifactId>dynamic-datasource</artifactId>
 		</dependency>
-
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+		</dependency>
 	</dependencies>
 	<build>
 		<plugins>

+ 1 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ImLiveBroadcastRoomController.java

@@ -59,6 +59,7 @@ public class ImLiveBroadcastRoomController extends BaseController {
             @ApiImplicitParam(name = "startTime", dataType = "String", value = "开始时间"),
             @ApiImplicitParam(name = "endTime", dataType = "String", value = "结束时间"),
             @ApiImplicitParam(name = "popularize", dataType = "Integer", value = "是否在首页推广 0否 1是"),
+            @ApiImplicitParam(name = "clientType", dataType = "String", value = "用户类型 TEACHER 老师 EDUCATION 教务端"),
             @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
             @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
     })