From 623676ee70879648b101166d0f3758d78278f499 Mon Sep 17 00:00:00 2001
From: yinzuomei <57602893@qq.com>
Date: Wed, 1 Apr 2020 00:19:42 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=EF=BC=9A=E7=94=9F=E6=88=90=E7=BE=A4=E9=93=BE=E6=8E=A5=E3=80=81?=
=?UTF-8?q?=E5=90=8C=E6=84=8F=E8=BF=9B=E7=BE=A4=E3=80=81=E6=A0=B9=E6=8D=AE?=
=?UTF-8?q?=E9=82=80=E8=AF=B7=E8=BF=9E=E6=8E=A5=E6=9F=A5=E8=AF=A2=E7=BE=A4?=
=?UTF-8?q?=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../tools/exception/EpmetErrorCode.java | 4 +-
.../dto/invitation/GroupInvitationDTO.java | 101 +++++++
.../form/AccetInvitationFormDTO.java | 31 +++
.../form/CreateGroupInvitationFormDTO.java | 28 ++
.../invitation/form/LinkGroupInfoFormDTO.java | 27 ++
.../CreateGroupInvitationResultDTO.java | 20 ++
.../result/LinkGroupInfoResultDTO.java | 51 ++++
.../group/service/ResiGroupService.java | 12 +
.../service/impl/ResiGroupServiceImpl.java | 18 +-
.../modules/invitation/controller/.gitkeep | 0
.../controller/GroupInvitationController.java | 97 +++++++
.../com/epmet/modules/invitation/dao/.gitkeep | 0
.../invitation/dao/GroupInvitationDao.java | 44 +++
.../epmet/modules/invitation/entity/.gitkeep | 0
.../entity/GroupInvitationEntity.java | 71 +++++
.../epmet/modules/invitation/excel/.gitkeep | 0
.../service/GroupInvitationService.java | 128 +++++++++
.../modules/invitation/service/impl/.gitkeep | 0
.../impl/GroupInvitationServiceImpl.java | 252 ++++++++++++++++++
.../impl/ResiGroupMemberServiceImpl.java | 51 +---
.../epmet/modules/utils/ModuleConstant.java | 5 +
.../mapper/invitation/GroupInvitationDao.xml | 25 ++
22 files changed, 906 insertions(+), 59 deletions(-)
create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java
create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/AccetInvitationFormDTO.java
create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/CreateGroupInvitationFormDTO.java
create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/LinkGroupInfoFormDTO.java
create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/CreateGroupInvitationResultDTO.java
create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/LinkGroupInfoResultDTO.java
delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/.gitkeep
create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/GroupInvitationController.java
delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/.gitkeep
create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/GroupInvitationDao.java
delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/.gitkeep
create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java
delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/excel/.gitkeep
create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java
delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/.gitkeep
create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java
create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/invitation/GroupInvitationDao.xml
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 b9b252dcad..9321d14e60 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
@@ -9,7 +9,9 @@ public enum EpmetErrorCode {
CANNOT_JOIN_GROUP(8001, "只有认证党员和居民才可以加入小组,请选择您的身份"),
CANNOT_CREATE_GROUP(8002, "只有党员和热心居民才能创建小组,请选择您的身份"),
GROUP_ALREADY_EXISTED(8003,"您的组名已存在,请重新修改"),
- ALREADY_APPLIED_GROUP(8004,"该群已申请过,请耐心等待审核");
+ ALREADY_APPLIED_GROUP(8004,"该群已申请过,请耐心等待审核"),
+ ONLY_LEADER_CAN_INVITE(8005,"抱歉,只有群主才可以邀请新成员"),
+ LOSE_EFFICACY(8006,"链接已失效");
private int value;
private String name;
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java
new file mode 100644
index 0000000000..b4bc7fe18a
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java
@@ -0,0 +1,101 @@
+/**
+ * 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.invitation;
+
+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 GroupInvitationDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键(可能跟epmet-user的personnel_invite的[邀请Id]关联)
+ */
+ private String id;
+
+ /**
+ * 邀请人id(customer_user.id)
+ */
+ private String inviterUserId;
+
+ /**
+ * 邀请人所属客户id
+ */
+ private String inviterCustomerId;
+
+ /**
+ * 邀请网格id
+ */
+ private String inviterGridId;
+
+ /**
+ * 邀请小组id(resi_group.id)
+ */
+ private String resiGroupId;
+
+ /**
+ * 邀请内容
+ */
+ private String inviterContent;
+
+ /**
+ * 邀请码有效截止时间(暂定XX天)
+ */
+ private Date validEndTime;
+
+ /**
+ * 删除标记 0:未删除,1:已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人(customer_user.id)
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间(邀请时间)
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/AccetInvitationFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/AccetInvitationFormDTO.java
new file mode 100644
index 0000000000..532b86c68d
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/AccetInvitationFormDTO.java
@@ -0,0 +1,31 @@
+package com.epmet.resi.group.dto.invitation.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 同意邀请进组
+ * @Author yinzuomei
+ * @Date 2020/3/31 23:45
+ */
+@Data
+public class AccetInvitationFormDTO implements Serializable {
+ private static final long serialVersionUID = 132547449950577938L;
+
+ /**
+ * 邀请id
+ */
+ @NotBlank(message="邀请链接id不能为空")
+ private String invitationId;
+
+ /**
+ * 当前登录用户id由TokenDto赋值
+ */
+ @NotBlank(message="当前用户id不能为空")
+ private String userId;
+
+ @NotBlank(message = "app不能为空")
+ private String app;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/CreateGroupInvitationFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/CreateGroupInvitationFormDTO.java
new file mode 100644
index 0000000000..2c474460f0
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/CreateGroupInvitationFormDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.resi.group.dto.invitation.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 生成邀请链接入参
+ * @Author yinzuomei
+ * @Date 2020/3/31 22:46
+ */
+@Data
+public class CreateGroupInvitationFormDTO implements Serializable {
+ private static final long serialVersionUID = 5703017117444559566L;
+
+ /**
+ * 要审核的组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/invitation/form/LinkGroupInfoFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/LinkGroupInfoFormDTO.java
new file mode 100644
index 0000000000..eab8aa8247
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/LinkGroupInfoFormDTO.java
@@ -0,0 +1,27 @@
+package com.epmet.resi.group.dto.invitation.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 根据群邀请连接查询群基本信息入参DTO
+ * @Author yinzuomei
+ * @Date 2020/3/31 23:12
+ */
+@Data
+public class LinkGroupInfoFormDTO implements Serializable {
+ private static final long serialVersionUID = 7069116393380944951L;
+
+ /**
+ * 邀请id
+ */
+ @NotBlank(message="邀请链接id不能为空")
+ private String invitationId;
+
+ /**
+ * 当前登录用户id由TokenDto赋值
+ */
+ private String userId;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/CreateGroupInvitationResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/CreateGroupInvitationResultDTO.java
new file mode 100644
index 0000000000..b8d3a690c0
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/CreateGroupInvitationResultDTO.java
@@ -0,0 +1,20 @@
+package com.epmet.resi.group.dto.invitation.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description 生成邀请链接返参
+ * @Author yinzuomei
+ * @Date 2020/3/31 22:49
+ */
+@Data
+public class CreateGroupInvitationResultDTO implements Serializable {
+ private static final long serialVersionUID = 5142118627780324057L;
+
+ /**
+ * 邀请id
+ */
+ private String invitationId;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/LinkGroupInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/LinkGroupInfoResultDTO.java
new file mode 100644
index 0000000000..b856309601
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/LinkGroupInfoResultDTO.java
@@ -0,0 +1,51 @@
+package com.epmet.resi.group.dto.invitation.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description 根据群邀请连接查询群基本信息入参DTO 小组邀请界面信息
+ * @Author yinzuomei
+ * @Date 2020/3/31 23:18
+ */
+@Data
+public class LinkGroupInfoResultDTO implements Serializable {
+ private static final long serialVersionUID = 8860336693592035343L;
+
+ /**
+ * 群组id
+ */
+ private String groupId;
+
+ /**
+ * 群组头像
+ */
+ private String groupHeadPhoto;
+
+ /**
+ * 组长名称!!!!!!!!
+ * 暂定街道-姓名
+ */
+ private String leaderName;
+
+ /**
+ * 群组名称
+ */
+ private String groupName;
+
+ /**
+ * 组介绍
+ */
+ private String groupIntroduction;
+
+ /**
+ * 成员总数
+ */
+ private Integer totalMember;
+
+ /**
+ * 党员总数
+ */
+ private Integer totalPartyMember;
+}
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 73eb3ef5a7..f999d2ed8f 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
@@ -24,6 +24,7 @@ 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;
+import com.epmet.resi.group.dto.UserRoleDTO;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.CreatedResultDTO;
@@ -192,4 +193,15 @@ public interface ResiGroupService extends BaseService {
* @Date 2020/3/31 13:22
**/
Result disagreeApplyGroup(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO);
+
+ /**
+ * @return com.epmet.resi.group.dto.UserRoleDTO
+ * @param app
+ * @param userId
+ * @param customerId
+ * @Author yinzuomei
+ * @Description 判断用户当前角色
+ * @Date 2020/4/1 0:00
+ **/
+ UserRoleDTO checkPartyMemberOrWarmHeated(String app, String userId, 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 90b0ece47b..49dcdf4184 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
@@ -291,10 +291,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl 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;
+ return new Result().error(EpmetErrorCode.GROUP_ALREADY_EXISTED.getValue(),EpmetErrorCode.GROUP_ALREADY_EXISTED.getName());
}
//2、插入一条待审核的组信息
ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO);
@@ -375,10 +372,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO);
if (!result.success() || null == result.getData() || StringUtils.isBlank(result.getData().getRegMobile())) {
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().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getValue(),EpmetErrorCode.CANNOT_JOIN_GROUP.getName());
}
return new Result();
}
@@ -413,10 +407,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl
+ * 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.invitation.controller;
+
+import com.epmet.commons.tools.annotation.LoginUser;
+import com.epmet.commons.tools.security.dto.TokenDto;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.modules.invitation.service.GroupInvitationService;
+import com.epmet.resi.group.dto.invitation.form.AccetInvitationFormDTO;
+import com.epmet.resi.group.dto.invitation.form.CreateGroupInvitationFormDTO;
+import com.epmet.resi.group.dto.invitation.form.LinkGroupInfoFormDTO;
+import com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO;
+import com.epmet.resi.group.dto.invitation.result.LinkGroupInfoResultDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * 群邀请记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-03-31
+ */
+@RestController
+@RequestMapping("invitation")
+public class GroupInvitationController {
+
+ @Autowired
+ private GroupInvitationService groupInvitationService;
+
+ /**
+ * @param tokenDto
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author yinzuomei
+ * @Description 生成邀请
+ * @Date 2020/3/31 22:50
+ **/
+ @PostMapping("creategroupinvitation")
+ public Result createGroupInvitation(@LoginUser TokenDto tokenDto,
+ @RequestBody CreateGroupInvitationFormDTO formDTO) {
+ formDTO.setUserId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(formDTO);
+ return groupInvitationService.createGroupInvitation(formDTO);
+ }
+
+ /**
+ * @param tokenDto
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author yinzuomei
+ * @Description 根据群邀请连接查询群基本信息
+ * @Date 2020/3/31 23:11
+ **/
+ @PostMapping("getlinkgroupinfo")
+ public Result getLinkGroupInfo(@LoginUser TokenDto tokenDto,
+ @RequestBody LinkGroupInfoFormDTO formDTO) {
+ formDTO.setUserId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(formDTO);
+ return groupInvitationService.getLinkGroupInfo(formDTO);
+ }
+
+ /**
+ * @param tokenDto
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author yinzuomei
+ * @Description 同意邀请进组
+ * @Date 2020/3/31 23:47
+ **/
+ @PostMapping("acceptinvitation")
+ public Result accetInvitation(@LoginUser TokenDto tokenDto,
+ @RequestBody AccetInvitationFormDTO formDTO) {
+ formDTO.setUserId(tokenDto.getUserId());
+ formDTO.setApp(tokenDto.getApp());
+ ValidatorUtils.validateEntity(formDTO);
+ return groupInvitationService.accetInvitation(formDTO);
+ }
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/.gitkeep b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/GroupInvitationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/GroupInvitationDao.java
new file mode 100644
index 0000000000..c521956b8b
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/GroupInvitationDao.java
@@ -0,0 +1,44 @@
+/**
+ * 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.invitation.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.modules.invitation.entity.GroupInvitationEntity;
+import com.epmet.resi.group.dto.invitation.form.LinkGroupInfoFormDTO;
+import com.epmet.resi.group.dto.invitation.result.LinkGroupInfoResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 群邀请记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-03-31
+ */
+@Mapper
+public interface GroupInvitationDao extends BaseDao {
+
+ /**
+ * @param groupId
+ * @return com.epmet.resi.group.dto.invitation.result.LinkGroupInfoResultDTO
+ * @Author yinzuomei
+ * @Description 根据群邀请连接查询群基本信息
+ * @Date 2020/3/31 23:22
+ **/
+ LinkGroupInfoResultDTO selectLinkGroupInfo(@Param("groupId") String groupId);
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/.gitkeep b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java
new file mode 100644
index 0000000000..a5f23c21a4
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java
@@ -0,0 +1,71 @@
+/**
+ * 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.invitation.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("group_invitation")
+public class GroupInvitationEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 邀请人id(customer_user.id)
+ */
+ private String inviterUserId;
+
+ /**
+ * 邀请人所属客户id
+ */
+ private String inviterCustomerId;
+
+ /**
+ * 邀请网格id
+ */
+ private String inviterGridId;
+
+ /**
+ * 邀请小组id(resi_group.id)
+ */
+ private String resiGroupId;
+
+ /**
+ * 邀请内容
+ */
+ private String inviterContent;
+
+ /**
+ * 邀请码有效截止时间(暂定XX天)
+ */
+ private Date validEndTime;
+
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/excel/.gitkeep b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/excel/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java
new file mode 100644
index 0000000000..adc45ff5b2
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java
@@ -0,0 +1,128 @@
+/**
+ * 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.invitation.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.modules.invitation.entity.GroupInvitationEntity;
+import com.epmet.resi.group.dto.invitation.GroupInvitationDTO;
+import com.epmet.resi.group.dto.invitation.form.AccetInvitationFormDTO;
+import com.epmet.resi.group.dto.invitation.form.CreateGroupInvitationFormDTO;
+import com.epmet.resi.group.dto.invitation.form.LinkGroupInfoFormDTO;
+import com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO;
+import com.epmet.resi.group.dto.invitation.result.LinkGroupInfoResultDTO;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 群邀请记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-03-31
+ */
+public interface GroupInvitationService 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 GroupInvitationDTO
+ * @author generator
+ * @date 2020-03-31
+ */
+ GroupInvitationDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2020-03-31
+ */
+ void save(GroupInvitationDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2020-03-31
+ */
+ void update(GroupInvitationDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2020-03-31
+ */
+ void delete(String[] ids);
+
+ /**
+ * @return com.epmet.commons.tools.utils.Result
+ * @param formDTO
+ * @Author yinzuomei
+ * @Description 生成邀请连接
+ * @Date 2020/3/31 22:50
+ **/
+ Result createGroupInvitation(CreateGroupInvitationFormDTO formDTO);
+
+ /**
+ * @return com.epmet.commons.tools.utils.Result
+ * @param formDTO
+ * @Author yinzuomei
+ * @Description 根据群邀请连接查询群基本信息
+ * @Date 2020/3/31 23:20
+ **/
+ Result getLinkGroupInfo(LinkGroupInfoFormDTO formDTO);
+
+ /**
+ * @return com.epmet.commons.tools.utils.Result
+ * @param formDTO
+ * @Author yinzuomei
+ * @Description 同意邀请进组
+ * @Date 2020/3/31 23:47
+ **/
+ Result accetInvitation(AccetInvitationFormDTO formDTO);
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/.gitkeep b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/.gitkeep
deleted file mode 100644
index e69de29bb2..0000000000
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
new file mode 100644
index 0000000000..8e36224680
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java
@@ -0,0 +1,252 @@
+/**
+ * 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.invitation.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.constant.NumConstant;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.modules.group.service.ResiGroupService;
+import com.epmet.modules.invitation.dao.GroupInvitationDao;
+import com.epmet.modules.invitation.entity.GroupInvitationEntity;
+import com.epmet.modules.invitation.service.GroupInvitationService;
+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.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.invitation.GroupInvitationDTO;
+import com.epmet.resi.group.dto.invitation.form.AccetInvitationFormDTO;
+import com.epmet.resi.group.dto.invitation.form.CreateGroupInvitationFormDTO;
+import com.epmet.resi.group.dto.invitation.form.LinkGroupInfoFormDTO;
+import com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO;
+import com.epmet.resi.group.dto.invitation.result.LinkGroupInfoResultDTO;
+import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO;
+import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * 群邀请记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-03-31
+ */
+@Service
+public class GroupInvitationServiceImpl extends BaseServiceImpl implements GroupInvitationService {
+
+ @Autowired
+ private ResiGroupMemberDao resiGroupMemberDao;
+
+ @Autowired
+ private ResiGroupService resiGroupService;
+
+ @Autowired
+ private ResiGroupMemberService resiGroupMemberService;
+
+ @Autowired
+ private GroupMemeberOperationService groupMemeberOperationService;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, GroupInvitationDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, GroupInvitationDTO.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 GroupInvitationDTO get(String id) {
+ GroupInvitationEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, GroupInvitationDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(GroupInvitationDTO dto) {
+ GroupInvitationEntity entity = ConvertUtils.sourceToTarget(dto, GroupInvitationEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(GroupInvitationDTO dto) {
+ GroupInvitationEntity entity = ConvertUtils.sourceToTarget(dto, GroupInvitationEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ /**
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author yinzuomei
+ * @Description 生成邀请连接
+ * @Date 2020/3/31 22:50
+ **/
+ @Override
+ public Result createGroupInvitation(CreateGroupInvitationFormDTO formDTO) {
+ //1、只有群主可以邀请新成员
+ ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectGroupMemberInfo(formDTO.getGroupId(), formDTO.getUserId());
+ if (null == resiGroupMemberDTO) {
+ return new Result<>();
+ }
+ if (null != resiGroupMemberDTO && !LeaderFlagConstant.GROUP_LEADER.equals(resiGroupMemberDTO.getGroupLeaderFlag())) {
+ return new Result().error(EpmetErrorCode.ONLY_LEADER_CAN_INVITE.getValue(),
+ EpmetErrorCode.ONLY_LEADER_CAN_INVITE.getName());
+ }
+ //2、审核通过(讨论中)的群才可以分享邀请连接
+ ResiGroupDTO resiGroupDTO = resiGroupService.get(formDTO.getGroupId());
+ if(!GroupStateConstant.GROUP_APPROVED.equals(resiGroupDTO.getState())){
+ return new Result().error(ModuleConstant.CANNOT_SHARED);
+ }
+ //3、插入一条邀请记录
+ GroupInvitationEntity groupInvitationEntity = new GroupInvitationEntity();
+ groupInvitationEntity.setInviterUserId(formDTO.getUserId());
+ groupInvitationEntity.setInviterCustomerId(resiGroupDTO.getCustomerId());
+ groupInvitationEntity.setInviterGridId(resiGroupDTO.getGridId());
+ //暂定7天有效期
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + NumConstant.SEVEN);
+ groupInvitationEntity.setValidEndTime(calendar.getTime());
+ insert(groupInvitationEntity);
+ CreateGroupInvitationResultDTO resultDTO = new CreateGroupInvitationResultDTO();
+ resultDTO.setInvitationId(groupInvitationEntity.getId());
+ return new Result().ok(resultDTO);
+ }
+
+ /**
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author yinzuomei
+ * @Description 根据群邀请连接查询群基本信息
+ * @Date 2020/3/31 23:20
+ **/
+ @Override
+ public Result getLinkGroupInfo(LinkGroupInfoFormDTO formDTO) {
+ //校验是否存在该邀请连接
+ Result validResult = this.checkLinkValid(formDTO.getInvitationId());
+ if(!validResult.success()){
+ return new Result().error(validResult.getCode(),validResult.getMsg());
+ }
+ LinkGroupInfoResultDTO linkGroupInfoResultDTO = baseDao.selectLinkGroupInfo(validResult.getData().getResiGroupId());
+ return new Result().ok(linkGroupInfoResultDTO);
+ }
+
+ private Result checkLinkValid(String invitationId){
+ //校验是否存在该邀请连接
+ GroupInvitationDTO groupInvitationDTO = this.get(invitationId);
+ //Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
+ if (null == groupInvitationDTO) {
+ return new Result().error(EpmetErrorCode.LOSE_EFFICACY.getValue(),EpmetErrorCode.LOSE_EFFICACY.getName());
+ }
+ if (null != groupInvitationDTO && groupInvitationDTO.getValidEndTime().after(new Date())) {
+ return new Result().error(EpmetErrorCode.LOSE_EFFICACY.getValue(),EpmetErrorCode.LOSE_EFFICACY.getName());
+ }
+ return new Result().ok(groupInvitationDTO);
+ }
+
+ /**
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author yinzuomei
+ * @Description 同意邀请进组
+ * @Date 2020/3/31 23:47
+ **/
+ @Override
+ public Result accetInvitation(AccetInvitationFormDTO formDTO) {
+ //1、申请是否有效
+ Result validResult = this.checkLinkValid(formDTO.getInvitationId());
+ if(!validResult.success()){
+ return new Result().error(validResult.getCode(),validResult.getMsg());
+ }
+ //2、校验是否已经注册居民
+ ResiGroupDTO resiGroupDTO = resiGroupService.get(validResult.getData().getResiGroupId());
+ if (null != resiGroupDTO) {
+ UserRoleDTO userRoleDTO = resiGroupService.checkPartyMemberOrWarmHeated(formDTO.getApp(),
+ formDTO.getUserId(),
+ resiGroupDTO.getCustomerId());
+ if (NumConstant.ZERO_STR.equals(userRoleDTO.getRegisteredResiFlag())) {
+ return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getValue(),EpmetErrorCode.CANNOT_JOIN_GROUP.getName());
+ }
+ }
+ //3、新增一条邀请入群、直接审核通过的入群记录
+ GroupMemeberOperationDTO groupMemeberOperation = new GroupMemeberOperationDTO();
+ groupMemeberOperation.setGroupId(resiGroupDTO.getId());
+ groupMemeberOperation.setCustomerUserId(formDTO.getUserId());
+ groupMemeberOperation.setGroupId(resiGroupDTO.getId());
+ groupMemeberOperation.setOperateStatus(MemberStateConstant.APPROVED);
+ groupMemeberOperation.setEnterGroupType(EnterGroupTypeConstant.INVITED);
+ groupMemeberOperation.setCreatedBy(formDTO.getUserId());
+ groupMemeberOperation.setOperateUserId(formDTO.getUserId());
+ groupMemeberOperationService.save(groupMemeberOperation);
+ //4、直接加入群成员关系表
+ ResiGroupMemberDTO resiGroupMemberDTO = new ResiGroupMemberDTO();
+ resiGroupMemberDTO.setCustomerUserId(groupMemeberOperation.getCustomerUserId());
+ resiGroupMemberDTO.setResiGroupId(groupMemeberOperation.getGroupId());
+ resiGroupMemberDTO.setGroupLeaderFlag(LeaderFlagConstant.GROUP_MEMBER);
+ resiGroupMemberDTO.setEnterGroupType(groupMemeberOperation.getEnterGroupType());
+ resiGroupMemberDTO.setStatus(MemberStateConstant.APPROVED);
+ resiGroupMemberDTO.setCreatedBy(groupMemeberOperation.getCustomerUserId());
+ resiGroupMemberService.save(resiGroupMemberDTO);
+ //5、修改群统计值
+ UserRoleDTO userRoleDTO = resiGroupService.checkPartyMemberOrWarmHeated(formDTO.getApp(),
+ formDTO.getUserId(),
+ resiGroupDTO.getCustomerId());
+ resiGroupMemberDao.updateResiGroupStatistical(groupMemeberOperation.getGroupId(), userRoleDTO);
+ //6、发送消息 TODO
+ return new Result();
+ }
+
+}
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 25d308c595..142656a51b 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
@@ -20,15 +20,12 @@ package com.epmet.modules.member.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;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
-import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
-import com.epmet.dto.form.UserRoleFormDTO;
-import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.member.dao.ResiGroupMemberDao;
@@ -48,7 +45,6 @@ import com.epmet.resi.group.dto.member.form.*;
import com.epmet.resi.group.dto.member.result.ApplyingMemberResultDTO;
import com.epmet.resi.group.dto.member.result.GroupMemberListResultDTO;
import org.apache.commons.lang3.StringUtils;
-import org.bouncycastle.math.raw.Mod;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -164,26 +160,20 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl> userRoleListResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO);
- if (!userRoleListResult.success()) {
- logger.info("获取用户角色feign调用失败" + userRoleListResult.getMsg());
- return userRoleDTO;
- }
- List userRoleList = userRoleListResult.getData();
- if (null == userRoleList || userRoleList.size() == 0) {
- return userRoleDTO;
- }
- for (UserRoleResultDTO userRoleResultDTO : userRoleList) {
- 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 userRoleDTO;
- }
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java
index 646ec81fa3..c843ba6118 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java
@@ -82,4 +82,9 @@ public interface ModuleConstant extends Constant {
* 申请入群是校验是否已经在群内
*/
String ALREADY_IN_GROUP="已经在群内,无需申请";
+
+ /**
+ * 生成邀请新成员链接时,判断群状态
+ */
+ String CANNOT_SHARED="只有讨论中的群才可以邀请新成员";
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/invitation/GroupInvitationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/invitation/GroupInvitationDao.xml
new file mode 100644
index 0000000000..b814840946
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/invitation/GroupInvitationDao.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+ SELECT
+ rg.id AS groupId,
+ rg.GROUP_HEAD_PHOTO AS groupHeadPhoto,
+ rg.GROUP_NAME AS groupName,
+ rg.GROUP_INTRODUCTION AS groupIntroduction,
+ rgs.TOTAL_MEMBERS AS totalMember,
+ rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember
+ FROM
+ resi_group rg
+ LEFT JOIN resi_group_statistical rgs ON ( rg.id = rgs.RESI_GROUP_ID )
+ WHERE
+ rg.DEL_FLAG = '0'
+ AND rgs.DEL_FLAG = '0'
+ and rg.id=#{groupId}
+
+
+
+
From d72d4242dd7d5a0500d86d22bf04ec16986ac5ac Mon Sep 17 00:00:00 2001
From: yinzuomei <57602893@qq.com>
Date: Wed, 1 Apr 2020 00:21:59 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=EF=BC=9A=E7=94=9F=E6=88=90=E7=BE=A4=E9=93=BE=E6=8E=A5=E3=80=81?=
=?UTF-8?q?=E5=90=8C=E6=84=8F=E8=BF=9B=E7=BE=A4=E3=80=81=E6=A0=B9=E6=8D=AE?=
=?UTF-8?q?=E9=82=80=E8=AF=B7=E8=BF=9E=E6=8E=A5=E6=9F=A5=E8=AF=A2=E7=BE=A4?=
=?UTF-8?q?=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AFv1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/epmet/feign/EpmetUserFeignClient.java | 2 +-
.../modules/group/service/impl/ResiGroupServiceImpl.java | 2 --
.../member/service/impl/ResiGroupMemberServiceImpl.java | 7 -------
3 files changed, 1 insertion(+), 10 deletions(-)
diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
index c3f44bbc57..3fe7b82bca 100644
--- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
+++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.*;
* @dscription
* @date 2020/3/19 9:32
*/
-@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, path="/epmetuser", fallback = EpmetUserFeignClientFallback.class)
+@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, path="/epmetuser", fallback = EpmetUserFeignClientFallback.class,url = "http://localhost:8087")
public interface EpmetUserFeignClient {
/**
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 49dcdf4184..0df010297f 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
@@ -80,8 +80,6 @@ import java.util.Map;
@Service
public class ResiGroupServiceImpl extends BaseServiceImpl implements ResiGroupService {
private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private ResiGroupRedis resiGroupRedis;
@Autowired
private ResiGroupMemberService resiGroupMemberService;
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 142656a51b..c679cb179e 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
@@ -26,11 +26,9 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
-import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
-import com.epmet.modules.member.redis.ResiGroupMemberRedis;
import com.epmet.modules.member.service.GroupMemeberOperationService;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.utils.ModuleConstant;
@@ -64,8 +62,6 @@ import java.util.Map;
@Service
public class ResiGroupMemberServiceImpl extends BaseServiceImpl implements ResiGroupMemberService {
private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private ResiGroupMemberRedis resiGroupMemberRedis;
@Autowired
private GroupMemeberOperationService groupMemeberOperationService;
@@ -76,9 +72,6 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl page(Map params) {
IPage page = baseDao.selectPage(