Pārlūkot izejas kodu

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

zouxuan 1 gadu atpakaļ
vecāks
revīzija
0234037d68

+ 21 - 0
mec-application/src/main/java/com/ym/mec/web/controller/ImGroupMemberController.java

@@ -2,6 +2,7 @@ package com.ym.mec.web.controller;
 
 import com.microsvc.toolkit.common.webportal.exception.BizException;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
+import com.ym.mec.biz.dal.enums.im.EImGroupRoleType;
 import com.ym.mec.biz.dal.page.GroupMemberQueryInfo;
 import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
 import com.ym.mec.biz.service.ImGroupMemberService;
@@ -19,7 +20,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 @RequestMapping("${app-config.url.web:}/imGroupMember")
 @Api(tags = "IM群成员服务")
@@ -45,6 +49,23 @@ public class ImGroupMemberController extends BaseController {
 		return succeed();
 	}
 
+	@ApiOperation(value = "群成员身份初始化")
+	@PostMapping("/groupRoleInit")
+	public HttpResponseResult<Object> groupRoleInit(String groupRoleType) {
+		List<ImGroupMemberWrapper.GroupMemberRole1> memberRoles = imGroupMemberService.getDao().groupRoleInit(groupRoleType);
+		if(CollectionUtils.isNotEmpty(memberRoles)){
+			memberRoles.stream().collect(Collectors.groupingBy(ImGroupMemberWrapper.GroupMemberRole1::getGroupId)).forEach((k,v)->{
+				ImGroupMemberWrapper.GroupMemberRole memberRole = new ImGroupMemberWrapper.GroupMemberRole();
+				memberRole.setGroupId(k);
+				memberRole.setUserIds(v.stream().map(e->e.getUserId().toString()).collect(Collectors.toList()));
+				memberRole.setGroupRoleType(EImGroupRoleType.valueOf(v.get(0).getGroupRoleType()));
+				imGroupMemberService.groupMemberRole(memberRole);
+			});
+			return succeed();
+		}
+		return failed("没有需要初始化的数据");
+	}
+
 	@ApiOperation(value = "群成员身份设置", notes = "群成员身份设置- 传入 ImGroupMemberVo.GroupMemberRole")
 	@PostMapping("/groupRole")
 	public HttpResponseResult<Object> groupMemberRole(@RequestBody ImGroupMemberWrapper.GroupMemberRole member) {

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

@@ -5,6 +5,7 @@ import java.util.Map;
 import java.util.Set;
 
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
+import com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.entity.ImGroupMember;
@@ -64,4 +65,6 @@ public interface ImGroupMemberDao extends BaseDAO<Long, ImGroupMember> {
     void updateGroupMemberMute(@Param("groupId") String groupId, @Param("userIds") List<String> userIds, @Param("groupMute") Boolean groupMute);
 
     void batchUpdateGroupMemberRole(@Param("groupId") String groupId, @Param("userIds") List<String> userIds, @Param("groupRoleType") String groupRoleType);
+
+    List<ImGroupMemberWrapper.GroupMemberRole1> groupRoleInit(@Param("groupRoleType") String groupRoleType);
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/ImGroupMemberWrapper.java

@@ -196,4 +196,22 @@ public class ImGroupMemberWrapper {
         }
     }
 
+    @Data
+    @ApiModel(" GroupMemberMute-群成员角色")
+    public static class GroupMemberRole1 implements Serializable {
+
+        @ApiModelProperty(value = "群ID",required = true)
+        private String groupId;
+
+        @ApiModelProperty("群成员身份")
+        private String groupRoleType;
+
+        @ApiModelProperty("群成员ID")
+        private Integer userId;
+
+        public String jsonString() {
+            return JSON.toJSONString(this);
+        }
+    }
+
 }

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.ImGroupMemberDao;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.entity.ImGroup;
 import com.ym.mec.biz.dal.entity.ImGroupMember;
@@ -14,6 +15,8 @@ import java.util.Map;
 
 public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 
+	ImGroupMemberDao getDao();
+
 	/**
 	 * 加入群组
 	 * @param imGroupId 群编号

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -128,6 +128,11 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 	}
 
 	@Override
+	public ImGroupMemberDao getDao() {
+		return imGroupMemberDao;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean join(String imGroupId, Integer userId, String roleType, boolean isAdmin) {
 		ImGroup imGroup = imGroupDao.getLocked(imGroupId);

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml

@@ -229,8 +229,11 @@
             #{item}
         </foreach>
     </select>
+    <select id="groupRoleInit" resultType="com.ym.mec.biz.dal.wrapper.ImGroupMemberWrapper$GroupMemberRole1">
+		select im_group_id_ groupId,group_rote_type_ groupRoleType,user_id_ userId from im_group_member where group_rote_type_ = #{groupRoleType}
+	</select>
 
-	<delete id="delByImGroupAndUserId">
+    <delete id="delByImGroupAndUserId">
         DELETE FROM im_group_member WHERE im_group_id_ = #{imGroupId} AND user_id_ in
         <foreach collection="userIds" close=")" open="(" separator="," item="item">
             #{item}