Przeglądaj źródła

Merge remote-tracking branch 'origin/master_saas' into master_saas

zouxuan 3 lat temu
rodzic
commit
94d599efff

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

@@ -43,6 +43,8 @@ public interface ImLiveBroadcastRoomDao extends BaseMapper<ImLiveBroadcastRoom>
 
     String querySchoolIds(@Param("organIds") String organIds);
 
+    String queryTeamIds(@Param("organIds") String organIds);
+
     List<LiveRoomGoodsOrderVo> queryLiveRoomGoodsOrderList(Map<String, Object> params);
 
     int countLiveRoomGoodsOrderList(Map<String, Object> params);

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

@@ -29,5 +29,7 @@ public interface ImLiveRoomReservationDao extends BaseMapper<ImLiveRoomReservati
      * @return
      */
     List<ImLiveBroadcastRoomVo> selectCountRoomReservation(@Param("roomIdList") List<String> roomIdList);
+
+    String queryMusicGroupIds(@Param("userId") Integer userId);
 }
 

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

@@ -58,6 +58,9 @@ public class ImLiveBroadcastRoomDto implements Serializable {
     @ApiModelProperty(value = "学校id-合作单位id,多个id逗号分割")
     private String popularizeSchoolIds;
 
+    @ApiModelProperty(value = "乐团id,多个id逗号分割")
+    private String popularizeTeamIds;
+
     @ApiModel(value = "房间配置")
     public static class RoomConfig implements Serializable {
 
@@ -204,5 +207,13 @@ public class ImLiveBroadcastRoomDto implements Serializable {
     public void setPopularizeSchoolIds(String popularizeSchoolIds) {
         this.popularizeSchoolIds = popularizeSchoolIds;
     }
+
+    public String getPopularizeTeamIds() {
+        return popularizeTeamIds;
+    }
+
+    public void setPopularizeTeamIds(String popularizeTeamIds) {
+        this.popularizeTeamIds = popularizeTeamIds;
+    }
 }
 

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

@@ -19,6 +19,12 @@ import java.io.Serializable;
  */
 @ApiModel(value = "im_live_broadcast_room-直播房间管理表")
 public class ImLiveBroadcastRoom implements Serializable {
+
+    public static final String ALL = "ALL";
+    public static final String ORGAN = "ORGAN";
+    public static final String SCHOOL = "SCHOOL";
+    public static final String TEAM = "TEAM";
+
     @TableId(value = "id_", type = IdType.AUTO)
     @ApiModelProperty(value = "主键")
     private Integer id;
@@ -83,6 +89,10 @@ public class ImLiveBroadcastRoom implements Serializable {
     @TableField("popularize_school_ids_")
     private String popularizeSchoolIds;
 
+    @ApiModelProperty(value = "乐团id,多个id逗号分割")
+    @TableField("popularize_team_ids_")
+    private String popularizeTeamIds;
+
     @TableField("created_by_")
     @ApiModelProperty(value = "创建人")
     private Integer createdBy;
@@ -278,5 +288,13 @@ public class ImLiveBroadcastRoom implements Serializable {
     public void setPopularizeSchoolIds(String popularizeSchoolIds) {
         this.popularizeSchoolIds = popularizeSchoolIds;
     }
+
+    public String getPopularizeTeamIds() {
+        return popularizeTeamIds;
+    }
+
+    public void setPopularizeTeamIds(String popularizeTeamIds) {
+        this.popularizeTeamIds = popularizeTeamIds;
+    }
 }
 

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

@@ -88,6 +88,9 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     @ApiModelProperty(value = "学校id-合作单位id,多个id逗号分割")
     private String popularizeSchoolIds;
 
+    @ApiModelProperty(value = "乐团id,多个id逗号分割")
+    private String popularizeTeamIds;
+
     @ApiModelProperty(value = "点赞数")
     private Integer likeNum;
     @ApiModelProperty(value = "当前观看人数")
@@ -327,5 +330,13 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     public void setPopularizeSchoolIds(String popularizeSchoolIds) {
         this.popularizeSchoolIds = popularizeSchoolIds;
     }
+
+    public String getPopularizeTeamIds() {
+        return popularizeTeamIds;
+    }
+
+    public void setPopularizeTeamIds(String popularizeTeamIds) {
+        this.popularizeTeamIds = popularizeTeamIds;
+    }
 }
 

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

@@ -283,6 +283,23 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         if (now.getTime() > dto.getLiveStartTime().getTime()) {
             throw new BizException("设置的直播开始时间不能小于当前时间");
         }
+
+        String popularizeType = dto.getPopularizeType();
+        switch (popularizeType) {
+            case ImLiveBroadcastRoom.ALL:
+                dto.setPopularizeOrgIds(null);
+                dto.setPopularizeSchoolIds(null);
+                dto.setPopularizeTeamIds(null);
+                break;
+            case ImLiveBroadcastRoom.ORGAN:
+                dto.setPopularizeSchoolIds(null);
+                dto.setPopularizeTeamIds(null);
+                break;
+            case ImLiveBroadcastRoom.SCHOOL:
+                dto.setPopularizeTeamIds(null);
+                break;
+        }
+
         BeanUtils.copyProperties(dto, obj);
         obj.setRoomConfig(JSONObject.toJSONString(dto.getRoomConfig()));
         log.info("update room  >>>  :{}", JSONObject.toJSONString(obj));

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

@@ -52,7 +52,7 @@ public class ImLiveRoomBlackServiceImpl extends ServiceImpl<ImLiveRoomBlackDao,
     @Override
     public PageInfo<SysUser> queryStudentList(Map<String, Object> param) {
         Page<SysUser> pageInfo = PageUtil.getPageInfo(param);
-        pageInfo.setDesc("a.id_");
+        pageInfo.setDesc("id_");
         Integer tenantId = TenantContextHolder.getTenantId();
         //管理员机构id 是-1
         if (Objects.nonNull(tenantId) && tenantId != -1) {

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

@@ -98,6 +98,10 @@ public class ImLiveRoomReservationServiceImpl extends ServiceImpl<ImLiveRoomRese
         if (Objects.nonNull(student) && Objects.nonNull(student.getCooperationOrganId())) {
             param.put("schoolId", student.getCooperationOrganId());
         }
+        String teamIds = baseMapper.queryMusicGroupIds(user.getId());
+        if (StringUtils.isNotBlank(teamIds)) {
+            param.put("teamIds", teamIds);
+        }
         IPage<ImLiveBroadcastRoomVo> page = baseMapper.queryPageStudent(pageInfo, param);
         return PageUtil.pageInfo(page);
     }

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

@@ -18,6 +18,7 @@
         <result column="popularize_type_" jdbcType="VARCHAR" property="popularizeType"/>
         <result column="popularize_org_ids_" jdbcType="VARCHAR" property="popularizeOrgIds"/>
         <result column="popularize_school_ids_" jdbcType="VARCHAR" property="popularizeSchoolIds"/>
+        <result column="popularize_team_ids_" jdbcType="VARCHAR" property="popularizeTeamIds"/>
         <result column="created_by_" jdbcType="INTEGER" property="createdBy"/>
         <result column="created_time_" jdbcType="TIMESTAMP" property="createdTime"/>
         <result column="updated_by_" jdbcType="INTEGER" property="updatedBy"/>
@@ -28,14 +29,14 @@
             parameterType="com.ym.mec.biz.dal.entity.ImLiveBroadcastRoom">
         insert into im_live_broadcast_room(tenant_id_, speaker_id_, room_uid_, room_title_, live_start_time_,
         live_end_time_, live_remark_, pre_template_, room_config_, live_state_, room_state_,
-        popularize_, popularize_type_,popularize_org_ids_,popularize_school_ids_,
+        popularize_, popularize_type_,popularize_org_ids_,popularize_school_ids_,popularize_team_ids_,
         created_by_, created_time_, updated_by_, updated_time_)
         values
         <foreach collection="entities" item="entity" separator=",">
             (#{entity.tenantId}, #{entity.speakerId}, #{entity.roomUid}, #{entity.roomTitle}, #{entity.liveStartTime},
             #{entity.liveEndTime}, #{entity.liveRemark}, #{entity.preTemplate}, #{entity.roomConfig},
             #{entity.liveState}, #{entity.roomState}, #{entity.popularize},
-            #{entity.popularizeType},#{entity.popularizeOrgIds},#{entity.popularizeSchoolIds},
+            #{entity.popularizeType},#{entity.popularizeOrgIds},#{entity.popularizeSchoolIds},#{entity.popularizeTeamIds},
             #{entity.createdBy}, #{entity.createdTime}, #{entity.updatedBy},#{entity.updatedTime})
         </foreach>
     </insert>
@@ -61,7 +62,8 @@
         a.popularize_ AS popularize,
         a.popularize_type_ AS popularizeType,
         a.popularize_org_ids_ AS popularizeOrgIds,
-        a.popularize_school_ids_ AS popularizeSchoolIds
+        a.popularize_school_ids_ AS popularizeSchoolIds,
+        a.popularize_team_ids_ AS popularizeTeamIds
         from (
         select *
         from im_live_broadcast_room
@@ -72,10 +74,10 @@
             union all
             select *
             from im_live_broadcast_room as a
-            where popularize_type_ = 'ORGAN'
+            where popularize_type_ in ( 'ORGAN', 'TEAM')
             and INTE_ARRAY(a.popularize_org_ids_, #{param.organIds}) = 1
         </if>
-        <if test="param.organIds != null">
+        <if test="param.schoolIds != null">
             union all
             select *
             from im_live_broadcast_room as a
@@ -218,4 +220,10 @@
     <select id="querySchoolIds" resultType="string">
         select GROUP_CONCAT(id_)  from cooperation_organ where  find_in_set(organ_id_,#{organIds})
     </select>
+
+    <select id="queryTeamIds" resultType="string">
+    select group_concat(id_)
+    from music_group where organ_id_ in (#{organIds}) group by organ_id_
+    </select>
+
 </mapper>

+ 13 - 15
mec-biz/src/main/resources/config/mybatis/ImLiveRoomBlackMapper.xml

@@ -25,26 +25,24 @@
     </insert>
 
     <select id="queryStudent" parameterType="object" resultType="com.ym.mec.auth.api.entity.SysUser">
-        select distinct a.id_        as id,
-             a.username_  as username,
-             a.real_name_ as realName,
-             a.phone_     as phone
-        from sys_user as a
-        left join im_live_room_black as b on a.id_ != b.user_id_
-        <if test="param.roomUid != null">
-            and b.room_uid_ = #{param.roomUid}
-        </if>
-        where find_in_set('STUDENT', a.user_type_)
-        and a.lock_flag_ = 0
-        and a.del_flag_ = 0
+        select id_        as id,
+        username_  as username,
+        real_name_ as realName,
+        phone_     as phone
+        from sys_user
+        where find_in_set('STUDENT', user_type_)
+        and lock_flag_ = 0
+        and del_flag_ = 0
+        and tenant_id_ = 1
+        and id_ not in (select user_id_  from im_live_room_black where room_uid_ = #{param.roomUid})
         <if test="param.tenantId != null ">
             and tenant_id_ = #{param.tenantId}
         </if>
         <if test="param.search != null ">
             and (
-                 a.`id_` LIKE CONCAT('%', #{param.search},'%')
-                  OR a.`username_` LIKE CONCAT('%', #{param.search},'%')
-                 OR a.`phone_` LIKE CONCAT('%', #{param.search},'%')
+                 `id_` LIKE CONCAT('%', #{param.search},'%')
+                  OR `username_` LIKE CONCAT('%', #{param.search},'%')
+                 OR `phone_` LIKE CONCAT('%', #{param.search},'%')
                )
         </if>
     </select>

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

@@ -60,6 +60,13 @@
             where popularize_type_ = 'SCHOOL'
             AND FIND_IN_SET(#{param.schoolId}, popularize_school_ids_)
         </if>
+        <if test="param.teamIds != null">
+            union all
+            select *
+            from im_live_broadcast_room as a
+            where popularize_type_ = 'TEAM'
+            and INTE_ARRAY(a.popularize_team_ids_, #{param.teamIds}) = 1
+        </if>
         ) 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_
@@ -101,4 +108,13 @@
         </where>
         group by lbr.room_uid_
     </select>
+
+    <select id="queryMusicGroupIds" resultType="string">
+        select group_concat(music_group_id_)
+        from student_registration
+        where user_id_ = #{userId}
+          and music_group_status_ != 'QUIT'
+        group by user_id_
+    </select>
+
 </mapper>

+ 3 - 1
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/JiguangPushPlugin.java

@@ -94,7 +94,9 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 		android.put("extras", android_extras);
         //2022年5月27日 增加以下参数,是因为安卓无法跳转到APP中
         JSONObject intentParam = new JSONObject();
-        intentParam.put("url", "intent:#Intent;action=android.intent.action.MAIN;end");
+//        intentParam.put("url", "intent:#Intent;action=android.intent.action.MAIN;end");
+        //2022年6月3日 修改参数,安卓通知需要后台修改
+        intentParam.put("url", "intent:#Intent;action=cn.jiguang.push.customAction;component=com.daya.studaya_android/com.daya.studaya_android.ui.MainActivity;end");
         android.put("intent", intentParam);
 
 		JSONObject ios = new JSONObject();// ios通知内容