|
@@ -0,0 +1,104 @@
|
|
|
+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.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.service.ImGroupMemberAuditService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.ImGroupService;
|
|
|
+import com.yonge.cooleshow.common.exception.BizException;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+/**
|
|
|
+ * (ImGroupMemberAudit)表服务实现类
|
|
|
+ *
|
|
|
+ * @author zx
|
|
|
+ * @since 2022-03-22 17:18:51
|
|
|
+ */
|
|
|
+@Service("imGroupMemberAuditService")
|
|
|
+public class ImGroupMemberAuditServiceImpl extends ServiceImpl<ImGroupMemberAuditDao, ImGroupMemberAudit> implements ImGroupMemberAuditService {
|
|
|
+
|
|
|
+ private final static Logger log = LoggerFactory.getLogger(ImGroupMemberAuditServiceImpl.class);
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private ImGroupService imGroupService;
|
|
|
+ @Resource
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
+ @Resource
|
|
|
+ private ImGroupMemberService imGroupMemberService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ImGroupMemberAuditDao getDao() {
|
|
|
+ return this.baseMapper;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void apply(ImGroupMemberAudit imGroupMemberAudit) {
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ baseMapper.insert(imGroupMemberAudit);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void applyAudit(Long auditId, AuditStatusEnum auditStatus) throws Exception {
|
|
|
+ ImGroupMemberAudit imGroupMemberAudit = baseMapper.selectById(auditId);
|
|
|
+ if(Objects.isNull(imGroupMemberAudit)){
|
|
|
+ throw new BizException("审核信息不存在");
|
|
|
+ }
|
|
|
+ if(imGroupMemberAudit.getAuditStatus() != AuditStatusEnum.AUDITING){
|
|
|
+ throw new BizException("您已审核,请勿重复提交");
|
|
|
+ }
|
|
|
+ ImGroup imGroup = imGroupService.getById(imGroupMemberAudit.getGroupId());
|
|
|
+ if(Objects.isNull(imGroup)){
|
|
|
+ throw new BizException("群组信息不存在");
|
|
|
+ }
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if(!sysUser.getId().equals(imGroup.getCreateBy())){
|
|
|
+ throw new BizException("操作失败:您没有审核权限");
|
|
|
+ }
|
|
|
+ if(auditStatus == AuditStatusEnum.REJECT){
|
|
|
+
|
|
|
+ }else 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);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|