diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java new file mode 100644 index 0000000000..d6b1f53cd7 --- /dev/null +++ b/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; + } +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java index e04aab44f7..57e5717cda 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java +++ b/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; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 7e5e1f1a57..4e92c7bb3d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/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); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 4216affa22..bf67a9ebd5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/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 { * @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 + * @Author yinzuomei + * @Description 校验群名称是否存在 + * @Date 2020/3/30 16:03 + **/ + List checkResiGroupName(ApplyCreateGroupFormDTO applyCreateGroupFormDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index b54189a237..1f61dd8ae9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/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 { * @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); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 51dc8bdec1..b927b3102d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/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().error(ModuleConstant.GETGROUPSUMMARIZE_FAILED); } - //群主名称需要调用feign查询 - groupSummarizeResultDTO.setLeaderName("测试"); + //获取组长信息 + Result groupLeaderUserInfo=this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId()); + if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { + groupSummarizeResultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName()); + } return new Result().ok(groupSummarizeResultDTO); } + /** + * @param groupId + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 根据组id查询组长信息 + * @Date 2020/3/30 15:07 + **/ + private Result 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 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 + * @Author yinzuomei + * @Description 查询是否存在相同名字的群 + * @Date 2020/3/30 16:01 + **/ + private List getResiGroupEntityList(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { + List list = baseDao.checkResiGroupName(applyCreateGroupFormDTO); + return list; + } + /** * @param applyJoinGroupFormDTO * @return com.epmet.commons.tools.utils.Result @@ -253,14 +301,10 @@ public class ResiGroupServiceImpl extends BaseServiceImpl result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO); - if (!result.success() || null == result.getData()) { - return new Result().error(ModuleConstant.NOT_REGISTERED); - } - return new Result(); + 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); } - return new Result().error(ModuleConstant.USER_NOT_NULL); + Result result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO); + 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(); } private ResiGroupEntity structureResiGroupEntity(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { @@ -294,4 +351,23 @@ public class ResiGroupServiceImpl extends BaseServiceImpl + + + + + + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java index f101786268..b7a16ec445 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserResiInfoDTO.java +++ b/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; -} \ No newline at end of file + /** + * 用户显示名称 + */ + private String showName; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java index 999de6f549..2abb58c305 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java @@ -112,7 +112,11 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) { - UserResiInfoDTO userResiInfoDTO=baseDao.selectUserResiInfoDTO(userResiInfoFormDTO); + UserResiInfoDTO userResiInfoDTO = baseDao.selectUserResiInfoDTO(userResiInfoFormDTO); + if (null != userResiInfoDTO) { + String showName = userResiInfoDTO.getStreet() + "-" + userResiInfoDTO.getSurname() + userResiInfoDTO.getName(); + userResiInfoDTO.setShowName(showName); + } return new Result().ok(userResiInfoDTO); }