diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java index 79d35436a8..06f391eada 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java @@ -233,12 +233,14 @@ public class AccessConfigServiceImpl implements AccessConfigService { for (String roleId : roleIds) { // 只给没有添加该权限的用户赋予该权限,已经添加了和添加了又取消的不操作 RoleOperationEntity roleOpe = roleOperationDao.getRoleOpe(roleId, operationKey); + boolean needRefreshCache = false; if (roleOpe == null) { // 没有该操作,则添加 RoleOperationEntity roleOperation = new RoleOperationEntity(); roleOperation.setOperationKey(operationKey); roleOperation.setRoleId(roleId); roleOperationDao.insert(roleOperation); + needRefreshCache = true; } for (String scopeKey : scopeKeys) { // 没有的话则添加 @@ -249,8 +251,14 @@ public class AccessConfigServiceImpl implements AccessConfigService { roleScopeEntity.setRoleId(roleId); roleScopeEntity.setScopeKey(scopeKey); roleScopeDao.insert(roleScopeEntity); + needRefreshCache = true; } } + + // 清空角色的权限缓存 + if (needRefreshCache) { + roleOpeScopeRedis.delRoleAllOpeScopes(roleId); + } } } } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java index fdce22e8f2..7e04a6a07c 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java @@ -38,4 +38,22 @@ public class MyPartIssuesResultDTO implements Serializable { @JsonIgnore private String gridId; + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null || getClass() != obj.getClass()) { + return false; + } + MyPartIssuesResultDTO u = (MyPartIssuesResultDTO)obj; + return issueId.equals(u.issueId); + } + + @Override + public int hashCode() { + String in = issueId; + return in.hashCode(); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java index e1779a1720..50b8ebda99 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java @@ -81,7 +81,7 @@ public interface IssueVoteDetailDao extends BaseDao { * @author zxc * @date 2020/11/10 10:01 上午 */ - List myPartIssues(@Param("userId")String userId); + List myPartIssues(@Param("userId")String userId, @Param("topicIds")List topicIds); List myPartIssuesByTopicId(@Param("topicIds")List topicIds); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java index d995c8166a..fc8a5138de 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java @@ -45,6 +45,7 @@ import com.epmet.feign.ResiGroupFeignClient; import com.epmet.redis.IssueVoteDetailRedis; import com.epmet.redis.IssueVoteStatisticalRedis; import com.epmet.resi.group.dto.topic.form.MyPartIssueFormDTO; +import com.epmet.resi.group.dto.topic.form.TopicIdListFormDTO; import com.epmet.resi.group.dto.topic.result.MyPartIssueResultDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.IssueVoteDetailService; @@ -549,22 +550,35 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) { - List myPartIssuesResult = issueVoteDetailDao.myPartIssues(myPartIssuesFormDTO.getUserId()); + List myPartIssuesResult = new ArrayList<>(); + //我创建的话题 + TopicIdListFormDTO topicIdListFormDTO = new TopicIdListFormDTO(); + topicIdListFormDTO.setUserId(myPartIssuesFormDTO.getUserId()); + Result> myCreateIssueResult = resiGroupOpenFeignClient.selectMyCreateTopic(topicIdListFormDTO); + if (!myCreateIssueResult.success()){ + throw new RenException("查询我创建的话题失败......"); + } + //我参与的议题 + myPartIssuesResult = issueVoteDetailDao.myPartIssues(myPartIssuesFormDTO.getUserId(), myCreateIssueResult.getData()); + //我参与的话题 MyPartIssueFormDTO formDTO = new MyPartIssueFormDTO(); formDTO.setUserId(myPartIssuesFormDTO.getUserId()); Result myPartIssueResult = resiGroupOpenFeignClient.selectMyPartTopic(formDTO); if (!myPartIssueResult.success()){ throw new RenException("查询我评论过的话题失败......"); } + //我参与的话题转了议题的 if (!CollectionUtils.isEmpty(myPartIssueResult.getData().getTopicIds())){ - List myPartIssuesResultDTOS = issueVoteDetailDao.myPartIssuesByTopicId(myPartIssueResult.getData().getTopicIds()); - myPartIssuesResult.addAll(myPartIssuesResultDTOS); + List myPartIssues = issueVoteDetailDao.myPartIssuesByTopicId(myPartIssueResult.getData().getTopicIds()); + myPartIssuesResult.addAll(myPartIssues); } if (CollectionUtils.isEmpty(myPartIssuesResult)){ return new ArrayList<>(); } + Set set = new HashSet<>(myPartIssuesResult); + myPartIssuesResult = new ArrayList<>(set); List collect = myPartIssuesResult.stream().sorted(Comparator.comparing(MyPartIssuesResultDTO::getShiftIssueTime).reversed()).distinct().collect(Collectors.toList()); - List orgIds = collect.stream().map(m -> m.getGridId()).collect(Collectors.toList()); + List orgIds = collect.stream().map(MyPartIssuesResultDTO::getGridId).collect(Collectors.toList()); Result> listResult = govOrgOpenFeignClient.getGridListByGridIds(orgIds); if (!listResult.success()){ throw new RenException("查询议题来源网格名称失败......"); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml index d5f4e8bc80..f0d4ec2069 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml @@ -73,7 +73,7 @@ - SELECT vd.ISSUE_ID, i.SUGGESTION, @@ -85,6 +85,11 @@ WHERE i.DEL_FLAG = '0' AND vd.DEL_FLAG = '0' AND vd.CREATED_BY = #{userId} + + + i.SOURCE_ID != #{topicId} + + ORDER BY i.CREATED_TIME DESC @@ -97,8 +102,7 @@ UNIX_TIMESTAMP(i.CREATED_TIME) AS shiftIssueTime FROM issue i WHERE i.DEL_FLAG = '0' - AND - + i.SOURCE_ID = #{topicId} ORDER BY i.CREATED_TIME DESC diff --git a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/InitInfoResultDTO.java b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/InitInfoResultDTO.java index f89028a9dd..75c60668c6 100644 --- a/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/InitInfoResultDTO.java +++ b/epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/InitInfoResultDTO.java @@ -36,4 +36,8 @@ public class InitInfoResultDTO implements Serializable { * 详细地址 */ private String buildingAddress; + /** + * 昵称 + */ + private String nickname; } diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java index f758bf53b4..d3cf8a2a64 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java @@ -39,6 +39,7 @@ public class PersonalCenterServiceImpl implements PersonalCenterService { resultDTO.setStreet(baseInfoResult.getData().getStreet()); resultDTO.setDistrict(baseInfoResult.getData().getDistrict()); resultDTO.setBuildingAddress(baseInfoResult.getData().getBuildingAddress()); + resultDTO.setNickname(baseInfoResult.getData().getNickname()); return resultDTO; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java index d6d9655b88..81bd8e9082 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java @@ -49,4 +49,9 @@ public class EditInfoFormDTO implements Serializable { * 详细地址 */ private String buildingAddress; + /** + * 昵称 + */ + @NotBlank(message = "昵称不能为空") + private String nickname; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java index 2765fd9064..e4ad4a63b0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java @@ -74,7 +74,7 @@ public class UserBadgeController { } /** - * @Description 个人中心-获取徽章认证页面详情 + * @Description 个人中心-获取徽章认证页面详情 如果是未认证,则将居民base信息带出,如果是已认证,根据上次认证信息显示内容 * @Param tokenDto * @Param certificationDetailFormDTO * @author zxc diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java index a8c7e7b0f9..ecdfd1d4db 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java @@ -47,7 +47,7 @@ public interface UserBadgeService { void badgeSendCode(BadgeSendCodeFormDTO badgeSendCodeFormDTO); /** - * @Description 个人中心-获取徽章认证页面详情 + * @Description 个人中心-获取徽章认证页面详情 如果是未认证,则将居民base信息带出,如果是已认证,根据上次认证信息显示内容 * @Param tokenDto * @Param certificationDetailFormDTO * @author zxc diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java index e0995a2d34..5b8638ab15 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java @@ -21,6 +21,7 @@ import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.UserBadgeRedis; +import com.epmet.redis.UserBaseInfoRedis; import com.epmet.service.UserBadgeService; import com.epmet.service.UserBaseInfoService; import com.epmet.util.ModuleConstant; @@ -64,7 +65,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { @Autowired private EpmetUserOpenFeignClient epmetUserOpenFeignClient; @Autowired - private BadgeCertificationConfigDao badgeCertificationConfigDao; + private UserBaseInfoRedis userBaseInfoRedis; @Autowired private UserBadgeCertificateRecordDao userBadgeCertificateRecordDao; @@ -333,10 +334,18 @@ public class UserBadgeServiceImpl implements UserBadgeService { */ @Override public CertificationDetailResultDTO certificationDetail(TokenDto tokenDto, CertificationDetailFormDTO certificationDetailFormDTO) { + //工作端 if (StringUtils.isNotBlank(certificationDetailFormDTO.getRecordId())){ return userBadgeDao.selectBadgeAuthRecord(null, certificationDetailFormDTO.getBadgeId(),certificationDetailFormDTO.getRecordId()); } - return userBadgeDao.selectBadgeAuthRecord(tokenDto.getUserId(), certificationDetailFormDTO.getBadgeId(),certificationDetailFormDTO.getRecordId()); + //居民端 + CertificationDetailResultDTO resiResult = userBadgeDao.selectBadgeAuthRecord(tokenDto.getUserId(), certificationDetailFormDTO.getBadgeId(),certificationDetailFormDTO.getRecordId()); + if(null == resiResult){ + UserBaseInfoResultDTO userInfo = userBaseInfoRedis.getUserInfo(tokenDto.getUserId()); + resiResult = ConvertUtils.sourceToTarget(userInfo,CertificationDetailResultDTO.class); + if(null != resiResult) resiResult.setIdcard(userInfo.getIdNum()); + } + return resiResult; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index 276e11a1ac..260fe0db93 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -78,7 +78,7 @@ REAL_NAME realName, ID_NUM idNum, GENDER gender, - MOBILE mobile, + IFNULL(MOBILE,'') mobile, STREET street, DISTRICT district, BUILDING_ADDRESS buildingAddress,