Browse Source

Merge remote-tracking branch 'origin/dev_group_edit' into dev_group_edit

dev_shibei_match
wangchao 5 years ago
parent
commit
ab76e69e5b
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java
  2. 13
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
  3. 74
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  4. 24
      epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql
  5. 21
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java

@ -10,6 +10,7 @@ public enum RequirePermissionEnum {
* 工作-基层治理-群组管理
*/
WORK_GRASSROOTS_GROUP_AUDITINGLIST("work_grassroots_group_auditinglist", "基层治理:群组管理:待审核列表", "基层治理:群组管理:待审核列表查询"),
WORK_GRASSROOTS_GROUP_EDIT_AUDITINGLIST("work_grassroots_group_edit_auditinglist", "基层治理:群组管理:小组变更待审核列表", "基层治理:群组管理:小组变更待审核列表"),
WORK_GRASSROOTS_GROUP_GROUPSINTHEGRID("work_grassroots_group_groupsinthegrid", "基层治理:群组管理:本网格小组列表", "基层治理:群组管理:本网格小组列表查询"),
WORK_GRASSROOTS_GROUP_AUDIT("work_grassroots_group_audit", "基层治理:群组管理:审核建组", "基层治理:群组管理:审核建组(通过或驳回)"),
WORK_GRASSROOTS_GROUP_AUDITED("work_grassroots_group_audited", "基层治理:群组管理:审核历史", "基层治理:群组管理:审核历史列表查询"),

13
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java

@ -188,4 +188,17 @@ public interface ResiGroupDao extends BaseDao<ResiGroupEntity> {
* @date 2020.05.22 09:54
**/
List<ResiGroupDTO> selectGroupListByGridIds(@Param("gridIds") List<String> gridIds);
/**
* 编辑提交的时候检查组名是否存在网格内检查
* 检查resi_group中已审核通过的和待审核的
* 检查submit_record中待审核的已审核的不用检查因为已经更新到resi_group中了
* @param groupId
* @param gridId
* @param groupName
* @return
*/
int countExistsGroupNameBeforeEdit(@Param("groupId") String groupId,
@Param("gridId") String gridId,
@Param("groupName") String groupName);
}

74
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -359,38 +359,45 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
logger.info(String.format("创建小组异常:%s",EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg()));
throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode());
}
//2.1、查询当前申请人的身份,生成对应格式的消息内容
UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyCreateGroupFormDTO.getApp(),
applyCreateGroupFormDTO.getUserId(),
applyCreateGroupFormDTO.getCustomerId(),
applyCreateGroupFormDTO.getGridId());
if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) {
//2.内容检查
scanGroupEditContent(applyCreateGroupFormDTO.getGroupName(),
applyCreateGroupFormDTO.getGroupIntroduction(),
applyCreateGroupFormDTO.getGroupHeadPhoto());
//3.1、查询当前申请人的身份,生成对应格式的消息内容
UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyCreateGroupFormDTO.getApp(),
applyCreateGroupFormDTO.getUserId(),
applyCreateGroupFormDTO.getCustomerId(),
applyCreateGroupFormDTO.getGridId());
if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) {
logger.info(String.format("创建小组异常:%s",EpmetErrorCode.CANNOT_CREATE_GROUP.getMsg()));
throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode());
}
String roleName = "";
if(NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())){
roleName = ModuleConstant.PARTYMEMBER;
}else if(NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())){
roleName = ModuleConstant.WAREMHEARTED_RESI;
}
//2.2、插入一条待审核的组信息
}
String roleName = "";
if(NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())){
roleName = ModuleConstant.PARTYMEMBER;
}else if(NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())){
roleName = ModuleConstant.WAREMHEARTED_RESI;
}
//3.2、插入一条待审核的组信息
ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO);
insert(resiGroupEntity);
//3.获取居民注册信息
UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO();
resiParam.setCustomerId(applyCreateGroupFormDTO.getCustomerId());
resiParam.setUserId(applyCreateGroupFormDTO.getUserId());
Result<UserResiInfoResultDTO> resiResult =
epmetUserFeignClient.getUserResiInfoDTO(resiParam);
String userName = "";
if(resiResult.success() && null != resiResult.getData()){
userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname())
+ (StringUtils.isBlank(resiResult.getData().getName()) ? "" :resiResult.getData().getName());
}
//4.获取居民注册信息
UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO();
resiParam.setCustomerId(applyCreateGroupFormDTO.getCustomerId());
resiParam.setUserId(applyCreateGroupFormDTO.getUserId());
Result<UserResiInfoResultDTO> resiResult =
epmetUserFeignClient.getUserResiInfoDTO(resiParam);
String userName = "";
if(resiResult.success() && null != resiResult.getData()){
userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname())
+ (StringUtils.isBlank(resiResult.getData().getName()) ? "" :resiResult.getData().getName());
}
userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName;
String msg = String.format(UserMessageConstant.CREATION_OF_GROUP_MESSAGE_TEMPLATE,roleName,userName,applyCreateGroupFormDTO.getGroupName());
//3.2、插入一条待审核的操作记录
String msg = String.format(UserMessageConstant.CREATION_OF_GROUP_MESSAGE_TEMPLATE,roleName,userName,applyCreateGroupFormDTO.getGroupName());
//4.2、插入一条待审核的操作记录
ResiGroupOperationDTO resiGroupOperation = new ResiGroupOperationDTO();
resiGroupOperation.setResiGroupId(resiGroupEntity.getId());
resiGroupOperation.setState(GroupStateConstant.GROUP_UNDER_AUDITTING);
@ -398,7 +405,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
resiGroupOperation.setMessageText(msg);
resiGroupOperation.setReadFlag(ModuleConstant.UNREAD);
resiGroupOperationService.save(resiGroupOperation);
//4、插入一群成员信息(群主)
//5、插入一群成员信息(群主)
ResiGroupMemberDTO resiGroupMemberDTO = new ResiGroupMemberDTO();
resiGroupMemberDTO.setCustomerUserId(applyCreateGroupFormDTO.getUserId());
resiGroupMemberDTO.setResiGroupId(resiGroupEntity.getId());
@ -406,7 +413,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
resiGroupMemberDTO.setStatus(MemberStateConstant.UNDER_AUDITTING);
resiGroupMemberDTO.setEnterGroupType(EnterGroupTypeConstant.CREATED);
resiGroupMemberService.save(resiGroupMemberDTO);
//5、插入一条入群记录(群主的)
//6、插入一条入群记录(群主的)
GroupMemeberOperationDTO groupMemeberOperationDTO = new GroupMemeberOperationDTO();
groupMemeberOperationDTO.setCustomerUserId(applyCreateGroupFormDTO.getUserId());
groupMemeberOperationDTO.setGroupId(resiGroupEntity.getId());
@ -414,7 +421,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
groupMemeberOperationDTO.setOperateUserId(applyCreateGroupFormDTO.getUserId());
groupMemeberOperationDTO.setEnterGroupType(EnterGroupTypeConstant.CREATED);
groupMemeberOperationService.save(groupMemeberOperationDTO);
//6、群初始统计记录
//7、群初始统计记录
/*UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyCreateGroupFormDTO.getApp(),
applyCreateGroupFormDTO.getUserId(),
applyCreateGroupFormDTO.getCustomerId(),
@ -1064,8 +1071,13 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), "该组已提交编辑,处于待审核状态,完成审核前不可再次提交");
}
if (resiGroupDao.countExistsGroupNameBeforeEdit(groupId, group.getGridId(), groupName) > 0) {
// 已存在组名,拒绝提交
throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), "组名已存在");
}
// 2.内容检查
scanGroupEditContent(groupName, groupIntroduction, groupHeadPhoto);
//scanGroupEditContent(groupName, groupIntroduction, groupHeadPhoto);
String app = loginUserUtil.getLoginUserApp();
String userId = loginUserUtil.getLoginUserId();

24
epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql

@ -0,0 +1,24 @@
CREATE TABLE `group_edit_submit_record`
(
`ID` varchar(64) NOT NULL,
`GROUP_ID` varchar(64) NOT NULL COMMENT '小组ID',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`GRID_ID` varchar(64) DEFAULT NULL COMMENT '网格ID',
`GROUP_HEAD_PHOTO` varchar(255) NOT NULL COMMENT '头像',
`GROUP_NAME` varchar(10) NOT NULL COMMENT '小组名称',
`GROUP_INTRODUCTION` varchar(500) NOT NULL COMMENT '小组介绍',
`AUDIT_STATUS` varchar(30) NOT NULL COMMENT '审核状态。under_auditting:审核中,approved:通过,rejected:驳回',
`STAFF_ID` varchar(64) DEFAULT NULL COMMENT '审核人ID',
`REMARK` varchar(255) DEFAULT NULL COMMENT '回复',
`AUDIT_TIME` datetime DEFAULT NULL COMMENT '审核时间',
`DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识',
`REVISION` int(8) NOT NULL DEFAULT '0' COMMENT '乐观锁',
`CREATED_BY` varchar(64) NOT NULL COMMENT '创建人 提交人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(64) NOT NULL COMMENT '修改人ID',
`UPDATED_TIME` datetime NOT NULL COMMENT '修改时间',
`READ_FLAG` varchar(8) NOT NULL COMMENT '已读read 未读unread',
`MESSAGE_TEXT` varchar(255) NOT NULL COMMENT '审核人员查看待审核列表时的文案,如:党员李华申请变更小组【原小组名】,请审核。',
PRIMARY KEY (`ID`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='组编辑提交记录表'

21
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml

@ -397,4 +397,25 @@
GRID_ID = #{gridId}
</foreach>
</select>
<select id="countExistsGroupNameBeforeEdit" resultType="java.lang.Integer">
select sum(t.c) num
from (
select count(1) c
from resi_group g
where g.GROUP_NAME = #{groupName}
and g.DEL_FLAG = 0
and g.GRID_ID = #{gridId}
and g.ID != #{groupId}
and g.STATE in ('approved', 'under_auditting')
union all
select count(1) c
from group_edit_submit_record esr
where esr.GROUP_ID != #{groupId}
and esr.GRID_ID = #{gridId}
and esr.GROUP_NAME = #{groupName}
and esr.AUDIT_STATUS = 'under_auditting'
and esr.DEL_FLAG = 0
) t
</select>
</mapper>

Loading…
Cancel
Save