Browse Source

申请入群增加校验避免重复申请

master
yinzuomei 6 years ago
parent
commit
eaf00d671c
  1. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java
  2. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  3. 5
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java
  4. 5
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml

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

@ -85,7 +85,7 @@ public interface ResiGroupMemberDao extends BaseDao<ResiGroupMemberEntity> {
* @Description 查看用户是否存在有效的入群申请 * @Description 查看用户是否存在有效的入群申请
* @Date 2020/3/31 14:52 * @Date 2020/3/31 14:52
**/ **/
GroupMemeberOperationDTO selectGroupMemberOperationUnderAudit(@Param("userId") String userId, @Param("groupId") String groupId); GroupMemeberOperationDTO selectGroupMemberOperationLatest(@Param("userId") String userId, @Param("groupId") String groupId);
/** /**
* @return com.epmet.resi.group.dto.member.ResiGroupMemberDTO * @return com.epmet.resi.group.dto.member.ResiGroupMemberDTO

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

@ -48,6 +48,7 @@ import com.epmet.resi.group.dto.member.form.*;
import com.epmet.resi.group.dto.member.result.ApplyingMemberResultDTO; import com.epmet.resi.group.dto.member.result.ApplyingMemberResultDTO;
import com.epmet.resi.group.dto.member.result.GroupMemberListResultDTO; import com.epmet.resi.group.dto.member.result.GroupMemberListResultDTO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.bouncycastle.math.raw.Mod;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -176,14 +177,17 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
return errorResult; return errorResult;
} }
} }
//校验是否存在待审核的入群记录 //查看用户最新一条成员处理记录,避免重复申请
GroupMemeberOperationDTO groupMember = baseDao.selectGroupMemberOperationUnderAudit(applyJoinGroupFormDTO.getUserId(),applyJoinGroupFormDTO.getGroupId()); GroupMemeberOperationDTO groupMember = baseDao.selectGroupMemberOperationLatest(applyJoinGroupFormDTO.getUserId(),applyJoinGroupFormDTO.getGroupId());
if(null!=groupMember){ if(null!=groupMember&&MemberStateConstant.UNDER_AUDITTING.equals(groupMember.getOperateStatus())){
Result errorResult = new Result(); Result errorResult = new Result();
errorResult.setCode(EpmetErrorCode.ALREADY_APPLIED_GROUP.getValue()); errorResult.setCode(EpmetErrorCode.ALREADY_APPLIED_GROUP.getValue());
errorResult.setMsg(EpmetErrorCode.ALREADY_APPLIED_GROUP.getName()); errorResult.setMsg(EpmetErrorCode.ALREADY_APPLIED_GROUP.getName());
return errorResult; return errorResult;
} }
if(null!=groupMember&&MemberStateConstant.APPROVED.equals(groupMember.getOperateStatus())){
return new Result().error(ModuleConstant.ALREADY_IN_GROUP);
}
//插入一条待审核的记录 //插入一条待审核的记录
GroupMemeberOperationDTO groupMemeberOperation = new GroupMemeberOperationDTO(); GroupMemeberOperationDTO groupMemeberOperation = new GroupMemeberOperationDTO();
groupMemeberOperation.setGroupId(applyJoinGroupFormDTO.getGroupId()); groupMemeberOperation.setGroupId(applyJoinGroupFormDTO.getGroupId());

5
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java

@ -77,4 +77,9 @@ public interface ModuleConstant extends Constant {
* 组长审批时校验当前用户身份 * 组长审批时校验当前用户身份
*/ */
String CANNOT_AUDIT_APPLY="只有群主才可以审批入群申请"; String CANNOT_AUDIT_APPLY="只有群主才可以审批入群申请";
/**
* 申请入群是校验是否已经在群内
*/
String ALREADY_IN_GROUP="已经在群内,无需申请";
} }

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

@ -74,12 +74,13 @@
</select> </select>
<!-- 查看用户是否存在有效的入群申请 --> <!-- 查看用户是否存在有效的入群申请 -->
<select id="selectGroupMemberOperationUnderAudit" parameterType="map" resultType="com.epmet.resi.group.dto.member.GroupMemeberOperationDTO"> <select id="selectGroupMemberOperationLatest" parameterType="map" resultType="com.epmet.resi.group.dto.member.GroupMemeberOperationDTO">
select gmo.* from group_memeber_operation gmo select gmo.* from group_memeber_operation gmo
where gmo.DEL_FLAG='0' where gmo.DEL_FLAG='0'
and gmo.OPERATE_STATUS='under_auditting'
and gmo.CUSTOMER_USER_ID=#{userId} and gmo.CUSTOMER_USER_ID=#{userId}
and gmo.GROUP_ID=#{groupId} and gmo.GROUP_ID=#{groupId}
order by gmo.CREATED_TIME desc
limit 1
</select> </select>
<!-- 根据组id+用户id查询成员信息 --> <!-- 根据组id+用户id查询成员信息 -->

Loading…
Cancel
Save