diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 46e63ab382..1495df359d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -12,10 +12,10 @@ public enum EpmetErrorCode { ALREADY_APPLIED_GROUP(8004,"该群已申请过,请耐心等待审核"), 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, "未注册居民不能申请热心居民,请先完善居民注册。"), diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java index 3c09f65e7b..0097751804 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java @@ -56,7 +56,7 @@ public interface TopicConstant { /** * 构造queryWrapper 创建日期列名 * */ - String CREATED_DATE = "CREATED_TIME"; + String CREATED_TIME = "CREATED_TIME"; /** * 构造queryWrapper 小组Id diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java index f73e148df4..2a2f287460 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java @@ -1,10 +1,10 @@ package com.epmet.resi.group.dto.comment.result; import com.alibaba.fastjson.annotation.JSONField; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @Description @@ -43,10 +43,10 @@ public class ResiCommentResultDTO implements Serializable { private String userId; /** - * 评论时间 yyyy-MM-dd HH:mm:ss + * 评论时间 yyyy-MM-dd HH:mm * */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") - private String commentTime; + @JSONField(format="yyyy-MM-dd HH:mm") + private Date commentTime; /** * 评论状态 diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java new file mode 100644 index 0000000000..e777be4ed3 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java @@ -0,0 +1,65 @@ +package com.epmet.resi.group.dto.group; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 组信息缓存对象 + * @ClassName ResiGroupInfoRedisDTO + * @Author wangc + * @date 2020.04.11 09:51 + */ +@Data +public class ResiGroupInfoRedisDTO implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * 小组Id + * */ + private String groupId; + + /** + * 用户头像 + * */ + private String groupHeadPhoto; + + /** + * 组名称 + * */ + private String groupName; + + /** + * 组介绍 + * */ + private String groupIntroduction; + + /** + * 客户Id + * */ + private String customerId; + + /** + * 网格Id + * */ + private String gridId; + + /** + * 组状态 + * */ + private String groupState; + + /** + * 最新话题发布时间 + * */ + private String latestTopicPublishDate; + + /** + * 组统计嘻嘻你系 + * */ + private ResiGroupStatisticalInfoRedisDTO groupStatisticalInfo; + + + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalInfoRedisDTO.java new file mode 100644 index 0000000000..d2a0db916d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupStatisticalInfoRedisDTO.java @@ -0,0 +1,52 @@ +package com.epmet.resi.group.dto.group; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 组数据统计信息缓存对象 + * @ClassName ResiGroupStatisticalInfoRedisDTO + * @Author wangc + * @date 2020.04.11 10:58 + */ +@Data +public class ResiGroupStatisticalInfoRedisDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 统计Id + * */ + private String id; + + /** + * 总成员数 + * */ + private Integer totalMembers; + + /** + *总话题数 + * */ + private Integer totalTopics; + + /** + * 总议题数 + * */ + private Integer totalIssues; + + /** + * 党员总数 + * */ + private Integer totalPartyMembers; + + /** + * 热心居民总数 + * */ + private Integer totalEarnestMembers ; + + /** + * 注册居民总数 + * */ + private Integer totalNormalMembers; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java new file mode 100644 index 0000000000..3e5282fb3d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java @@ -0,0 +1,48 @@ +package com.epmet.resi.group.dto.member; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 组成员信息缓存对象 + * @ClassName ResiGroupMemberInfoRedisDTO + * @Author wangc + * @date 2020.04.11 09:52 + */ +@Data +public class ResiGroupMemberInfoRedisDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 用户Id + * */ + private String userId; + + /** + * 用户头像 + * */ + private String userHeadPhoto; + + /** + * 用户显示昵称 + * */ + private String userShowName; + + /** + * 组长标识 + * */ + private String groupLeaderFlag; + + /** + * 进群方式 + * */ + private String enterGroupType; + + /** + * 成员状态 + * */ + private String memberStatus; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/ApplyJoinGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/ApplyJoinGroupFormDTO.java index 26df86b648..03860e1bf4 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/ApplyJoinGroupFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/ApplyJoinGroupFormDTO.java @@ -29,7 +29,7 @@ public class ApplyJoinGroupFormDTO implements Serializable { /** * 入群理由 */ - @NotBlank(message="入群理由不能为空") + @NotBlank(message="入组理由不能为空") private String operateDes; private String app; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java index 2efb580178..1a41c1afd0 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java @@ -1,7 +1,5 @@ package com.epmet.resi.group.dto.topic.result; -import com.alibaba.fastjson.annotation.JSONField; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; @@ -36,8 +34,6 @@ public class ResiTopicDetailResultDTO implements Serializable { /** * 发布时间 yyyy-MM-dd HH:mm * */ - @JSONField(format="yyyy-MM-dd HH:mm") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private String releaseTime; /** diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java index da3912ce18..278a75e45e 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java @@ -1,10 +1,10 @@ package com.epmet.resi.group.dto.topic.result; import com.alibaba.fastjson.annotation.JSONField; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @Description 查看历史话题返回对象 @@ -41,8 +41,7 @@ public class ResiTopicInfoResultDTO implements Serializable{ * 发布时间 yyyy-MM-dd HH:mm * */ @JSONField(format="yyyy-MM-dd HH:mm") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") - private String releaseTime; + private Date releaseTime; /** * 话题内容 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 418d5b504b..697c8e352e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -265,8 +265,8 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl> userResiInfoDTOListResult=epmetUserFeignClient.getUserResiInfoList(formDTO); if(userResiInfoDTOListResult.success()){ - for(UserResiInfoResultDTO userResiInfo:userResiInfoDTOListResult.getData()){ - for (ApplyingMemberResultDTO memberInfo : list) { + for (ApplyingMemberResultDTO memberInfo : list) { + for(UserResiInfoResultDTO userResiInfo:userResiInfoDTOListResult.getData()){ if(memberInfo.getApplyUserId().equals(userResiInfo.getUserId())){ memberInfo.setApplyUserName(userResiInfo.getShowName()); memberInfo.setApplyUserHeadPhoto(userResiInfo.getHeadPhoto()); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java index 3f6e58f030..bb87af2141 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java @@ -44,8 +44,9 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -73,6 +74,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -139,7 +142,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl TopicConstant.MAX_NUMBER_OF_COMMENT){ - + logger.warn(ModuleConstant.COMMENT_NUMBER_OF_WORDS_EXCEEDED); return new Result().error(ModuleConstant.COMMENT_NUMBER_OF_WORDS_EXCEEDED); } ResiTopicCommentEntity comment = ConvertUtils.sourceToTarget(resiCommentFormDTO,ResiTopicCommentEntity.class); @@ -186,25 +193,27 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl 0) { List userIdList = new ArrayList<>(); - for (ResiCommentResultDTO comment : comments) { - userIdList.add(comment.getUserId()); - } - UserResiInfoListFormDTO formDTO = new UserResiInfoListFormDTO(); - formDTO.setUserIdList(userIdList); - Result> userResiInfoDTOListResult = epmetUserFeignClient.getUserResiInfoList(formDTO); - if (userResiInfoDTOListResult.success() && null != userResiInfoDTOListResult.getData()) { - if (userResiInfoDTOListResult.getData().size() > 0) { - for (UserResiInfoResultDTO resiUser : userResiInfoDTOListResult.getData()) { - for (ResiCommentResultDTO comment : comments) { - if (StringUtils.equals(comment.getUserId(), resiUser.getUserId())) { - comment.setCommentUserHeadPhoto(resiUser.getHeadPhoto()); - comment.setCommentUserName(resiUser.getShowName()); - continue; - } - } + for (ResiCommentResultDTO comment : comments) { + userIdList.add(comment.getUserId()); } + UserResiInfoListFormDTO formDTO = new UserResiInfoListFormDTO(); + formDTO.setUserIdList(userIdList); + Result> userResiInfoDTOListResult = epmetUserFeignClient.getUserResiInfoList(formDTO); + if (userResiInfoDTOListResult.success() && null != userResiInfoDTOListResult.getData()) { + if (userResiInfoDTOListResult.getData().size() > 0) { + for (UserResiInfoResultDTO resiUser : userResiInfoDTOListResult.getData()) { + for (ResiCommentResultDTO comment : comments) { + if (StringUtils.equals(comment.getUserId(), resiUser.getUserId())) { + comment.setCommentUserHeadPhoto(resiUser.getHeadPhoto()); + comment.setCommentUserName(resiUser.getShowName()); + continue; + } + } + } } - } + }else{ + logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND); + } } return new Result>().ok(comments); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index bdb266c0cb..e6b56ab154 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.modules.topic.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; @@ -55,13 +56,15 @@ 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; import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.bouncycastle.math.raw.Mod; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -108,6 +111,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl page(Map params) { @@ -198,6 +202,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl 0){ @@ -207,7 +212,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl statistical = resiGroupStatisticalDao.selectList(wrapper); if(null != statistical && statistical.size() >= NumConstant.ONE){ if(statistical.size() != NumConstant.ONE){ + logger.warn(ModuleConstant.GROUP_STASTICAL_NOT_SINGLE); return new Result().error(ModuleConstant.GROUP_STASTICAL_NOT_SINGLE); }else{ ResiGroupStatisticalEntity statistical2Update = new ResiGroupStatisticalEntity(); @@ -237,6 +243,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl statisticalWrapper = new QueryWrapper<>(); + statisticalWrapper.eq(TopicConstant.RESI_GROUP_ID,topic.getGroupId()); + statisticalWrapper.eq(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR); + ResiGroupStatisticalEntity statistical = resiGroupStatisticalDao.selectOne(statisticalWrapper); + if(null != statistical && StringUtils.isNotBlank(statistical.getId()) && StringUtils.isNotBlank(statistical.getResiGroupId())){ + ResiGroupStatisticalEntity statistical2Update = new ResiGroupStatisticalEntity(); + statistical2Update.setId(statistical.getId()); + statistical2Update.setTotalTopics( + null == statistical.getTotalTopics() || statistical.getTotalTopics() == 0 ? 0 : statistical.getTotalTopics() - NumConstant.ONE + ); + resiGroupStatisticalDao.updateById(statistical2Update); + } + return new Result(); } @@ -399,6 +420,18 @@ public class ResiTopicServiceImpl extends BaseServiceImpl statisticalWrapper = new QueryWrapper<>(); + statisticalWrapper.eq(TopicConstant.RESI_GROUP_ID,topic.getGroupId()); + statisticalWrapper.eq(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR); + ResiGroupStatisticalEntity statistical = resiGroupStatisticalDao.selectOne(statisticalWrapper); + if(null != statistical && StringUtils.isNotBlank(statistical.getId())){ + ResiGroupStatisticalEntity statistical2Update = new ResiGroupStatisticalEntity(); + statistical2Update.setId(statistical.getId()); + statistical2Update.setTotalTopics( + statistical.getTotalTopics() == null ? 0 : statistical.getTotalTopics() + topicIds.size() + ); + resiGroupStatisticalDao.updateById(statistical2Update); + } return new Result(); } @@ -450,14 +483,10 @@ public class ResiTopicServiceImpl extends BaseServiceImpl getTopicDetail(TokenDto tokenDto, String topicId) { - - if(StringUtils.isBlank(topicId)){ - return new Result().error(); - } - //1.获取话题基本信息 ResiTopicEntity topicDetail = baseDao.selectById(topicId); if(null == topicDetail || !StringUtils.equals(topicDetail.getId(),topicId)){ + logger.warn(ModuleConstant.NO_SUCH_TOPIC); return new Result().error(ModuleConstant.NO_SUCH_TOPIC); } ResiTopicDetailResultDTO resultDTO = new ResiTopicDetailResultDTO(); @@ -491,7 +520,8 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> getHiddenTopics(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + //1.查询屏蔽话题列表 topicPageFormDTO.setUserId(tokenDto.getUserId()); topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); @@ -518,7 +549,17 @@ public class ResiTopicServiceImpl extends BaseServiceImpl 0) { + List userIdList = new ArrayList<>(); + for (ResiTopicInfoResultDTO topic : hiddenTopics) { + userIdList.add(topic.getUserId()); + } + UserResiInfoListFormDTO formDTO = new UserResiInfoListFormDTO(); + formDTO.setUserIdList(userIdList); + Result> userResiInfoDTOListResult = epmetUserFeignClient.getUserResiInfoList(formDTO); + setUserInfo(userResiInfoDTOListResult, hiddenTopics); + } return new Result>().ok(hiddenTopics); } @@ -534,15 +575,18 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> + * @Param List + * @return void + * @Author wangc + * @Date 2020.04.10 17:47 + **/ public void setUserInfo(Result> userResiInfoDTOListResult,List topics){ if(userResiInfoDTOListResult.success() && null != userResiInfoDTOListResult.getData()){ if(userResiInfoDTOListResult.getData().size() > 0){ @@ -589,6 +644,8 @@ public class ResiTopicServiceImpl extends BaseServiceImpl { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2020-03-30 - */ - PageData page(Map params); + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-03-30 + */ + PageData page(Map params); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2020-03-30 - */ - List list(Map params); + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-03-30 + */ + List list(Map 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); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 1606179d24..90973b7398 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/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()); @@ -115,7 +117,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService //生成短信验证码 Map message = (Map) messageFeignClient.sendSmsCaptcha(fromDTO.getMobile()).getData(); - if(null == message) { + if (null == message) { result.setCode(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getCode()); result.setMsg(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getMsg()); return result; @@ -157,13 +159,18 @@ 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.getCode()); result.setMsg(EpmetErrorCode.AUTO_CONFIRM_FAILED.getMsg()); @@ -173,7 +180,11 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService //自动认证成功 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(); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java index c70c32c7d8..2f8e281b68 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberBaseInfoServiceImpl.java +++ b/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 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 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 mobileList = baseDao.selectBaseInfoByIdCard(partyMemberInfo); + List mobileList = baseDao.selectBaseInfoByMobile(partyMemberInfo); if (null != mobileList && mobileList.size() > 0) { //判断手机号和姓名 @@ -155,7 +155,7 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl 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 nameList = baseDao.selectBaseInfoByIdCard(partyMemberInfo); + List nameList = baseDao.selectBaseInfoByName(partyMemberInfo); if (null != nameList && nameList.size() > 0) { //获取匹配度最高的数据 @@ -175,13 +175,20 @@ public class PartymemberBaseInfoServiceImpl extends BaseServiceImpl 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 most) { + } else if (comparisonResult <= most) { result = result + "10"; - } else if (comparisonResult < small) { + } else if (comparisonResult >= small) { result = result + "00"; } else { result = result + "01"; diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmAutoServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmAutoServiceImpl.java index 7681ed60dc..7000a9a731 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmAutoServiceImpl.java +++ b/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 implements PartymemberConfirmAutoService { - @Autowired - private PartymemberConfirmAutoRedis partymemberConfirmAutoRedis; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, PartymemberConfirmAutoDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, PartymemberConfirmAutoDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } - - @Override - public 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 page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PartymemberConfirmAutoDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PartymemberConfirmAutoDTO.class); + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public 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 wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(partymemberInfoId), "PARTYMEMBER_INFO_ID", partymemberInfoId); + PartymemberConfirmAutoEntity entity = baseDao.selectOne(wrapper); + return ConvertUtils.sourceToTarget(entity, PartymemberConfirmAutoDTO.class); + } } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmManualServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmManualServiceImpl.java index 8922637b53..926218c9ef 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmManualServiceImpl.java +++ b/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 wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(partymemberInfoId), "PARTYMEMBER_INFO_ID", partymemberInfoId); + PartymemberConfirmManualEntity entity = baseDao.selectOne(wrapper); + return ConvertUtils.sourceToTarget(entity, PartymemberConfirmManualDTO.class); + } + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml index 46c290d959..df09d8e777 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberInfoDao.xml @@ -31,14 +31,17 @@