diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/EpmetRoleKeyConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/EpmetRoleKeyConstant.java new file mode 100644 index 0000000000..4d11b57738 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/EpmetRoleKeyConstant.java @@ -0,0 +1,23 @@ +package com.epmet.commons.tools.constant; + +/** + * @Description + * @Author yinzuomei + * @Date 2020/3/30 16:38 + */ +public interface EpmetRoleKeyConstant { + /** + * 普通居民(已注册) + */ + String REGISTERED_RESI= "registered_resi"; + + /** + * 热心居民 + */ + String WARMHEARTED="warmhearted"; + + /** + * 党员 + */ + String PARTYMEMBER="partymember"; +} 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 index d6b1f53cd7..d9a3677852 100644 --- 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 @@ -7,7 +7,7 @@ package com.epmet.commons.tools.exception; */ public enum EpmetErrorCode { CANNOT_JOIN_GROUP(8001, "只有认证居民才可以加入小组"), - CANNOT_CREATE_GROUP(8002, "只有党员和热心居民才能创建小组"), + CANNOT_CREATE_GROUP(8002, "只有党员和热心居民才能创建小组,请选择您的身份"), GROUP_ALREADY_EXISTED(8003,"组名已存在"); private int value; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java index 79619e945e..56cd57c171 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java @@ -4,11 +4,15 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.form.UserResiInfoFormDTO; +import com.epmet.dto.form.UserRoleFormDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.modules.feign.fallback.EpmetUserFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; +import java.util.List; + /** * @Description epmet_user服务fegin * @Author yinzuomei @@ -26,4 +30,14 @@ public interface EpmetUserFeignClient { **/ @PostMapping(value = "epmetuser/userresiinfo/getUserResiInfoDTO", consumes = MediaType.APPLICATION_JSON_VALUE) Result getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO); + + /** + * @param userRoleFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 获取当前用户拥有角色列表 + * @Date 2020/3/30 16:28 + **/ + @PostMapping(value = "epmetuser/userrole/getuserroleinfo", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallback.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallback.java index 88765a0624..cd650df6ff 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallback.java @@ -5,9 +5,13 @@ import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.form.UserResiInfoFormDTO; +import com.epmet.dto.form.UserRoleFormDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.modules.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Description epmet_user服务fegin * @Author yinzuomei @@ -20,4 +24,9 @@ public class EpmetUserFeignClientFallback implements EpmetUserFeignClient { public Result getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoDTO", userResiInfoFormDTO); } + + @Override + public Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoleInfo", userRoleFormDTO); + } } 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 b927b3102d..5f5f5ddaaa 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 @@ -20,6 +20,7 @@ package com.epmet.modules.group.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -29,6 +30,8 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.form.UserResiInfoFormDTO; +import com.epmet.dto.form.UserRoleFormDTO; +import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupEntity; @@ -51,6 +54,8 @@ import com.epmet.resi.group.dto.group.result.RecommendGroupResultDTO; import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -67,7 +72,7 @@ import java.util.Map; */ @Service public class ResiGroupServiceImpl extends BaseServiceImpl implements ResiGroupService { - + private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private ResiGroupRedis resiGroupRedis; @@ -221,9 +226,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl().error(ModuleConstant.GETGROUPSUMMARIZE_FAILED); } //获取组长信息 - Result groupLeaderUserInfo=this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId()); + Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId()); if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { groupSummarizeResultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName()); + } else { + logger.info("组长注册信息查询失败" + groupLeaderUserInfo.getMsg()); } return new Result().ok(groupSummarizeResultDTO); } @@ -261,12 +268,12 @@ 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; + List resiGroupEntityList = this.getResiGroupEntityList(applyCreateGroupFormDTO); + if (null != resiGroupEntityList && resiGroupEntityList.size() > 0) { + Result errorResult = new Result(); + errorResult.setCode(EpmetErrorCode.GROUP_ALREADY_EXISTED.getValue()); + errorResult.setMsg(EpmetErrorCode.GROUP_ALREADY_EXISTED.getName()); + return errorResult; } //2、插入一条待审核的组信息 ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO); @@ -331,9 +338,10 @@ public class ResiGroupServiceImpl extends BaseServiceImpl 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()); + logger.info("居民注册信息查询失败"); + Result errorResult = new Result(); + errorResult.setCode(EpmetErrorCode.CANNOT_JOIN_GROUP.getValue()); + errorResult.setMsg(EpmetErrorCode.CANNOT_JOIN_GROUP.getName()); return errorResult; } return new Result(); @@ -367,7 +375,47 @@ public class ResiGroupServiceImpl extends BaseServiceImpl> userRoleListResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); + if (!userRoleListResult.success()) { + logger.info("获取用户角色feign调用失败" + userRoleListResult.getMsg()); + return flag; + } + List userRoleList = userRoleListResult.getData(); + if (null == userRoleList || userRoleList.size() == 0) { + return flag; + } + for (UserRoleResultDTO userRoleResultDTO : userRoleList) { + if (EpmetRoleKeyConstant.PARTYMEMBER.equals(userRoleResultDTO.getRoleKey()) + || EpmetRoleKeyConstant.WARMHEARTED.equals(userRoleResultDTO.getRoleKey())) { + flag = true; + break; + } + } + return flag; } }