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 e8d27581d9..b9b252dcad 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 @@ -8,7 +8,8 @@ package com.epmet.commons.tools.exception; public enum EpmetErrorCode { CANNOT_JOIN_GROUP(8001, "只有认证党员和居民才可以加入小组,请选择您的身份"), CANNOT_CREATE_GROUP(8002, "只有党员和热心居民才能创建小组,请选择您的身份"), - GROUP_ALREADY_EXISTED(8003,"您的组名已存在,请重新修改"); + GROUP_ALREADY_EXISTED(8003,"您的组名已存在,请重新修改"), + ALREADY_APPLIED_GROUP(8004,"该群已申请过,请耐心等待审核"); private int value; private String name; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/EnterGroupTypeConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/EnterGroupTypeConstant.java index 835cce231d..fedf9c4963 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/EnterGroupTypeConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/EnterGroupTypeConstant.java @@ -8,12 +8,17 @@ package com.epmet.resi.group.constant; public interface EnterGroupTypeConstant { /** - * 入群方式:(受邀请入群 - invited 、 主动加入 - join) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群) */ String INVITED = "invited"; /** - * 入群方式:(受邀请入群 - invited 、 主动加入 - join) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群) */ String JOIN = "join"; + + /** + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群) + */ + String CREATED = "created"; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupOperationDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupOperationDTO.java index d13821df67..fd59a8a46b 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupOperationDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupOperationDTO.java @@ -83,4 +83,8 @@ public class ResiGroupOperationDTO implements Serializable { */ private Date updatedTime; + /** + * OPERATE_USER_ID操作人id + */ + private String operateUserId; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalDTO.java new file mode 100644 index 0000000000..c5fb79590d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalDTO.java @@ -0,0 +1,106 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.group; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 群组统计信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +@Data +public class ResiGroupStatisticalDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 小组id: 来源于resi_group表id + */ + private String resiGroupId; + + /** + * 成员总数 + */ + private Integer totalMembers; + + /** + * 话题总数 + */ + private Integer totalTopics; + + /** + * 已转议题总数 + */ + private Integer totalIssues; + + /** + * 党员总数 + */ + private Integer totalPartyMembers; + + /** + * 热心居民总数 + */ + private Integer totalEarnestMemebers; + + /** + * 普通居民总数=群人数 + */ + private Integer totalNormalMemebers; + + /** + * 删除标记 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人(用户id,来源于customer_user.id) + */ + private String createdBy; + + /** + * 创建时间(入群时间) + */ + private Date createdTime; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 更新人 + */ + private String updatedBy; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AgreeApplyGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AgreeApplyGroupFormDTO.java new file mode 100644 index 0000000000..ea40cea345 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AgreeApplyGroupFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 网格长同意群申请入参DTO-测试后面会迁移到政府端 + * @Author yinzuomei + * @Date 2020/3/31 12:45 + */ +@Data +public class AgreeApplyGroupFormDTO implements Serializable{ + private static final long serialVersionUID = 1L; + /** + * 要审核的组id + */ + @NotBlank(message="groupId不能为空") + private String groupId; + + /** + * 当前登录用户id由TokenDto赋值 + */ + @NotBlank(message="当前用户id不能为空") + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplyCreateGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplyCreateGroupFormDTO.java index a34a7d4108..85c76cc827 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplyCreateGroupFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplyCreateGroupFormDTO.java @@ -17,7 +17,7 @@ public class ApplyCreateGroupFormDTO implements Serializable { /** * 当前登录用户id由TokenDto赋值 */ - @NotBlank(message="当前用户id为空") + @NotBlank(message="当前用户id不能为空") private String userId; /** @@ -49,4 +49,11 @@ public class ApplyCreateGroupFormDTO implements Serializable { */ @NotBlank(message = "当前网格id不能为空") private String gridId; + + /** + * 当前登录用户来源从token中获取 + */ + @NotBlank(message="app不能为空") + private String app; + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CreatedFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CreatedFormDTO.java index ad81b8e74f..a0a96613ae 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CreatedFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CreatedFormDTO.java @@ -30,7 +30,7 @@ public class CreatedFormDTO implements Serializable { * 用户当前所在网格所属客户id */ @NotBlank(message = "客户id不能为空") - private String cusomerId; + private String customerId; /** * 用户当前所在网格id @@ -41,6 +41,6 @@ public class CreatedFormDTO implements Serializable { /** * 当前登录用户id由TokenDto赋值 */ - @NotBlank(message="当前用户id为空") + @NotBlank(message="当前用户id不能为空") private String userId; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/DisAgreeApplyGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/DisAgreeApplyGroupFormDTO.java new file mode 100644 index 0000000000..aba99aa56f --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/DisAgreeApplyGroupFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 网格长拒绝群申请入参DTO-测试后面会迁移到政府端 + * @Author yinzuomei + * @Date 2020/3/31 13:20 + */ +@Data +public class DisAgreeApplyGroupFormDTO implements Serializable { + private static final long serialVersionUID = -3038681990616751705L; + /** + * 要审核的组id + */ + @NotBlank(message="groupId不能为空") + private String groupId; + + /** + * 拒绝理由 + */ + @NotBlank(message="拒绝理由不能为空") + private String rejectReason; + + /** + * 当前登录用户id由TokenDto赋值 + */ + @NotBlank(message="当前用户id不能为空") + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/MyGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/MyGroupFormDTO.java index c701b3bbac..2a60e09ca0 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/MyGroupFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/MyGroupFormDTO.java @@ -30,7 +30,7 @@ public class MyGroupFormDTO implements Serializable { * 用户当前所在网格所属客户id */ @NotBlank(message = "客户id不能为空") - private String cusomerId; + private String customerId; /** * 用户当前所在网格id @@ -41,6 +41,6 @@ public class MyGroupFormDTO implements Serializable { /** * 当前登录用户id由TokenDto赋值 */ - @NotBlank(message="当前用户id为空") + @NotBlank(message="当前用户id不能为空") private String userId; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendGroupFormDTO.java index 741ed0c9f0..db459a2d9c 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendGroupFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendGroupFormDTO.java @@ -30,7 +30,7 @@ public class RecommendGroupFormDTO implements Serializable { * 用户当前所在网格所属客户id */ @NotBlank(message = "客户id不能为空") - private String cusomerId; + private String customerId; /** * 用户当前所在网格id diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/GroupMemeberOperationDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/GroupMemeberOperationDTO.java index 8fd78f1da2..23a8331ac0 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/GroupMemeberOperationDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/GroupMemeberOperationDTO.java @@ -62,7 +62,7 @@ public class GroupMemeberOperationDTO implements Serializable { private String operateStatus; /** - * 入群方式:(受邀请入群 - invited 、 主动加入 - join) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群) */ private String enterGroupType; @@ -106,4 +106,8 @@ public class GroupMemeberOperationDTO implements Serializable { */ private Date updatedTime; + /** + * OPERATE_USER_ID操作人id + */ + private String operateUserId; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java index 76ff56570f..e50dc83a5f 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java @@ -54,7 +54,7 @@ public class ResiGroupMemberDTO implements Serializable { private String groupLeaderFlag; /** - * 入群方式:(受邀请入群 - invited 、 主动加入 - join) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群) */ private String enterGroupType; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java index bdb19c1ec3..881333be54 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java @@ -37,4 +37,12 @@ public class ApplyingMemberResultDTO implements Serializable { * 入群理由 */ private String applyReason; + + + /** + * 状态:审核中 - under_auditting、 + * 审核通过 - approved、 + * 入群被拒 - rejected 、 + */ + private String status; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupMemberListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupMemberListResultDTO.java index 82b3189d7b..a5f69fc7c3 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupMemberListResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupMemberListResultDTO.java @@ -17,7 +17,7 @@ public class GroupMemberListResultDTO implements Serializable { /** * 成员id */ - private String memeberId; + private String memberId; /** * 用户id 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 06406fde04..83c7ab6054 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 @@ -138,6 +138,7 @@ public class ResiGroupController { public Result applyCreateGroup(@LoginUser TokenDto tokenDto, @RequestBody ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { applyCreateGroupFormDTO.setUserId(tokenDto.getUserId()); + applyCreateGroupFormDTO.setApp(tokenDto.getApp()); ValidatorUtils.validateEntity(applyCreateGroupFormDTO); return resiGroupService.applyCreateGroup(applyCreateGroupFormDTO); } @@ -173,4 +174,33 @@ public class ResiGroupController { public Result initApplyCreatedGroup(@LoginUser TokenDto tokenDto, @RequestParam("customerId") String customerId) { return resiGroupService.initApplyCreatedGroup(tokenDto,customerId); } + + /** + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 审核(同意)群申请-测试用后面会放到政府端 + * @Date 2020/3/31 12:31 + **/ + @PostMapping("agreeapplygroup") + public Result agreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) { + agreeApplyGroupFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(agreeApplyGroupFormDTO); + return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO); + } + + /** + * @param tokenDto + * @param disAgreeApplyGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 审核(拒绝)群申请-测试用后面会放到政府端 + * @Date 2020/3/31 13:23 + **/ + @PostMapping("disagreeapplygroup") + public Result disagreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) { + disAgreeApplyGroupFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO); + return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupOperationDao.java index 9575e72bd1..3dbe8251be 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupOperationDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupOperationDao.java @@ -19,6 +19,7 @@ package com.epmet.modules.group.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.group.entity.ResiGroupOperationEntity; +import com.epmet.resi.group.dto.group.ResiGroupOperationDTO; import org.apache.ibatis.annotations.Mapper; /** @@ -29,5 +30,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiGroupOperationDao extends BaseDao { - + /** + * @return com.epmet.resi.group.dto.group.ResiGroupOperationDTO + * @param groupId + * @Author yinzuomei + * @Description 查询组的申请记录 + * @Date 2020/3/31 13:04 + **/ + ResiGroupOperationDTO selectGroupApplyRecord(String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupStatisticalDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupStatisticalDao.java new file mode 100644 index 0000000000..5c0cec19a2 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupStatisticalDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.group.entity.ResiGroupStatisticalEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 群组统计信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +@Mapper +public interface ResiGroupStatisticalDao extends BaseDao { + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupOperationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupOperationEntity.java index 6a8bbd3e1d..90e74625bc 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupOperationEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupOperationEntity.java @@ -53,4 +53,8 @@ public class ResiGroupOperationEntity extends BaseEpmetEntity { */ private String operateReason; + /** + * OPERATE_USER_ID操作人id + */ + private String operateUserId; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupStatisticalEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupStatisticalEntity.java new file mode 100644 index 0000000000..9396bda454 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupStatisticalEntity.java @@ -0,0 +1,76 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 群组统计信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("resi_group_statistical") +public class ResiGroupStatisticalEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 小组id: 来源于resi_group表id + */ + private String resiGroupId; + + /** + * 成员总数 + */ + private Integer totalMembers; + + /** + * 话题总数 + */ + private Integer totalTopics; + + /** + * 已转议题总数 + */ + private Integer totalIssues; + + /** + * 党员总数 + */ + private Integer totalPartyMembers; + + /** + * 热心居民总数 + */ + private Integer totalEarnestMemebers; + + /** + * 普通居民总数=群人数 + */ + private Integer totalNormalMemebers; + +} 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 b2a08f84ec..73eb3ef5a7 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 @@ -174,4 +174,22 @@ public interface ResiGroupService extends BaseService { * @Date 2020/3/30 15:50 **/ Result initApplyCreatedGroup(TokenDto tokenDto, String customerId); + + /** + * @return com.epmet.commons.tools.utils.Result + * @param agreeApplyGroupFormDTO + * @Author yinzuomei + * @Description 审核(同意)群申请-测试用后面会放到政府端 + * @Date 2020/3/31 12:44 + **/ + Result agreeApplyGroup(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO); + + /** + * @return com.epmet.commons.tools.utils.Result + * @param disAgreeApplyGroupFormDTO + * @Author yinzuomei + * @Description 审核(拒绝)群申请-测试用后面会放到政府端 + * @Date 2020/3/31 13:22 + **/ + Result disagreeApplyGroup(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupStatisticalService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupStatisticalService.java new file mode 100644 index 0000000000..3cba82c496 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupStatisticalService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.group.entity.ResiGroupStatisticalEntity; +import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO; + +import java.util.List; +import java.util.Map; + +/** + * 群组统计信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +public interface ResiGroupStatisticalService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-03-31 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-03-31 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return ResiGroupStatisticalDTO + * @author generator + * @date 2020-03-31 + */ + ResiGroupStatisticalDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-03-31 + */ + void save(ResiGroupStatisticalDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-03-31 + */ + void update(ResiGroupStatisticalDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-03-31 + */ + void delete(String[] ids); +} 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 bbdb28a20d..90b0ece47b 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 @@ -34,20 +34,31 @@ 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.dao.ResiGroupOperationDao; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.service.ResiGroupOperationService; import com.epmet.modules.group.service.ResiGroupService; +import com.epmet.modules.group.service.ResiGroupStatisticalService; +import com.epmet.modules.member.dao.GroupMemeberOperationDao; +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.utils.ModuleConstant; import com.epmet.redis.ResiGroupRedis; +import com.epmet.resi.group.constant.EnterGroupTypeConstant; import com.epmet.resi.group.constant.GroupStateConstant; +import com.epmet.resi.group.constant.LeaderFlagConstant; +import com.epmet.resi.group.constant.MemberStateConstant; +import com.epmet.resi.group.dto.UserRoleDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.ResiGroupOperationDTO; +import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.CreatedResultDTO; import com.epmet.resi.group.dto.group.result.GroupSummarizeResultDTO; import com.epmet.resi.group.dto.group.result.MyGroupResultDTO; 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; @@ -81,6 +92,21 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -186,6 +212,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO) { GroupSummarizeResultDTO groupSummarizeResultDTO = baseDao.selectGroupSummarize(groupSummarizeFormDTO); - if (null != groupSummarizeResultDTO) { + if (null == groupSummarizeResultDTO) { return new Result().error(ModuleConstant.GETGROUPSUMMARIZE_FAILED); } //获取组长信息 @@ -258,6 +285,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl> userRoleListResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); if (!userRoleListResult.success()) { logger.info("获取用户角色feign调用失败" + userRoleListResult.getMsg()); - return flag; + return userRoleDTO; } List userRoleList = userRoleListResult.getData(); if (null == userRoleList || userRoleList.size() == 0) { - return flag; + return userRoleDTO; } for (UserRoleResultDTO userRoleResultDTO : userRoleList) { - if (EpmetRoleKeyConstant.PARTYMEMBER.equals(userRoleResultDTO.getRoleKey()) - || EpmetRoleKeyConstant.WARMHEARTED.equals(userRoleResultDTO.getRoleKey())) { - flag = true; - break; + if (EpmetRoleKeyConstant.PARTYMEMBER.equals(userRoleResultDTO.getRoleKey())) { + userRoleDTO.setPartymemberFlag(NumConstant.ONE_STR); + } + if (EpmetRoleKeyConstant.WARMHEARTED.equals(userRoleResultDTO.getRoleKey())) { + userRoleDTO.setWarmHeartedFlag(NumConstant.ONE_STR); + } + if (EpmetRoleKeyConstant.REGISTERED_RESI.equals(userRoleResultDTO.getRoleKey())) { + userRoleDTO.setRegisteredResiFlag(NumConstant.ONE_STR); } } - return flag; + return userRoleDTO; } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupStatisticalServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupStatisticalServiceImpl.java new file mode 100644 index 0000000000..33cd903da9 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupStatisticalServiceImpl.java @@ -0,0 +1,99 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +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.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.group.dao.ResiGroupStatisticalDao; +import com.epmet.modules.group.entity.ResiGroupStatisticalEntity; +import com.epmet.modules.group.service.ResiGroupStatisticalService; +import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 群组统计信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-31 + */ +@Service +public class ResiGroupStatisticalServiceImpl extends BaseServiceImpl implements ResiGroupStatisticalService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ResiGroupStatisticalDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ResiGroupStatisticalDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public ResiGroupStatisticalDTO get(String id) { + ResiGroupStatisticalEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ResiGroupStatisticalDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ResiGroupStatisticalDTO dto) { + ResiGroupStatisticalEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupStatisticalEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ResiGroupStatisticalDTO dto) { + ResiGroupStatisticalEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupStatisticalEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java index 8031419c5a..c2d4bc16aa 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java @@ -19,6 +19,7 @@ package com.epmet.modules.member.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.member.entity.GroupMemeberOperationEntity; +import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; import org.apache.ibatis.annotations.Mapper; /** @@ -30,4 +31,12 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface GroupMemeberOperationDao extends BaseDao { + /** + * @param groupId + * @return com.epmet.resi.group.dto.member.GroupMemeberOperationDTO + * @Author yinzuomei + * @Description 查询组长的入群记录 + * @Date 2020/3/31 13:05 + **/ + GroupMemeberOperationDTO selectLeaderRecord(String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java index 4ecf1f37ef..308999e187 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java @@ -20,6 +20,8 @@ package com.epmet.modules.member.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.member.entity.ResiGroupMemberEntity; import com.epmet.resi.group.dto.UserRoleDTO; +import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; +import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.form.ApplyingMemberFormDTO; import com.epmet.resi.group.dto.member.form.GroupMemberListFormDTO; import com.epmet.resi.group.dto.member.result.ApplyingMemberResultDTO; @@ -65,4 +67,23 @@ public interface ResiGroupMemberDao extends BaseDao { * @Date 2020/3/30 22:40 **/ int updateResiGroupStatistical(@Param("groupId") String groupId, @Param("userRoleDTO") UserRoleDTO userRoleDTO); + + /** + * @return com.epmet.resi.group.dto.member.ResiGroupMemberDTO + * @param groupId + * @Author yinzuomei + * @Description 查询群主的记录 + * @Date 2020/3/31 13:04 + **/ + ResiGroupMemberDTO selectLeaderMember(String groupId); + + /** + * @return com.epmet.resi.group.dto.member.GroupMemeberOperationDTO + * @param userId + * @param groupId + * @Author yinzuomei + * @Description 查看用户是否存在有效的入群申请 + * @Date 2020/3/31 14:52 + **/ + GroupMemeberOperationDTO selectGroupMemberOperationUnderAudit(@Param("userId") String userId, @Param("groupId") String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/GroupMemeberOperationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/GroupMemeberOperationEntity.java index 47d7442f3e..9ffc9f66d8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/GroupMemeberOperationEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/GroupMemeberOperationEntity.java @@ -76,4 +76,8 @@ Ps: 1) 入群被拒绝之后,如果再申请是插入一条新的审核中的 */ private String operateDes; + /** + * OPERATE_USER_ID操作人id + */ + private String operateUserId; } 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 4e1f7aa2ff..b217cc764f 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 @@ -175,6 +175,14 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl @@ -105,8 +106,8 @@ rg.DEL_FLAG = '0' AND rgm.DEL_FLAG = '0' AND rgs.DEL_FLAG = '0' - AND rg.CUSTOMER_ID = #{cusomerId} - AND rg.GRID_ID ={gridId} + AND rg.CUSTOMER_ID = #{customerId} + AND rg.GRID_ID =#{gridId} AND rgm.CUSTOMER_USER_ID = #{userId} AND rgm.GROUP_LEADER_FLAG = 'leader' ORDER BY diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupOperationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupOperationDao.xml index 5e0c19d8e7..b0dc5809aa 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupOperationDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupOperationDao.xml @@ -3,6 +3,17 @@ + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml index 7dec92a8f7..8bd8d49360 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml @@ -2,7 +2,16 @@ - - + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml index c2b9626dc2..4a47034b33 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml @@ -30,12 +30,14 @@ gmo.CUSTOMER_USER_ID AS applyUserId, NULL AS applyUserHeadPhoto, NULL AS applyUserName, - gmo.OPERATE_DES AS applyReason + gmo.OPERATE_DES AS applyReason, + gmo.OPERATE_STATUS as status FROM group_memeber_operation gmo WHERE gmo.DEL_FLAG = '0' AND gmo.GROUP_ID = #{groupId} + and gmo.ENTER_GROUP_TYPE!='created' AND gmo.OPERATE_STATUS IN ( 'under_auditting', 'approved', 'rejected' ) ORDER BY gmo.CREATED_TIME DESC @@ -57,4 +59,26 @@ rgs.RESI_GROUP_ID = #{groupId} AND rgs.DEL_FLAG = '0' + + + + + +