Browse Source

扫码进群添加是否开启审核机制

master
sunyuchao 5 years ago
parent
commit
4ef8e25b87
  1. 12
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java
  2. 2
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java
  3. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java
  4. 30
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java
  5. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  6. 2
      epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql

12
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java

@ -42,11 +42,19 @@ public interface GroupStateConstant {
*/
String GROUP_CLOSED = "closed";
/**
* 邀请链接link
* 邀请链接invited
*/
String GROUP_LINK = "link";
String GROUP_INVITED = "invited";
/**
* 扫码scancode
*/
String GROUP_SCANCODE = "scancode";
/**
* 进组审核open开启close关闭
*/
String AUDIT_SWITCH_OPEN = "open";
/**
* 进组审核open开启close关闭
*/
String AUDIT_SWITCH_CLOSED = "close";
}

2
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java

@ -69,7 +69,7 @@ public class GroupInvitationDTO implements Serializable {
private Date validEndTime;
/**
* 邀请链接link;扫码scancode
* 邀请链接invited;扫码scancode
*/
private String invitationType;

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java

@ -69,7 +69,7 @@ public class GroupInvitationEntity extends BaseEpmetEntity {
private Date validEndTime;
/**
* 邀请链接link;扫码scancode
* 邀请链接invited;扫码scancode
*/
private String invitationType;

30
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java

@ -45,6 +45,7 @@ import com.epmet.modules.invitation.service.GroupInvitationService;
import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.service.GroupMemeberOperationService;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.member.service.impl.ResiGroupMemberServiceImpl;
import com.epmet.resi.group.constant.EnterGroupTypeConstant;
import com.epmet.resi.group.constant.GroupStateConstant;
import com.epmet.resi.group.constant.LeaderFlagConstant;
@ -102,6 +103,8 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
private ResiGuideFeignClient resiGuideFeignClient;
@Autowired
private ResiGroupRedis resiGroupRedis;
@Autowired
private ResiGroupMemberServiceImpl resiGroupMemberServiceImpl;
@Override
public PageData<GroupInvitationDTO> page(Map<String, Object> params) {
@ -181,7 +184,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + NumConstant.FOURTEEN);
groupInvitationEntity.setValidEndTime(calendar.getTime());
groupInvitationEntity.setResiGroupId(formDTO.getGroupId());
groupInvitationEntity.setInvitationType(GroupStateConstant.GROUP_LINK);
groupInvitationEntity.setInvitationType(GroupStateConstant.GROUP_INVITED);
insert(groupInvitationEntity);
CreateGroupInvitationResultDTO resultDTO = new CreateGroupInvitationResultDTO();
resultDTO.setInvitationId(groupInvitationEntity.getId());
@ -378,14 +381,29 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
logger.error(String.format("用户同意邀请进组失败,返回角色列表为空错误编码%s,错误提示%s",EpmetErrorCode.CANNOT_JOIN_GROUP.getCode(),EpmetErrorCode.CANNOT_JOIN_GROUP.getMsg()));
throw new RenException(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode());
}
//2020.11.17 sun 新增扫描或邀请进组是否需要审核的逻辑 start
GroupMemeberOperationDTO operation = new GroupMemeberOperationDTO();
operation.setGroupId(resiGroupDTO.getId());
operation.setCustomerUserId(formDTO.getUserId());
operation.setEnterGroupType(groupInvitationDTO.getInvitationType());
operation.setGroupInvitationId(formDTO.getInvitationId());
operation.setOperateUserId(formDTO.getUserId());
operation.setOperateStatus(MemberStateConstant.UNDER_AUDITTING);
operation.setOperateDes("通过扫码加入小组。");
//入组审核开关是开启状态则需要组长审核
if(GroupStateConstant.AUDIT_SWITCH_OPEN.equals(resiGroupDTO.getAuditSwitch())){
//新增一条入组申请
groupMemeberOperationService.accetInvitation(operation);
//给小组长推送站内信
resiGroupMemberServiceImpl.sendMessageToGroupLeader(resiGroupDTO, formDTO.getUserId());
return;
}
UserRoleDTO userRoleDTO=this.getUserRoleDTO(result.getData().getUserRoleList());
//5、新增一条邀请入群、直接审核通过的入群记录
GroupMemeberOperationDTO groupMemeberOperation = new GroupMemeberOperationDTO();
groupMemeberOperation.setGroupId(resiGroupDTO.getId());
groupMemeberOperation.setCustomerUserId(formDTO.getUserId());
GroupMemeberOperationDTO groupMemeberOperation = operation;
groupMemeberOperation.setOperateStatus(MemberStateConstant.APPROVED);
groupMemeberOperation.setEnterGroupType(EnterGroupTypeConstant.INVITED);
groupMemeberOperation.setOperateUserId(formDTO.getUserId());
groupMemeberOperation.setOperateDes("通过邀请链接加入小组。");
//2020.11.17 end
groupMemeberOperationService.accetInvitation(groupMemeberOperation);
//6、直接加入群成员关系表
//如果是之前被移除的,则修改resi_group_member记录

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

@ -242,7 +242,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
}
//给组长发送消息,有人申请入群
private void sendMessageToGroupLeader(ResiGroupDTO resiGroupDTO, String currentUserId) {
public void sendMessageToGroupLeader(ResiGroupDTO resiGroupDTO, String currentUserId) {
try {
ResiGroupMemberDTO groupLeader = resiGroupDao.selectGroupLeader(resiGroupDTO.getId());
if (null == groupLeader) {

2
epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql

@ -1,7 +1,7 @@
alter table resi_group add column AUDIT_SWITCH varchar(32) not null DEFAULT'open' COMMENT '进组审核open开启;close关闭';
alter table group_invitation add column INVITATION_TYPE VARCHAR(32) NOT NULL DEFAULT 'link' comment '邀请链接:link;扫码:scancode';
alter table group_invitation add column INVITATION_TYPE VARCHAR(32) NOT NULL DEFAULT 'invited' comment '邀请链接:invited;扫码:scancode';
alter table group_memeber_operation MODIFY ENTER_GROUP_TYPE varchar(32) not null comment '入群方式:(受邀请入群 - invited;主动加入 - join;created创建群自动进入;scancode扫码入群)';

Loading…
Cancel
Save