Просмотр исходного кода

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

liujunchi 3 лет назад
Родитель
Сommit
0fad866a23
48 измененных файлов с 758 добавлено и 217 удалено
  1. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupDao.java
  2. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupMemberDao.java
  3. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupNoticeDao.java
  4. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImLiveBroadcastRoomDao.java
  5. 26 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImLiveRoomReservationDao.java
  6. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TempLittleArtistTrainingCampDto.java
  7. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupMember.java
  8. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupNotice.java
  9. 86 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImLiveRoomReservation.java
  10. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TempLittleArtistTrainingCamp.java
  11. 19 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/vo/ImLiveBroadcastRoomVo.java
  12. 7 7
      mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupMemberService.java
  13. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupNoticeService.java
  14. 8 5
      mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java
  15. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveBroadcastRoomService.java
  16. 36 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveRoomReservationService.java
  17. 14 14
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  18. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java
  19. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java
  20. 17 32
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CooperationOrganServiceImpl.java
  21. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  22. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java
  23. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  24. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/GroupClassServiceImpl.java
  25. 13 16
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java
  26. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupNoticeServiceImpl.java
  27. 26 21
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java
  28. 17 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java
  29. 96 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveRoomReservationServiceImpl.java
  30. 8 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  31. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/OnlineMusicGroupServiceImpl.java
  32. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  33. 9 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TempLittleArtistTrainingCampServiceImpl.java
  34. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TempLittleArtistTrainingCampUserRelationServiceImpl.java
  35. 21 21
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  36. 13 0
      mec-biz/src/main/resources/config/mybatis/ImLiveBroadcastRoomMapper.xml
  37. 61 0
      mec-biz/src/main/resources/config/mybatis/ImLiveRoomReservationMapper.xml
  38. 4 3
      mec-biz/src/main/resources/config/mybatis/TempLittleArtistTrainingCampMapper.xml
  39. 1 1
      mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java
  40. 11 13
      mec-student/src/main/java/com/ym/mec/student/controller/ImGroupController.java
  41. 71 0
      mec-student/src/main/java/com/ym/mec/student/controller/ImLiveRoomReservationController.java
  42. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ClassGroupController.java
  43. 14 17
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java
  44. 12 12
      mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java
  45. 7 1
      mec-web/src/main/java/com/ym/mec/web/controller/ImLiveBroadcastRoomController.java
  46. 70 0
      mec-web/src/main/java/com/ym/mec/web/controller/ImLiveRoomReservationController.java
  47. 2 2
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java
  48. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/ImGroupNoticeController.java

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupDao.java

@@ -7,9 +7,9 @@ import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
-public interface ImGroupDao extends BaseDAO<Long, ImGroup> {
+public interface ImGroupDao extends BaseDAO<String, ImGroup> {
 
-	ImGroup getLocked(Long imGroupId);
+	ImGroup getLocked(String imGroupId);
 
 	/**
 	 * 查询用户所在的群列表
@@ -25,9 +25,9 @@ public interface ImGroupDao extends BaseDAO<Long, ImGroup> {
 	 * @param imGroupId
 	 * @return
 	 */
-	List<ImGroupMemberDto> queryMemberById(Long imGroupId);
+	List<ImGroupMemberDto> queryMemberById(String imGroupId);
 
-	ImGroupMemberDto queryMember(@Param("imGroupId") Long imGroupId, @Param("userId") Integer userId);
+	ImGroupMemberDto queryMember(@Param("imGroupId") String imGroupId, @Param("userId") Integer userId);
 
     int updateNickname(@Param("userId") Integer userId, @Param("nickName") String nickName);
 

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

@@ -11,7 +11,7 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface ImGroupMemberDao extends BaseDAO<Long, ImGroupMember> {
 
-	int deleteByImGroupId(Long imGroupId);
+	int deleteByImGroupId(String imGroupId);
 
 	int batchDelete(List<ImGroupMember> imGroupMemberList);
 

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupNoticeDao.java

@@ -14,9 +14,9 @@ public interface ImGroupNoticeDao extends BaseDAO<Long, ImGroupNotice> {
 	 * @param imGroupId
 	 * @return
 	 */
-	ImGroupNoticeDto queryLatestNotice(Long imGroupId);
+	ImGroupNoticeDto queryLatestNotice(String imGroupId);
 	
 	List<ImGroupNoticeDto> queryForPage(Map<String, Object> params);
 	
-	int deleteByImGroupId(Long imGroupId);
+	int deleteByImGroupId(String imGroupId);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImLiveBroadcastRoomDao.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ym.mec.biz.dal.entity.ImLiveBroadcastRoom;
+import com.ym.mec.biz.dal.vo.BaseRoomUserVo;
 import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -26,5 +27,7 @@ public interface ImLiveBroadcastRoomDao extends BaseMapper<ImLiveBroadcastRoom>
 
     IPage<Map<Integer,Object>> queryUserPageByTenantId(Page<Map<Integer,Object>> page);
 
+    List<BaseRoomUserVo> queryBaseUserInfo(@Param("list") List<Integer> list);
+
 }
 

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImLiveRoomReservationDao.java

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ym.mec.biz.dal.entity.ImLiveRoomReservation;
+import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 直播预约记录(ImLiveRoomReservation)表数据库访问层
+ *
+ * @author hgw
+ * @since 2022-05-24 14:54:05
+ */
+public interface ImLiveRoomReservationDao extends BaseMapper<ImLiveRoomReservation> {
+
+    int insertBatch(@Param("entities") List<ImLiveRoomReservation> entities);
+
+    IPage<ImLiveBroadcastRoomVo> queryPageStudent(Page<ImLiveBroadcastRoomVo> page, @Param("param") Map<String, Object> param);
+
+}
+

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TempLittleArtistTrainingCampDto.java

@@ -43,6 +43,9 @@ public class TempLittleArtistTrainingCampDto implements Serializable {
     @ApiModelProperty(value = "训练结束日期")
     private Date trainEndDate;
 
+    @ApiModelProperty(value = "图片")
+    private String picUrl;
+
     public Integer getId() {
         return id;
     }
@@ -90,4 +93,12 @@ public class TempLittleArtistTrainingCampDto implements Serializable {
     public void setTrainEndDate(Date trainEndDate) {
         this.trainEndDate = trainEndDate;
     }
+
+    public String getPicUrl() {
+        return picUrl;
+    }
+
+    public void setPicUrl(String picUrl) {
+        this.picUrl = picUrl;
+    }
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupMember.java

@@ -13,7 +13,7 @@ public class ImGroupMember extends BaseEntity {
 	private Long id;
 	
 	/**  */
-	private Long imGroupId;
+	private String imGroupId;
 	
 	/**  */
 	private Integer userId;
@@ -70,11 +70,11 @@ public class ImGroupMember extends BaseEntity {
 		return this.id;
 	}
 			
-	public void setImGroupId(Long imGroupId){
+	public void setImGroupId(String imGroupId){
 		this.imGroupId = imGroupId;
 	}
 	
-	public Long getImGroupId(){
+	public String getImGroupId(){
 		return this.imGroupId;
 	}
 			

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImGroupNotice.java

@@ -13,7 +13,7 @@ public class ImGroupNotice extends BaseEntity {
 	private Long id;
 	
 	/**  */
-	private Long imGroupId;
+	private String imGroupId;
 	
 	/** 标题 */
 	private String title;
@@ -47,11 +47,11 @@ public class ImGroupNotice extends BaseEntity {
 		return this.id;
 	}
 			
-	public void setImGroupId(Long imGroupId){
+	public void setImGroupId(String imGroupId){
 		this.imGroupId = imGroupId;
 	}
 	
-	public Long getImGroupId(){
+	public String getImGroupId(){
 		return this.imGroupId;
 	}
 			

+ 86 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImLiveRoomReservation.java

@@ -0,0 +1,86 @@
+package com.ym.mec.biz.dal.entity;
+
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+
+/**
+ * 直播预约记录(ImLiveRoomReservation)表实体类
+ *
+ * @author hgw
+ * @since 2022-05-24 14:54:05
+ */
+@ApiModel(value = "im_live_room_reservation-直播预约记录")
+public class ImLiveRoomReservation implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+
+    @TableField("room_uid_")
+    @ApiModelProperty(value = "直播间uid")
+    private String roomUid;
+
+    @TableField("user_id_")
+    @ApiModelProperty(value = "预约的用户id")
+    private Integer userId;
+
+    @TableField("push_state_")
+    @ApiModelProperty(value = "未推送-1 推送状态 0推送完成 1推送失败")
+    private Integer pushState;
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    private static final long serialVersionUID = 1L;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getRoomUid() {
+        return roomUid;
+    }
+
+    public void setRoomUid(String roomUid) {
+        this.roomUid = roomUid;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public Integer getPushState() {
+        return pushState;
+    }
+
+    public void setPushState(Integer pushState) {
+        this.pushState = pushState;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+
+}
+

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TempLittleArtistTrainingCamp.java

@@ -66,6 +66,10 @@ public class TempLittleArtistTrainingCamp implements Serializable {
     @ApiModelProperty(value = "聊天群组id多个用逗号隔开")
     private String imGroupIds;
 
+    @TableField("pic_url_")
+    @ApiModelProperty(value = "图片")
+    private String picUrl;
+
     @TableField("del_flag_")
     @ApiModelProperty(value = "删除标识 0未删除 1已删除' ")
     private Integer delFlag;
@@ -86,6 +90,8 @@ public class TempLittleArtistTrainingCamp implements Serializable {
     @ApiModelProperty(value = "修改时间")
     private Date updateTime;
 
+    @TableField(exist = false)
+    private Integer userCount;
 
     public Integer getId() {
         return id;
@@ -165,6 +171,14 @@ public class TempLittleArtistTrainingCamp implements Serializable {
         this.imGroupIds = imGroupIds;
     }
 
+    public String getPicUrl() {
+        return picUrl;
+    }
+
+    public void setPicUrl(String picUrl) {
+        this.picUrl = picUrl;
+    }
+
     public Integer getDelFlag() {
         return delFlag;
     }
@@ -205,5 +219,12 @@ public class TempLittleArtistTrainingCamp implements Serializable {
         this.updateTime = updateTime;
     }
 
+    public Integer getUserCount() {
+        return userCount;
+    }
+
+    public void setUserCount(Integer userCount) {
+        this.userCount = userCount;
+    }
 }
 

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

@@ -74,6 +74,11 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     @ApiModelProperty(value = "是否在首页推广 0否 1是 - 每个机构只能有一个直播间在首页推广")
     private Integer popularize;
 
+    /**
+     * 是否预约过该直播间 0否 1是
+     */
+    private Integer reserve;
+
     @ApiModelProperty(value = "点赞数")
     private Integer likeNum;
     @ApiModelProperty(value = "当前观看人数")
@@ -256,5 +261,19 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     public void setPopularize(Integer popularize) {
         this.popularize = popularize;
     }
+
+    /**
+     * 是否预约过该直播间 0否 1是
+     */
+    public Integer getReserve() {
+        return reserve;
+    }
+
+    /**
+     * 是否预约过该直播间 0否 1是
+     */
+    public void setReserve(Integer reserve) {
+        this.reserve = reserve;
+    }
 }
 

+ 7 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupMemberService.java

@@ -18,7 +18,7 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	 * @param isAdmin 是否是管理员
 	 * @return
 	 */
-	boolean join(Long imGroupId, Integer userId, String roleType, boolean isAdmin);
+	boolean join(String imGroupId, Integer userId, String roleType, boolean isAdmin);
 
 	/**
 	 * 加入群组
@@ -27,7 +27,7 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	 * @param isAdmin 是否是管理员
 	 * @return
 	 */
-	boolean join(Long imGroupId, String roleType, boolean isAdmin, ImGroup imGroup, SysUser user);
+	boolean join(String imGroupId, String roleType, boolean isAdmin, ImGroup imGroup, SysUser user);
 
 	/**
 	 * 批量加入群组
@@ -35,7 +35,7 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	 * @param userRoleMap key-用户编号  value-角色类型
 	 * @return
 	 */
-	boolean join(Long imGroupId, Map<Integer, String> userRoleMap);
+	boolean join(String imGroupId, Map<Integer, String> userRoleMap);
 
 	/**
 	 * 指定用户退出群组
@@ -43,7 +43,7 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	 * @param userId 指定的用户编号
 	 * @return
 	 */
-	boolean quit(Long imGroupId, Integer userId);
+	boolean quit(String imGroupId, Integer userId);
 
 	/**
 	 * 退出指定群组
@@ -51,7 +51,7 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	 * @param userId 用户编号
 	 * @return
 	 */
-	boolean quit(List<Long> imGroupIdList, Integer userId);
+	boolean quit(List<String> imGroupIdList, Integer userId);
 
 	/**
 	 * 用户批量退出群组
@@ -59,7 +59,7 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	 * @param userIdList 学生编号
 	 * @return
 	 */
-	boolean quit(Long imGroupId, List<Integer> userIdList);
+	boolean quit(String imGroupId, List<Integer> userIdList);
 
 	/**
 	 * 修改角色类型
@@ -68,7 +68,7 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	 * @param roleType 角色类型
 	 * @return
 	 */
-	boolean updateRoleType(Long imGroupId, Integer userId, String roleType);
+	boolean updateRoleType(String imGroupId, Integer userId, String roleType);
 
 	void batchInsert(List<ImGroupMember> imGroupMemberList);
 

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

@@ -15,5 +15,5 @@ public interface ImGroupNoticeService extends BaseService<Long, ImGroupNotice> {
 	 * @param imGroupId
 	 * @return
 	 */
-	ImGroupNoticeDto queryLatestNotice(Long imGroupId);
+	ImGroupNoticeDto queryLatestNotice(String imGroupId);
 }

+ 8 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java

@@ -6,7 +6,7 @@ import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
 
-public interface ImGroupService extends BaseService<Long, ImGroup> {
+public interface ImGroupService extends BaseService<String, ImGroup> {
 
 	/**
 	 * 创建群组
@@ -20,14 +20,17 @@ public interface ImGroupService extends BaseService<Long, ImGroup> {
 	 * @param type 群类型
 	 * @return
 	 */
-	ImGroup create(Long id, Integer userId, String name, String introduce, String memo, String tags, String img, String type);
+	ImGroup create(String id, Integer userId, String name, String introduce, String memo, String tags, String img, String type);
+
+	//创建非课程类型的业务群组
+	void createGroup(List<String> userIdList,String groupName,String groupType);
 
 	/**
 	 * 解散群组
 	 * @param imGroupId
 	 * @return
 	 */
-	boolean cancel(Long imGroupId);
+	boolean cancel(String imGroupId);
 
 	/**
 	 * 查询用户所在的群列表
@@ -42,7 +45,7 @@ public interface ImGroupService extends BaseService<Long, ImGroup> {
 	 * @param imGroupId
 	 * @return
 	 */
-	List<ImGroupMemberDto> queryMemberById(Long imGroupId);
+	List<ImGroupMemberDto> queryMemberById(String imGroupId);
 
 	/**
 	 * 查询指定用户在群众的信息
@@ -50,7 +53,7 @@ public interface ImGroupService extends BaseService<Long, ImGroup> {
 	 * @param userId 指定的用户编号
 	 * @return
 	 */
-	ImGroupMemberDto queryMember(Long imGroupId, Integer userId);
+	ImGroupMemberDto queryMember(String imGroupId, Integer userId);
 
 	/**
 	 * 修改用户在群、通讯录的备注

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveBroadcastRoomService.java

@@ -78,5 +78,12 @@ public interface ImLiveBroadcastRoomService extends IService<ImLiveBroadcastRoom
 
     List<BaseRoomUserVo> queryRoomLimitOnlineUserInfo(String roomUid);
 
+    /**
+     * 根据传入的用户id查询用户信息
+     *
+     * @param userIdList 用户id集合
+     */
+    List<BaseRoomUserVo> queryBaseUserInfo(List<Integer> userIdList);
+
 }
 

+ 36 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveRoomReservationService.java

@@ -0,0 +1,36 @@
+package com.ym.mec.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.biz.dal.entity.ImLiveRoomReservation;
+import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
+import com.ym.mec.common.page.PageInfo;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Map;
+
+/**
+ * 直播预约记录(ImLiveRoomReservation)表服务接口
+ *
+ * @author hgw
+ * @since 2022-05-24 14:54:05
+ */
+public interface ImLiveRoomReservationService extends IService<ImLiveRoomReservation> {
+
+    /**
+     * 添加直播预约
+     */
+    void add(ImLiveRoomReservation entity);
+
+    /**
+     * 取消预约
+     */
+    void cancel(ImLiveRoomReservation entity);
+
+    /**
+     * 分页查询直播间
+     * @param param
+     * <p> liveState 直播状态 0未开始 1开始 2结束
+     */
+    PageInfo<ImLiveBroadcastRoomVo> queryPageStudent(Map<String, Object> param);
+}
+

+ 14 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -299,8 +299,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     userRoleMap.put(teacherId, "指导老师");
                 }
             }
-            imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), musicGroup.getName(), musicGroup.getName(), musicGroup.getName(), null, "MUSIC");
-            imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+            imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), musicGroup.getName(), musicGroup.getName(), musicGroup.getName(), null, "MUSIC");
+            imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
         }
         return true;
     }
@@ -1176,7 +1176,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
 
         //5、加入班级群组
-        imGroupMemberService.join(classGroup.getId().longValue(), userId, null, false);
+        imGroupMemberService.join(classGroup.getId().toString(), userId, null, false);
 
         return classGroup;
     }
@@ -1382,7 +1382,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
 
             // 5、加入班级群组
-            imGroupMemberService.join(classGroup.getId().longValue(), studentId, null, false);
+            imGroupMemberService.join(classGroup.getId().toString(), studentId, null, false);
 
         }
 
@@ -1443,7 +1443,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //删除班级
         classGroupDao.delete(classGroupId);
         //删除im群组
-        imGroupService.cancel(classGroupId.longValue());
+        imGroupService.cancel(classGroupId.toString());
     }
 
     @Override
@@ -1468,7 +1468,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //删除合奏班
         classGroupDao.delete(classGroupId);
         //删除im群组
-        imGroupService.cancel(classGroupId.longValue());
+        imGroupService.cancel(classGroupId.toString());
     }
 
     @Override
@@ -2394,17 +2394,17 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 if (byClassGroup != null && byClassGroup.size() > 0) {
                     ClassGroupTeacherMapper groupTeacherMapper = byClassGroup.stream().filter(classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole() == TeachTypeEnum.BISHOP).findFirst().get();
                     if (groupTeacherMapper != null) {
-                        imGroupMemberService.quit(classGroupId.longValue(), groupTeacherMapper.getUserId());
+                        imGroupMemberService.quit(classGroupId.toString(), groupTeacherMapper.getUserId());
                     }
                 }
                 if (newTeacherMapperList.size() > 0) {
                     //获取之前的班级老师
                     Set<Integer> groupTeacher = classGroupDao.findGroupTeacher(classGroupId);
                     groupTeacher.forEach(e -> {
-                        imGroupMemberService.quit(classGroupId.longValue(), e);
+                        imGroupMemberService.quit(classGroupId.toString(), e);
                     });
                     newTeacherMapperList.forEach(e -> {
-                        imGroupMemberService.join(classGroupId.longValue(), e.getUserId(), "指导老师", false);
+                        imGroupMemberService.join(classGroupId.toString(), e.getUserId(), "指导老师", false);
                     });
                 }
             }
@@ -3427,7 +3427,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             throw new BizException("请填写班级名称");
         }
         classGroupDao.update(classGroup);
-        ImGroup imGroup = imGroupService.get(classGroup.getId().longValue());
+        ImGroup imGroup = imGroupService.get(classGroup.getId().toString());
         if(!Objects.isNull(imGroup)){
             imGroup.setName(groupName);
             imGroupService.update(imGroup);
@@ -3745,8 +3745,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
         }
 
-        imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), musicGroup.getName(), musicGroup.getName(), musicGroup.getName(), null, "MUSIC");
-        imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+        imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), musicGroup.getName(), musicGroup.getName(), musicGroup.getName(), null, "MUSIC");
+        imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
         imUserFriendService.refreshClassImUserFriend(classGroup.getId());
         return true;
     }
@@ -4238,7 +4238,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     for (Integer integer : integers) {
                         List<Integer> collect = Arrays.asList(classGroupStudent.get(integer).split(",")).stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
                         //学员退出群聊
-                        imGroupMemberService.quit(integer.longValue(), collect);
+                        imGroupMemberService.quit(integer.toString(), collect);
                         classGroupStudentMapperDao.deleteByClassGroupIdAndStudents(integer, classGroupStudent.get(integer));
                     }
                 }
@@ -4744,7 +4744,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 for (Integer integer : integers) {
                     List<Integer> collect = Arrays.asList(classGroupStudent.get(integer).split(",")).stream().map(e -> Integer.parseInt(e)).collect(Collectors.toList());
                     //学员退出群聊
-                    imGroupMemberService.quit(integer.longValue(), collect);
+                    imGroupMemberService.quit(integer.toString(), collect);
                     classGroupIds.add(integer);
                     classGroupStudentMapperDao.deleteByClassGroupIdAndStudents(integer, classGroupStudent.get(integer));
                 }

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

@@ -233,7 +233,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 //        }
 
         //5、学生退出班级群组
-        imGroupMemberService.quit(classGroup.getId().longValue(), userId);
+        imGroupMemberService.quit(classGroup.getId().toString(), userId);
         return true;
     }
 
@@ -431,7 +431,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
         }
 
         //5、添加进IM群组
-        imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+        imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
 
         return true;
     }
@@ -564,7 +564,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                         userRoleMap.put(addStudentId, "");
                     }
                     //5、添加进IM群组
-                    imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+                    imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
                 }
             }
             if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
@@ -586,7 +586,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             courseScheduleDao.deleteMusicGroupCourseSchedulesWithStudents(courseIds, new ArrayList<>(removeStudentIds));
             if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
                 //5、学生退出班级群组
-                imGroupMemberService.quit(classGroup.getId().longValue(), new ArrayList<Integer>(addStudentIds));
+                imGroupMemberService.quit(classGroup.getId().toString(), new ArrayList<Integer>(addStudentIds));
             }
         }
 
@@ -599,7 +599,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                     userRoleMap.put(addStudentId, "");
                 }
                 //5、添加进IM群组
-                imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+                imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
             }
         }
 
@@ -718,7 +718,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
         for (Integer studentId : studentIds) {
         	userRoleMap.put(studentId, null);
         }
-        imGroupMemberService.join(classGroupId.longValue(), userRoleMap);
+        imGroupMemberService.join(classGroupId.toString(), userRoleMap);
         imUserFriendService.refreshClassImUserFriend(classGroupId.intValue());
     }
 }

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -74,7 +74,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 userIdList.add(classGroupTeacherMapper.getUserId());
             }
             if (userIdList.size() > 0) {
-                imGroupMemberService.quit(classGroup.getId().longValue(), userIdList);
+                imGroupMemberService.quit(classGroup.getId().toString(), userIdList);
             }
             // 新设置的老师加入群组
             userIdList.clear();
@@ -89,7 +89,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
             	for(Integer userId : userIdList){
             		userRoleMap.put(userId, "指导老师");
             	}
-                imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+                imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
             }
         }
         classGroupTeacherMapperDao.delMusicGroupTeacherMapper(classGroupTeacherMapperList);
@@ -118,7 +118,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 oldTeacher.add(classGroupTeacherMapper.getClassGroupId() + classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId());
             }
             if (userIdList.size() > 0) {
-                imGroupMemberService.quit(classGroup.getId().longValue(), userIdList);
+                imGroupMemberService.quit(classGroup.getId().toString(), userIdList);
             }
             // 新设置的老师加入群组
             userIdList.clear();
@@ -134,7 +134,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
             	for(Integer userId : userIdList){
             		userRoleMap.put(userId, "指导老师");
             	}
-                imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+                imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
             }
         }
         classGroupTeacherMapperDao.delMusicGroupTeacherMapper(classGroupTeacherMapperList);

+ 17 - 32
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CooperationOrganServiceImpl.java

@@ -1,34 +1,19 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.CooperationOrganDao;
-import com.ym.mec.biz.dal.dao.CooperationOrganLinkmanDao;
-import com.ym.mec.biz.dal.dao.EmployeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
-import com.ym.mec.biz.dal.entity.CooperationOrganLinkman;
-import com.ym.mec.biz.dal.entity.Employee;
-import com.ym.mec.biz.dal.entity.ImGroup;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
 
 @Service
 public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, CooperationOrgan>  implements CooperationOrganService {
@@ -107,9 +92,9 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 					Integer educationalTeacherId = musicGroup.getEducationalTeacherId();
 					classGroups.forEach(e -> {
 						if(educationalTeacherId != null){
-							imGroupMemberService.quit(e.getId().longValue(), educationalTeacherId);
+							imGroupMemberService.quit(e.getId().toString(), educationalTeacherId);
 						}
-						imGroupMemberService.join(e.getId().longValue(),"乐团主管",false,null,sysUser);
+						imGroupMemberService.join(e.getId().toString(),"乐团主管",false,null,sysUser);
 					});
 				}
 			}
@@ -120,10 +105,10 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 					//不是导入的乐团
 					if(musicGroup.getId().length() > 10){
 						//是否有预报名的群聊
-						ImGroup imGroup = imGroupService.get(Long.parseLong(musicGroup.getId()));
+						ImGroup imGroup = imGroupService.get(musicGroup.getId());
 						if(imGroup != null){
-							imGroupMemberService.quit(Long.parseLong(musicGroup.getId()),musicGroup.getEducationalTeacherId());
-							imGroupMemberService.join(Long.parseLong(musicGroup.getId()),"乐团主管",false,imGroup,sysUser);
+							imGroupMemberService.quit(musicGroup.getId(),musicGroup.getEducationalTeacherId());
+							imGroupMemberService.join(musicGroup.getId(),"乐团主管",false,imGroup,sysUser);
 						}
 					}
 				}
@@ -168,9 +153,9 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 							userRoleMap.put(cooperationOrgan.getEducationUserId(), "乐团主管");
 							classGroups.forEach(e -> {
 								if(educationalTeacherId != null){
-									imGroupMemberService.quit(e.getId().longValue(), quitUserIdList);
+									imGroupMemberService.quit(e.getId().toString(), quitUserIdList);
 								}
-								imGroupMemberService.join(e.getId().longValue(), userRoleMap);
+								imGroupMemberService.join(e.getId().toString(), userRoleMap);
 							});
 						}
 					}
@@ -181,10 +166,10 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 							//不是导入的乐团
 							if(musicGroup.getId().length() > 10){
 								//是否有预报名的群聊
-								ImGroup imGroup = imGroupService.get(Long.parseLong(musicGroup.getId()));
+								ImGroup imGroup = imGroupService.get(musicGroup.getId());
 								if(imGroup != null){
-									imGroupMemberService.quit(Long.parseLong(musicGroup.getId()),musicGroup.getEducationalTeacherId());
-									imGroupMemberService.join(Long.parseLong(musicGroup.getId()),cooperationOrgan.getEducationUserId(),"乐团主管",false);
+									imGroupMemberService.quit(musicGroup.getId(),musicGroup.getEducationalTeacherId());
+									imGroupMemberService.join(musicGroup.getId(),cooperationOrgan.getEducationUserId(),"乐团主管",false);
 								}
 							}
 						}

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

@@ -5350,8 +5350,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			ImGroupMember[] oldImGroupMembers = {new ImGroupMember(oldTeacherId.toString())};
 			ImGroupMember[] imGroupMembers = {new ImGroupMember(newTeacherId.toString())};
 			for (ClassGroup classGroup:classGroupList) {
-				imGroupMemberService.quit(classGroup.getId().longValue(), oldTeacherId);
-				imGroupMemberService.join(classGroup.getId().longValue(), newTeacherId, "指导老师", false);
+				imGroupMemberService.quit(classGroup.getId().toString(), oldTeacherId);
+				imGroupMemberService.join(classGroup.getId().toString(), newTeacherId, "指导老师", false);
 			}
 		}
 	}

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java

@@ -257,10 +257,10 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
         teacherAttendanceDao.batchInsert(teacherAttendances);
         //创建群聊
-        imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), courseGroup.getName(), courseGroup.getName(), courseGroup.getName(), null, "COMM");
+        imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), courseGroup.getName(), courseGroup.getName(), courseGroup.getName(), null, "COMM");
         Map<Integer,String> userRoleMap = new HashMap(1);
         userRoleMap.put(courseGroup.getTeacherId(),"指导老师");
-        imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+        imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
         return BaseController.succeed();
     }
 
@@ -754,8 +754,8 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
         userRoleMap.put(coursesGroup.getTeacherId(), "");
         userRoleMap.put(order.getUserId(), "");
         
-        imGroupService.create(classGroup.getId().longValue(), coursesGroup.getTeacherId(), classGroup.getName(), classGroup.getName(), classGroup.getName(), classGroup.getName(), null, "COMM");
-        imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+        imGroupService.create(classGroup.getId().toString(), coursesGroup.getTeacherId(), classGroup.getName(), classGroup.getName(), classGroup.getName(), classGroup.getName(), null, "COMM");
+        imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
         imUserFriendService.refreshClassImUserFriend(classGroup.getId());
         return BaseController.succeed();
     }

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

@@ -418,7 +418,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
                 String userId = imGroupModel.getMemberList().get(0).getId();
                 com.ym.mec.biz.dal.entity.ImGroupMember imGroupMember = new com.ym.mec.biz.dal.entity.ImGroupMember();
                 imGroupMember.setCreateTime(date);
-                imGroupMember.setImGroupId(Long.parseLong(imGroupModel.getId()));
+                imGroupMember.setImGroupId(imGroupModel.getId());
                 imGroupMember.setIsAdmin(false);
                 imGroupMember.setRoleType(imGroupModel.getUserRole());
                 imGroupMember.setUpdateTime(date);
@@ -441,7 +441,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
             List<GroupModel> groupModelList = new ArrayList<>();
             for (ImGroupModel imGroupModel : groupModels) {
                 com.ym.mec.biz.dal.entity.ImGroupMember imGroupMember = new com.ym.mec.biz.dal.entity.ImGroupMember();
-                imGroupMember.setImGroupId(Long.parseLong(imGroupModel.getId()));
+                imGroupMember.setImGroupId(imGroupModel.getId());
                 imGroupMember.setUserId(Integer.parseInt(imGroupModel.getMemberList().get(0).getId()));
                 imGroupMemberList.add(imGroupMember);
 

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

@@ -513,7 +513,7 @@ public class GroupClassServiceImpl implements GroupClassService {
                 classGroupDao.update(giveClassGroup);
 
                 //学员退出班级群
-                imGroupMemberService.quit(giveClassGroup.getId().longValue(), studentId);
+                imGroupMemberService.quit(giveClassGroup.getId().toString(), studentId);
             }
             if((masterGroup && activityUserMapper.getGivePracticeFlag() == 2) || (!masterGroup && activityUserMapper.getPracticeFlag() == 2)){
                 Long givePracticeGroupId = activityUserMapper.getGivePracticeGroupId();

+ 13 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -4,10 +4,8 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.ImSendTypeEnum;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
-import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
@@ -48,21 +46,20 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 	private ClassGroupStudentMapperDao classGroupStudentMapperDao;
 	@Autowired
 	private ImFeignService imFeignService;
-	@Autowired
-	private SysMessageService sysMessageService;
 	@Override
 	public BaseDAO<Long, ImGroupMember> getDAO() {
 		return imGroupMemberDao;
 	}
 
-	public ImGroup joinGroup(Long imGroupId, Integer userId, String roleType, boolean isAdmin,Map<Integer,String> userRoleMap){
-		ClassGroup classGroup = classGroupDao.get(imGroupId.intValue());
+	public ImGroup joinGroup(String imGroupId, Integer userId, String roleType, boolean isAdmin,Map<Integer,String> userRoleMap){
+		int groupId = Integer.parseInt(imGroupId);
+		ClassGroup classGroup = classGroupDao.get(groupId);
 		String tags = classGroup.getName();
 		//相关用户加入群组
 		//获取班级关联的老师列表
-		Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(imGroupId.intValue(),null,null);
+		Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(groupId,null,null);
 		//获取班级关联的学员列表
-		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(imGroupId.intValue(),null,null);
+		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(groupId,null,null);
 		if(studentIds != null && studentIds.size() > 0){
 			for(Integer studentId : studentIds){
 				userRoleMap.put(studentId, null);
@@ -113,7 +110,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean join(Long imGroupId, Integer userId, String roleType, boolean isAdmin) {
+	public boolean join(String imGroupId, Integer userId, String roleType, boolean isAdmin) {
 		ImGroup imGroup = imGroupDao.getLocked(imGroupId);
 		if (imGroup == null) {
 			joinGroup(imGroupId,userId,roleType,isAdmin,new HashMap<>());
@@ -156,7 +153,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean join(Long imGroupId,String roleType, boolean isAdmin,ImGroup imGroup,SysUser user) {
+	public boolean join(String imGroupId,String roleType, boolean isAdmin,ImGroup imGroup,SysUser user) {
 		if (imGroup == null) {
 			imGroup = imGroupDao.getLocked(imGroupId);
 		}
@@ -201,7 +198,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean join(Long imGroupId, Map<Integer, String> userRoleMap) {
+	public boolean join(String imGroupId, Map<Integer, String> userRoleMap) {
 		ImGroup imGroup = imGroupDao.getLocked(imGroupId);
 		if (imGroup == null) {
 			joinGroup(imGroupId,null,null,false,userRoleMap);
@@ -271,7 +268,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean quit(Long imGroupId, Integer userId) {
+	public boolean quit(String imGroupId, Integer userId) {
 		List<Integer> userIdList = new ArrayList<Integer>();
 		userIdList.add(userId);
 
@@ -280,8 +277,8 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean quit(List<Long> imGroupIdList, Integer userId) {
-		for (Long imGroupId : imGroupIdList) {
+	public boolean quit(List<String> imGroupIdList, Integer userId) {
+		for (String imGroupId : imGroupIdList) {
 			quit(imGroupId, userId);
 		}
 		return true;
@@ -289,7 +286,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean quit(Long imGroupId, List<Integer> userIdList) {
+	public boolean quit(String imGroupId, List<Integer> userIdList) {
 
 		ImGroup imGroup = imGroupDao.getLocked(imGroupId);
 		if (imGroup == null) {
@@ -321,7 +318,7 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 	}
 
 	@Override
-	public boolean updateRoleType(Long imGroupId, Integer userId, String roleType) {
+	public boolean updateRoleType(String imGroupId, Integer userId, String roleType) {
 		List<Integer> userIdList = new ArrayList<Integer>();
 		userIdList.add(userId);
 		List<ImGroupMember> imGroupMemberList = imGroupMemberDao.queryByImGroupIdAndUserId(imGroupId.toString(), userIdList.stream().map(Objects::toString)

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

@@ -50,7 +50,7 @@ public class ImGroupNoticeServiceImpl extends BaseServiceImpl<Long, ImGroupNotic
 	}
 
 	@Override
-	public ImGroupNoticeDto queryLatestNotice(Long imGroupId) {
+	public ImGroupNoticeDto queryLatestNotice(String imGroupId) {
 		return imGroupNoticeDao.queryLatestNotice(imGroupId);
 	}
 	

+ 26 - 21
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -11,6 +11,7 @@ import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImUserModel;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.im.entity.GroupMember;
@@ -19,12 +20,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Service
-public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implements ImGroupService {
+public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> implements ImGroupService {
 
 	@Autowired
 	private ImGroupDao imGroupDao;
@@ -45,13 +44,13 @@ public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implement
 	private SysUserFeignService sysUserFeignService;
 
 	@Override
-	public BaseDAO<Long, ImGroup> getDAO() {
+	public BaseDAO<String, ImGroup> getDAO() {
 		return imGroupDao;
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public ImGroup create(Long id, Integer userId, String name, String introduce, String memo, String tags, String img, String type) {
+	public ImGroup create(String id, Integer userId, String name, String introduce, String memo, String tags, String img, String type) {
 		ImGroup imGroup = imGroupDao.get(id);
 		if (imGroup != null) {
 			return imGroup;
@@ -61,7 +60,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implement
 
 		Date date = new Date();
 
-		imGroup.setId(id.toString());
+		imGroup.setId(id);
 		imGroup.setCreateTime(date);
 		imGroup.setIntroduce(introduce);
 		
@@ -93,32 +92,38 @@ public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implement
 		return imGroup;
 	}
 
-	public void create1(String groupId,List<String> userIdList,String groupName){
-		List<GroupMember> groupMembers = new ArrayList<>();
-		for (String userId : userIdList) {
-			GroupMember groupMember = new GroupMember();
-			groupMember.setGroupId(groupId);
-			groupMember.setId(userId);
-			groupMembers.add(groupMember);
-		}
-		GroupMember[] members = new GroupMember[groupMembers.size()];
-		groupMembers.toArray(members);
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void createGroup(List<String> userIdList,String groupName,String groupType){
+		Optional.of(userIdList).orElseThrow(() -> new BizException("群成员不能为空"));
+		Optional.of(groupName).orElseThrow(() -> new BizException("群名称不能为空"));
+		Optional.of(groupType).orElseThrow(() -> new BizException("群类型不能为空"));
 		Date date = new Date();
 		ImGroup imGroup = new ImGroup();
+		String groupId = UUID.randomUUID().toString();
 		imGroup.setId(groupId);
 		imGroup.setCreateTime(date);
 		imGroup.setIntroduce(groupName);
 		imGroup.setMemberNum(userIdList.size());
 		imGroup.setName(groupName);
-		imGroup.setType("TRAINING");
+		imGroup.setType(groupType);
 		imGroup.setUpdateTime(date);
 		imGroupDao.insert(imGroup);
+		List<GroupMember> groupMembers = new ArrayList<>();
+		for (String userId : userIdList) {
+			GroupMember groupMember = new GroupMember();
+			groupMember.setGroupId(groupId);
+			groupMember.setId(userId);
+			groupMembers.add(groupMember);
+		}
+		GroupMember[] members = new GroupMember[groupMembers.size()];
+		groupMembers.toArray(members);
 		imFeignService.groupCreate(new GroupModel(groupId,members,groupName));
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean cancel(Long imGroupId) {
+	public boolean cancel(String imGroupId) {
 
 		// 删除群成员
 		imGroupMemberDao.deleteByImGroupId(imGroupId);
@@ -139,12 +144,12 @@ public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implement
     }
 
     @Override
-	public List<ImGroupMemberDto> queryMemberById(Long imGroupId) {
+	public List<ImGroupMemberDto> queryMemberById(String imGroupId) {
 		return imGroupDao.queryMemberById(imGroupId);
 	}
 
 	@Override
-	public ImGroupMemberDto queryMember(Long imGroupId, Integer userId) {
+	public ImGroupMemberDto queryMember(String imGroupId, Integer userId) {
 		return imGroupDao.queryMember(imGroupId, userId);
 	}
 

+ 17 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -638,7 +638,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         //发送消息
         try {
             imFeignService.publishRoomMsg(message);
-            log.info(" sendOnlineUserCount>>>> message: {}", JSONObject.toJSONString(message));
+            log.info("sendOnlineUserCount>>>> message: {}", JSONObject.toJSONString(message));
         } catch (Exception e) {
             log.error("sendOnlineUserCount>>>> error {}", e.getMessage());
             log.error("sendOnlineUserCount>>>> sendMessage {} :", JSONObject.toJSONString(message));
@@ -742,6 +742,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         onlineUserInfo.fastPut(userId, JSONObject.toJSONString(userInfo));
         //向直播间发送当前在线人数消息
         this.sendOnlineUserCount(roomUid, userId, onlineUserInfo.size());
+        log.info("join sendOnlineUserCount>>>> param is null   roomUid: {}  fromUserId:{}  count:{}", roomUid, userId, onlineUserInfo.size());
         log.info("joinRoom>>>> userInfo: {}", JSONObject.toJSONString(userInfo));
     }
 
@@ -1070,9 +1071,9 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
     public List<BaseRoomUserVo> queryRoomLimitOnlineUserInfo(String roomUid) {
         RMap<Integer, String> onlineUserCache = getOnlineUserCache(roomUid);
         return onlineUserCache.values().parallelStream()
-                        .map(a -> JSONObject.toJavaObject(JSONObject.parseObject(a), BaseRoomUserVo.class))
-                        .limit(200)
-                        .collect(Collectors.toList());
+                .map(a -> JSONObject.toJavaObject(JSONObject.parseObject(a), BaseRoomUserVo.class))
+                .limit(200)
+                .collect(Collectors.toList());
     }
 
     /**
@@ -1089,6 +1090,18 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
     }
 
     /**
+     * 根据传入的用户id查询用户信息
+     *
+     * @param userIdList 用户id集合
+     */
+    public List<BaseRoomUserVo> queryBaseUserInfo(List<Integer> userIdList) {
+        return Optional.ofNullable(userIdList)
+                .filter(CollectionUtils::isNotEmpty)
+                .map(baseMapper::queryBaseUserInfo)
+                .orElseThrow(() -> new BizException("用户id集合不能为空"));
+    }
+
+    /**
      * 查询直播间所有用户信息
      *
      * @param roomUid 直播间uid

+ 96 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveRoomReservationServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ym.mec.biz.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.ImLiveRoomReservationDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.entity.ImLiveRoomReservation;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
+import com.ym.mec.biz.service.ImLiveRoomReservationService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.PageUtil;
+import com.ym.mec.common.tenant.TenantContextHolder;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * 直播预约记录(ImLiveRoomReservation)表服务实现类
+ *
+ * @author hgw
+ * @since 2022-05-24 14:54:13
+ */
+@Service("imLiveRoomReservationService")
+public class ImLiveRoomReservationServiceImpl extends ServiceImpl<ImLiveRoomReservationDao, ImLiveRoomReservation> implements ImLiveRoomReservationService {
+
+    private final static Logger logger = LoggerFactory.getLogger(ImLiveRoomReservationServiceImpl.class);
+
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private SysConfigDao sysConfigDao;
+    @Autowired
+    private SysMessageService sysMessageService;
+
+    /**
+     * 预约直播
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(ImLiveRoomReservation entity) {
+        Optional<ImLiveRoomReservation> optional = Optional.ofNullable(entity);
+        optional.filter(a -> StringUtils.isNotBlank(a.getRoomUid())).orElseThrow(() -> new BizException("房间Uid不能为空"));
+        optional.filter(a -> Objects.nonNull(a.getUserId())).orElseThrow(() -> new BizException("学员id不能为空"));
+        entity.setPushState(-1);
+        entity.setCreateTime(new Date());
+        this.baseMapper.insert(entity);
+    }
+
+    /**
+     * 取消预约
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void cancel(ImLiveRoomReservation entity) {
+        this.remove(Wrappers.<ImLiveRoomReservation>lambdaUpdate()
+                .eq(ImLiveRoomReservation::getRoomUid, entity.getRoomUid())
+                .eq(ImLiveRoomReservation::getUserId, entity.getUserId()));
+    }
+
+    /**
+     * 分页查询直播间
+     *
+     * @param param 参数
+     *              <p> liveState 直播状态 0未开始 1开始 2结束
+     */
+    @Override
+    public PageInfo<ImLiveBroadcastRoomVo> queryPageStudent(Map<String, Object> param) {
+        param.put("userId", getUser().getId());
+        Page<ImLiveBroadcastRoomVo> pageInfo = PageUtil.getPageInfo(param);
+        pageInfo.setDesc("a.created_time_");
+        param.put("tenantId", TenantContextHolder.getTenantId());
+        IPage<ImLiveBroadcastRoomVo> page = baseMapper.queryPageStudent(pageInfo, param);
+        return PageUtil.pageInfo(page);
+    }
+
+    private SysUser getUser() {
+        return Optional.ofNullable(sysUserFeignService.queryUserInfo())
+                .orElseThrow(() -> new BizException("用户信息获取失败,请刷新页面或者重新登录!"));
+    }
+
+}
+

+ 8 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -774,7 +774,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         studentPreRegistrationDao.insert(studentPreRegistration);
         // 添加成员
-        imGroupMemberService.join(Long.parseLong(musicGroupId), user.getId(), null, false);
+        imGroupMemberService.join(musicGroupId, user.getId(), null, false);
         TenantContextHolder.clearTenantId();
         return true;
     }
@@ -1879,7 +1879,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupDao.update(musicGroup);
 
         // 创建群
-        imGroupService.create(Long.parseLong(musicGroupId), null, "乐团预报名", null, musicGroup.getName(), musicGroup.getName(), null, GroupType.MUSIC.getCode());
+        imGroupService.create(musicGroupId, null, "乐团预报名", null, musicGroup.getName(), musicGroup.getName(), null, GroupType.MUSIC.getCode());
 
         Map<Integer, String> userRoleMap = new HashMap<Integer, String>();
 
@@ -1896,7 +1896,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             userRoleMap.put(musicGroup.getTransactionTeacherId(), "衔接老师");
         }
         // 添加成员
-        imGroupMemberService.join(Long.parseLong(musicGroupId), userRoleMap);
+        imGroupMemberService.join(musicGroupId, userRoleMap);
         //缴费老师推送消息
         sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(), null,
                 null, musicGroup.getEducationalTeacherId(), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS, musicGroup.getName());
@@ -3644,8 +3644,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             userRoleMap.put(newMusicGroup.getTransactionTeacherId(), "衔接老师");
         }
         classGroups.forEach(e -> {
-            imGroupMemberService.quit(e.getId().longValue(), quitUserIdList);
-            imGroupMemberService.join(e.getId().longValue(), userRoleMap);
+            imGroupMemberService.quit(e.getId().toString(), quitUserIdList);
+            imGroupMemberService.join(e.getId().toString(), userRoleMap);
         });
     }
 
@@ -3690,7 +3690,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //不是导入的乐团
         if (musicGroupId.length() > 10) {
             //是否有预报名的群聊
-            ImGroup imGroup = imGroupService.get(Long.parseLong(musicGroupId));
+            ImGroup imGroup = imGroupService.get(musicGroupId);
             if (imGroup != null) {
                 refresh = true;
                 List<Integer> quitUserIdList = new ArrayList<>();
@@ -3719,8 +3719,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 if (musicGroup.getTransactionTeacherId() != null) {
                     userRoleMap.put(musicGroup.getTransactionTeacherId(), "衔接老师");
                 }
-                imGroupMemberService.quit(Long.parseLong(musicGroupId), quitUserIdList);
-                imGroupMemberService.join(Long.parseLong(musicGroupId), userRoleMap);
+                imGroupMemberService.quit(musicGroupId, quitUserIdList);
+                imGroupMemberService.join(musicGroupId, userRoleMap);
             }
         }
 

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

@@ -300,8 +300,8 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
         userRoleMap.put(onlineMusicGroupCourseInfo.getTeacherId(), "指导老师");
         
         // 创建群组
-        imGroupService.create(classGroup.getId().longValue(), musicGroup.getEducationalTeacherId(), classGroup.getName(), classGroup.getName(), classGroup.getName(), classGroup.getName(), null, "MUSIC");
-        imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+        imGroupService.create(classGroup.getId().toString(), musicGroup.getEducationalTeacherId(), classGroup.getName(), classGroup.getName(), classGroup.getName(), classGroup.getName(), null, "MUSIC");
+        imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
 
         List<String> courseTimes = courses.stream().map(c -> DateUtil.dateToString(c.getStartClassTime(), "yyyy-MM-dd HH:mm")).collect(Collectors.toList());
 

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

@@ -1082,7 +1082,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             classGroupStudentMapper.setGroupType(GroupType.MUSIC);
             classGroupStudentMapperDao.insert(classGroupStudentMapper);
         }
-        imGroupMemberService.join(classGroupId.longValue(), userId, null, false);
+        imGroupMemberService.join(classGroupId.toString(), userId, null, false);
         //2、班级人数调整
 //        classGroupDao.updateClassStudentNum(classGroupId.longValue(), 1);
         //3、学生加入新班级未开始课程

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TempLittleArtistTrainingCampServiceImpl.java

@@ -100,7 +100,7 @@ public class TempLittleArtistTrainingCampServiceImpl extends ServiceImpl<TempLit
         entity.setApplyEndDate(dto.getApplyEndDate());
         entity.setTrainStartDate(dto.getTrainStartDate());
         entity.setTrainEndDate(dto.getTrainEndDate());
-        entity.setState(TempLittleArtistTrainingCamp.READY);
+        entity.setPicUrl(dto.getPicUrl());
         entity.setUpdateBy(user.getId());
         entity.setUpdateTime(new Date());
         this.updateById(entity);
@@ -282,6 +282,14 @@ public class TempLittleArtistTrainingCampServiceImpl extends ServiceImpl<TempLit
         if (CollectionUtils.isNotEmpty(campList)) {
             campList.sort(Comparator.comparing(TempLittleArtistTrainingCamp::getApplyStartDate));
         }
+        if(CollectionUtils.isNotEmpty(campList)){
+            campList.forEach(a -> {
+                int count = tempLittleArtistTrainingCampUserRelationService.count(Wrappers.<TempLittleArtistTrainingCampUserRelation>lambdaQuery()
+                        .eq(TempLittleArtistTrainingCampUserRelation::getActivityId, a.getId())
+                );
+                a.setUserCount(count);
+            });
+        }
         result.put("campList", campList);
         return result;
     }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TempLittleArtistTrainingCampUserRelationServiceImpl.java

@@ -16,6 +16,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Objects;
 import java.util.Optional;
@@ -46,8 +47,15 @@ public class TempLittleArtistTrainingCampUserRelationServiceImpl extends Service
      *
      * @param campId 训练营id
      */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
     public void add(Integer campId) {
         SysUser user = getUser();
+        int count = this.count(Wrappers.<TempLittleArtistTrainingCampUserRelation>lambdaUpdate()
+                .set(TempLittleArtistTrainingCampUserRelation::getActivityId, campId));
+        if(count > 2000) {
+            throw new BizException("人数已报满!");
+        }
         this.update(Wrappers.<TempLittleArtistTrainingCampUserRelation>lambdaUpdate()
                 .set(TempLittleArtistTrainingCampUserRelation::getActivityId, campId)
                 .set(TempLittleArtistTrainingCampUserRelation::getState, TempLittleArtistTrainingCampUserRelation.APPLY)

+ 21 - 21
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1099,8 +1099,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 //		courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
 
         try {
-            imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroupApplyBaseInfoDto.getName(), null, null, GroupType.VIP.getCode());
-            imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+            imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(), vipGroupApplyBaseInfoDto.getName(), null, null, GroupType.VIP.getCode());
+            imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
             imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
             //发送推送
             Map<Integer, String> map = new HashMap<>(1);
@@ -1503,8 +1503,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
 //		courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
         try {
-            imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), applyBaseInfo.getName(), null, null, GroupType.VIP.getCode());
-            imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+            imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(), applyBaseInfo.getName(), null, null, GroupType.VIP.getCode());
+            imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
             imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
 //			SysUser sysUser = teacherDao.getUser(applyBaseInfo.getUserId());
 //			//发送推送
@@ -2549,8 +2549,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 //		courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
 
         try {
-            imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
-            imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+            imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
+            imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
             imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
             //发送推送短信
             Map<Integer, String> map = new HashMap<>(1);
@@ -2855,8 +2855,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
                     courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 
-                    imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
-                    imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+                    imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
+                    imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
                     imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
                 }
                 SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
@@ -3091,7 +3091,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         classGroupDao.update(classGroup);
 
         //学员退出班级群
-        imGroupMemberService.quit(classGroup.getId().longValue(), studentId);
+        imGroupMemberService.quit(classGroup.getId().toString(), studentId);
         return BaseController.succeed();
     }
 
@@ -3244,7 +3244,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         classGroupDao.update(classGroup);
 
         //学员退出班级群
-        imGroupMemberService.quit(classGroup.getId().longValue(), studentId);
+        imGroupMemberService.quit(classGroup.getId().toString(), studentId);
     }
 
     @Override
@@ -3374,9 +3374,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if (Objects.nonNull(studentRecoverInfo.getTeacherId()) && !studentRecoverInfo.getTeacherId().equals(vipGroup.getUserId())) {
             vipGroup.setUserId(studentRecoverInfo.getTeacherId());
 
-            imGroupMemberService.quit(classGroup.getId().longValue(), oldTeacherId);
+            imGroupMemberService.quit(classGroup.getId().toString(), oldTeacherId);
 
-            imGroupMemberService.join(classGroup.getId().longValue(), vipGroup.getUserId(), "指导老师", false);
+            imGroupMemberService.join(classGroup.getId().toString(), vipGroup.getUserId(), "指导老师", false);
         }
 
         ClassGroupStudentMapper classStudentMapperByUserIdAndClassGroupId = classGroupStudentMapperDao.query(classGroup.getId(),
@@ -3744,7 +3744,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 courseScheduleTeacherSalaryService.updateVipGroupCourseTeacherSalary(Integer.parseInt(studentPaymentOrder.getMusicGroupId()), null);
 
                 //学员退出班级群
-                imGroupMemberService.quit(studentPaymentOrder.getClassGroupId().longValue(), studentApplyRefunds.getUserId());
+                imGroupMemberService.quit(studentPaymentOrder.getClassGroupId().toString(), studentApplyRefunds.getUserId());
 
                 break;
             case REJECT:
@@ -4076,13 +4076,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(oldVipGroupInfo.getId().toString(), GroupType.VIP.getCode());
             if (Objects.nonNull(oldVipGroupInfo.getEducationalTeacherId())) {
 
-                imGroupMemberService.quit(classGroup.getId().longValue(), oldVipGroupInfo.getEducationalTeacherId());
+                imGroupMemberService.quit(classGroup.getId().toString(), oldVipGroupInfo.getEducationalTeacherId());
             }
 
             oldVipGroupInfo.setEducationalTeacherId(vipGroupApplyBaseInfo.getEducationalTeacherId());
             isChange = true;
 
-            imGroupMemberService.join(classGroup.getId().longValue(), oldVipGroupInfo.getEducationalTeacherId(), "乐团主管", false);
+            imGroupMemberService.join(classGroup.getId().toString(), oldVipGroupInfo.getEducationalTeacherId(), "乐团主管", false);
         }
         if (Objects.nonNull(vipGroupApplyBaseInfo.getOrganId()) && !vipGroupApplyBaseInfo.getOrganId().equals(oldVipGroupInfo.getOrganId())) {
             isChange = true;
@@ -4213,7 +4213,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 //		courseScheduleStudentPaymentService.updateVipGiveCourse(vipGroup.getId());
 
-        imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+        imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
     }
 
     @Override
@@ -4365,8 +4365,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             classGroupDao.update(classGroup);
 
             try {
-                imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
-                imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+                imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
+                imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
                 imUserFriendService.refreshClassImUserFriend(classGroup.getId());
             } catch (Exception e) {
                 e.printStackTrace();
@@ -4493,8 +4493,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         studentDao.updateStudentServiceTag(null, studentIds, YesOrNoEnum.YES.getCode());
 
         try {
-            imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
-            imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+            imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
+            imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
 
             imUserFriendService.refreshGroupImUserFriend(vipGroup.getId().toString(), GroupType.VIP);
         } catch (Exception e) {
@@ -4577,7 +4577,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 Set<Integer> classGroupIds = classGroupDao.queryClassGroupIds(collect);
                 //解散群
                 for (Integer classGroupId : classGroupIds) {
-                    imGroupService.cancel(classGroupId.longValue());
+                    imGroupService.cancel(classGroupId.toString());
                 }
             }
         }

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

@@ -100,4 +100,17 @@
         and username_ is not null and username_ != ''
     </select>
 
+    <select id="queryBaseUserInfo" resultType="com.ym.mec.biz.dal.vo.BaseRoomUserVo">
+    select
+        id_ AS userId,
+        username_ AS userName
+    from sys_user
+        <where>
+            id_ IN
+            <foreach collection="list" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </where>
+    </select>
+
 </mapper>

+ 61 - 0
mec-biz/src/main/resources/config/mybatis/ImLiveRoomReservationMapper.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ym.mec.biz.dal.dao.ImLiveRoomReservationDao">
+    <resultMap id="BaseResultMap" type="com.ym.mec.biz.dal.entity.ImLiveRoomReservation">
+        <id column="id_" jdbcType="INTEGER" property="id"/>
+        <result column="room_uid_" jdbcType="VARCHAR" property="roomUid"/>
+        <result column="user_id_" jdbcType="INTEGER" property="userId"/>
+        <result column="push_state_" jdbcType="INTEGER" property="pushState"/>
+        <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id_
+        , room_uid_, user_id_, push_state_, create_time_
+    </sql>
+
+    <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
+            parameterType="com.ym.mec.biz.dal.entity.ImLiveRoomReservation">
+        insert into im_live_room_reservation(room_uid_, user_id_, push_state_, create_time_)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.roomUid}, #{entity.userId}, #{entity.pushState}, #{entity.createTime})
+        </foreach>
+    </insert>
+
+    <select id="queryPageStudent" resultType="com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo">
+        select a.id_ AS id,
+        a.tenant_id_ AS tenantId,
+        t.name_ AS tenantName,
+        t.logo_ AS tenantLogo,
+        a.room_uid_ AS roomUid,
+        a.room_title_ AS roomTitle,
+        a.live_remark_ AS liveRemark,
+        a.speaker_id_ AS speakerId,
+        b.real_name_ AS speakerName,
+        b.im_token_ as imToken,
+        b.avatar_ AS speakerPic,
+        a.live_start_time_ AS liveStartTime,
+        a.live_state_ AS liveState,
+        a.room_state_ AS roomState,
+        c.real_name_ AS createdByName,
+        a.pre_template_ AS preTemplate,
+        a.room_config_ AS roomConfig,
+        a.popularize_ AS popularize,
+        case when  d.user_id_ is null then 0 else 1 end as reserve
+        from im_live_broadcast_room as a
+        left join tenant_info AS t on a.tenant_id_ = t.id_
+        left join sys_user AS b on a.speaker_id_ = b.id_
+        left join sys_user AS c on a.created_by_ = c.id_
+        left join im_live_room_reservation as d on a.room_uid_ = d.room_uid_ and d.user_id_ = #{param.userId}
+        <where>
+        a.room_state_ in(0, 2)
+            <if test="param.tenantId != null ">
+                AND a.tenant_id_ = #{param.tenantId}
+            </if>
+            <if test="param.liveState != null">
+                and a.live_state_ = #{param.liveState}
+            </if>
+        </where>
+    </select>
+</mapper>

+ 4 - 3
mec-biz/src/main/resources/config/mybatis/TempLittleArtistTrainingCampMapper.xml

@@ -11,6 +11,7 @@
         <result column="train_end_date_" jdbcType="TIMESTAMP" property="trainEndDate"/>
         <result column="state_" jdbcType="VARCHAR" property="state"/>
         <result column="im_group_ids_" jdbcType="VARCHAR" property="imGroupIds"/>
+        <result column="pic_url_" jdbcType="VARCHAR" property="picUrl"/>
         <result column="del_flag_" jdbcType="INTEGER" property="delFlag"/>
         <result column="create_by_" jdbcType="INTEGER" property="createBy"/>
         <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
@@ -20,17 +21,17 @@
 
     <sql id="Base_Column_List">
         id_
-        , name_, num_, apply_start_date_, apply_end_date_, train_start_date_, train_end_date_, state_, im_group_ids_, create_by_, create_time_, update_by_, update_time_
+        , name_, num_, apply_start_date_, apply_end_date_, train_start_date_, train_end_date_, state_,pic_url_, im_group_ids_, create_by_, create_time_, update_by_, update_time_
     </sql>
 
     <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
             parameterType="com.ym.mec.biz.dal.entity.TempLittleArtistTrainingCamp">
         insert into temp_little_artist_training_camp(name_, num_, apply_start_date_, apply_end_date_, train_start_date_,
-        train_end_date_, state_, im_group_ids_, del_flag_,create_by_, create_time_, update_by_, update_time_)
+        train_end_date_, state_, im_group_ids_,pic_url_, del_flag_,create_by_, create_time_, update_by_, update_time_)
         values
         <foreach collection="entities" item="entity" separator=",">
             (#{entity.name}, #{entity.num}, #{entity.applyStartDate}, #{entity.applyEndDate}, #{entity.trainStartDate},
-            #{entity.trainEndDate}, #{entity.state}, #{entity.imGroupIds}, #{entity.delFlag},#{entity.createBy}, #{entity.createTime},
+            #{entity.trainEndDate}, #{entity.state}, #{entity.imGroupIds}, #{entity.delFlag},#{entity.picUrl},#{entity.createBy}, #{entity.createTime},
             #{entity.updateBy}, #{entity.updateTime})
         </foreach>
     </insert>

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java

@@ -73,7 +73,7 @@ public class CourseController extends BaseController {
 
     @ApiOperation(value = "获取最新一条群公告")
     @RequestMapping("/getNewNotice")
-    public Object getNewNotice(Long groupId) {
+    public Object getNewNotice(String groupId) {
         return succeed(imGroupNoticeService.queryLatestNotice(groupId));
     }
 

+ 11 - 13
mec-student/src/main/java/com/ym/mec/student/controller/ImGroupController.java

@@ -1,24 +1,22 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.ImUserFriendDto;
+import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
+import com.ym.mec.biz.service.ImGroupNoticeService;
+import com.ym.mec.biz.service.ImGroupService;
+import com.ym.mec.biz.service.ImUserFriendService;
+import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
-import java.util.Objects;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
-import com.ym.mec.biz.service.ImGroupNoticeService;
-import com.ym.mec.biz.service.ImGroupService;
-import com.ym.mec.biz.service.ImUserFriendService;
-import com.ym.mec.common.controller.BaseController;
+import java.util.Objects;
 
 @RequestMapping("imGroup")
 @Api(tags = "IM群服务")
@@ -54,19 +52,19 @@ public class ImGroupController extends BaseController {
 		if (imGroupId.contains("S") || imGroupId.contains("I")){
 			imGroupId = imGroupId.substring(1);
 		}
-		return succeed(imGroupService.get(Long.parseLong(imGroupId)));
+		return succeed(imGroupService.get(imGroupId));
 	}
 
 	@ApiOperation("查询群成员列表")
 	@GetMapping(value = "/queryGroupMemberList")
-	public Object queryGroupMemberList(Long imGroupId) {
+	public Object queryGroupMemberList(String imGroupId) {
 
 		return succeed(imGroupService.queryMemberById(imGroupId));
 	}
 
 	@ApiOperation("查询群成员详情")
 	@GetMapping(value = "/queryGroupMemberDetail")
-	public Object queryGroupMemberDetail(Long imGroupId, Integer userId) {
+	public Object queryGroupMemberDetail(String imGroupId, Integer userId) {
 
 		return succeed(imGroupService.queryMember(imGroupId, userId));
 	}

+ 71 - 0
mec-student/src/main/java/com/ym/mec/student/controller/ImLiveRoomReservationController.java

@@ -0,0 +1,71 @@
+package com.ym.mec.student.controller;
+
+import com.ym.mec.biz.dal.entity.ImLiveRoomReservation;
+import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
+import com.ym.mec.biz.service.ImLiveRoomReservationService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.WrapperUtil;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * 直播预约记录(ImLiveRoomReservation)表控制层
+ *
+ * @author hgw
+ * @since 2022-05-24 14:54:04
+ */
+@RestController
+@RequestMapping("/imLiveRoomReservation")
+public class ImLiveRoomReservationController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImLiveRoomReservationService imLiveRoomReservationService;
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", dataType = "Integer", value = "用户id"),
+            @ApiImplicitParam(name = "roomUid", dataType = "String", value = "房间uid"),
+            @ApiImplicitParam(name = "ops", dataType = "Integer", value = "1 预约  2取消预约")
+    })
+    @ApiOperation("预约/取消预约")
+    @PostMapping("/opsReserve")
+    public HttpResponseResult<Object> opsReserve(@RequestBody Map<String, Object> param) {
+        Integer ops = WrapperUtil.toInt(param, "ops", "请传入操作类型");
+        ImLiveRoomReservation entity = new ImLiveRoomReservation();
+        entity.setRoomUid(WrapperUtil.toStr(param, "roomUid", "请传入房间uid"));
+        entity.setUserId(WrapperUtil.toInt(param, "userId", "用户id不能为空"));
+        //1 预约  2取消预约
+        if (ops == 1) {
+            imLiveRoomReservationService.add(entity);
+        } else if (ops == 2) {
+            imLiveRoomReservationService.cancel(entity);
+        } else {
+            return failed("请传入正确的操作类型");
+        }
+        return succeed();
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "liveState", dataType = "Integer", value = "直播状态 0未开始 1开始 2结束"),
+            @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
+            @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
+    })
+    @ApiOperation("分页查询直播间列表")
+    @PostMapping("/queryPageStudent")
+    public HttpResponseResult<PageInfo<ImLiveBroadcastRoomVo>> queryPageStudent(@RequestBody Map<String, Object> param) {
+        return succeed(imLiveRoomReservationService.queryPageStudent(param));
+    }
+
+}
+

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ClassGroupController.java

@@ -92,7 +92,7 @@ public class ClassGroupController extends BaseController {
 
     @ApiOperation(value = "获取最新一条群公告")
     @RequestMapping("/getNewNotice")
-    public Object getNewNotice(Long groupId) {
+    public Object getNewNotice(String groupId) {
         return succeed(imGroupNoticeService.queryLatestNotice(groupId));
     }
 

+ 14 - 17
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java

@@ -1,27 +1,24 @@
 package com.ym.mec.teacher.controller;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.ImUserFriendDto;
+import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
+import com.ym.mec.biz.service.ImGroupNoticeService;
+import com.ym.mec.biz.service.ImGroupService;
+import com.ym.mec.biz.service.ImUserFriendService;
+import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
-import java.util.Objects;
-import java.util.stream.Collectors;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dto.ImUserFriendDto;
-import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
-import com.ym.mec.biz.service.ImGroupNoticeService;
-import com.ym.mec.biz.service.ImGroupService;
-import com.ym.mec.biz.service.ImUserFriendService;
-import com.ym.mec.common.controller.BaseController;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 @RequestMapping("imGroup")
 @Api(tags = "IM群服务")
@@ -57,25 +54,25 @@ public class ImGroupController extends BaseController {
 		if (imGroupId.contains("S") || imGroupId.contains("I")){
 			imGroupId = imGroupId.substring(1);
 		}
-		return succeed(imGroupService.get(Long.parseLong(imGroupId)));
+		return succeed(imGroupService.get(imGroupId));
 	}
 
 	@ApiOperation("查询群成员列表")
 	@GetMapping(value = "/queryGroupMemberList")
-	public Object queryGroupMemberList(Long imGroupId) {
+	public Object queryGroupMemberList(String imGroupId) {
 		return succeed(imGroupService.queryMemberById(imGroupId));
 	}
 
 	@ApiOperation("查询群学生列表")
 	@GetMapping(value = "/queryGroupStudentList")
-	public Object queryGroupStudentList(Long imGroupId) {
+	public Object queryGroupStudentList(String imGroupId) {
 
 		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> StringUtils.isBlank(e.getRoleType())).collect(Collectors.toList()));
 	}
 
 	@ApiOperation("查询群成员详情")
 	@GetMapping(value = "/queryGroupMemberDetail")
-	public Object queryGroupMemberDetail(Long imGroupId, Integer userId) {
+	public Object queryGroupMemberDetail(String imGroupId, Integer userId) {
 
 		return succeed(imGroupService.queryMember(imGroupId, userId));
 	}

+ 12 - 12
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -12,8 +12,6 @@ import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.biz.service.ImUserFriendService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -21,6 +19,7 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
 
@@ -47,6 +46,7 @@ public class ImGroupController extends BaseController {
 	@Autowired
 	private ImGroupNoticeService imGroupNoticeService;
 
+	@Qualifier("")
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 
@@ -66,7 +66,7 @@ public class ImGroupController extends BaseController {
 		if (imGroupId.contains("S") || imGroupId.contains("I")){
 			imGroupId = imGroupId.substring(1);
 		}
-		return succeed(imGroupService.get(Long.parseLong(imGroupId)));
+		return succeed(imGroupService.get(imGroupId));
 	}
 
 	@ApiOperation("修改群信息")
@@ -85,19 +85,19 @@ public class ImGroupController extends BaseController {
 
 	@ApiOperation("查询群成员列表")
 	@GetMapping(value = "/queryGroupMemberList")
-	public HttpResponseResult<List<ImGroupMemberDto>> queryGroupMemberList(Long imGroupId) {
+	public HttpResponseResult<List<ImGroupMemberDto>> queryGroupMemberList(String imGroupId) {
 		return succeed(imGroupService.queryMemberById(imGroupId));
 	}
 
 	@ApiOperation("查询群学生列表")
 	@GetMapping(value = "/queryGroupStudentList")
-	public HttpResponseResult<List<ImGroupMemberDto>> queryGroupStudentList(Long imGroupId) {
+	public HttpResponseResult<List<ImGroupMemberDto>> queryGroupStudentList(String imGroupId) {
 		return succeed(imGroupService.queryMemberById(imGroupId).stream().filter(e -> StringUtils.isBlank(e.getRoleType())).collect(Collectors.toList()));
 	}
 
 	@ApiOperation("查询群成员详情")
 	@GetMapping(value = "/queryGroupMemberDetail")
-	public HttpResponseResult<ImGroupMemberDto> queryGroupMemberDetail(Long imGroupId, Integer userId) {
+	public HttpResponseResult<ImGroupMemberDto> queryGroupMemberDetail(String imGroupId, Integer userId) {
 		return succeed(imGroupService.queryMember(imGroupId, userId));
 	}
 
@@ -156,30 +156,30 @@ public class ImGroupController extends BaseController {
 
 	@ApiOperation("添加群成员")
 	@PostMapping(value = "/addGroupMember")
-	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "Integer"),
+	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "roleType", value = "指导老师,乐队指导,乐团主管,运营主管,学员不传", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "isAdmin", value = "是否管理员", required = true, dataType = "Boolean"),
 			@ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer")})
-	public Object addGroupMember(Long imGroupId, Integer userId, String roleType, boolean isAdmin) {
+	public Object addGroupMember(String imGroupId, Integer userId, String roleType, boolean isAdmin) {
 		return succeed(imGroupMemberService.join(imGroupId,userId,roleType,isAdmin));
 	}
 
 	@ApiOperation("退群")
 	@PostMapping(value = "/quitGroup")
 	@AuditLogAnnotation(operateName = "退群",interfaceURL = "imGroup/quitGroup")
-	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "Integer"),
+	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "String")})
-	public Object quitGroup(Long imGroupId, String userId) {
+	public Object quitGroup(String imGroupId, String userId) {
 		List<Integer> userIds = Arrays.stream(userId.split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
 		return succeed(imGroupMemberService.quit(imGroupId,userIds));
 	}
 
 	@ApiOperation("修改角色")
 	@PostMapping(value = "/updateRoleType")
-	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "Integer"),
+	@ApiImplicitParams({ @ApiImplicitParam(name = "imGroupId", value = "群编号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "roleType", value = "指导老师,乐队指导,乐团主管,运营主管,学员不传", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "userId", value = "用户编号", required = true, dataType = "Integer")})
-	public Object updateRoleType(Long imGroupId, Integer userId, String roleType) {
+	public Object updateRoleType(String imGroupId, Integer userId, String roleType) {
 		return succeed(imGroupMemberService.updateRoleType(imGroupId,userId,roleType));
 	}
 }

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

@@ -40,7 +40,7 @@ public class ImLiveBroadcastRoomController extends BaseController {
             @ApiImplicitParam(name = "liveState", dataType = "Integer", value = "直播状态 0未开始 1开始 2结束"),
             @ApiImplicitParam(name = "startTime", dataType = "String", value = "开始时间"),
             @ApiImplicitParam(name = "endTime", dataType = "String", value = "结束时间"),
-            @ApiImplicitParam(name = "popularize", dataType = "String", value = "结束时间"),
+            @ApiImplicitParam(name = "popularize", dataType = "Integer", value = "是否在首页推广 0否 1是"),
             @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
             @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
     })
@@ -191,5 +191,11 @@ public class ImLiveBroadcastRoomController extends BaseController {
         return succeed(imLiveBroadcastRoomService.queryRoomLimitOnlineUserInfo(roomUid));
     }
 
+    @ApiOperation("根据传入的用户id查询用户信息")
+    @PostMapping("/queryBaseUserInfo")
+    public HttpResponseResult<List<BaseRoomUserVo>> queryBaseUserInfo(@RequestBody List<Integer> userIdList) {
+        return succeed(imLiveBroadcastRoomService.queryBaseUserInfo(userIdList));
+    }
+
 }
 

+ 70 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ImLiveRoomReservationController.java

@@ -0,0 +1,70 @@
+package com.ym.mec.web.controller;
+
+
+import com.ym.mec.biz.dal.entity.ImLiveRoomReservation;
+import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
+import com.ym.mec.biz.service.ImLiveRoomReservationService;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.WrapperUtil;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import com.ym.mec.common.controller.BaseController;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * 直播预约记录(ImLiveRoomReservation)表控制层
+ *
+ * @author hgw
+ * @since 2022-05-24 14:54:04
+ */
+@RestController
+@RequestMapping("/imLiveRoomReservation")
+public class ImLiveRoomReservationController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImLiveRoomReservationService imLiveRoomReservationService;
+
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", dataType = "Integer", value = "用户id"),
+            @ApiImplicitParam(name = "roomUid", dataType = "String", value = "房间uid"),
+            @ApiImplicitParam(name = "ops", dataType = "Integer", value = "1 预约  2取消预约")
+    })
+    @PostMapping("/opsReserve")
+    public HttpResponseResult<Object> opsReserve(@RequestBody Map<String, Object> param) {
+        Integer ops = WrapperUtil.toInt(param, "ops", "请传入操作类型");
+        ImLiveRoomReservation entity = new ImLiveRoomReservation();
+        entity.setRoomUid(WrapperUtil.toStr(param, "roomUid", "请传入房间uid"));
+        entity.setUserId(WrapperUtil.toInt(param, "userId", "用户id不能为空"));
+        //1 预约  2取消预约
+        if (ops == 1) {
+            imLiveRoomReservationService.add(entity);
+        } else if (ops == 2) {
+            imLiveRoomReservationService.cancel(entity);
+        } else {
+            return failed("请传入正确的操作类型");
+        }
+        return succeed();
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "liveState", dataType = "Integer", value = "直播状态 0未开始 1开始 2结束"),
+            @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
+            @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
+    })
+    @ApiOperation("分页查询直播间列表")
+    @PostMapping("/queryPageStudent")
+    public HttpResponseResult<PageInfo<ImLiveBroadcastRoomVo>> queryPageStudent(@RequestBody Map<String, Object> param) {
+        return succeed(imLiveRoomReservationService.queryPageStudent(param));
+    }
+
+
+}
+

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

@@ -130,8 +130,8 @@ public class VipGroupManageController extends BaseController {
                 }
             }
 
-            imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
-            imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+            imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
+            imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
             imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(),classGroup.getGroupType());
         }
         vipGroupService.update(vipGroup);

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/ImGroupNoticeController.java

@@ -57,7 +57,7 @@ public class ImGroupNoticeController extends BaseController {
     @ApiOperation(value = "获取最新一条群公告")
     @RequestMapping("/getNewNotice")
     @PreAuthorize("@pcs.hasPermissions('imGroupNotice/getNewNotice','system')")
-    public Object getNewNotice(Long groupId) {
+    public Object getNewNotice(String groupId) {
         return succeed(imGroupNoticeService.queryLatestNotice(groupId));
     }