Browse Source

新增initapplycreategroup接口

dev_shibei_match
yinzuomei 5 years ago
parent
commit
53a28d326a
  1. 36
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 5
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java
  3. 13
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
  4. 19
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
  5. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  6. 106
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  7. 4
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java
  8. 31
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml
  9. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java
  10. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

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

@ -0,0 +1,36 @@
package com.epmet.commons.tools.exception;
/**
* @Auther: yinzuomei
* @Date: 2020/3/30 16:18
* @Description:
*/
public enum EpmetErrorCode {
CANNOT_JOIN_GROUP(8001, "只有认证居民才可以加入小组"),
CANNOT_CREATE_GROUP(8002, "只有党员和热心居民才能创建小组"),
GROUP_ALREADY_EXISTED(8003,"组名已存在");
private int value;
private String name;
EpmetErrorCode(int value, String name) {
this.value = value;
this.name = name;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

5
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java

@ -24,7 +24,8 @@ public class GroupSummarizeResultDTO implements Serializable {
private String groupHeadPhoto;
/**
* 组长名称
* 组长名称
* 暂定街道-姓名
*/
private String leaderName;
@ -54,7 +55,7 @@ public class GroupSummarizeResultDTO implements Serializable {
private Integer totalApplyingMember;
/**
* 群主标识leader,member成员
* 当前用户对应的群主标识leader,member成员
*/
private String leaderFlag;
}

13
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java

@ -177,4 +177,17 @@ public class ResiGroupController {
resiUserInfoFormDTO.setCustomerId(customerId);
return resiGroupService.initApplyGroup(resiUserInfoFormDTO);
}
/**
* @param tokenDto
* @param customerId
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 创建小组界面初始化 只有党员和热心居民才能创建小组
* @Date 2020/3/30 15:44
**/
@PostMapping("initapplycreategroup")
public Result initApplyCreatedGroup(@LoginUser TokenDto tokenDto, @RequestParam("customerId") String customerId) {
return resiGroupService.initApplyCreatedGroup(tokenDto,customerId);
}
}

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

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -87,4 +88,22 @@ public interface ResiGroupDao extends BaseDao<ResiGroupEntity> {
* @Date 2020/3/29 17:55
**/
GroupSummarizeResultDTO selectGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO);
/**
* @param groupId
* @return com.epmet.resi.group.dto.member.ResiGroupMemberDTO
* @Author yinzuomei
* @Description 根据组id组组长信息
* @Date 2020/3/30 15:15
**/
ResiGroupMemberDTO selectGroupLeader(String groupId);
/**
* @param applyCreateGroupFormDTO
* @return java.util.List<com.epmet.modules.group.entity.ResiGroupEntity>
* @Author yinzuomei
* @Description 校验群名称是否存在
* @Date 2020/3/30 16:03
**/
List<ResiGroupEntity> checkResiGroupName(ApplyCreateGroupFormDTO applyCreateGroupFormDTO);
}

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java

@ -20,6 +20,7 @@ package com.epmet.modules.group.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.modules.group.entity.ResiGroupEntity;
@ -172,4 +173,14 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Date 2020/3/30 10:17
**/
Result initApplyGroup(UserResiInfoFormDTO resiUserInfoFormDTO);
/**
* @param tokenDto
* @param customerId
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 校验用户是否是热心居民或者党员
* @Date 2020/3/30 15:50
**/
Result initApplyCreatedGroup(TokenDto tokenDto, String customerId);
}

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

@ -22,7 +22,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserResiInfoDTO;
@ -218,11 +220,37 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
if (null != groupSummarizeResultDTO) {
return new Result<GroupSummarizeResultDTO>().error(ModuleConstant.GETGROUPSUMMARIZE_FAILED);
}
//群主名称需要调用feign查询
groupSummarizeResultDTO.setLeaderName("测试");
//获取组长信息
Result<UserResiInfoDTO> groupLeaderUserInfo=this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId());
if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) {
groupSummarizeResultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName());
}
return new Result<GroupSummarizeResultDTO>().ok(groupSummarizeResultDTO);
}
/**
* @param groupId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.UserResiInfoDTO>
* @Author yinzuomei
* @Description 根据组id查询组长信息
* @Date 2020/3/30 15:07
**/
private Result<UserResiInfoDTO> getGroupLeaderUserInfo(String groupId) {
//群主名称需要调用feign查询
ResiGroupEntity resiGroupEntity = baseDao.selectById(groupId);
if (null == resiGroupEntity) {
return new Result<>();
}
ResiGroupMemberDTO groupMemberDTO = baseDao.selectGroupLeader(groupId);
if (null == groupMemberDTO) {
return new Result<>();
}
UserResiInfoFormDTO resiUserInfoFormDTO = new UserResiInfoFormDTO();
resiUserInfoFormDTO.setCustomerId(resiGroupEntity.getCustomerId());
resiUserInfoFormDTO.setUserId(groupMemberDTO.getCustomerUserId());
return epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO);
}
/**
* @param applyCreateGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
@ -232,10 +260,18 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
**/
@Override
public Result applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) {
//1、插入一条待审核的组信息
//1、校验是否同名
List<ResiGroupEntity> resiGroupEntityList=this.getResiGroupEntityList(applyCreateGroupFormDTO);
if(null!=resiGroupEntityList&&resiGroupEntityList.size()>0){
Result result=new Result();
result.setCode(EpmetErrorCode.GROUP_ALREADY_EXISTED.getValue());
result.setMsg(EpmetErrorCode.GROUP_ALREADY_EXISTED.getName());
return result;
}
//2、插入一条待审核的组信息
ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO);
insert(resiGroupEntity);
//2、插入一条待审核的操作记录
//3、插入一条待审核的操作记录
ResiGroupOperationDTO resiGroupOperation = new ResiGroupOperationDTO();
resiGroupOperation.setResiGroupId(resiGroupEntity.getId());
resiGroupOperation.setState(GroupStateConstant.GROUP_UNDER_AUDITTING);
@ -244,6 +280,18 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
return new Result();
}
/**
* @param applyCreateGroupFormDTO
* @return java.util.List<com.epmet.modules.group.entity.ResiGroupEntity>
* @Author yinzuomei
* @Description 查询是否存在相同名字的群
* @Date 2020/3/30 16:01
**/
private List<ResiGroupEntity> getResiGroupEntityList(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) {
List<ResiGroupEntity> list = baseDao.checkResiGroupName(applyCreateGroupFormDTO);
return list;
}
/**
* @param applyJoinGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
@ -253,14 +301,10 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
**/
@Override
public Result applyJoinGroup(ApplyJoinGroupFormDTO applyJoinGroupFormDTO) {
ResiGroupDTO resiGroupDTO = this.get(applyJoinGroupFormDTO.getGroupId());
if (null == resiGroupDTO) {
return new Result().error(ModuleConstant.QUERY_GROUPINFO_FAILED);
}
//插入一条待审核的记录
GroupMemeberOperationDTO groupMemeberOperation = new GroupMemeberOperationDTO();
groupMemeberOperation.setGroupId(resiGroupDTO.getId());
groupMemeberOperation.setCustomerUserId(resiGroupDTO.getCustomerId());
groupMemeberOperation.setGroupId(applyJoinGroupFormDTO.getGroupId());
groupMemeberOperation.setCustomerUserId(applyJoinGroupFormDTO.getUserId());
groupMemeberOperation.setGroupId(applyJoinGroupFormDTO.getGroupId());
groupMemeberOperation.setOperateDes(applyJoinGroupFormDTO.getOperateDes());
groupMemeberOperation.setOperateStatus(MemberStateConstant.UNDER_AUDITTING);
@ -270,17 +314,30 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
return new Result();
}
/**
* @param resiUserInfoFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 加入小组界面初始化
* @Date 2020/3/30 10:17
**/
@Override
public Result initApplyGroup(UserResiInfoFormDTO resiUserInfoFormDTO) {
if (StringUtils.isNotBlank(resiUserInfoFormDTO.getUserId()) && StringUtils.isNotBlank(resiUserInfoFormDTO.getCustomerId())) {
if (StringUtils.isBlank(resiUserInfoFormDTO.getCustomerId())) {
return new Result().error(ModuleConstant.CUSTOMERID_NOT_NULL);
}
if (StringUtils.isBlank(resiUserInfoFormDTO.getUserId())) {
return new Result().error(ModuleConstant.USER_NOT_NULL);
}
Result<UserResiInfoDTO> result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO);
if (!result.success() || null == result.getData()) {
return new Result().error(ModuleConstant.NOT_REGISTERED);
if (!result.success() || null == result.getData() || StringUtils.isBlank(result.getData().getRegMobile())) {
Result errorResult=new Result();
result.setCode(EpmetErrorCode.CANNOT_JOIN_GROUP.getValue());
result.setMsg(EpmetErrorCode.CANNOT_JOIN_GROUP.getName());
return errorResult;
}
return new Result();
}
return new Result().error(ModuleConstant.USER_NOT_NULL);
}
private ResiGroupEntity structureResiGroupEntity(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) {
ResiGroupEntity resiGroupEntity = new ResiGroupEntity();
@ -294,4 +351,23 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
return resiGroupEntity;
}
/**
* @param tokenDto
* @param customerId
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 校验用户是否是热心居民或者党员
* @Date 2020/3/30 15:50
**/
@Override
public Result initApplyCreatedGroup(TokenDto tokenDto, String customerId) {
if (StringUtils.isBlank(customerId)) {
return new Result().error(ModuleConstant.CUSTOMERID_NOT_NULL);
}
if (null == tokenDto || StringUtils.isBlank(tokenDto.getUserId())) {
return new Result().error(ModuleConstant.USER_NOT_NULL);
}
return null;
}
}

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

@ -64,7 +64,7 @@ public interface ModuleConstant extends Constant {
String QUERY_GROUPINFO_FAILED="查询组信息失败";
/**
* 申请加入小组时需要根据groupId查询组信息
* customerId不能为空
*/
String NOT_REGISTERED="为注册的居民不能加入小组";
String CUSTOMERID_NOT_NULL="客户id不能为空";
}

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

@ -157,4 +157,35 @@
AND rgs.DEL_FLAG = '0'
and rg.id=#{groupId}
</select>
<!-- 根据组信息查询组张信息 -->
<select id="selectGroupLeader" parameterType="java.lang.String" resultType="com.epmet.resi.group.dto.member.ResiGroupMemberDTO">
SELECT
*
FROM
resi_group_member rgm
WHERE
rgm.DEL_FLAG = '0'
AND rgm.GROUP_LEADER_FLAG = 'leader'
AND rgm.RESI_GROUP_ID = #{groupId}
</select>
<!-- 校验群名称是否存在 -->
<select id="checkResiGroupName" parameterType="com.epmet.resi.group.dto.group.form.ApplyCreateGroupFormDTO"
resultType="com.epmet.modules.group.entity.ResiGroupEntity">
SELECT
rg.*
FROM
resi_group rg
LEFT JOIN resi_group_member rgm ON ( rg.id = rgm.RESI_GROUP_ID )
WHERE
rg.DEL_FLAG = '0'
AND rgm.DEL_FLAG = '0'
AND rgm.GROUP_LEADER_FLAG = 'leader'
AND rgm.CUSTOMER_USER_ID = #{userId}
AND rg.GROUP_NAME = #{groupName}
AND rg.CUSTOMER_ID = #{customerId}
AND rg.GRID_ID = #{gridId}
AND rg.STATE in('approved','under_auditting')
</select>
</mapper>

5
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java

@ -103,4 +103,9 @@ public class UserResiInfoDTO implements Serializable {
*/
private Date updatedTime;
/**
* 用户显示名称
*/
private String showName;
}

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

@ -113,6 +113,10 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
@Override
public Result<UserResiInfoDTO> getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) {
UserResiInfoDTO userResiInfoDTO = baseDao.selectUserResiInfoDTO(userResiInfoFormDTO);
if (null != userResiInfoDTO) {
String showName = userResiInfoDTO.getStreet() + "-" + userResiInfoDTO.getSurname() + userResiInfoDTO.getName();
userResiInfoDTO.setShowName(showName);
}
return new Result<UserResiInfoDTO>().ok(userResiInfoDTO);
}

Loading…
Cancel
Save