From a89fd3c87bc592ac6fb74343a862699f65b8b46f Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 13:49:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=89=80=E6=9C=89=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/group/form/AllGroupListFormDTO.java | 34 +++++++++++++ .../group/result/AllGroupListResultDTO.java | 51 +++++++++++++++++++ .../group/controller/ResiGroupController.java | 14 +++++ .../epmet/modules/group/dao/ResiGroupDao.java | 7 ++- .../group/service/ResiGroupService.java | 9 ++++ .../service/impl/ResiGroupServiceImpl.java | 46 +++++++++++++++++ .../resources/mapper/group/ResiGroupDao.xml | 23 +++++++++ 7 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllGroupListFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AllGroupListResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllGroupListFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllGroupListFormDTO.java new file mode 100644 index 0000000000..32d4164244 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllGroupListFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author sun + * @Description 所有小组查询-接口入参 + */ +@Data +public class AllGroupListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 网格Id + */ + @NotBlank(message = "网格Id不能为空", groups = {AllGroupListFormDTO.GroupList.class}) + private String gridId; + /** + * 请求页码 + */ + @Min(1) + private int pageNo; + /** + * 每页多少条数据 + */ + private int pageSize = 20; + + public interface GroupList { + } +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AllGroupListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AllGroupListResultDTO.java new file mode 100644 index 0000000000..8ec0a07554 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AllGroupListResultDTO.java @@ -0,0 +1,51 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 推荐小组查询返参 + * @Author yinzuomei + * @Date 2020/3/28 17:11 + */ +@Data +public class AllGroupListResultDTO implements Serializable { + + private static final long serialVersionUID = -155229599412911489L; + /** + * 群组id + */ + private String groupId; + + /** + * 群组头像 + */ + private String groupHeadPhoto; + + /** + * 群组名称 + */ + private String groupName; + + /** + * 成员总数 + */ + private Integer totalMember; + + /** + * 党员总数 + */ + private Integer totalPartyMember; + + /** + * under_auditting审核中、rejected已拒绝的前端显示加入 + */ + private String status=""; + + /** + * 小组类型(ordinary:楼院小组 branch:支部小组) + */ + private String groupType; + +} 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 23ffab9d29..1d77fc28b9 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 @@ -31,6 +31,8 @@ import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import com.epmet.resi.group.dto.member.form.ResiIdentityFormDTO; +import com.epmet.resi.group.dto.notice.form.NoticeCommentListFormDTO; +import com.epmet.resi.group.dto.notice.result.NoticeCommentListResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; @@ -502,4 +504,16 @@ public class ResiGroupController { return new Result(); } + /** + * @param formDTO + * @return + * @Author sun + * @Description 所有小组查询 + **/ + @PostMapping(value = "allgrouplist") + public Result> allGroupList(@LoginUser TokenDto tokenDto, @RequestBody AllGroupListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, AllGroupListFormDTO.GroupList.class); + return new Result>().ok(resiGroupService.allGroupList(tokenDto, formDTO)); + } + } 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 9a11aa39c2..b15f08293f 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 @@ -27,7 +27,6 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; - import java.util.List; /** @@ -236,4 +235,10 @@ public interface ResiGroupDao extends BaseDao { * @Date 2020/12/25 13:18 **/ List queryGroupProcessingCount(@Param("gridIdList") List gridIdList); + + /** + * @Author sun + * @Description 分页查询网格下所有小组列表 + **/ + List selectAllGroupList(AllGroupListFormDTO formDTO); } 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 b4bccf14e9..a27d726fc8 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.modules.group.entity.ResiGroupEntity; import com.epmet.resi.group.dto.UserRoleDTO; @@ -370,4 +371,12 @@ public interface ResiGroupService extends BaseService { * @return void */ void setVisitSwitch(ManageInitFormDTO formDTO); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 所有小组查询 + **/ + List allGroupList(TokenDto tokenDto, AllGroupListFormDTO formDTO); } 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 a3770a028c..6cc56ca171 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 @@ -30,6 +30,7 @@ import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; @@ -87,6 +88,7 @@ import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Function; import java.util.stream.Collectors; @@ -1491,4 +1493,48 @@ public class ResiGroupServiceImpl extends BaseServiceImpl allGroupList(TokenDto tokenDto, AllGroupListFormDTO formDTO) { + //1.分页查询网格下所有小组列表且是审核通过状态的,以组内人员数从多到少排序 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + List resultList = baseDao.selectAllGroupList(formDTO); + if (null == resultList || resultList.size() == 0) { + return new ArrayList<>(); + } + + //2.查询当前用户居民端角色列表 + AtomicBoolean isPartymember = new AtomicBoolean(false); + Result> resultDTOList = epmetUserOpenFeignClient.getUserRoleInfoByUserId(tokenDto.getUserId()); + if (!resultDTOList.success()) { + throw new RenException("调用user服务,获取用户基础数据失败"); + } + List roleList = resultDTOList.getData(); + roleList.forEach(rl -> { + if ("partymember".equals(rl.getRoleKey())) { + isPartymember.set(true); + } + }); + + //3.调用已有方法赋值当前人员是否可以入组值 + for (AllGroupListResultDTO dto : resultList) { + //非党员角色不允许加入支部小组 + if ("branch".equals(dto.getGroupType()) && !isPartymember.get()) { + dto.setStatus("rejected"); + continue; + } + GroupMemeberOperationDTO operation = groupMemeberOperationService.selectLatestRecord(dto.getGroupId(), tokenDto.getUserId()); + if (null != operation) { + dto.setStatus(operation.getOperateStatus()); + } + } + return resultList; + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 7d1ea0a898..fc8a6280f1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -527,4 +527,27 @@ GROUP BY temp.gridId + + + From d3b8fceefc9d96c3095627dc5c137003033cee04 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 20 Apr 2021 14:05:38 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=A5=E7=BB=84=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=94=AF=E9=83=A8=E5=B0=8F=E7=BB=84=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/GroupInvitationServiceImpl.java | 17 +++++++++++++++++ .../impl/GroupMemeberOperationServiceImpl.java | 13 +++++++++++++ .../impl/ResiGroupMemberServiceImpl.java | 12 ++++++++++++ 3 files changed, 42 insertions(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java index 8e8e064936..93a3d454a6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java @@ -32,6 +32,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.UserInfoOnEnterGridResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.modules.constant.UserMessageConstant; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.ResiGuideFeignClient; @@ -46,6 +47,7 @@ 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.modules.utils.ModuleConstant; import com.epmet.resi.group.constant.EnterGroupTypeConstant; import com.epmet.resi.group.constant.GroupStateConstant; import com.epmet.resi.group.constant.LeaderFlagConstant; @@ -106,6 +108,8 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl page(Map params) { @@ -455,6 +459,19 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl booleanResult = epmetUserOpenFeignClient.selectIsPartyMemberByUserId(formDTO.getUserId()); + if (!booleanResult.success()){ + throw new RenException(ModuleConstant.IS_PARTY_MEMBER_ERR); + } + // 不是党员直接抛出 + if (!booleanResult.getData()){ + throw new RenException(EpmetErrorCode.PARTY_MEMBER_JOIN_BRANCH_GROUP.getCode()); + } + } + //2020.11.26 sun start //先判断用户是否有在审核的入组申请,有的话直接给提示 GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationService.selectLatestRecord(groupInvitationDTO.getResiGroupId(), formDTO.getUserId()); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java index 11760b07b3..6813b2edbc 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; import com.epmet.commons.tools.enums.EventEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -247,6 +248,18 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl booleanResult = userClient.selectIsPartyMemberByUserId(param.getUserId()); + if (!booleanResult.success()){ + throw new RenException(ModuleConstant.IS_PARTY_MEMBER_ERR); + } + // 不是党员直接抛出 + if (!booleanResult.getData()){ + throw new RenException(EpmetErrorCode.PARTY_MEMBER_JOIN_BRANCH_GROUP.getCode()); + } + } //先判断用户是否有在审核的入组申请,有的话直接给提示 GroupMemeberOperationDTO groupMemeberOperationDTO = operationDao.selectLatestRecord(groupId, param.getUserId()); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 9fbc039d40..5f7cd2eb5b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -218,6 +218,18 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl booleanResult = userOpenFeignClient.selectIsPartyMemberByUserId(applyJoinGroupFormDTO.getUserId()); + if (!booleanResult.success()){ + throw new RenException(ModuleConstant.IS_PARTY_MEMBER_ERR); + } + // 不是党员直接抛出 + if (!booleanResult.getData()){ + throw new RenException(EpmetErrorCode.PARTY_MEMBER_JOIN_BRANCH_GROUP.getCode()); + } + } + UserRoleDTO userRoleDTO = resiGroupService.checkPartyMemberOrWarmHeated(applyJoinGroupFormDTO.getApp(), applyJoinGroupFormDTO.getUserId(), resiGroupDTO.getCustomerId(),