|
@@ -1,30 +1,29 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
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.config.RongCloudConfig;
|
|
|
-import com.yonge.cooleshow.biz.dal.dao.ImGroupDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.ImGroupMemberAuditDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
|
|
|
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.AuthStatusEnum;
|
|
|
+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.support.PageUtil;
|
|
|
import com.yonge.cooleshow.common.exception.BizException;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
+import com.yonge.cooleshow.common.page.PageInfo;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
/**
|
|
@@ -52,29 +51,55 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void apply(ImGroupMemberAudit imGroupMemberAudit) {
|
|
|
+ public void apply(ImGroupMemberAudit imGroupMemberAudit) throws Exception {
|
|
|
Long groupId = imGroupMemberAudit.getGroupId();
|
|
|
ImGroup imGroup = imGroupService.getById(groupId);
|
|
|
if(Objects.isNull(imGroup)){
|
|
|
throw new BizException("群组信息不存在");
|
|
|
}
|
|
|
- if(imGroup.getAutoPassFlag()){
|
|
|
- imGroupMemberAudit.setAuditStatus(AuditStatusEnum.OPEN);
|
|
|
- }else {
|
|
|
- imGroupMemberAudit.setAuditStatus(AuditStatusEnum.AUDITING);
|
|
|
+ //是否在群
|
|
|
+ Map<String,Object> groupMemberParams = new HashMap<>(2);
|
|
|
+ groupMemberParams.put("groupId",groupId);
|
|
|
+ groupMemberParams.put("userId",imGroupMemberAudit.getUserId());
|
|
|
+ if(Objects.nonNull(imGroupMemberService.getDao().findOne(groupMemberParams))){
|
|
|
+ throw new BizException("您已经在群聊中,请勿重复添加");
|
|
|
}
|
|
|
+ //是否有待审核的申请
|
|
|
+ Map<String,Object> auditParams = new HashMap<>(3);
|
|
|
+ auditParams.put("groupId",groupId);
|
|
|
+ auditParams.put("userId",imGroupMemberAudit.getUserId());
|
|
|
+ auditParams.put("auditStatus",AuditStatusEnum.AUDITING.getCode());
|
|
|
+ if(Objects.nonNull(baseMapper.findOne(auditParams))){
|
|
|
+ throw new BizException("您有待审核的申请,请勿重复提交");
|
|
|
+ }
|
|
|
+ Date date = new Date();
|
|
|
+ //是否自动通过审核
|
|
|
+ imGroupMemberAudit.setAuditStatus(imGroup.getAutoPassFlag()?AuditStatusEnum.OPEN:AuditStatusEnum.AUDITING);
|
|
|
+ imGroupMemberAudit.setUpdateTime(date);
|
|
|
+ imGroupMemberAudit.setCreateTime(date);
|
|
|
baseMapper.insert(imGroupMemberAudit);
|
|
|
+ if(imGroup.getAutoPassFlag()){
|
|
|
+ //加群
|
|
|
+ imGroupMemberService.addGroupMember(imGroup.getId(),
|
|
|
+ imGroupMemberAudit.getUserId(),false,
|
|
|
+ imGroupMemberAudit.getRoleType());
|
|
|
+ //同步群成员数量
|
|
|
+ imGroupService.syncGroupMemberNum(imGroup.getId());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void applyAudit(Long auditId, AuditStatusEnum auditStatus) throws Exception {
|
|
|
+ if(auditStatus == AuditStatusEnum.AUDITING ){
|
|
|
+ throw new BizException("操作失败:审核状态异常");
|
|
|
+ }
|
|
|
ImGroupMemberAudit imGroupMemberAudit = baseMapper.selectById(auditId);
|
|
|
if(Objects.isNull(imGroupMemberAudit)){
|
|
|
throw new BizException("审核信息不存在");
|
|
|
}
|
|
|
if(imGroupMemberAudit.getAuditStatus() != AuditStatusEnum.AUDITING){
|
|
|
- throw new BizException("您已审核,请勿重复提交");
|
|
|
+ throw new BizException("该入群申请已审核,请勿重复提交");
|
|
|
}
|
|
|
ImGroup imGroup = imGroupService.getById(imGroupMemberAudit.getGroupId());
|
|
|
if(Objects.isNull(imGroup)){
|
|
@@ -84,21 +109,24 @@ public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAudi
|
|
|
if(!sysUser.getId().equals(imGroup.getCreateBy())){
|
|
|
throw new BizException("操作失败:您没有审核权限");
|
|
|
}
|
|
|
- if(auditStatus == AuditStatusEnum.REJECT){
|
|
|
-
|
|
|
- }else if(auditStatus == AuditStatusEnum.OPEN){
|
|
|
+ imGroupMemberAudit.setAuditStatus(auditStatus);
|
|
|
+ imGroupMemberAudit.setUpdateTime(new Date());
|
|
|
+ baseMapper.updateById(imGroupMemberAudit);
|
|
|
+ if(auditStatus == AuditStatusEnum.OPEN){
|
|
|
//加群
|
|
|
imGroupMemberService.addGroupMember(imGroup.getId(),
|
|
|
imGroupMemberAudit.getUserId(),false,
|
|
|
imGroupMemberAudit.getRoleType());
|
|
|
//同步群成员数量
|
|
|
imGroupService.syncGroupMemberNum(imGroup.getId());
|
|
|
- }else {
|
|
|
- throw new BizException("操作失败:审核状态异常");
|
|
|
}
|
|
|
- imGroupMemberAudit.setAuditStatus(auditStatus);
|
|
|
- imGroupMemberAudit.setUpdateTime(new Date());
|
|
|
- baseMapper.updateById(imGroupMemberAudit);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo<ImGroupMemberAudit> queryPage(ImGroupMemberAuditQueryInfo queryInfo) {
|
|
|
+ Page<ImGroupMemberAudit> pageInfo = PageUtil.getPage(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ pageInfo.setDesc("id_");
|
|
|
+ return PageUtil.pageInfo(baseMapper.queryPage(pageInfo,queryInfo));
|
|
|
}
|
|
|
}
|
|
|
|