|
@@ -1,11 +1,9 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.ImGroupMemberAuditDao;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.ImGroup;
|
|
|
-import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.ImGroupMemberAudit;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.AuditStatusEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
@@ -15,6 +13,7 @@ import com.yonge.cooleshow.biz.dal.queryInfo.ImGroupMemberAuditQueryInfo;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ImGroupMemberAuditService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ImGroupService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.AuditUserInfo;
|
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
|
import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
|
|
@@ -43,10 +42,9 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
|
|
|
@Resource
|
|
|
private ImGroupService imGroupService;
|
|
|
@Resource
|
|
|
- private SysUserFeignService sysUserFeignService;
|
|
|
+ private SysUserService sysUserService;
|
|
|
@Resource
|
|
|
private ImGroupMemberService imGroupMemberService;
|
|
|
-
|
|
|
@Resource
|
|
|
private SysMessageServiceImpl sysMessageService;
|
|
|
|
|
@@ -90,16 +88,15 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
|
|
|
imGroupMemberAudit.getUserId(), false,
|
|
|
imGroupMemberAudit.getRoleType());
|
|
|
//同步群成员数量
|
|
|
- imGroupService.syncGroupMemberNum(imGroup.getId());
|
|
|
+ imGroupService.getDao().updateMemberNum(imGroup.getId());
|
|
|
//加入融云群
|
|
|
imGroupMemberService.join(groupMembers,groupId);
|
|
|
} else {
|
|
|
- Map<Long,String> receivers = new HashMap<>();
|
|
|
-
|
|
|
+ Map<Long,String> receivers = new HashMap<>(1);
|
|
|
// 群创建人
|
|
|
- SysUser user = sysUserFeignService.queryUserById(imGroup.getCreateBy());
|
|
|
+ SysUser user = sysUserService.findUserById(imGroup.getCreateBy());
|
|
|
// 申请人
|
|
|
- SysUser auditUser = sysUserFeignService.queryUserById(imGroupMemberAudit.getUserId());
|
|
|
+ SysUser auditUser = sysUserService.findUserById(imGroupMemberAudit.getUserId());
|
|
|
|
|
|
receivers.put(user.getId(), user.getPhone());
|
|
|
try {
|
|
@@ -108,24 +105,15 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
|
|
|
} catch (Exception e) {
|
|
|
log.warn("学生入群消息发送失败,{}",e.getMessage());
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void applyAudit(String auditIds, AuditStatusEnum auditStatus,String groupId) throws Exception {
|
|
|
- if(auditStatus == AuditStatusEnum.AUDITING ){
|
|
|
- throw new BizException("操作失败:审核状态异常");
|
|
|
- }
|
|
|
- ImGroup imGroup = imGroupService.getById(groupId);
|
|
|
- if(Objects.isNull(imGroup)){
|
|
|
- throw new BizException("群组信息不存在");
|
|
|
- }
|
|
|
- SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
- if(!sysUser.getId().equals(imGroup.getCreateBy())){
|
|
|
- throw new BizException("操作失败:您没有审核权限");
|
|
|
- }
|
|
|
+ Optional.of(auditStatus).filter(e->e != AuditStatusEnum.AUDITING).orElseThrow(()->new BizException("操作失败:审核状态异常"));
|
|
|
+ ImGroup imGroup = Optional.ofNullable(imGroupService.getById(groupId)).orElseThrow(() ->new BizException("群组信息不存在"));
|
|
|
+ Optional.of(sysUserService.getUser()).filter(e->!e.getId().equals(imGroup.getCreateBy())).orElseThrow(()->new BizException("操作失败:您没有审核权限"));
|
|
|
//修改审核状态
|
|
|
baseMapper.batchUpdateAuditStatus(auditIds,auditStatus.getCode());
|
|
|
if(auditStatus == AuditStatusEnum.OPEN){
|
|
@@ -133,10 +121,9 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
|
|
|
Set<Long> userIds = imGroupMemberAudit.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
|
|
|
List<GroupMember> groupMembers = imGroupMemberService.initGroupMembers(groupId,userIds, ImGroupMemberRoleType.STUDENT);
|
|
|
//同步群成员数量
|
|
|
- imGroupService.syncGroupMemberNum(imGroup.getId());
|
|
|
+ imGroupService.getDao().updateMemberNum(imGroup.getId());
|
|
|
//加入融云群
|
|
|
imGroupMemberService.join(groupMembers,imGroup.getId());
|
|
|
-
|
|
|
sendMessage(auditIds);
|
|
|
}
|
|
|
}
|
|
@@ -148,21 +135,21 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
|
|
|
*/
|
|
|
private void sendMessage(String auditIds) {
|
|
|
List<AuditUserInfo> auditUserInfoList = baseMapper.selectAuditUserInfo(auditIds);
|
|
|
-
|
|
|
if (CollectionUtils.isEmpty(auditUserInfoList)) {
|
|
|
return;
|
|
|
}
|
|
|
- for (AuditUserInfo auditUserInfo : auditUserInfoList) {
|
|
|
- Map<Long,String> receivers = new HashMap<>();
|
|
|
+ auditUserInfoList.stream().forEach(this::sendMessage);
|
|
|
+ }
|
|
|
|
|
|
- receivers.put(auditUserInfo.getAuditUserId(), auditUserInfo.getAuditUserPhone());
|
|
|
- try {
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.FANSGROUP_APPLY_SUCCESS,
|
|
|
- receivers, null, 0, null, ClientEnum.STUDENT.getCode(), auditUserInfo.getGroupUsername(),
|
|
|
- auditUserInfo.getGroupName());
|
|
|
- } catch (Exception e) {
|
|
|
- log.warn("学生入群申请通过消息发送失败,{}",e.getMessage());
|
|
|
- }
|
|
|
+ private void sendMessage(AuditUserInfo auditUserInfo){
|
|
|
+ Map<Long,String> receivers = new HashMap<>(1);
|
|
|
+ receivers.put(auditUserInfo.getAuditUserId(), auditUserInfo.getAuditUserPhone());
|
|
|
+ try {
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.FANSGROUP_APPLY_SUCCESS,
|
|
|
+ receivers, null, 0, null, ClientEnum.STUDENT.getCode(), auditUserInfo.getGroupUsername(),
|
|
|
+ auditUserInfo.getGroupName());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("学生入群申请通过消息发送失败,{}",e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|