Browse Source

入群申请接口添加校验,避免重复申请

master
yinzuomei 5 years ago
parent
commit
c4fa935836
  1. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java
  3. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  4. 9
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -8,7 +8,8 @@ package com.epmet.commons.tools.exception;
public enum EpmetErrorCode {
CANNOT_JOIN_GROUP(8001, "只有认证党员和居民才可以加入小组,请选择您的身份"),
CANNOT_CREATE_GROUP(8002, "只有党员和热心居民才能创建小组,请选择您的身份"),
GROUP_ALREADY_EXISTED(8003,"您的组名已存在,请重新修改");
GROUP_ALREADY_EXISTED(8003,"您的组名已存在,请重新修改"),
ALREADY_APPLIED_GROUP(8004,"该群已申请过,请耐心等待审核");
private int value;
private String name;

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java

@ -20,6 +20,7 @@ package com.epmet.modules.member.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.resi.group.dto.UserRoleDTO;
import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.form.ApplyingMemberFormDTO;
import com.epmet.resi.group.dto.member.form.GroupMemberListFormDTO;
@ -75,4 +76,14 @@ public interface ResiGroupMemberDao extends BaseDao<ResiGroupMemberEntity> {
* @Date 2020/3/31 13:04
**/
ResiGroupMemberDTO selectLeaderMember(String groupId);
/**
* @return com.epmet.resi.group.dto.member.GroupMemeberOperationDTO
* @param userId
* @param groupId
* @Author yinzuomei
* @Description 查看用户是否存在有效的入群申请
* @Date 2020/3/31 14:52
**/
GroupMemeberOperationDTO selectGroupMemberOperationUnderAudit(@Param("userId") String userId, @Param("groupId") String groupId);
}

9
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java

@ -175,6 +175,14 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
return errorResult;
}
}
//校验是否存在待审核的入群记录
GroupMemeberOperationDTO groupMember = baseDao.selectGroupMemberOperationUnderAudit(applyJoinGroupFormDTO.getUserId(),applyJoinGroupFormDTO.getGroupId());
if(null!=groupMember){
Result errorResult = new Result();
errorResult.setCode(EpmetErrorCode.ALREADY_APPLIED_GROUP.getValue());
errorResult.setMsg(EpmetErrorCode.ALREADY_APPLIED_GROUP.getName());
return errorResult;
}
//插入一条待审核的记录
GroupMemeberOperationDTO groupMemeberOperation = new GroupMemeberOperationDTO();
groupMemeberOperation.setGroupId(applyJoinGroupFormDTO.getGroupId());
@ -184,6 +192,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
groupMemeberOperation.setOperateStatus(MemberStateConstant.UNDER_AUDITTING);
groupMemeberOperation.setEnterGroupType(EnterGroupTypeConstant.JOIN);
groupMemeberOperation.setCreatedBy(applyJoinGroupFormDTO.getUserId());
groupMemeberOperation.setOperateUserId(applyJoinGroupFormDTO.getUserId());
groupMemeberOperationService.save(groupMemeberOperation);
return new Result();
}

9
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml

@ -70,4 +70,13 @@
AND rgm.GROUP_LEADER_FLAG = 'leader'
AND rgm.RESI_GROUP_ID = #{groupId}
</select>
<!-- 查看用户是否存在有效的入群申请 -->
<select id="selectGroupMemberOperationUnderAudit" parameterType="map" resultType="com.epmet.resi.group.dto.member.GroupMemeberOperationDTO">
select gmo.* from group_memeber_operation gmo
where gmo.DEL_FLAG='0'
and gmo.OPERATE_STATUS='under_auditting'
and gmo.CUSTOMER_USER_ID=#{userId}
and gmo.GROUP_ID=#{groupId}
</select>
</mapper>

Loading…
Cancel
Save