Browse Source

Merge remote-tracking branch 'origin/dev0.2' into dev0.2

dev_shibei_match
yinzuomei 6 years ago
parent
commit
0a96568035
  1. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 2
      epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  3. 101
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java
  4. 31
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/AccetInvitationFormDTO.java
  5. 28
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/CreateGroupInvitationFormDTO.java
  6. 27
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/form/LinkGroupInfoFormDTO.java
  7. 20
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/CreateGroupInvitationResultDTO.java
  8. 51
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/result/LinkGroupInfoResultDTO.java
  9. 12
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  10. 20
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  11. 0
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/.gitkeep
  12. 97
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/GroupInvitationController.java
  13. 0
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/.gitkeep
  14. 44
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/GroupInvitationDao.java
  15. 0
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/.gitkeep
  16. 71
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java
  17. 0
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/excel/.gitkeep
  18. 128
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java
  19. 0
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/.gitkeep
  20. 252
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java
  21. 58
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  22. 5
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java
  23. 25
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/invitation/GroupInvitationDao.xml

4
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;

2
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 {
/**

101
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
/**
* 邀请人idcustomer_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;
}

31
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;
}

28
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;
}

27
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;
}

20
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;
}

51
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;
}

12
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<ResiGroupEntity> {
* @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);
}

20
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<ResiGroupDao, ResiGroupEntity> implements ResiGroupService {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ResiGroupRedis resiGroupRedis;
@Autowired
private ResiGroupMemberService resiGroupMemberService;
@ -291,10 +289,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
//1、校验是否同名
List<ResiGroupEntity> 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 +370,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
Result<UserResiInfoDTO> 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 +405,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
}
UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(tokenDto.getApp(), tokenDto.getUserId(), customerId);
if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) {
Result errorResult = new Result();
errorResult.setCode(EpmetErrorCode.CANNOT_CREATE_GROUP.getValue());
errorResult.setMsg(EpmetErrorCode.CANNOT_CREATE_GROUP.getName());
return errorResult;
return new Result().error(EpmetErrorCode.CANNOT_CREATE_GROUP.getValue(),EpmetErrorCode.CANNOT_CREATE_GROUP.getName());
}
return new Result();
}
@ -493,7 +482,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
* @Description 用户拥有党员或者热心居民标签返回true, 没有权限返回false
* @Date 2020/3/30 16:33
**/
private UserRoleDTO checkPartyMemberOrWarmHeated(String app, String userId, String customerId) {
@Override
public UserRoleDTO checkPartyMemberOrWarmHeated(String app, String userId, String customerId) {
UserRoleDTO userRoleDTO = new UserRoleDTO();
UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO();
userRoleFormDTO.setApp(app);

0
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/.gitkeep

97
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/controller/GroupInvitationController.java

@ -0,0 +1,97 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO>
* @Author yinzuomei
* @Description 生成邀请
* @Date 2020/3/31 22:50
**/
@PostMapping("creategroupinvitation")
public Result<CreateGroupInvitationResultDTO> 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<LinkGroupInfoResultDTO> 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);
}
}

0
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/dao/.gitkeep

44
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<GroupInvitationEntity> {
/**
* @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);
}

0
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/.gitkeep

71
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
/**
* 邀请人idcustomer_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
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/excel/.gitkeep

128
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<GroupInvitationEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<GroupInvitationDTO>
* @author generator
* @date 2020-03-31
*/
PageData<GroupInvitationDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<GroupInvitationDTO>
* @author generator
* @date 2020-03-31
*/
List<GroupInvitationDTO> list(Map<String, Object> 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<com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO>
* @param formDTO
* @Author yinzuomei
* @Description 生成邀请连接
* @Date 2020/3/31 22:50
**/
Result<CreateGroupInvitationResultDTO> createGroupInvitation(CreateGroupInvitationFormDTO formDTO);
/**
* @return com.epmet.commons.tools.utils.Result<com.epmet.resi.group.dto.invitation.result.LinkGroupInfoResultDTO>
* @param formDTO
* @Author yinzuomei
* @Description 根据群邀请连接查询群基本信息
* @Date 2020/3/31 23:20
**/
Result<LinkGroupInfoResultDTO> 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);
}

0
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/.gitkeep

252
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<GroupInvitationDao, GroupInvitationEntity> implements GroupInvitationService {
@Autowired
private ResiGroupMemberDao resiGroupMemberDao;
@Autowired
private ResiGroupService resiGroupService;
@Autowired
private ResiGroupMemberService resiGroupMemberService;
@Autowired
private GroupMemeberOperationService groupMemeberOperationService;
@Override
public PageData<GroupInvitationDTO> page(Map<String, Object> params) {
IPage<GroupInvitationEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, GroupInvitationDTO.class);
}
@Override
public List<GroupInvitationDTO> list(Map<String, Object> params) {
List<GroupInvitationEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, GroupInvitationDTO.class);
}
private QueryWrapper<GroupInvitationEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<GroupInvitationEntity> 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<com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO>
* @Author yinzuomei
* @Description 生成邀请连接
* @Date 2020/3/31 22:50
**/
@Override
public Result<CreateGroupInvitationResultDTO> 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<CreateGroupInvitationResultDTO>().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<CreateGroupInvitationResultDTO>().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<CreateGroupInvitationResultDTO>().ok(resultDTO);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.resi.group.dto.invitation.result.LinkGroupInfoResultDTO>
* @Author yinzuomei
* @Description 根据群邀请连接查询群基本信息
* @Date 2020/3/31 23:20
**/
@Override
public Result<LinkGroupInfoResultDTO> getLinkGroupInfo(LinkGroupInfoFormDTO formDTO) {
//校验是否存在该邀请连接
Result<GroupInvitationDTO> validResult = this.checkLinkValid(formDTO.getInvitationId());
if(!validResult.success()){
return new Result<LinkGroupInfoResultDTO>().error(validResult.getCode(),validResult.getMsg());
}
LinkGroupInfoResultDTO linkGroupInfoResultDTO = baseDao.selectLinkGroupInfo(validResult.getData().getResiGroupId());
return new Result<LinkGroupInfoResultDTO>().ok(linkGroupInfoResultDTO);
}
private Result<GroupInvitationDTO> checkLinkValid(String invitationId){
//校验是否存在该邀请连接
GroupInvitationDTO groupInvitationDTO = this.get(invitationId);
//Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
if (null == groupInvitationDTO) {
return new Result<GroupInvitationDTO>().error(EpmetErrorCode.LOSE_EFFICACY.getValue(),EpmetErrorCode.LOSE_EFFICACY.getName());
}
if (null != groupInvitationDTO && groupInvitationDTO.getValidEndTime().after(new Date())) {
return new Result<GroupInvitationDTO>().error(EpmetErrorCode.LOSE_EFFICACY.getValue(),EpmetErrorCode.LOSE_EFFICACY.getName());
}
return new Result<GroupInvitationDTO>().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<GroupInvitationDTO> validResult = this.checkLinkValid(formDTO.getInvitationId());
if(!validResult.success()){
return new Result<LinkGroupInfoResultDTO>().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();
}
}

58
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java

@ -20,20 +20,15 @@ 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;
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;
@ -48,7 +43,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;
@ -68,8 +62,6 @@ import java.util.Map;
@Service
public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberDao, ResiGroupMemberEntity> implements ResiGroupMemberService {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ResiGroupMemberRedis resiGroupMemberRedis;
@Autowired
private GroupMemeberOperationService groupMemeberOperationService;
@ -80,9 +72,6 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
@Autowired
private ResiGroupMemberService resiGroupMemberService;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Override
public PageData<ResiGroupMemberDTO> page(Map<String, Object> params) {
IPage<ResiGroupMemberEntity> page = baseDao.selectPage(
@ -164,26 +153,20 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
**/
@Override
public Result applyJoinGroup(ApplyJoinGroupFormDTO applyJoinGroupFormDTO) {
//校验是否已经注册
//校验是否已经注册居民
ResiGroupDTO resiGroupDTO = resiGroupService.get(applyJoinGroupFormDTO.getGroupId());
if (null != resiGroupDTO) {
UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyJoinGroupFormDTO.getApp(),
UserRoleDTO userRoleDTO = resiGroupService.checkPartyMemberOrWarmHeated(applyJoinGroupFormDTO.getApp(),
applyJoinGroupFormDTO.getUserId(),
resiGroupDTO.getCustomerId());
if (NumConstant.ZERO_STR.equals(userRoleDTO.getRegisteredResiFlag())) {
Result errorResult = new Result();
errorResult.setCode(EpmetErrorCode.CANNOT_CREATE_GROUP.getValue());
errorResult.setMsg(EpmetErrorCode.CANNOT_CREATE_GROUP.getName());
return errorResult;
return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getValue(),EpmetErrorCode.CANNOT_JOIN_GROUP.getName());
}
}
//查看用户最新一条成员处理记录,避免重复申请
GroupMemeberOperationDTO groupMember = baseDao.selectGroupMemberOperationLatest(applyJoinGroupFormDTO.getUserId(),applyJoinGroupFormDTO.getGroupId());
if(null!=groupMember&&MemberStateConstant.UNDER_AUDITTING.equals(groupMember.getOperateStatus())){
Result errorResult = new Result();
errorResult.setCode(EpmetErrorCode.ALREADY_APPLIED_GROUP.getValue());
errorResult.setMsg(EpmetErrorCode.ALREADY_APPLIED_GROUP.getName());
return errorResult;
return new Result().error(EpmetErrorCode.ALREADY_APPLIED_GROUP.getValue(),EpmetErrorCode.ALREADY_APPLIED_GROUP.getName());
}
if(null!=groupMember&&MemberStateConstant.APPROVED.equals(groupMember.getOperateStatus())){
return new Result().error(ModuleConstant.ALREADY_IN_GROUP);
@ -279,7 +262,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
resiGroupMemberDTO.setCreatedBy(groupMemeberOperationDTO.getCustomerUserId());
resiGroupMemberService.save(resiGroupMemberDTO);
//修改群统计值
UserRoleDTO userRoleDTO = checkPartyMemberOrWarmHeated(agreeApplyFormDTO.getApp(),
UserRoleDTO userRoleDTO = resiGroupService.checkPartyMemberOrWarmHeated(agreeApplyFormDTO.getApp(),
groupMemeberOperationDTO.getCustomerUserId(),
agreeApplyFormDTO.getCustomerId());
baseDao.updateResiGroupStatistical(groupMemeberOperationDTO.getGroupId(), userRoleDTO);
@ -315,33 +298,4 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
//给用户发送消息 TODO
return new Result();
}
private UserRoleDTO checkPartyMemberOrWarmHeated(String app, String userId, String customerId) {
UserRoleDTO userRoleDTO = new UserRoleDTO();
UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO();
userRoleFormDTO.setApp(app);
userRoleFormDTO.setCustomerId(customerId);
userRoleFormDTO.setUserId(userId);
Result<List<UserRoleResultDTO>> userRoleListResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO);
if (!userRoleListResult.success()) {
logger.info("获取用户角色feign调用失败" + userRoleListResult.getMsg());
return userRoleDTO;
}
List<UserRoleResultDTO> 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;
}
}

5
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="只有讨论中的群才可以邀请新成员";
}

25
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/invitation/GroupInvitationDao.xml

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.modules.invitation.dao.GroupInvitationDao">
<!-- 根据群邀请连接查询群基本信息 -根据groupId 查询群基本信息 -->
<select id="selectLinkGroupInfo" parameterType="map" resultType="com.epmet.resi.group.dto.invitation.result.LinkGroupInfoResultDTO">
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}
</select>
</mapper>
Loading…
Cancel
Save