Browse Source

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

# Conflicts:
#	epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
dev_shibei_match
wangchao 5 years ago
parent
commit
c3e5b78e8f
  1. 5
      epmet-admin/epmet-admin-server/docker-compose.yml
  2. 2
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLogErrorEntity.java
  3. 41
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  4. 81
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/ErrorCode.java
  5. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenExceptionHandler.java
  6. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/log/SysLogError.java
  7. 10
      epmet-gateway/docker-compose.yml
  8. 2
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java
  9. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java
  10. 5
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/RecommendGroupResultDTO.java
  11. 38
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/RemoveMemberFormDTO.java
  12. 33
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java
  13. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/exception/ModuleErrorCode.java
  14. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java
  15. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupStatisticalDao.java
  16. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupStatisticalService.java
  17. 14
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  18. 71
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupStatisticalServiceImpl.java
  19. 21
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java
  20. 13
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/controller/ResiGroupMemberController.java
  21. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java
  22. 24
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/GroupMemeberOperationService.java
  23. 8
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java
  24. 35
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java
  25. 52
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  26. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
  27. 36
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
  28. 46
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  29. 31
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupStatisticalDao.xml
  30. 14
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml
  31. 31
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml
  32. 2
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/exception/ModuleErrorCode.java
  33. 15
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java
  34. 5
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberConfirmAutoDTO.java
  35. 5
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedFormDTO.java
  36. 14
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java
  37. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java
  38. 1
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberConfirmService.java
  39. 10
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberConfirmAutoService.java
  40. 116
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberConfirmManualService.java
  41. 70
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java
  42. 41
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java
  43. 120
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmAutoServiceImpl.java
  44. 8
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmManualServiceImpl.java
  45. 2
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmheartedVisitConstant.java
  46. 24
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java
  47. 15
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml
  48. 3
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml
  49. 3
      epmet-user/epmet-user-server/docker-compose.yml
  50. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserResiRegisterConstant.java
  51. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiRegisterVisitController.java
  52. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiRegisterVisitService.java
  53. 19
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java
  54. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java
  55. 1
      epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml

5
epmet-admin/epmet-admin-server/docker-compose.yml

@ -2,6 +2,7 @@ version: "3.7"
services:
epmet-admin-server:
container_name: epmet-admin-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud/epmet-admin-server:2.0.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud/epmet-admin-server:2.0.1
ports:
- "8082:8082"
- "8082:8082"
network_mode: bridge # 不会创建新的网络

2
epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysLogErrorEntity.java

@ -62,7 +62,7 @@ public class SysLogErrorEntity implements Serializable {
/**
* 创建者
*/
private Long creator;
private String creator;
/**
* 创建时间
*/

41
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -10,39 +10,40 @@ public enum EpmetErrorCode {
CANNOT_CREATE_GROUP(8002, "只有党员和热心居民才能创建小组,请选择您的身份"),
GROUP_ALREADY_EXISTED(8003,"您的组名已存在,请重新修改"),
ALREADY_APPLIED_GROUP(8004,"该群已申请过,请耐心等待审核"),
ONLY_LEADER_CAN_INVITE(8005,"抱歉,只有群主才可以邀请新成员"),
LOSE_EFFICACY(8006,"此链接已过期"),
LOSE_EFFICACY(8006,"此邀请链接已过期"),
MOBILE_HAS_BEEN_USED(8101, "该手机已被使用,请更换手机或使用原绑定的微信用户登录"),
MOBILE_CODE_ERROR(8102, "手机验证码错误"),
AUTO_CONFIRM_FAILED(8103, "自动认证失败"),
MOBILE_GET_CODE_ERROR(8104,"获取手机验证码失败"),
MOBILE_HAS_BEEN_USED(8101, "该手机号已注册,请更换手机号或使用原绑定的微信账号登录"),
MOBILE_CODE_ERROR(8102, "验证码错误"),
AUTO_CONFIRM_FAILED(8103, "党员注册失败"),
MOBILE_GET_CODE_ERROR(8104,"获取验证码失败"),
MESSAGE_SMS_SEND_ERROR(8105, "短信发送失败"),
CANNOT_AUDIT_WARM(8201, "只有注册居民才可以申请热心居民,请先完成居民注册");
CANNOT_AUDIT_WARM(8201, "未注册居民不能申请热心居民,请先完善居民注册。"),
RESI_WARM_INIT(8202, "您的信息已提交成功,请等待后台审核。"),
RESI_WARM_SUBMIT(8203, "热心居民信息已提交成功,请等待后台审核。");
private int value;
private String name;
private int code;
private String msg;
EpmetErrorCode(int value, String name) {
this.value = value;
this.name = name;
EpmetErrorCode(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getValue() {
return value;
public int getCode() {
return code;
}
public void setValue(int value) {
this.value = value;
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
public String getMsg() {
return msg;
}
public void setName(String name) {
this.name = name;
public void setMsg(String msg) {
this.msg = msg;
}
}

81
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/ErrorCode.java

@ -18,26 +18,107 @@ package com.epmet.commons.tools.exception;
* @since 1.0.0
*/
public interface ErrorCode {
/**
* 服务器内部异常
*/
int INTERNAL_SERVER_ERROR = 500;
/**
* 未授权
*/
int UNAUTHORIZED = 401;
/**
* 拒绝访问没有权限
*/
int FORBIDDEN = 403;
/**
* {0}不能为空
*/
int NOT_NULL = 10001;
/**
* 数据库中已存在该记录
*/
int DB_RECORD_EXISTS = 10002;
/**
* 获取参数失败
*/
int PARAMS_GET_ERROR = 10003;
/**
* 账号或密码错误
*/
int ACCOUNT_PASSWORD_ERROR = 10004;
/**
* 账号已被停用
*/
int ACCOUNT_DISABLE = 10005;
/**
* 唯一标识不能为空
*/
int IDENTIFIER_NOT_NULL = 10006;
/**
* 验证码不正确
*/
int CAPTCHA_ERROR = 10007;
/**
* 先删除子菜单或按钮
*/
int SUB_MENU_EXIST = 10008;
/**
* 原密码不正确
*/
int PASSWORD_ERROR = 10009;
/**
* 账号不存在
*/
int ACCOUNT_NOT_EXIST = 10010;
/**
* 上级部门选择错误
*/
int SUPERIOR_DEPT_ERROR = 10011;
/**
* 上级菜单不能为自身
*/
int SUPERIOR_MENU_ERROR = 10012;
/**
* 数据权限接口只能是Map类型参数
*/
int DATA_SCOPE_PARAMS_ERROR = 10013;
/**
* 请先删除下级部门
*/
int DEPT_SUB_DELETE_ERROR = 10014;
/**
* 请先删除部门下的用户
*/
int DEPT_USER_DELETE_ERROR = 10015;
/**
* 参数格式不正确请使用JSON格式
*/
int JSON_FORMAT_ERROR = 10016;
/**
* 上级区域选择错误
*/
int SUPERIOR_REGION_ERROR = 10017;
/**
* 请先删除下级区域
*/
int REGION_SUB_DELETE_ERROR = 10018;
}

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenExceptionHandler.java

@ -14,7 +14,7 @@ import com.epmet.commons.tools.config.ModuleConfig;
import com.epmet.commons.tools.log.SysLogError;
import com.epmet.commons.tools.log.enums.LogTypeEnum;
import com.epmet.commons.tools.log.producer.LogProducer;
import com.epmet.commons.tools.security.user.SecurityUser;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.HttpContextUtils;
import com.epmet.commons.tools.utils.IpUtils;
import com.epmet.commons.tools.utils.Result;
@ -93,8 +93,8 @@ public class RenExceptionHandler {
}
//登录用户ID
log.setCreator(SecurityUser.getUserId());
log.setCreator(LoginUserUtil.getLoginUserId());
//异常信息
log.setErrorInfo(ExceptionUtils.getErrorStackTrace(ex));

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/log/SysLogError.java

@ -56,7 +56,7 @@ public class SysLogError extends BaseLog {
/**
* 创建者
*/
private Long creator;
private String creator;
/**
* 创建时间
*/

10
epmet-gateway/docker-compose.yml

@ -2,6 +2,12 @@ version: "3.7"
services:
epmet-gateway: # 会自动生成容器名称: <当前所在目录>_epmet-gateway_1,依赖于所在目录,不稳定,所以使用container_name 完全手动指定
container_name: epmet-gateway-dev # 完全手动指定容器NAME
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud/epmet-gateway:2.0.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud/epmet-gateway:2.0.1
ports:
- "8080:8080"
- "8080:8080"
network_mode: bridge # 不会创建新的网络
# 定义新的网络
#networks:
# epmet-gateway: # 会自动生成容器网络名称: <当前所在目录>_epmet-gateway
# driver: bridge

2
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SysSmsServiceImpl.java

@ -137,6 +137,6 @@ public class SysSmsServiceImpl extends BaseServiceImpl<SysSmsDao, SysSmsEntity>
e.printStackTrace();
logger.error(String.format("短信验证码发送失败,手机号:%s。errorMessage:%s", mobile, e.getMessage()));
}
return new Result().error(EpmetErrorCode.MESSAGE_SMS_SEND_ERROR.getValue(), EpmetErrorCode.MESSAGE_SMS_SEND_ERROR.getName());
return new Result().error(EpmetErrorCode.MESSAGE_SMS_SEND_ERROR.getCode(), EpmetErrorCode.MESSAGE_SMS_SEND_ERROR.getMsg());
}
}

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java

@ -120,12 +120,6 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
if (null == tokenDTO || StringUtils.isBlank(tokenDTO.getUserId())) {
return new Result().error(ModuleConstant.USER_NOT_NULL);
}
/* if (null == formDTO || StringUtils.isBlank(formDTO.getCustomerId())
|| StringUtils.isBlank(formDTO.getResiWarmApplyId())
|| StringUtils.isBlank(formDTO.getAuditStatus())
|| (!NumConstant.ZERO_STR.equals(formDTO.getAuditStatus()) && !NumConstant.ONE_STR.equals(formDTO.getAuditStatus()))) {
return new Result().error(EpmetErrorCode.PARTICIPATION_EXCEPTION.getName());
}*/
formDTO.setUserId(tokenDTO.getUserId());
return resiPartymemberFeignClient.manageAudit(formDTO);
}

5
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/RecommendGroupResultDTO.java

@ -38,4 +38,9 @@ public class RecommendGroupResultDTO implements Serializable {
*/
private Integer totalPartyMember;
/**
* under_auditting审核中rejected已拒绝的前端显示加入
*/
private String status="";
}

38
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/RemoveMemberFormDTO.java

@ -0,0 +1,38 @@
package com.epmet.resi.group.dto.member.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 楼院小组--删除组成员
* @Author sun
*/
@Data
public class RemoveMemberFormDTO implements Serializable {
private static final long serialVersionUID = 1626650057895049665L;
/**
* 群组成员关系表
*/
@NotBlank(message = "成员Id不能为空")
private String memerId;
/**
* 显示是否要屏蔽该成员的全部话题,1是0否
*/
@NotBlank(message = "是否屏蔽成员话题不能为空")
private String hideFlag;
/**
* 当前登录用户id
*/
private String userId;
/**
* 所属app
*/
private String app;
}

33
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java

@ -6,24 +6,25 @@ package com.epmet.modules.constant;
* @Date 2020/4/7 15:55
*/
public interface UserMessageConstant {
/**
* 消息标题
*/
String GROUP_TITLE="您有一条小组消息";
/**
* 消息标题
*/
String GROUP_TITLE = "您有一条小组消息";
/**
* 组长同意入群申请用户会收到您有一条小组消息 您加入的组名已通过审核请查看
*/
String AGREE_APPLY="您加入的【%s】已通过审核,请查看";
/**
* 组长同意入群申请用户会收到您有一条小组消息 您加入的组名已通过审核请查看
*/
String AGREE_APPLY = "您加入的【%s】已通过审核,请查看";
/**
* 组长拒绝入群申请用户会收到您在组名的入组申请被拒绝原因组长拒绝审核时输入的备注
*/
String DISAGREE_APPLY="您在【%s】的入组申请被拒绝。原因:【%s】";
/**
* 组长拒绝入群申请用户会收到您在组名的入组申请被拒绝原因组长拒绝审核时输入的备注
*/
String DISAGREE_APPLY = "您在【%s】的入组申请被拒绝。原因:【%s】";
/**
* 成员通过链接同意进群后组长会收到您的好友-认证的居民名字 xxx路-王先生通过邀请链接加入了组名
*/
String INVITED_JOIN_GROUP = "您的好友-【%s】通过邀请连接,加入了【%s】";
/**
* 成员通过链接同意进群后组长会收到您的好友-认证的居民名字 xxx路-王先生通过邀请链接加入了组名
*/
String INVITED_JOIN_GROUP="您的好友-【%s】通过邀请连接,加入了【%s】";
}

10
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/exception/ModuleErrorCode.java

@ -22,5 +22,15 @@ import com.epmet.commons.tools.exception.ErrorCode;
*/
public interface ModuleErrorCode extends ErrorCode {
String DATA_ACQUISITION_FAILED = "数据库数据获取失败";
String DELETE_SUCCESS = "组成员删除成功";
String DELETE_FAILED = "组成员删除失败";
/**
* 删除组成员时对应话题操作日志表设置默认的屏蔽理由
*/
String DELETE_MEMBER_REASON = "删除组成员,屏蔽该成员话题";
}

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java

@ -21,7 +21,7 @@ import java.util.List;
* @Author yinzuomei
* @Date 2020/3/16 14:48
*/
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallback.class)
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallback.class,url="http://localhost:8087")
public interface EpmetUserFeignClient {
/**

10
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupStatisticalDao.java

@ -20,14 +20,22 @@ 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;
import org.apache.ibatis.annotations.Param;
/**
* 群组统计信息表
*
* @author generator generator@elink-cn.com
* @author generator generator@elink-cn.comH
* @since v1.0.0 2020-03-31
*/
@Mapper
public interface ResiGroupStatisticalDao extends BaseDao<ResiGroupStatisticalEntity> {
/**
* 根据组Id查询群组统计信息表数据
* @param resiGroupId
* @return
* @author sun
*/
ResiGroupStatisticalEntity selectByResiGroupId(@Param("resiGroupId") String resiGroupId);
}

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupStatisticalService.java

@ -19,8 +19,11 @@ package com.epmet.modules.group.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.group.entity.ResiGroupStatisticalEntity;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO;
import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO;
import java.util.List;
import java.util.Map;
@ -92,4 +95,12 @@ public interface ResiGroupStatisticalService extends BaseService<ResiGroupStatis
* @date 2020-03-31
*/
void delete(String[] ids);
/**
* 删除组成员--修改resi_group_statistical成员总数-1,普通居民总数-1热心居民或者党员数根据被删除的用户身份来判断
*
* @param resiGroupMemberEntity
* @author sun
*/
Result upGroupStatistical(RemoveMemberFormDTO removeMemberFormDTO, ResiGroupMemberEntity resiGroupMemberEntity);
}

14
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -19,6 +19,7 @@ package com.epmet.modules.group.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.EpmetRoleKeyConstant;
import com.epmet.commons.tools.constant.FieldConstant;
@ -186,6 +187,13 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
recommendGroupFormDTO.setPageNo(pageIndex);
//显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以最新话题的时间有近到远排序
List<RecommendGroupResultDTO> recommendGroupList = baseDao.selectListRecommendGroup(recommendGroupFormDTO);
for (RecommendGroupResultDTO recommendGroupResultDTO : recommendGroupList) {
GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationService.selectLatestRecord(recommendGroupResultDTO.getGroupId(),
recommendGroupFormDTO.getUserId());
if (null != groupMemeberOperationDTO) {
recommendGroupResultDTO.setStatus(groupMemeberOperationDTO.getOperateStatus());
}
}
return new Result<List<RecommendGroupResultDTO>>().ok(recommendGroupList);
}
@ -290,7 +298,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
//1、校验是否同名
List<ResiGroupEntity> resiGroupEntityList = this.getResiGroupEntityList(applyCreateGroupFormDTO);
if (null != resiGroupEntityList && resiGroupEntityList.size() > 0) {
return new Result().error(EpmetErrorCode.GROUP_ALREADY_EXISTED.getValue(),EpmetErrorCode.GROUP_ALREADY_EXISTED.getName());
return new Result().error(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode(),EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg());
}
//2、插入一条待审核的组信息
ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO);
@ -374,7 +382,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
Result<UserResiInfoResultDTO> result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO);
if (!result.success() || null == result.getData() || StringUtils.isBlank(result.getData().getRegMobile())) {
logger.info("居民注册信息查询失败");
return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getValue(),EpmetErrorCode.CANNOT_JOIN_GROUP.getName());
return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode(),EpmetErrorCode.CANNOT_JOIN_GROUP.getMsg());
}
return new Result();
}
@ -410,7 +418,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
initApplyCreatedGroupFormDTO.getUserId(),
initApplyCreatedGroupFormDTO.getCustomerId());
if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) {
return new Result().error(EpmetErrorCode.CANNOT_CREATE_GROUP.getValue(),EpmetErrorCode.CANNOT_CREATE_GROUP.getName());
return new Result().error(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode(),EpmetErrorCode.CANNOT_CREATE_GROUP.getMsg());
}
return new Result();
}

71
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupStatisticalServiceImpl.java

@ -20,14 +20,26 @@ package com.epmet.modules.group.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.EpmetRoleKeyConstant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UserRoleFormDTO;
import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.modules.constant.UserMessageConstant;
import com.epmet.modules.exception.ModuleErrorCode;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.dao.ResiGroupStatisticalDao;
import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.entity.ResiGroupStatisticalEntity;
import com.epmet.modules.group.service.ResiGroupStatisticalService;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO;
import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -44,6 +56,11 @@ import java.util.Map;
@Service
public class ResiGroupStatisticalServiceImpl extends BaseServiceImpl<ResiGroupStatisticalDao, ResiGroupStatisticalEntity> implements ResiGroupStatisticalService {
@Autowired
private ResiGroupServiceImpl resiGroupServiceImpl;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Override
public PageData<ResiGroupStatisticalDTO> page(Map<String, Object> params) {
IPage<ResiGroupStatisticalEntity> page = baseDao.selectPage(
@ -60,8 +77,8 @@ public class ResiGroupStatisticalServiceImpl extends BaseServiceImpl<ResiGroupSt
return ConvertUtils.sourceToTarget(entityList, ResiGroupStatisticalDTO.class);
}
private QueryWrapper<ResiGroupStatisticalEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<ResiGroupStatisticalEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<ResiGroupStatisticalEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -96,4 +113,54 @@ public class ResiGroupStatisticalServiceImpl extends BaseServiceImpl<ResiGroupSt
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 删除组成员--修改resi_group_statistical成员总数-1,普通居民总数-1
* 热心居民或者党员数根据被删除的用户身份来判断
*
* @param resiGroupMemberEntity
* @author sun
*/
@Override
public Result upGroupStatistical(RemoveMemberFormDTO removeMemberFormDTO, ResiGroupMemberEntity resiGroupMemberEntity) {
Result result = new Result();
ResiGroupStatisticalEntity entity = baseDao.selectByResiGroupId(resiGroupMemberEntity.getResiGroupId());
if (null == entity) {
result.error(ModuleErrorCode.DATA_ACQUISITION_FAILED);
return result;
}
//成员总数
entity.setTotalMembers(entity.getTotalMembers() - NumConstant.ONE);
//普通居民总数
entity.setTotalNormalMemebers(entity.getTotalNormalMemebers() - NumConstant.ONE);
//1:根据组Id查询客户Id
ResiGroupEntity resiGroupEntity = resiGroupServiceImpl.selectById(entity.getResiGroupId());
if (null == resiGroupEntity) {
result.error(ModuleErrorCode.DATA_ACQUISITION_FAILED);
return result;
}
//2:根据客户Id、用户Id查询被删除成员角色
UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO();
userRoleFormDTO.setApp(removeMemberFormDTO.getApp());
userRoleFormDTO.setCustomerId(resiGroupEntity.getCustomerId());
userRoleFormDTO.setUserId(resiGroupMemberEntity.getCustomerUserId());
Result<List<UserRoleResultDTO>> resultList = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO);
if (!resultList.success()) {
result.error(ModuleErrorCode.DATA_ACQUISITION_FAILED);
return result;
}
for (UserRoleResultDTO userRole : resultList.getData()) {
if (EpmetRoleKeyConstant.WARMHEARTED.equals(userRole.getRoleKey())) {
//热心居民总数
entity.setTotalEarnestMemebers(entity.getTotalEarnestMemebers() - NumConstant.ONE);
break;
} else if (EpmetRoleKeyConstant.WARMHEARTED.equals(userRole.getRoleKey())) {
//党员总数
entity.setTotalPartyMembers(entity.getTotalPartyMembers() - NumConstant.ONE);
break;
}
}
baseDao.updateById(entity);
return result;
}
}

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

@ -155,20 +155,12 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO>
* @Author yinzuomei
* @Description 生成邀请连接
* @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());
}
//1、只有群主可以邀请新成员(这块界面限制死了,只有群主才能看到邀请新成员按钮)
//2、审核通过(讨论中)的群才可以分享邀请连接
ResiGroupDTO resiGroupDTO = resiGroupService.get(formDTO.getGroupId());
if (!GroupStateConstant.GROUP_APPROVED.equals(resiGroupDTO.getState())) {
@ -179,7 +171,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
groupInvitationEntity.setInviterUserId(formDTO.getUserId());
groupInvitationEntity.setInviterCustomerId(resiGroupDTO.getCustomerId());
groupInvitationEntity.setInviterGridId(resiGroupDTO.getGridId());
//暂定7天有效期
//暂定14天有效期
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + NumConstant.FOURTEEN);
groupInvitationEntity.setValidEndTime(calendar.getTime());
@ -210,7 +202,6 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectGroupMemberInfo(groupInvitationDTO.getResiGroupId(), formDTO.getUserId());
if (null != resiGroupMemberDTO && !MemberStateConstant.REMOVED.equals(resiGroupMemberDTO.getStatus())) {
linkGroupInfoResultDTO.setInGroup(Constant.YES);
// return new Result<LinkGroupInfoResultDTO>().ok(linkGroupInfoResultDTO);
} else {
linkGroupInfoResultDTO.setInGroup(Constant.NO);
}
@ -282,10 +273,10 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
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());
return new Result<GroupInvitationDTO>().error(EpmetErrorCode.LOSE_EFFICACY.getCode(), EpmetErrorCode.LOSE_EFFICACY.getMsg());
}
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>().error(EpmetErrorCode.LOSE_EFFICACY.getCode(), EpmetErrorCode.LOSE_EFFICACY.getMsg());
}
ResiGroupEntity resiGroupEntity = resiGroupDao.selectById(groupInvitationDTO.getResiGroupId());
if (null == resiGroupEntity) {
@ -323,7 +314,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
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());
return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode(), EpmetErrorCode.CANNOT_JOIN_GROUP.getMsg());
}
}
//3、新增一条邀请入群、直接审核通过的入群记录

13
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/controller/ResiGroupMemberController.java

@ -122,4 +122,17 @@ public class ResiGroupMemberController {
ValidatorUtils.validateEntity(disagreeApplyFormDTO);
return resiGroupMemberService.disAgreeApply(disagreeApplyFormDTO);
}
/**
* @Author sun
* @Description 楼院小组--删除组成员
**/
@PostMapping("removemember")
public Result removeMember(@LoginUser TokenDto tokenDto, @RequestBody RemoveMemberFormDTO removeMemberFormDTO) {
removeMemberFormDTO.setUserId(tokenDto.getUserId());
removeMemberFormDTO.setApp(tokenDto.getApp());
ValidatorUtils.validateEntity(removeMemberFormDTO);
return resiGroupMemberService.removeMember(removeMemberFormDTO);
}
}

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java

@ -21,6 +21,7 @@ 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;
import org.apache.ibatis.annotations.Param;
/**
* 组成员出入群记录表
@ -39,4 +40,14 @@ public interface GroupMemeberOperationDao extends BaseDao<GroupMemeberOperationE
* @Date 2020/3/31 13:05
**/
GroupMemeberOperationDTO selectLeaderRecord(String groupId);
/**
* @param groupId
* @param userId
* @return com.epmet.resi.group.dto.member.GroupMemeberOperationDTO
* @Author yinzuomei
* @Description 查询用户与小组的关系取最新记录
* @Date 2020/4/11 10:47
**/
GroupMemeberOperationDTO selectLatestRecord(@Param("groupId")String groupId, @Param("userId") String userId);
}

24
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/GroupMemeberOperationService.java

@ -19,8 +19,12 @@ package com.epmet.modules.member.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.member.entity.GroupMemeberOperationEntity;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO;
import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@ -92,4 +96,24 @@ public interface GroupMemeberOperationService extends BaseService<GroupMemeberOp
* @date 2020-03-29
*/
void delete(String[] ids);
/**
* 删除组成员--group_member_operation新增一条记录
*
* @param resiGroupMemberEntity
* @return Result
* @author sun
* @date 2020-03-29
*/
Result saveMemberOperation(RemoveMemberFormDTO removeMemberFormDTO, ResiGroupMemberEntity resiGroupMemberEntity);
/**
* @param groupId 小组id
* @param userId 用户id
* @return com.epmet.resi.group.dto.member.GroupMemeberOperationDTO
* @Author yinzuomei
* @Description 查询用户与小组的关系取最新记录
* @Date 2020/4/11 10:41
**/
GroupMemeberOperationDTO selectLatestRecord(String groupId, String userId);
}

8
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java

@ -160,4 +160,12 @@ public interface ResiGroupMemberService extends BaseService<ResiGroupMemberEntit
* @Date 2020/4/8 12:37
**/
void saveOrUpdate(ResiGroupMemberDTO resiGroupMemberDTO);
/**
* @param removeMemberFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author sun
* @Description 楼院小组--删除组成员
**/
Result removeMember(RemoveMemberFormDTO removeMemberFormDTO);
}

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

@ -23,11 +23,15 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
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.modules.member.dao.GroupMemeberOperationDao;
import com.epmet.modules.member.entity.GroupMemeberOperationEntity;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.modules.member.redis.GroupMemeberOperationRedis;
import com.epmet.modules.member.service.GroupMemeberOperationService;
import com.epmet.resi.group.constant.MemberStateConstant;
import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO;
import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -65,8 +69,8 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
return ConvertUtils.sourceToTarget(entityList, GroupMemeberOperationDTO.class);
}
private QueryWrapper<GroupMemeberOperationEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<GroupMemeberOperationEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<GroupMemeberOperationEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -101,4 +105,31 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Result saveMemberOperation(RemoveMemberFormDTO removeMemberFormDTO, ResiGroupMemberEntity resiGroupMemberEntity) {
GroupMemeberOperationEntity entity = new GroupMemeberOperationEntity();
entity.setCustomerUserId(resiGroupMemberEntity.getCustomerUserId());
entity.setGroupId(resiGroupMemberEntity.getResiGroupId());
entity.setOperateStatus(MemberStateConstant.REMOVED);
entity.setEnterGroupType(resiGroupMemberEntity.getEnterGroupType());
entity.setGroupInvitationId(resiGroupMemberEntity.getGroupInvitationId());
//entity.setOperateDes("");
entity.setOperateUserId(removeMemberFormDTO.getUserId());
baseDao.insert(entity);
return new Result();
}
/**
* @param groupId 小组id
* @param userId 用户id
* @return com.epmet.resi.group.dto.member.GroupMemeberOperationDTO
* @Author yinzuomei
* @Description 查询用户与小组的关系取最新记录
* @Date 2020/4/11 10:41
**/
@Override
public GroupMemeberOperationDTO selectLatestRecord(String groupId, String userId) {
return baseDao.selectLatestRecord(groupId,userId);
}
}

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

@ -33,12 +33,15 @@ import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.feign.MessageFeignClient;
import com.epmet.modules.constant.UserMessageConstant;
import com.epmet.modules.exception.ModuleErrorCode;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.group.service.ResiGroupStatisticalService;
import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.modules.member.service.GroupMemeberOperationService;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.topic.service.ResiTopicService;
import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.constant.EnterGroupTypeConstant;
import com.epmet.resi.group.constant.LeaderFlagConstant;
@ -87,6 +90,12 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
@Autowired
private MessageFeignClient messageFeignClient;
@Autowired
private ResiGroupStatisticalService resiGroupStatisticalService;
@Autowired
private ResiTopicService resiTopicService;
@Override
public PageData<ResiGroupMemberDTO> page(Map<String, Object> params) {
IPage<ResiGroupMemberEntity> page = baseDao.selectPage(
@ -175,13 +184,13 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
applyJoinGroupFormDTO.getUserId(),
resiGroupDTO.getCustomerId());
if (NumConstant.ZERO_STR.equals(userRoleDTO.getRegisteredResiFlag())) {
return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getValue(),EpmetErrorCode.CANNOT_JOIN_GROUP.getName());
return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode(),EpmetErrorCode.CANNOT_JOIN_GROUP.getMsg());
}
}
//查看用户最新一条成员处理记录,避免重复申请
GroupMemeberOperationDTO groupMember = baseDao.selectGroupMemberOperationLatest(applyJoinGroupFormDTO.getUserId(),applyJoinGroupFormDTO.getGroupId());
if(null!=groupMember&&MemberStateConstant.UNDER_AUDITTING.equals(groupMember.getOperateStatus())){
return new Result().error(EpmetErrorCode.ALREADY_APPLIED_GROUP.getValue(),EpmetErrorCode.ALREADY_APPLIED_GROUP.getName());
return new Result().error(EpmetErrorCode.ALREADY_APPLIED_GROUP.getCode(),EpmetErrorCode.ALREADY_APPLIED_GROUP.getMsg());
}
if(null!=groupMember&&MemberStateConstant.APPROVED.equals(groupMember.getOperateStatus())){
return new Result().error(ModuleConstant.ALREADY_IN_GROUP);
@ -405,4 +414,43 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
userMessage.setUserId(groupMemeberOperationDTO.getCustomerUserId());
messageFeignClient.saveUserMessage(userMessage);
}
/**
* @param removeMemberFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author sun
* @Description 楼院小组--删除组成员
**/
@Override
@Transactional(rollbackFor = Exception.class)
public Result removeMember(RemoveMemberFormDTO removeMemberFormDTO) {
Result result = new Result();
//1、resi_group_member表中的status置为removed,删除标记置为1
ResiGroupMemberEntity entity = new ResiGroupMemberEntity();
entity.setId(removeMemberFormDTO.getMemerId());
entity.setStatus(MemberStateConstant.REMOVED);
baseDao.updateById(entity);
//2、group_member_operation新增一条记录
ResiGroupMemberEntity resiGroupMemberEntity = baseDao.selectById(removeMemberFormDTO.getMemerId());
if (null == resiGroupMemberEntity) {
logger.error(ModuleErrorCode.DATA_ACQUISITION_FAILED);
result.error(ModuleErrorCode.DELETE_FAILED);
return result;
}
groupMemeberOperationService.saveMemberOperation(removeMemberFormDTO, resiGroupMemberEntity);
//3、修改resi_group_statistical表数据:成员总数-1,普通居民总数-1,热心居民或者党员数根据被删除的用户身份来判断
result = resiGroupStatisticalService.upGroupStatistical(removeMemberFormDTO, resiGroupMemberEntity);
if (!result.success()) {
logger.error(ModuleErrorCode.DATA_ACQUISITION_FAILED);
result.error(ModuleErrorCode.DELETE_FAILED);
return result;
}
//4、之前这个人发布的话题根据前端传过来的屏蔽标志更新话题状态(移除一条话题在话题操作日志表添加一条日志)
if (removeMemberFormDTO.getHideFlag().equals(NumConstant.ONE_STR)) {
resiTopicService.upResiTopic(removeMemberFormDTO, resiGroupMemberEntity);
}
//5、评论和产品沟通后,说可以留着。
logger.info(ModuleErrorCode.DELETE_SUCCESS);
return result;
}
}

10
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java

@ -20,6 +20,7 @@ package com.epmet.modules.topic.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.topic.entity.ResiTopicEntity;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
import org.apache.ibatis.annotations.Mapper;
@ -90,4 +91,13 @@ public interface ResiTopicDao extends BaseDao<ResiTopicEntity> {
* @Date 2020.04.01 15:21
**/
int updateBatch(List<ResiTopicEntity> list);
/**
* @Description 批量更新
* @Param List<ResiTopicEntity>
* @return int
* @Author wangc
* @Date 2020.04.01 15:21
**/
List<ResiTopicDTO> selectTopicList(ResiTopicDTO resiTopicDTO);
}

36
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java

@ -21,7 +21,9 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.modules.topic.entity.ResiTopicEntity;
import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO;
@ -103,82 +105,88 @@ public interface ResiTopicService extends BaseService<ResiTopicEntity> {
void delete(String[] ids);
/**
* @return Result
* @Description 创建话题接口具体逻辑包括1.身份校验 2.创建话题 3.话题操作记录
* @Param tokenDto
* @Param resiTopicPublishFormDTO
* @return Result
* @Author wangc
* @Date 2020.03.31 13:19
**/
Result createTopic(TokenDto tokenDto, ResiTopicPublishFormDTO resiTopicPublishFormDTO);
/**
* @return Result<List < ResiTopicInfoResultDTO>>
* @Description 查看组内最近十条话题
* @Param tokenDto
* @Param groupId
* @return Result<List<ResiTopicInfoResultDTO>>
* @Author wangc
* @Date 2020.04.01 08:59
**/
Result<List<ResiTopicInfoResultDTO>> getLatestTopics(TokenDto tokenDto,String groupId);
Result<List<ResiTopicInfoResultDTO>> getLatestTopics(TokenDto tokenDto, String groupId);
/**
* @Description 查看历史话题(分页,允许状态筛选)
* @return Result<List < ResiTopicInfoResultDTO>>
* @Description 查看历史话题(分页, 允许状态筛选)
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return Result<List<ResiTopicInfoResultDTO>>
* @Author wangc
* @Date 2020.04.01 10:36
**/
Result<List<ResiTopicInfoResultDTO>> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO);
/**
* @return Result
* @Description 屏蔽话题
* @Param tokenDto
* @Param ResiTopicHiddenFormDTO.class
* @return Result
* @Author wangc
* @Date 2020.04.01 12:38
**/
Result hideTopic(TokenDto tokenDto,ResiTopicOperationFormDTO hiddenFormDTO);
Result hideTopic(TokenDto tokenDto, ResiTopicOperationFormDTO hiddenFormDTO);
/**
* @return Result
* @Description 批量取消屏蔽
* @Param tokenDto
* @Param topicIds
* @return Result
* @Author wangc
* @Date 2020.04.01 14:17
**/
Result cancelHiddenTopics(TokenDto tokenDto,List<String> topicIds);
Result cancelHiddenTopics(TokenDto tokenDto, List<String> topicIds);
/**
* @return Result.class
* @Description 关闭话题
* @Param tokenDto
* @Param ResiTopicOperationFormDTO.class
* @return Result.class
* @Author wangc
* @Date 2020.04.01 15:37
**/
Result closeTopic(TokenDto tokenDto,ResiTopicOperationFormDTO closeFormDTO);
Result closeTopic(TokenDto tokenDto, ResiTopicOperationFormDTO closeFormDTO);
/**
* @return ResiTopicDetailResultDTO
* @Description 查看话题详情
* @Param tokenDto
* @Param topicId
* @return ResiTopicDetailResultDTO
* @Author wangc
* @Date 2020.04.01 15:56
**/
Result<ResiTopicDetailResultDTO> getTopicDetail(TokenDto tokenDto, String topicId);
/**
* @return List<ResiTopicInfoResultDTO>
* @Description 屏蔽话题列表查询
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return List<ResiTopicInfoResultDTO>
* @Author wangc
* @Date 2020.04.01 16:45
**/
Result<List<ResiTopicInfoResultDTO>> getHiddenTopics(TokenDto tokenDto,ResiTopicPageFormDTO topicPageFormDTO);
Result<List<ResiTopicInfoResultDTO>> getHiddenTopics(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO);
/**
* @Description 删除组成员--根据前端传过来的屏蔽标志更新话题状态
* @Author sun
**/
Result upResiTopic(RemoveMemberFormDTO removeMemberFormDTO, ResiGroupMemberEntity entity);
}

46
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -31,12 +31,15 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.modules.constant.UserMessageConstant;
import com.epmet.modules.exception.ModuleErrorCode;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.dao.ResiGroupStatisticalDao;
import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.entity.ResiGroupStatisticalEntity;
import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.topic.dao.ResiTopicAttachmentDao;
import com.epmet.modules.topic.dao.ResiTopicCommentDao;
@ -45,11 +48,13 @@ import com.epmet.modules.topic.dao.ResiTopicOperationDao;
import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity;
import com.epmet.modules.topic.entity.ResiTopicEntity;
import com.epmet.modules.topic.entity.ResiTopicOperationEntity;
import com.epmet.modules.topic.service.ResiTopicOperationService;
import com.epmet.modules.topic.service.ResiTopicService;
import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.constant.MemberStateConstant;
import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
@ -103,6 +108,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
@Autowired
RedisUtils redisUtil;
@Autowired
private ResiTopicOperationService resiTopicOperationService;
private final Log logger = LogFactory.getLog(getClass());
@Override
@ -640,4 +648,42 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND);
}
}
/**
* @Description 删除组成员--根据前端传过来的屏蔽标志更新话题状态
* (移除一条话题在话题操作日志表添加一条日志)
* @Author sun
**/
@Override
public Result upResiTopic(RemoveMemberFormDTO removeMemberFormDTO, ResiGroupMemberEntity resiGroupMemberEntity) {
Result result = new Result();
ResiTopicDTO resiTopicDTO = new ResiTopicDTO();
resiTopicDTO.setGroupId(resiGroupMemberEntity.getResiGroupId());
resiTopicDTO.setCreatedBy(resiGroupMemberEntity.getCustomerUserId());
//1:查询被删除成员在该小组所创建的所有话题
List<ResiTopicDTO> list = baseDao.selectTopicList(resiTopicDTO);
if (null == list || list.size() < 1) {
return result;
}
//2:批量更新话题状态
List<String> ids = new ArrayList<>();
List<ResiTopicOperationEntity> topicOperationList = new ArrayList<>();
ResiTopicOperationEntity resiTopicOperationEntity = null;
for (ResiTopicDTO dto : list) {
ids.add(dto.getId());
resiTopicOperationEntity = new ResiTopicOperationEntity();
resiTopicOperationEntity.setTopicId(dto.getId());
resiTopicOperationEntity.setOperationType(TopicConstant.HIDDEN);
resiTopicOperationEntity.setOperationReason(ModuleErrorCode.DELETE_MEMBER_REASON);
resiTopicOperationEntity.setDelFlag(NumConstant.ZERO_STR);
resiTopicOperationEntity.setRevision(NumConstant.ZERO);
resiTopicOperationEntity.setCreatedBy(removeMemberFormDTO.getUserId());
resiTopicOperationEntity.setUpdatedBy(removeMemberFormDTO.getUserId());
topicOperationList.add(resiTopicOperationEntity);
}
baseDao.cancelHiddenOrCloseBatch(ids, removeMemberFormDTO.getUserId(),TopicConstant.HIDDEN);
//3:批量新增对应的话题操作日志
resiTopicOperationService.insertBatch(topicOperationList);
return result;
}
}

31
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupStatisticalDao.xml

@ -0,0 +1,31 @@
<?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.group.dao.ResiGroupStatisticalDao">
<sql id="sql">
rgs.id AS "id",
rgs.resi_group_id AS "resiGroupId",
rgs.total_members AS "totalMembers",
rgs.total_topics AS "totalTopics",
rgs.total_issues AS "totalIssues",
rgs.total_party_members AS "totalPartyMembers",
rgs.total_earnest_memebers AS "totalEarnestMemebers",
rgs.total_normal_memebers AS "totalNormalMemebers",
rgs.del_flag AS "delFlag",
rgs.revision AS "revision",
rgs.created_by AS "createdBy",
rgs.created_time AS "createdTime",
rgs.updated_by AS "updatedBy",
rgs.updated_time AS "updatedTime"
</sql>
<select id="selectByResiGroupId" resultType="com.epmet.modules.group.entity.ResiGroupStatisticalEntity">
SELECT
<include refid="sql"></include>
FROM resi_group_statistical rgs
WHERE rgs.del_flag = '0'
AND rgs.resi_group_id = #{resiGroupId}
</select>
</mapper>

14
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml

@ -14,4 +14,18 @@
AND gmo.GROUP_ID = #{groupId}
</select>
<!-- 查询用户与小组的关系(取最新记录) -->
<select id="selectLatestRecord" resultType="com.epmet.resi.group.dto.member.GroupMemeberOperationDTO" parameterType="map">
SELECT
*
FROM
group_memeber_operation gmo
WHERE
gmo.DEL_FLAG = '0'
AND gmo.GROUP_ID = #{groupId}
AND gmo.CUSTOMER_USER_ID = #{userId}
ORDER BY
gmo.CREATED_TIME DESC
LIMIT 1
</select>
</mapper>

31
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml

@ -3,6 +3,24 @@
<mapper namespace="com.epmet.modules.topic.dao.ResiTopicDao">
<sql id="sql">
rt.id AS "id",
rt.group_id AS "groupId",
rt.topic_content AS "topicContent",
rt.status AS "status",
rt.province AS "province",
rt.city AS "city",
rt.area AS "area",
rt.address AS "address",
rt.longitude AS "longitude",
rt.dimension AS "dimension",
rt.del_flag AS "delFlag",
rt.revision AS "revision",
rt.created_by AS "createdBy",
rt.created_time AS "createdTime",
rt.updated_by AS "updatedBy",
rt.updated_time AS "updatedTime"
</sql>
<!-- 新增话题 -->
<insert id="insertOne" useGeneratedKeys="true" keyColumn="id" keyProperty="id" parameterType="com.epmet.modules.topic.entity.ResiTopicEntity">
@ -177,6 +195,19 @@
</select>
<select id="selectTopicList" resultType="com.epmet.resi.group.dto.topic.ResiTopicDTO">
SELECT
<include refid="sql"></include>
FROM resi_topic rt
WHERE rt.del_flag = '0'
<if test='null != groupId and "" != groupId'>
AND rt.group_id = #{groupId}
</if>
<if test='null != createdBy and "" != createdBy'>
AND rt.created_by = #{createdBy}
</if>
</select>
<!-- 单条更新 -->
<update id="update" parameterType="com.epmet.modules.topic.entity.ResiTopicEntity">

2
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/exception/ModuleErrorCode.java

@ -22,6 +22,4 @@ import com.epmet.commons.tools.exception.ErrorCode;
*/
public interface ModuleErrorCode extends ErrorCode {
String PARTICIPATION_EXCEPTION = "参数异常,请检查所传参数是否符合规范以及是否存在空值";
String MOBILE_EXCEPTION = "手机号输入不符合规范,请重新输入";
}

15
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/resiregister/service/impl/ResiRegisterServiceImpl.java

@ -65,23 +65,8 @@ public class ResiRegisterServiceImpl implements ResiRegisterService {
**/
@Override
public Result getVerificationCode(TokenDto tokenDTO, VerificationCodeFormDTO formDTO) {
if (!validateMobile(formDTO.getMobile())) {
return new Result<ResiRegisterResultDTO>().error(ModuleErrorCode.MOBILE_EXCEPTION);
}
formDTO.setUserId(tokenDTO.getUserId());
return epmetUserFeignClient.getVerificationCode(formDTO);
}
/**
* 校验手机号是否合规
*
* @param mobile
* @return
* @Author sun
*/
private static boolean validateMobile(String mobile) {
Pattern pattern = Pattern.compile("^[1][3,4,5,7,8][0-9]{9}$");
return pattern.matcher(mobile).matches();
}
}

5
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberConfirmAutoDTO.java

@ -135,4 +135,9 @@ public class PartymemberConfirmAutoDTO implements Serializable {
*/
private Date updatedTime;
/**
* 比对结果
*/
private Boolean comparisonResults;
}

5
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/form/ResiWarmheartedFormDTO.java

@ -55,4 +55,9 @@ public class ResiWarmheartedFormDTO implements Serializable {
*/
private String userId;
/**
* 审核状态
*/
private String auditStatus;
}

14
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java

@ -49,37 +49,37 @@ public interface PartyMemberConstant {
/**
* 比对结果相同
*/
Double EQUALS = 1.0;
Double EQUALS = 0.0;
/**
* 身份证比对结果大部分相同最低值
*/
Double ID_MOST = 0.88;
Double ID_MOST = 2.0;
/**
* 身份证比对结果小部分相同最低值
*/
Double ID_SMALL = 0.5;
Double ID_SMALL = 5.0;
/**
* 手机号比对结果大部分相同最低值
*/
Double MOBILE_MOST = 0.81;
Double MOBILE_MOST = 2.0;
/**
* 手机号比对结果小部分相同最低值
*/
Double MOBILE_SMALL = 0.5;
Double MOBILE_SMALL = 5.0;
/**
* 姓名比对结果大部分相同最低值
*/
Double NAME_MOST = 0.66;
Double NAME_MOST = 1.0;
/**
* 姓名比对结果小部分相同最低值
*/
Double NAME_SMALL = 0.5;
Double NAME_SMALL = 2.0;
/**
* 比对结果相同

2
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java

@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody;
* @dscription
* @date 2020/3/30 14:51
*/
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class,url="http://localhost:8087")
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class)
public interface EpmetUserFeignClient {
/**

1
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartyMemberConfirmService.java

@ -46,4 +46,5 @@ public interface PartyMemberConfirmService {
*/
Result partyMemberInfoExtra(PartymemberInfoDTO partyMemberInfoDTO);
}

10
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberConfirmAutoService.java

@ -93,4 +93,14 @@ public interface PartymemberConfirmAutoService extends BaseService<PartymemberCo
* @date 2020-03-30
*/
void delete(String[] ids);
/**
* 单条查询
*
* @param id
* @return PartymemberConfirmAutoDTO
* @author generator
* @date 2020-03-30
*/
PartymemberConfirmAutoDTO getInfoByPartyMemberInfoId(String id);
}

116
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberConfirmManualService.java

@ -33,63 +33,71 @@ import java.util.Map;
*/
public interface PartymemberConfirmManualService extends BaseService<PartymemberConfirmManualEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<PartymemberConfirmManualDTO>
* @author generator
* @date 2020-03-30
*/
PageData<PartymemberConfirmManualDTO> page(Map<String, Object> params);
/**
* 默认分页
*
* @param params
* @return PageData<PartymemberConfirmManualDTO>
* @author generator
* @date 2020-03-30
*/
PageData<PartymemberConfirmManualDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<PartymemberConfirmManualDTO>
* @author generator
* @date 2020-03-30
*/
List<PartymemberConfirmManualDTO> list(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<PartymemberConfirmManualDTO>
* @author generator
* @date 2020-03-30
*/
List<PartymemberConfirmManualDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return PartymemberConfirmManualDTO
* @author generator
* @date 2020-03-30
*/
PartymemberConfirmManualDTO get(String id);
/**
* 单条查询
*
* @param id
* @return PartymemberConfirmManualDTO
* @author generator
* @date 2020-03-30
*/
PartymemberConfirmManualDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-30
*/
void save(PartymemberConfirmManualDTO dto);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-03-30
*/
void save(PartymemberConfirmManualDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-30
*/
void update(PartymemberConfirmManualDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-03-30
*/
void update(PartymemberConfirmManualDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-30
*/
void delete(String[] ids);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-03-30
*/
void delete(String[] ids);
/**
* 单条查询
*
* @param partymemberInfoId
* @return
*/
PartymemberConfirmManualDTO getInfoByPartyMemberInfoId(String partymemberInfoId);
}

70
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java

@ -18,6 +18,7 @@ import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmAutoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmManualDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -81,8 +82,9 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
userResiInfoFormDTO.setUserId(fromDto.getUserId());
UserResiInfoResultDTO userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO).getData();
if (null != userResiInfoResult) {
PartymemberInfoDTO partyMemberInfo = ConvertUtils.sourceToTarget(userResiInfoResult,
PartymemberInfoDTO partyMemberInfo = ConvertUtils.sourceToTarget(userResiInfoResult,
PartymemberInfoDTO.class);
partyMemberInfo.setId("");
partyMemberInfo.setMobile(userResiInfoResult.getRegMobile());
partyMemberInfo.setEstate(userResiInfoResult.getDistrict());
partyMemberInfo.setBuilding(userResiInfoResult.getBuildingAddress());
@ -108,16 +110,16 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
partyMemberInfoParam.setCustomerId(fromDTO.getCustomerId());
PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam);
if (null != partyMemberInfoResult) {
result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getValue());
result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getName());
result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getCode());
result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getMsg());
return result;
}
//生成短信验证码
Map<String, String> message = (Map<String, String>) messageFeignClient.sendSmsCaptcha(fromDTO.getMobile()).getData();
if(null == message) {
result.setCode(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getValue());
result.setMsg(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getName());
if (null == message) {
result.setCode(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getCode());
result.setMsg(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getMsg());
return result;
}
//删除旧验证码
@ -144,8 +146,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
if (null == code) {
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null,
PartyMemberConstant.OPERATE_AUTO_FAILED);
result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getValue());
result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getName());
result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getCode());
result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getMsg());
return result;
}
@ -157,23 +159,32 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
PartymemberInfoEntity partyMemberInfoEntity = ConvertUtils.sourceToTarget(partyMemberInfoDTO,
PartymemberInfoEntity.class);
if (confirmAutoDTO == null || confirmAutoDTO.getResult().compareTo(PartyMemberConstant.BENCHMARK) < 0) {
if (confirmAutoDTO == null || (confirmAutoDTO.getResult().compareTo(PartyMemberConstant.BENCHMARK) < 0 && !confirmAutoDTO.getComparisonResults())) {
//将访问记录更新到热心居民申请行为记录表
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED);
//自动认证失败
partyMemberInfoEntity.setConfirmResult("1");
partymemberInfoService.insert(partyMemberInfoEntity);
if (partyMemberInfoEntity.getId().isEmpty()) {
partymemberInfoService.insert(partyMemberInfoEntity);
} else {
partymemberInfoService.updateById(partyMemberInfoEntity);
}
result.setCode(EpmetErrorCode.AUTO_CONFIRM_FAILED.getValue());
result.setMsg(EpmetErrorCode.AUTO_CONFIRM_FAILED.getName());
result.setCode(EpmetErrorCode.AUTO_CONFIRM_FAILED.getCode());
result.setMsg(EpmetErrorCode.AUTO_CONFIRM_FAILED.getMsg());
} else {
//将访问记录更新到热心居民申请行为记录表
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_SUCCESS);
//自动认证成功
partyMemberInfoEntity.setConfirmResult("0");
partymemberInfoService.insert(partyMemberInfoEntity);
if (partyMemberInfoEntity.getId().isEmpty()) {
partymemberInfoService.insert(partyMemberInfoEntity);
} else {
partymemberInfoService.updateById(partyMemberInfoEntity);
}
//添加用户党员角色关系
UserRoleDTO userRole = new UserRoleDTO();
@ -188,9 +199,17 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
//将自动认证结果存入党员认证自动审核表
if (confirmAutoDTO != null) {
PartymemberConfirmAutoDTO partymemberConfirmAutoDTO =
partymemberConfirmAutoService.getInfoByPartyMemberInfoId(partyMemberInfoEntity.getPartymemberVisitId());
confirmAutoDTO.setPartymemberInfoId(partyMemberInfoEntity.getPartymemberVisitId());
partymemberConfirmAutoService.insert(ConvertUtils.sourceToTarget(confirmAutoDTO,
PartymemberConfirmAutoEntity.class));
if (null == partymemberConfirmAutoDTO) {
partymemberConfirmAutoService.insert(ConvertUtils.sourceToTarget(confirmAutoDTO,
PartymemberConfirmAutoEntity.class));
} else {
confirmAutoDTO.setId(partymemberConfirmAutoDTO.getId());
partymemberConfirmAutoService.updateById(ConvertUtils.sourceToTarget(confirmAutoDTO,
PartymemberConfirmAutoEntity.class));
}
}
//判断是否已注册居民,如果没有则注册居民
@ -209,15 +228,20 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
PartymemberInfoDTO partyMemberInfo = partymemberInfoService.getPartyMemberInfo(infoDTO);
infoDTO.setId(partyMemberInfo.getId());
partymemberInfoService.updateById(ConvertUtils.sourceToTarget(infoDTO, PartymemberInfoEntity.class));
PartymemberConfirmManualDTO partymemberConfirmManualDTO =
partymemberConfirmManualService.getInfoByPartyMemberInfoId(partyMemberInfo.getId());
if (null == partymemberConfirmManualDTO) {
//待审核数据存入党员认证人工审核表
PartymemberConfirmManualEntity manualEntity = new PartymemberConfirmManualEntity();
manualEntity.setCustomerId(infoDTO.getCustomerId());
manualEntity.setGridId(infoDTO.getGridId());
manualEntity.setUserId(infoDTO.getUserId());
manualEntity.setPartymemberInfoId(infoDTO.getId());
manualEntity.setAuditStatus(PartyMemberConstant.UNDER_AUDITTING);
partymemberConfirmManualService.insert(manualEntity);
}
//待审核数据存入党员认证人工审核表
PartymemberConfirmManualEntity manualEntity = new PartymemberConfirmManualEntity();
manualEntity.setCustomerId(infoDTO.getCustomerId());
manualEntity.setGridId(infoDTO.getGridId());
manualEntity.setUserId(infoDTO.getUserId());
manualEntity.setPartymemberInfoId(infoDTO.getId());
manualEntity.setAuditStatus(PartyMemberConstant.UNDER_AUDITTING);
partymemberConfirmManualService.insert(manualEntity);
return new Result();
}

41
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java

@ -31,7 +31,7 @@ import com.epmet.modules.partymember.service.PartymemberBaseInfoService;
import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmAutoDTO;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import info.debatty.java.stringsimilarity.JaroWinkler;
import info.debatty.java.stringsimilarity.Levenshtein;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
@ -129,7 +129,7 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
idCardList.stream().filter(baseInfo -> baseInfo.getMobile().equals(partyMemberInfo.getMobile())).findFirst();
if (matchingResult.isPresent()) {
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo);
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo, true);
return confirmAutoDTO;
}
@ -137,7 +137,7 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
matchingResult = idCardList.stream().filter(baseInfo -> baseInfo.getName().equals(name)).findFirst();
if (matchingResult.isPresent()) {
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo);
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo, true);
return confirmAutoDTO;
}
@ -147,7 +147,7 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
} else {
//根据手机号匹配数据
List<PartymemberBaseInfoEntity> mobileList = baseDao.selectBaseInfoByIdCard(partyMemberInfo);
List<PartymemberBaseInfoEntity> mobileList = baseDao.selectBaseInfoByMobile(partyMemberInfo);
if (null != mobileList && mobileList.size() > 0) {
//判断手机号和姓名
@ -155,7 +155,7 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
mobileList.stream().filter(baseInfo -> baseInfo.getName().equals(name)).findFirst();
if (matchingResult.isPresent()) {
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo);
confirmAutoDTO = getResult(matchingResult.get(), partyMemberInfo, true);
return confirmAutoDTO;
}
@ -164,7 +164,7 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
getSimilarity(p, partyMemberInfo)).reversed()).collect(Collectors.toList()).get(0));
} else {
//根据姓名匹配数据
List<PartymemberBaseInfoEntity> nameList = baseDao.selectBaseInfoByIdCard(partyMemberInfo);
List<PartymemberBaseInfoEntity> nameList = baseDao.selectBaseInfoByName(partyMemberInfo);
if (null != nameList && nameList.size() > 0) {
//获取匹配度最高的数据
@ -175,13 +175,20 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
nameList.stream().sorted(Comparator.comparing((PartymemberBaseInfoEntity p) ->
getSimilarity(p, partyMemberInfo)).reversed()).collect(Collectors.toList()).get(0);
confirmAutoDTO = getResult(similar, partyMemberInfo);
confirmAutoDTO = getResult(similar, partyMemberInfo, false);
return confirmAutoDTO;
} else {
return null;
}
}
}
return null;
PartymemberBaseInfoEntity similar =
sortList.stream().sorted(Comparator.comparing((PartymemberBaseInfoEntity p) ->
getSimilarity(p, partyMemberInfo)).reversed()).collect(Collectors.toList()).get(0);
return getResult(similar, partyMemberInfo, false);
}
@ -192,7 +199,8 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
* @param info 录入信息
* @return PartymemberConfirmAutoDTO
*/
private PartymemberConfirmAutoDTO getResult(PartymemberBaseInfoEntity baseInfo, PartymemberInfoDTO info) {
private PartymemberConfirmAutoDTO getResult(PartymemberBaseInfoEntity baseInfo, PartymemberInfoDTO info,
boolean comparisonResults) {
PartymemberConfirmAutoDTO confirmAutoDTO = new PartymemberConfirmAutoDTO();
confirmAutoDTO.setPatryMemberBaseInfoId(baseInfo.getId());
confirmAutoDTO.setBaseName(baseInfo.getName());
@ -200,8 +208,9 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
confirmAutoDTO.setBaseIdCard(baseInfo.getIdCard());
confirmAutoDTO.setInputIdCard(info.getIdCard());
confirmAutoDTO.setBaseMobile(baseInfo.getMobile());
confirmAutoDTO.setInputMobile(info.getIdCard());
confirmAutoDTO.setInputMobile(info.getMobile());
confirmAutoDTO.setContrastTime(new Date());
confirmAutoDTO.setComparisonResults(comparisonResults);
String result = getSimilarity(baseInfo, info);
//身份证比对结果
if (EQUAL.equals(result.substring(START, ID_CARD_COUNT))) {
@ -237,10 +246,10 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
String result = "";
JaroWinkler jw = new JaroWinkler();
double idCardResult = jw.similarity(baseInfo.getIdCard(), info.getIdCard());
double mobileResult = jw.similarity(baseInfo.getMobile(), info.getMobile());
double nameResult = jw.similarity(baseInfo.getName(), info.getSurname() + info.getName());
Levenshtein levenshtein = new Levenshtein();
double idCardResult = levenshtein.distance(baseInfo.getIdCard(), info.getIdCard());
double mobileResult = levenshtein.distance(baseInfo.getMobile(), info.getMobile());
double nameResult = levenshtein.distance(baseInfo.getName(), info.getSurname() + info.getName());
result = getString(result, idCardResult, PartyMemberConstant.ID_MOST, PartyMemberConstant.ID_SMALL);
result = getString(result, mobileResult, PartyMemberConstant.MOBILE_MOST, PartyMemberConstant.MOBILE_SMALL);
@ -255,9 +264,9 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl<PartymemberB
private String getString(String result, double comparisonResult, double most, double small) {
if (comparisonResult == PartyMemberConstant.EQUALS) {
result = result + "11";
} else if (comparisonResult > most) {
} else if (comparisonResult <= most) {
result = result + "10";
} else if (comparisonResult < small) {
} else if (comparisonResult >= small) {
result = result + "00";
} else {
result = result + "01";

120
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmAutoServiceImpl.java

@ -38,8 +38,8 @@ import java.util.List;
import java.util.Map;
/**
* 党员认证自动审核表
只有在根据三项比对在partymember_base_info表有查询到数据 并且有一项的比对结果是11的才会在自动审核表有记录
* 党员认证自动审核表
* 只有在根据三项比对在partymember_base_info表有查询到数据 并且有一项的比对结果是11的才会在自动审核表有记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-30
@ -47,59 +47,67 @@ import java.util.Map;
@Service
public class PartymemberConfirmAutoServiceImpl extends BaseServiceImpl<PartymemberConfirmAutoDao, PartymemberConfirmAutoEntity> implements PartymemberConfirmAutoService {
@Autowired
private PartymemberConfirmAutoRedis partymemberConfirmAutoRedis;
@Override
public PageData<PartymemberConfirmAutoDTO> page(Map<String, Object> params) {
IPage<PartymemberConfirmAutoEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, PartymemberConfirmAutoDTO.class);
}
@Override
public List<PartymemberConfirmAutoDTO> list(Map<String, Object> params) {
List<PartymemberConfirmAutoEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, PartymemberConfirmAutoDTO.class);
}
private QueryWrapper<PartymemberConfirmAutoEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<PartymemberConfirmAutoEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public PartymemberConfirmAutoDTO get(String id) {
PartymemberConfirmAutoEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, PartymemberConfirmAutoDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(PartymemberConfirmAutoDTO dto) {
PartymemberConfirmAutoEntity entity = ConvertUtils.sourceToTarget(dto, PartymemberConfirmAutoEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(PartymemberConfirmAutoDTO dto) {
PartymemberConfirmAutoEntity entity = ConvertUtils.sourceToTarget(dto, PartymemberConfirmAutoEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Autowired
private PartymemberConfirmAutoRedis partymemberConfirmAutoRedis;
@Override
public PageData<PartymemberConfirmAutoDTO> page(Map<String, Object> params) {
IPage<PartymemberConfirmAutoEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, PartymemberConfirmAutoDTO.class);
}
@Override
public List<PartymemberConfirmAutoDTO> list(Map<String, Object> params) {
List<PartymemberConfirmAutoEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, PartymemberConfirmAutoDTO.class);
}
private QueryWrapper<PartymemberConfirmAutoEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<PartymemberConfirmAutoEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public PartymemberConfirmAutoDTO get(String id) {
PartymemberConfirmAutoEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, PartymemberConfirmAutoDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(PartymemberConfirmAutoDTO dto) {
PartymemberConfirmAutoEntity entity = ConvertUtils.sourceToTarget(dto, PartymemberConfirmAutoEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(PartymemberConfirmAutoDTO dto) {
PartymemberConfirmAutoEntity entity = ConvertUtils.sourceToTarget(dto, PartymemberConfirmAutoEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public PartymemberConfirmAutoDTO getInfoByPartyMemberInfoId(String partymemberInfoId) {
QueryWrapper<PartymemberConfirmAutoEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(partymemberInfoId), "PARTYMEMBER_INFO_ID", partymemberInfoId);
PartymemberConfirmAutoEntity entity = baseDao.selectOne(wrapper);
return ConvertUtils.sourceToTarget(entity, PartymemberConfirmAutoDTO.class);
}
}

8
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmManualServiceImpl.java

@ -101,4 +101,12 @@ public class PartymemberConfirmManualServiceImpl extends BaseServiceImpl<Partyme
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public PartymemberConfirmManualDTO getInfoByPartyMemberInfoId(String partymemberInfoId) {
QueryWrapper<PartymemberConfirmManualEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(partymemberInfoId), "PARTYMEMBER_INFO_ID", partymemberInfoId);
PartymemberConfirmManualEntity entity = baseDao.selectOne(wrapper);
return ConvertUtils.sourceToTarget(entity, PartymemberConfirmManualDTO.class);
}
}

2
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/constant/ResiWarmheartedVisitConstant.java

@ -49,5 +49,5 @@ public interface ResiWarmheartedVisitConstant {
/**
* 数据库操作异常
*/
String OPERATION_EXCEPTION = "数据库操作异常";
String OPERATION_EXCEPTION = "数据库操作异常";
}

24
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java

@ -139,35 +139,41 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
userResiInfoFormDTO.setUserId(formDTO.getUserId());
Result<UserResiInfoResultDTO> result1 = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO);
if (!result1.success() || null == result1.getData()) {
result.setCode(EpmetErrorCode.CANNOT_AUDIT_WARM.getValue());
result.setMsg(EpmetErrorCode.CANNOT_AUDIT_WARM.getName());
result.setCode(EpmetErrorCode.CANNOT_AUDIT_WARM.getCode());
result.setMsg(EpmetErrorCode.CANNOT_AUDIT_WARM.getMsg());
return result;
}
//1:热心居民申请行为记录表新增数据
result = resiWarmheartedVisitService.saveResiWarmheartedVisit(formDTO);
if (!result.success()) {
log.warn(ResiWarmheartedVisitConstant.OPERATION_EXCEPTION);
log.error(ResiWarmheartedVisitConstant.OPERATION_EXCEPTION);
}
ResiWarmheartedResultDTO resiWarmheartedResultDTO = result.getData();
//2:查询是否已申请热心居民
//2:查询是否已申请热心居民(不查询审核未通过的)
formDTO.setAuditStatus(ResiWarmheartedVisitConstant.REJECTED);
ResiWarmheartedApplyDTO resiWarmheartedApplyDTO = resiWarmheartedApplyDao.selectResiWarmheartedApply(formDTO);
if (null == resiWarmheartedApplyDTO || StringUtils.isEmpty(resiWarmheartedApplyDTO.getId())) {
//是否已申请热心居民 0:否, 1:是
resiWarmheartedResultDTO.setIsApplied(NumConstant.ZERO_STR);
} else {
resiWarmheartedResultDTO.setIsApplied(NumConstant.ONE_STR);
result.setCode(EpmetErrorCode.RESI_WARM_INIT.getCode());
result.setMsg(EpmetErrorCode.RESI_WARM_INIT.getMsg());
}
return new Result<ResiWarmheartedResultDTO>().ok(resiWarmheartedResultDTO);
return result.ok(resiWarmheartedResultDTO);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result submit(ResiWarmheartedSubmitFormDTO formDTO) {
Result result = new Result();
//1:将申请记录存入热心居民申请表中
saveResiWarmApply(formDTO);
//2:将最后一次操作行为更新到热心居民申请行为记录表中
resiWarmheartedVisitService.updateResiWarmVisit(formDTO);
return new Result();
result.setCode(EpmetErrorCode.RESI_WARM_SUBMIT.getCode());
result.setMsg(EpmetErrorCode.RESI_WARM_SUBMIT.getMsg());
return result;
}
/**
@ -204,9 +210,9 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
if (!StringUtils.isBlank(formDTO.getRefuseReason())) {
entity.setRefuseReason(formDTO.getRefuseReason());
}
baseDao.updateById(entity);
int num = baseDao.updateById(entity);
//2:审核通过的添加热心居民的角色
if (NumConstant.ONE_STR.equals(formDTO.getAuditStatus())) {
if (num > NumConstant.ZERO && NumConstant.ONE_STR.equals(formDTO.getAuditStatus())) {
//查询需要添加热心居民角色的userId
ResiWarmheartedApplyEntity resiWarmheartedApplyEntity = baseDao.selectById(formDTO.getResiWarmApplyId());
UserRoleDTO dto = new UserRoleDTO();
@ -220,4 +226,4 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
}
return result;
}
}
}

15
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml

@ -31,14 +31,17 @@
<select id="selectPartyMemberInfo" resultType="com.epmet.modules.partymember.entity.PartymemberInfoEntity"
parameterType="com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO">
SELECT
*
pi.*
FROM
epmet_resi_partymember.partymember_info
epmet_resi_partymember.partymember_info pi
LEFT JOIN epmet_resi_partymember.partymember_confirm_manual pcm ON pi.ID = pcm.PARTYMEMBER_INFO_ID
AND pcm.DEL_FLAG = 0
WHERE
CUSTOMER_ID = #{customerId}
AND GRID_ID = #{gridId}
AND USER_ID = #{userId}
AND DEL_FLAG = 0
pi.CUSTOMER_ID = #{customerId}
AND pi.GRID_ID = #{gridId}
AND pi.USER_ID = #{userId}
AND pi.DEL_FLAG = 0
AND pcm.AUDIT_STATUS = 'under_auditting'
</select>
<select id="selectPartyMemberInfoByMobile"
parameterType="com.epmet.modules.partymember.entity.PartymemberInfoEntity"

3
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/warmhearted/ResiWarmheartedApplyDao.xml

@ -52,6 +52,9 @@
<if test='userId != "" and userId != null'>
AND rw.user_id = #{userId}
</if>
<if test='auditStatus != "" and auditStatus != null'>
AND rw.audit_status != #{auditStatus}
</if>
</select>

3
epmet-user/epmet-user-server/docker-compose.yml

@ -4,4 +4,5 @@ services:
container_name: epmet-user-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud/epmet-user-server:2.0.0
ports:
- "8087:8087"
- "8087:8087"
network_mode: bridge # 不会创建新的网络

3
epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserResiRegisterConstant.java

@ -36,7 +36,6 @@ public interface UserResiRegisterConstant {
*/
String FAILD = "faild";
String MOBILE_EXIST = "该手机号已注册居民,请使用其他手机号注册";
String UPDATE_EXCEPTION = "用户居民注册访问记录表更新数据失败";
String UPDATE_EXCEPTION = "用户居民注册访问记录表数据更新失败";
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiRegisterVisitController.java

@ -95,6 +95,6 @@ public class UserResiRegisterVisitController {
@PostMapping("init")
public Result<ResiRegisterResultDTO> init(@RequestBody ResiRegisterFormDTO resiRegisterFormDTO){
return userResiRegisterVisitService.saveUserResiRegisterVisit(resiRegisterFormDTO);
return userResiRegisterVisitService.init(resiRegisterFormDTO);
}
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiRegisterVisitService.java

@ -107,7 +107,7 @@ public interface UserResiRegisterVisitService extends BaseService<UserResiRegist
* @return void
* @author sun
*/
Result<ResiRegisterResultDTO> saveUserResiRegisterVisit(ResiRegisterFormDTO formDTO);
Result<ResiRegisterResultDTO> init(ResiRegisterFormDTO formDTO);
/**
* 居民端-居民注册信息提交-更新访问行为记录表数据

19
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

@ -145,7 +145,6 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
/**
* 居民注册信息提交
* @param userResiInfoDTO
* @return
* @Author sun
*/
@Override
@ -156,16 +155,16 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
if(null == verificationCode || StringUtils.isBlank(verificationCode)){
//验证码校验失败则更新行为记录表数据 返回前台结果
userResiRegisterVisitService.updateResiRegisterVisit(false, userResiInfoDTO);
result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getValue());
result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getName());
result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getCode());
result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getMsg());
return result;
}
//2:再次判断手机号是否可用
if (!getResiInfoByMobile(userResiInfoDTO.getRegMobile())) {
//手机号验证失败则更新行为记录表数据 返回前台结果
userResiRegisterVisitService.updateResiRegisterVisit(false, userResiInfoDTO);
result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getValue());
result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getName());
result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getCode());
result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getMsg());
return result;
}
//3:校验成功 数据存入居民注册表 更新行为记录表数据
@ -207,15 +206,16 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
userResiRegisterVisitService.updateResiVisitOperate(verificationCodeFormDTO);
//2:判断手机号是否可用
if (!getResiInfoByMobile(verificationCodeFormDTO.getMobile())) {
result.error(UserResiRegisterConstant.MOBILE_EXIST);
result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getCode());
result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getMsg());
return result;
}
//3:调用短信服务 生成验证码发送短信
result = messageFeignClient.sendSmsCaptcha(verificationCodeFormDTO.getMobile());
Map<String,Object> map = (Map<String, Object>) result.getData();
if(null == map) {
result.setCode(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getValue());
result.setMsg(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getName());
if (null == map || null == map.get("code")) {
result.setCode(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getCode());
result.setMsg(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getMsg());
return result;
}
//4:删除缓存中可能存在的旧验证码
@ -271,7 +271,6 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
*/
private Boolean getResiInfoByMobile(String mobile) {
Boolean bl = true;
List<UserResiInfoDTO> list = userResiInfoDao.selectResiInfoByMobile(mobile);
if (list.size() > 0) {
bl = false;

15
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java

@ -117,9 +117,16 @@ public class UserResiRegisterVisitServiceImpl extends BaseServiceImpl<UserResiRe
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 居民端-居民注册页面初始化-居民注册访问记录表新增数据
*
* @param
* @return void
* @author sun
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Result<ResiRegisterResultDTO> saveUserResiRegisterVisit(ResiRegisterFormDTO formDTO) {
public Result<ResiRegisterResultDTO> init(ResiRegisterFormDTO formDTO) {
Date date = new Date();
UserResiRegisterVisitEntity entity = new UserResiRegisterVisitEntity();
entity.setCustomerId(formDTO.getCustomerId());
@ -130,7 +137,7 @@ public class UserResiRegisterVisitServiceImpl extends BaseServiceImpl<UserResiRe
entity.setLastOperateVisit(UserResiRegisterConstant.INITIALIZE);
entity.setVisitTime(date);
//居民注册行为记录表新增数据
insert(entity);
baseDao.insert(entity);
ResiRegisterResultDTO resiRegisterResultDTO = new ResiRegisterResultDTO();
resiRegisterResultDTO.setResiVisitId(entity.getId());
return new Result<ResiRegisterResultDTO>().ok(resiRegisterResultDTO);
@ -151,7 +158,7 @@ public class UserResiRegisterVisitServiceImpl extends BaseServiceImpl<UserResiRe
userResiRegisterVisitDTO.setUpdatedBy(userResiInfoDTO.getUserId());
userResiRegisterVisitDTO.setUpdatedTime(new Date());
if(!userResiRegisterVisitDao.updateResiRegisterVisit(userResiRegisterVisitDTO)){
log.warn(UserResiRegisterConstant.UPDATE_EXCEPTION);
log.error(UserResiRegisterConstant.UPDATE_EXCEPTION);
}
}
@ -164,7 +171,7 @@ public class UserResiRegisterVisitServiceImpl extends BaseServiceImpl<UserResiRe
userResiRegisterVisitDTO.setUpdatedBy(verificationCodeFormDTO.getUserId());
userResiRegisterVisitDTO.setUpdatedTime(new Date());
if(!userResiRegisterVisitDao.updateResiRegisterVisit(userResiRegisterVisitDTO)){
log.warn(UserResiRegisterConstant.UPDATE_EXCEPTION);
log.error(UserResiRegisterConstant.UPDATE_EXCEPTION);
}
}

1
epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml

@ -50,6 +50,7 @@
uri.STREET,
uri.DISTRICT,
uri.RESI_VISIT_ID,
uri.BUILDING_ADDRESS,
CONCAT(
uri.STREET,
'-',

Loading…
Cancel
Save