Browse Source

Merge remote-tracking branch 'origin_elink/yantai_zhengwu_master'

dev
yinzuomei 3 years ago
parent
commit
f00a56e948
  1. 7
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/form/LogOperationListFormDTO.java
  2. 2
      epmet-admin/epmet-admin-server/Dockerfile
  3. 4
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java
  4. 4
      epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml
  5. 2
      epmet-auth/Dockerfile
  6. 2
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java
  7. 2
      epmet-gateway/Dockerfile
  8. 2
      epmet-module/data-aggregator/data-aggregator-server/Dockerfile
  9. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  10. 2
      epmet-module/data-report/data-report-server/Dockerfile
  11. 2
      epmet-module/data-statistical/data-statistical-server/Dockerfile
  12. 2
      epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile
  13. 2
      epmet-module/epmet-common-service/common-service-server/Dockerfile
  14. 2
      epmet-module/epmet-ext/epmet-ext-server/Dockerfile
  15. 2
      epmet-module/epmet-heart/epmet-heart-server/Dockerfile
  16. 2
      epmet-module/epmet-job/epmet-job-server/Dockerfile
  17. 2
      epmet-module/epmet-message/epmet-message-server/Dockerfile
  18. 2
      epmet-module/epmet-oss/epmet-oss-server/Dockerfile
  19. 2
      epmet-module/epmet-point/epmet-point-server/Dockerfile
  20. 2
      epmet-module/epmet-third/epmet-third-server/Dockerfile
  21. 2
      epmet-module/gov-access/gov-access-server/Dockerfile
  22. 2
      epmet-module/gov-grid/gov-grid-server/Dockerfile
  23. 2
      epmet-module/gov-issue/gov-issue-server/Dockerfile
  24. 2
      epmet-module/gov-mine/gov-mine-server/Dockerfile
  25. 48
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GroupRentHouseFormDTO.java
  26. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java
  27. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencySubResultDTO.java
  28. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyTreeResultDTO.java
  29. 77
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GroupRentHouseResultDTO.java
  30. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  31. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  32. 2
      epmet-module/gov-org/gov-org-server/Dockerfile
  33. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
  34. 17
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  35. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  36. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  37. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java
  38. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  39. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
  40. 26
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  41. 42
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  42. 75
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  43. 2
      epmet-module/gov-project/gov-project-server/Dockerfile
  44. 28
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagCustomerDTO.java
  45. 34
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagScopeDTO.java
  46. 12
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java
  47. 56
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java
  48. 44
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerPageFormDTO.java
  49. 2
      epmet-module/gov-voice/gov-voice-server/Dockerfile
  50. 5
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
  51. 111
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java
  52. 3
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java
  53. 15
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java
  54. 23
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagScopeDao.java
  55. 4
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagCustomerEntity.java
  56. 41
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagScopeEntity.java
  57. 3
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
  58. 58
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java
  59. 5
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  60. 221
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagCustomerServiceImpl.java
  61. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagServiceImpl.java
  62. 3
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml
  63. 36
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml
  64. 34
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagScopeDao.xml
  65. 2
      epmet-module/open-data-worker/open-data-worker-server/Dockerfile
  66. 2
      epmet-module/oper-access/oper-access-server/Dockerfile
  67. 2
      epmet-module/oper-crm/oper-crm-server/Dockerfile
  68. 2
      epmet-module/oper-customize/oper-customize-server/Dockerfile
  69. 2
      epmet-module/resi-group/resi-group-server/Dockerfile
  70. 2
      epmet-module/resi-guide/resi-guide-server/Dockerfile
  71. 2
      epmet-module/resi-hall/resi-hall-server/Dockerfile
  72. 2
      epmet-module/resi-home/resi-home-server/Dockerfile
  73. 2
      epmet-module/resi-mine/resi-mine-server/Dockerfile
  74. 2
      epmet-module/resi-partymember/resi-partymember-server/Dockerfile
  75. 2
      epmet-module/resi-voice/resi-voice-server/Dockerfile
  76. 2
      epmet-openapi/epmet-openapi-scan/Dockerfile
  77. 4
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserBadgeCertificateRecordDTO.java
  78. 58
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeAuditPageFormDTO.java
  79. 14
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BadgeAuditRecordResultDTO.java
  80. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BadgeListResultDTO.java
  81. 9
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CertificationDetailResultDTO.java
  82. 2
      epmet-user/epmet-user-server/Dockerfile
  83. 23
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java
  84. 19
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  85. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java
  86. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java
  87. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserBadgeCertificateRecordEntity.java
  88. 20
      epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBaseInfoRedis.java
  89. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java
  90. 40
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java
  91. 42
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java
  92. 117
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java
  93. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java
  94. 58
      epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml
  95. 3
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
  96. 46
      epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

7
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/form/LogOperationListFormDTO.java

@ -27,7 +27,12 @@ public class LogOperationListFormDTO {
*/
private String endTime;
/**
* 默认传data_tm
* 产品原本前端默认传data_tm
* 03.01烟台需求列表展示全部
* 项目流转project_changed
* 登录auth
* 积分point
* 查看脱敏信息data_tm
*/
private String category;
}

2
epmet-admin/epmet-admin-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4
epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/CheckAndExportOperationLogListener.java

@ -1,10 +1,8 @@
package com.epmet.mq.listener.listener;
import com.alibaba.fastjson.JSON;
import com.epmet.auth.constants.AuthOperationEnum;
import com.epmet.commons.rocketmq.constants.MQUserPropertys;
import com.epmet.commons.rocketmq.messages.CheckMQMsg;
import com.epmet.commons.rocketmq.messages.LoginMQMsg;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
@ -69,7 +67,7 @@ public class CheckAndExportOperationLogListener implements MessageListenerConcur
logEntity.setIp(msgObj.getIp());
logEntity.setFromApp(msgObj.getFromApp());
logEntity.setFromClient(msgObj.getFromClient());
logEntity.setTargetId("");
logEntity.setTargetId(msgObj.getTargetId());
logEntity.setCustomerId(operatorInfo.getCustomerId());
logEntity.setOperatorId(msgObj.getUserId());
logEntity.setOperatorName(operatorInfo.getName());

4
epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml

@ -75,10 +75,10 @@
AND lo.OPERATOR_MOBILE LIKE concat('%',#{operatorMobile},'%')
</if>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT( lo.OPERATING_TIME, '%Y%m%d' ) &gt;= #{startTime}
AND DATE_FORMAT( lo.OPERATING_TIME, '%Y-%m-%d %H:%i' ) &gt;= #{startTime}
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT( lo.OPERATING_TIME, '%Y%m%d' ) &lt;= #{endTime}
AND DATE_FORMAT( lo.OPERATING_TIME, '%Y-%m-%d %H:%i' ) &lt;= #{endTime}
</if>
ORDER BY lo.OPERATING_TIME DESC
</select>

2
epmet-auth/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/CheckMQMsg.java

@ -29,5 +29,5 @@ public class CheckMQMsg {
private String fromClient;
private String orgId;
private String orgIdPath;
private String targetId;
}

2
epmet-gateway/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/data-aggregator/data-aggregator-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

12
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java

@ -1023,6 +1023,7 @@ public class EpmetUserServiceImpl implements EpmetUserService {
result.setMobile(houseInfo.getOwnerPhone());
result.setIdCard(houseInfo.getOwnerIdCard());
msg.setContent("查看"+houseInfo.getAllName()+"房屋的敏感信息");
msg.setTargetId(formDTO.getId());
}else if (formDTO.getType().equals(NeighborhoodConstant.CHECK_IC_RESI_USER)){
IcResiUserInfoCache icResiUserInfo = CustomerResiUserRedis.getIcResiUserInfo(formDTO.getId());
if (null == icResiUserInfo){
@ -1031,14 +1032,16 @@ public class EpmetUserServiceImpl implements EpmetUserService {
result.setIdCard(icResiUserInfo.getIdCard());
result.setMobile(icResiUserInfo.getMobile());
msg.setContent("查看"+icResiUserInfo.getName()+"的敏感信息");
msg.setTargetId(formDTO.getId());
}else if (formDTO.getType().equals(NeighborhoodConstant.JMFYXX)){
IcResiUserInfoCache icResiUserInfo = CustomerResiUserRedis.getIcResiUserInfo(formDTO.getId());
if (null == icResiUserInfo){
throw new EpmetException("查询icResiUser失败:"+formDTO.getId());
throw new EpmetException("居民防疫信息查询icResiUser失败:"+formDTO.getId());
}
result.setIdCard(icResiUserInfo.getIdCard());
result.setMobile(icResiUserInfo.getMobile());
msg.setContent("查看"+icResiUserInfo.getName()+"的敏感信息(居民防疫信息)");
msg.setTargetId(formDTO.getId());
}else if (formDTO.getType().equals(NeighborhoodConstant.ROUTE_FOLLOW)){
Map<String, String> info = icResiUserDao.getTripReportRecordInfo(formDTO.getId());
if (null == info){
@ -1047,6 +1050,7 @@ public class EpmetUserServiceImpl implements EpmetUserService {
result.setIdCard(info.get(NeighborhoodConstant.ID_CARD));
result.setMobile(info.get(NeighborhoodConstant.MOBILE));
msg.setContent("查看"+info.get(NeighborhoodConstant.NAME)+"的敏感信息(行程随访)");
msg.setTargetId(formDTO.getId());
}else if (formDTO.getType().equals(NeighborhoodConstant.VACCINATION_RECORD)){
Map<String, String> info = icResiUserDao.getVaccineRecordInfo(formDTO.getId());
if (null == info){
@ -1055,6 +1059,7 @@ public class EpmetUserServiceImpl implements EpmetUserService {
result.setIdCard(info.get(NeighborhoodConstant.ID_CARD));
result.setMobile(info.get(NeighborhoodConstant.MOBILE));
msg.setContent("查看"+info.get(NeighborhoodConstant.NAME)+"的敏感信息(疫苗接种记录)");
msg.setTargetId(formDTO.getId());
}else if (formDTO.getType().equals(NeighborhoodConstant.VACCINE_SPECIAL_ATTENTION)
|| formDTO.getType().equals(NeighborhoodConstant.FOCUS_GROUP_SPECIAL_ATTENTION_QUARANTINE)
|| formDTO.getType().equals(NeighborhoodConstant.FOCUS_GROUP_SPECIAL_ATTENTION_HISTORY)){
@ -1078,7 +1083,7 @@ public class EpmetUserServiceImpl implements EpmetUserService {
default:
}
msg.setContent("查看"+info.get(NeighborhoodConstant.NAME)+"的敏感信息("+cMsg+")");
msg.setTargetId(formDTO.getId());
}else if (formDTO.getType().equals(NeighborhoodConstant.NO_NAT_COMPARE)){
Map<String, String> info = icResiUserDao.getNoNatCompareInfo(formDTO.getId());
if (null == info){
@ -1087,6 +1092,7 @@ public class EpmetUserServiceImpl implements EpmetUserService {
result.setIdCard(info.get(NeighborhoodConstant.ID_CARD));
result.setMobile(info.get(NeighborhoodConstant.MOBILE));
msg.setContent("查看"+info.get(NeighborhoodConstant.NAME)+"的敏感信息(未做核酸比对)");
msg.setTargetId(formDTO.getId());
}else if (formDTO.getType().equals(NeighborhoodConstant.NAT_RECORD)){
Map<String, String> info = icResiUserDao.getNatInfo(formDTO.getId());
if (null == info){
@ -1095,6 +1101,7 @@ public class EpmetUserServiceImpl implements EpmetUserService {
result.setIdCard(info.get(NeighborhoodConstant.ID_CARD));
result.setMobile(info.get(NeighborhoodConstant.MOBILE));
msg.setContent("查看"+info.get(NeighborhoodConstant.NAME)+"的敏感信息(核酸检测信息)");
msg.setTargetId(formDTO.getId());
}else if (formDTO.getType().equals(NeighborhoodConstant.EMPLOYEE_EPIDEMIC_MANAGE_DETAIL)){
Map<String, String> info = govOrgService.getEmployeeRegisterMobileAndIdCard(formDTO.getId());
if (null == info){
@ -1103,6 +1110,7 @@ public class EpmetUserServiceImpl implements EpmetUserService {
result.setIdCard(info.get(NeighborhoodConstant.ID_CARD));
result.setMobile(info.get(NeighborhoodConstant.MOBILE));
msg.setContent("查看"+info.get(NeighborhoodConstant.NAME)+"的敏感信息(员工登记信息)");
msg.setTargetId(formDTO.getId());
}
// 发送mq消息
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

2
epmet-module/data-report/data-report-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/data-statistical/data-statistical-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-common-service/common-service-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-ext/epmet-ext-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-heart/epmet-heart-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-job/epmet-job-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-message/epmet-message-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-oss/epmet-oss-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-point/epmet-point-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/epmet-third/epmet-third-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/gov-access/gov-access-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/gov-grid/gov-grid-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/gov-issue/gov-issue-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/gov-mine/gov-mine-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

48
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GroupRentHouseFormDTO.java

@ -0,0 +1,48 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2023/3/2 17:35
*/
@Data
public class GroupRentHouseFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -953729855530434972L;
/**
* 组织ID
*/
private String orgId;
private String orgType;
/**
* 房主姓名
*/
private String ownerName;
/**
* 房主电话
*/
private String ownerPhone;
/**
* 房屋用途
*/
private String purpose;
/**
* 备注
*/
private String remark;
/**
* tokenDto获取
*/
private String customerId;
private String staffId;
}

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java

@ -47,5 +47,8 @@ public class AgencyResultDTO implements Serializable {
private String longitude;
//维度【没值则取跟客户的值】
private String latitude;
/**
* agencyId的全路径包含自身
*/
private String orgIdPath;
}

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencySubResultDTO.java

@ -61,4 +61,8 @@ public class AgencySubResultDTO implements Serializable {
* 组织维度没值取根组织的值
*/
private String latitude = "";
/**
* agencyId的全路径包含自身
*/
private String orgIdPath;
}

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyTreeResultDTO.java

@ -35,6 +35,10 @@ public class AgencyTreeResultDTO implements Serializable {
* orgId-orgLevel
*/
private String orgLevel;
/**
* agencyId的全路径包含自身
*/
private String orgIdPath;
/**
* 下级机关组织
*/

77
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GroupRentHouseResultDTO.java

@ -0,0 +1,77 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 群租房列表
* @Author yzm
* @Date 2023/3/3 9:27
*/
@Data
public class GroupRentHouseResultDTO implements Serializable {
private static final long serialVersionUID = 3671964765109154117L;
private String houseId;
/**
* 所属组织
*/
private String agencyName;
private String agencyId;
/**
* 所属网格
*/
private String gridName;
private String gridId;
/**
* 所属小区
*/
private String neighborHoodName;
/**
* 所属楼栋
*/
private String buildingName;
private String houseName;
/**
* 房屋类型
*/
private String houseType;
private String houseTypeKey;
/**
* 房屋用途
*/
private String purpose;
private String purposeKey;
/**
* 房屋状态房屋状态:1出租 0自住 2闲置 3未售出
*/
private String rentFlag;
/**
* 房主姓名
*/
private String ownerName;
/**
* 房主电话
*/
private String ownerPhone;
/**
* 房主身份证
*/
private String ownerIdCard;
/**
* 备注
*/
private String remark;
/**
* 排序
*/
private Double sort;
}

10
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -21,7 +21,7 @@ import java.util.Set;
* @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:37
*/
//@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class, url = "localhost:8092")
// @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class, url = "localhost:8092")
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class)
public interface GovOrgOpenFeignClient {
@ -757,4 +757,12 @@ public interface GovOrgOpenFeignClient {
@PostMapping("/gov/org/enterprise/sendEnterprisePatrolRemindMessage")
Result sendEnterprisePatrolRemindMessage();
/**
* 获取当前客户下所有的社区组织,只返回id,orgIdPathagencyName
* @param customerId
* @return
*/
@PostMapping("/gov/org/agency/getAllCommunity/{customerId}")
Result<List<AgencyResultDTO>> getAllCommunity(@PathVariable(value = "customerId") String customerId);
}

10
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -474,4 +474,14 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "gridStaffList", dto);
}
/**
* 获取当前客户下所有的社区组织,只返回id,orgIdPathagencyName
*
* @param customerId
* @return
*/
@Override
public Result<List<AgencyResultDTO>> getAllCommunity(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAllCommunity", customerId);
}
}

2
epmet-module/gov-org/gov-org-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java

@ -624,4 +624,17 @@ public class AgencyController {
String orgType = input.getOrgType();
return new Result<UsingCommunityStatsResultDTO>().ok(agencyService.usingCommunityStats(orgId, orgType));
}
/**
* @param customerId
* @return 获取当前客户下所有的社区组织,只返回id,orgIdPathagencyName
*/
@PostMapping("getAllCommunity/{customerId}")
public Result<List<AgencyResultDTO>> getAllCommunity(@PathVariable(value = "customerId") String customerId) {
if (StringUtils.isBlank(customerId)) {
return new Result<>();
}
return new Result<List<AgencyResultDTO>>().ok(agencyService.getAllCommunity(customerId));
}
}

17
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -691,4 +691,21 @@ public class HouseController implements ResultDataResolver {
return new Result<PageData<SubUserHouseListResultDTO>>().ok(r);
}
/**
* 群租房列表来源于烟台需求
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("group-rent-house-list")
@MaskResponse(fieldNames = {"ownerIdCard", "ownerPhone"},
fieldsMaskType = {MaskResponse.MASK_TYPE_ID_CARD, MaskResponse.MASK_TYPE_MOBILE})
public Result<PageData<GroupRentHouseResultDTO>> groupRentHouseList(@LoginUser TokenDto tokenDto, @RequestBody GroupRentHouseFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
return new Result<PageData<GroupRentHouseResultDTO>>().ok(houseService.groupRentHouseList(formDTO));
}
}

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -422,5 +422,12 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
* @return
*/
Integer selectTotalNext(String agencyId);
/**
* 获取当前客户下所有的社区组织,只返回id,orgIdPathagencyName
* @param customerId
* @return
*/
List<AgencyResultDTO> getAllCommunity(String customerId);
}

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java

@ -2,10 +2,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.CheckHouseInfoFormDTO;
import com.epmet.dto.form.GetHouseInfoToCollectFormDTO;
import com.epmet.dto.form.HouseChartFormDTO;
import com.epmet.dto.form.IcHouseListFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerOrgParameterEntity;
import com.epmet.entity.IcHouseEntity;
@ -213,4 +210,12 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
List<IcHouseListResultDTO> houseStatisListDetail(HouseChartFormDTO formDTO);
List<IcHouseEntity> selectListForRenFangStats(@Param("buildingId") String buildingId);
/**
* 群租房列表
* 群租房出租状态并超过5人5
* @param formDTO
* @return
*/
List<GroupRentHouseResultDTO> selectGroupRentHouseList(GroupRentHouseFormDTO formDTO);
}

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java

@ -204,4 +204,11 @@ public interface AgencyService {
* @return
*/
UsingCommunityStatsResultDTO usingCommunityStats(String orgId, String orgType);
/**
* 获取当前客户下所有的社区组织,只返回id,orgIdPathagencyName
* @param customerId
* @return
*/
List<AgencyResultDTO> getAllCommunity(String customerId);
}

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java

@ -204,4 +204,11 @@ public interface HouseService {
PageData<IcHouseListResultDTO> houseStatisListDetail(HouseChartFormDTO formDTO);
PageData<SubUserHouseListResultDTO> usingCommunityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize);
/**
* 群租房列表来源于烟台需求
* @param formDTO
* @return
*/
PageData<GroupRentHouseResultDTO> groupRentHouseList(GroupRentHouseFormDTO formDTO);
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java

@ -1168,4 +1168,15 @@ public class AgencyServiceImpl implements AgencyService {
return orgPids.concat(":").concat(orgId);
}
/**
* 获取当前客户下所有的社区组织,只返回id,orgIdPathagencyName
*
* @param customerId
* @return
*/
@Override
public List<AgencyResultDTO> getAllCommunity(String customerId) {
return customerAgencyDao.getAllCommunity(customerId);
}
}

26
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -1484,4 +1484,30 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
agencyNamePathList.add(agencyInfo.getOrganizationName());
return String.join("-", agencyNamePathList);
}
/**
* 群租房列表来源于烟台需求
*
* @param formDTO
* @return
*/
@Override
public PageData<GroupRentHouseResultDTO> groupRentHouseList(GroupRentHouseFormDTO formDTO) {
if(StringUtils.isBlank(formDTO.getOrgId())){
//默认查询当前组织及下级
formDTO.setOrgType("agency");
CustomerStaffInfoCacheResult staffInfoCacheResult=CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(),formDTO.getStaffId());
formDTO.setOrgId(staffInfoCacheResult.getAgencyId());
}
//群租房:出租状态并超过5人(≥5)
PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize());
List<GroupRentHouseResultDTO> list=icHouseDao.selectGroupRentHouseList(formDTO);
list.forEach(item -> {
item.setHouseType(HouseTypeEnums.getTypeValue(item.getHouseTypeKey()));
item.setPurpose(HousePurposeEnums.getTypeValue(item.getPurposeKey()));
});
PageInfo<GroupRentHouseResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
}

42
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -198,7 +198,11 @@
ca.pids AS "pids",
ca.level level,
IFNULL(ca.longitude, cc.longitude) longitude,
IFNULL(ca.latitude, cc.latitude) latitude
IFNULL(ca.latitude, cc.latitude) latitude,
(
case when ca.pid is null or ca.pid='0' or ca.pid='' then ca.id
else concat(ca.pids,':',ca.id)
end)as orgIdPath
FROM customer_agency ca
INNER JOIN customer_agency cc ON cc.pid = '0' AND ca.customer_id = cc.customer_id
WHERE ca.del_flag = '0'
@ -397,7 +401,11 @@
ca.pid pid,
ca.level level,
ca.longitude,
ca.latitude
ca.latitude,
(
case when ca.pid is null or ca.pid='0' or ca.pid='' then ca.id
else concat(ca.pids,':',ca.id)
end)as orgIdPath
FROM
customer_agency ca
INNER JOIN customer_staff_agency csa ON ca.id = csa.agency_id
@ -614,7 +622,12 @@
ID AS agencyId,
ORGANIZATION_NAME AS agencyName,
PID,
LEVEL
LEVEL,
(
case when pid is null or pid='0' or pid='' then id
else concat(pids,':',id)
end
)as orgIdPath
from customer_agency
where
DEL_FLAG = 0
@ -628,7 +641,12 @@
ID AS agencyId,
ORGANIZATION_NAME AS agencyName,
PID,
LEVEL
LEVEL,
(
case when pid is null or pid='0' or pid='' then id
else concat(pids,':',id)
end
)as orgIdPath
from
customer_agency
where
@ -1120,4 +1138,20 @@
AND g.DEL_FLAG = '0'
) t
</select>
<!-- 获取当前客户下所有的社区组织,只返回id,orgIdPath,agencyName -->
<select id="getAllCommunity" parameterType="java.lang.String" resultType="com.epmet.dto.result.AgencyResultDTO">
SELECT
ca.id agencyId,
ca.organization_name agencyName,
(
case when ca.pid is null or ca.pid='0' or ca.pid='' then ca.id
else concat(ca.pids,':',ca.id)
end)as orgIdPath
FROM
customer_agency ca
WHERE
ca.del_flag = '0'
AND ca.customer_id = #{customerId}
</select>
</mapper>

75
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -701,4 +701,79 @@
CAST(a.DOOR_NAME AS SIGNED),
CONVERT(a.DOOR_NAME using gbk)
</select>
<select id="selectGroupRentHouseList" parameterType="com.epmet.dto.form.GroupRentHouseFormDTO" resultType="com.epmet.dto.result.GroupRentHouseResultDTO">
SELECT
ih.ID AS houseId,
n.AGENCY_ID as agencyId,
ca.ORGANIZATION_NAME as agencyName,
n.GRID_ID as gridId,
cg.GRID_NAME as gridName,
concat( n.NEIGHBOR_HOOD_NAME, ib.BUILDING_NAME, bu.UNIT_NAME, ih.DOOR_NAME ) AS houseName,
n.NEIGHBOR_HOOD_NAME as neighborHoodName,
ib.BUILDING_NAME as buildingName,
ih.HOUSE_TYPE AS houseTypeKey,
ih.PURPOSE AS purposeKey,
(
CASE
WHEN ih.RENT_FLAG = '0' THEN
'自住'
WHEN ih.RENT_FLAG = '1' THEN
'出租'
WHEN ih.RENT_FLAG = '2' THEN
'闲置'
WHEN ih.RENT_FLAG = '3' THEN
'未出售' ELSE ''
END
) AS rentFlag,
CAST( ih.RENT_FLAG AS CHAR ) AS rentFlagKey,
ih.OWNER_NAME ownerName,
ih.OWNER_PHONE ownerPhone,
ih.OWNER_ID_CARD ownerIdCard,
IFNULL( ih.REMARK, '' ) AS remark,
IFNULL( ih.sort, 0 ) AS sort
FROM
ic_house ih
LEFT JOIN ic_building ib ON ( ih.BUILDING_ID = ib.id )
LEFT JOIN ic_neighbor_hood n ON ( ib.NEIGHBOR_HOOD_ID = n.ID )
LEFT JOIN ic_building_unit bu ON ( ih.BUILDING_UNIT_ID = bu.id )
left join customer_agency ca on(n.AGENCY_ID=ca.id)
left join customer_grid cg on(n.grid_id=cg.id)
WHERE
ih.DEL_FLAG = '0'
AND ib.DEL_FLAG = '0'
AND n.DEL_FLAG = '0'
AND bu.DEL_FLAG = '0'
AND ih.customer_id = #{customerId}
and ih.RESI_NUMBER &gt;= 5
and ih.RENT_FLAG = '1'
<choose>
<when test='orgType == "agency"'>
AND (n.AGENCY_ID = #{orgId} OR n.AGENCY_PIDS LIKE concat( '%', #{orgId}, '%' ) )
</when>
<otherwise>
AND n.GRID_ID = #{orgId}
</otherwise>
</choose>
<if test='null != ownerName and ownerName != "" '>
AND ih.OWNER_NAME LIKE concat( '%', #{ownerName}, '%' )
</if>
<if test='null != ownerPhone and ownerPhone != "" '>
AND ih.OWNER_PHONE LIKE concat( '%', #{ownerPhone}, '%' )
</if>
<if test='null != purpose and purpose != "" '>
AND ih.PURPOSE = #{purpose}
</if>
<if test='null != remark and remark != "" '>
AND ih.REMARK LIKE concat( '%', #{remark}, '%' )
</if>
ORDER BY
CONVERT ( n.NEIGHBOR_HOOD_NAME USING gbk ),
CONVERT ( ib.BUILDING_NAME USING gbk ),
CONVERT ( bu.UNIT_NAME USING gbk ),
CAST( ih.DOOR_NAME AS SIGNED ),
CONVERT ( ih.DOOR_NAME USING gbk ),
ih.SORT ASC
</select>
</mapper>

2
epmet-module/gov-project/gov-project-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

28
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagCustomerDTO.java

@ -17,10 +17,15 @@
package com.epmet.dto;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -34,9 +39,12 @@ public class TagCustomerDTO implements Serializable {
private static final long serialVersionUID = 1L;
public interface ChangeShowFlagGroup extends CustomerClientShowGroup {
}
/**
* 主键ID
*/
@NotBlank(message = "id不能为空",groups = ChangeShowFlagGroup.class)
private String id;
/**
@ -48,40 +56,60 @@ public class TagCustomerDTO implements Serializable {
* 标签名称
*/
private String tagName;
/**
* 标签颜色
*/
private String tagColor;
/**
* 使用计数
*/
private Integer useCount;
/**
* 1展示0隐藏;0302因烟台需求增加此列默认1
*/
@NotNull(message = "showFlag不能为空",groups = ChangeShowFlagGroup.class)
private Integer showFlag;
/**
* 删除标识 0.未删除 1.已删除
*/
@JsonIgnore
private Integer delFlag;
/**
* 乐观锁
*/
@JsonIgnore
private Integer revision;
/**
* 创建人
*/
@JsonIgnore
private String createdBy;
/**
* 创建时间
*/
@JsonIgnore
private Date createdTime;
/**
* 更新人
*/
@JsonIgnore
private String updatedBy;
/**
* 更新时间
*/
@JsonIgnore
private Date updatedTime;
/**
* 应用范围
*/
private List<TagScopeDTO> agencyList;
}

34
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/TagScopeDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2023/3/2 13:52
*/
@Data
public class TagScopeDTO implements Serializable {
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
/**
* 标签ID
*/
private String tagId;
/**
* 应用范围这里只能是社区id
*/
@NotBlank(message = "agencyId不能为空",groups = AddUserShowGroup.class)
private String agencyId;
/**
* agency_id全路径包含自身
*/
@NotBlank(message = "orgIdPath不能为空",groups = AddUserShowGroup.class)
private String orgIdPath;
}

12
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java

@ -26,12 +26,12 @@ public class CommonArticleListFormDTO implements Serializable {
* 烟台需求周边疫情 就业服务 警民互动 物业通知 党务公开 居务公开 财务公开 以上标签在实时动态里写死吧
*
*/
public interface YanTaiShowGroup extends CustomerClientShowGroup {
public interface YanTaiDingShowGroup extends CustomerClientShowGroup {
}
/**
* 网格Id
* */
@NotBlank(message = "网格Id不能为空" , groups = {ArticleBannerInternalGroup.class,YanTaiShowGroup.class})
@NotBlank(message = "网格Id不能为空" , groups = {ArticleBannerInternalGroup.class,YanTaiDingShowGroup.class})
private String gridId;
/**
@ -42,7 +42,7 @@ public class CommonArticleListFormDTO implements Serializable {
/**
* 标签名称(高级配置里的参数)
* */
@NotBlank(message = "标签名称不能为空",groups = YanTaiShowGroup.class)
@NotBlank(message = "标签名称不能为空",groups = YanTaiDingShowGroup.class)
private String tagName;
/**
* 排除的标签名称(高级配置里的参数)
@ -53,8 +53,10 @@ public class CommonArticleListFormDTO implements Serializable {
*/
private Integer isTop;
@NotNull(message = "pageNo不能为空", groups = YanTaiShowGroup.class)
@NotNull(message = "pageNo不能为空", groups = YanTaiDingShowGroup.class)
private Integer pageNo;
@NotNull(message = "pageSize不能为空", groups = YanTaiShowGroup.class)
@NotNull(message = "pageSize不能为空", groups = YanTaiDingShowGroup.class)
private Integer pageSize;
@NotBlank(message = "tagId不能为空",groups = YanTaiDingShowGroup.class)
private String tagId;
}

56
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java

@ -0,0 +1,56 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.epmet.dto.TagScopeDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2023/3/2 12:47
*/
@Data
public class TagCustomerFormDTO implements Serializable {
private static final long serialVersionUID = -5631868409077026783L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
public interface UpdateUserInternalGroup {
}
public interface UpdateUserShowGroup extends CustomerClientShowGroup {
}
/**
* 主键ID
*/
@NotBlank(message = "id不能为空", groups = {UpdateUserInternalGroup.class})
private String id;
/**
* 标签名称
*/
@Length(max = 30, message = "标签名称最多输入30字", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
@NotBlank(message = "标签名称不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String tagName;
/**
* 应用范围,只能选社区
*/
private List<TagScopeDTO> agencyList;
/**
* 客户ID
*/
private String customerId;
}

44
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/TagCustomerPageFormDTO.java

@ -0,0 +1,44 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Description pc标签管理-分页查询入参
* @Author yzm
* @Date 2023/3/2 11:34
*/
@Data
public class TagCustomerPageFormDTO implements Serializable {
private static final long serialVersionUID = -2311491158902019019L;
public interface PageUserInternalGroup {
}
public interface PageUserShowGroup extends CustomerClientShowGroup {
}
/**
* 客户ID
*/
@NotBlank(message = "customerId不能为空", groups = PageUserInternalGroup.class)
private String customerId;
/**
* 标签名称
*/
private String tagName;
@NotNull(message = "页码不能为空", groups = PageUserInternalGroup.class)
private Integer pageNo;
@NotNull(message = "每页数量不能为空", groups = PageUserInternalGroup.class)
private Integer pageSize;
}

2
epmet-module/gov-voice/gov-voice-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

5
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java

@ -338,11 +338,12 @@ public class ArticleController {
*/
@PostMapping("article-list-ytding")
public Result<PageData<ArticleLatestResultDTO>> pageArticleListByTagName(@RequestBody CommonArticleListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, CommonArticleListFormDTO.YanTaiShowGroup.class);
ValidatorUtils.validateEntity(formDTO, CommonArticleListFormDTO.YanTaiDingShowGroup.class);
return new Result<PageData<ArticleLatestResultDTO>>().ok(articleService.pageArticleListByTagName(formDTO.getPageNo(),
formDTO.getPageSize(),
formDTO.getGridId(),
formDTO.getTagName()));
formDTO.getTagName(),
formDTO.getTagId()));
}

111
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java

@ -1,21 +1,21 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
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.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CorrelationTagListFormDTO;
import com.epmet.dto.form.InitTagFormDTO;
import com.epmet.dto.form.ResiTagListFormDTO;
import com.epmet.dto.form.TagCascadeListFormDTO;
import com.epmet.dto.TagCustomerDTO;
import com.epmet.dto.TagScopeDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.CorrelationTagListResultDTO;
import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.service.TagCustomerService;
import com.epmet.service.TagService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -25,11 +25,14 @@ public class TagController {
@Autowired
private TagService tagService;
@Autowired
private TagCustomerService tagCustomerService;
/**
* @Description 已发布列表页的标签政府端
* @param tokenDto
* @author zxc
* 补充pc党建声音查询条件新增弹框中的标签下拉框也调用的此接口
*/
@PostMapping("taglist")
// @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_PUBLISHED_LIST)
@ -81,4 +84,96 @@ public class TagController {
return new Result<Boolean>().ok(tagService.initTag(formDto));
}
/**
* pc标签管理-分页查询
* @param formDTO
* @return
*/
@PostMapping("page-list")
public Result<PageData<TagCustomerDTO>> pageList(@LoginUser TokenDto tokenDto,@RequestBody TagCustomerPageFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO,TagCustomerPageFormDTO.PageUserInternalGroup.class,TagCustomerPageFormDTO.PageUserShowGroup.class);
return new Result<PageData<TagCustomerDTO>>().ok(tagCustomerService.page(formDTO));
}
/**
* 新增标签
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("save")
public Result save(@LoginUser TokenDto tokenDto,@RequestBody TagCustomerFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
if(CollectionUtils.isNotEmpty(formDTO.getAgencyList())){
ValidatorUtils.validateEntity(formDTO.getAgencyList(), TagScopeDTO.AddUserShowGroup.class);
}
ValidatorUtils.validateEntity(formDTO,TagCustomerFormDTO.AddUserShowGroup.class,TagCustomerFormDTO.AddUserInternalGroup.class);
tagCustomerService.save(formDTO);
return new Result();
}
/**
* 修改标签
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping("update")
public Result update(@LoginUser TokenDto tokenDto,@RequestBody TagCustomerFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
if(CollectionUtils.isNotEmpty(formDTO.getAgencyList())){
ValidatorUtils.validateEntity(formDTO.getAgencyList(), TagScopeDTO.AddUserShowGroup.class);
}
ValidatorUtils.validateEntity(formDTO,TagCustomerFormDTO.UpdateUserShowGroup.class,TagCustomerFormDTO.UpdateUserInternalGroup.class);
tagCustomerService.update(formDTO);
return new Result();
}
/**
* 隐藏显示
* @param tagCustomerDTO
* @return
*/
@PostMapping("change-show-flag")
public Result changeShowFlag(@RequestBody TagCustomerDTO tagCustomerDTO){
tagCustomerService.changeShowFlag(tagCustomerDTO.getId(),tagCustomerDTO.getShowFlag());
return new Result();
}
/**
* 初始化标签应用范围
* 每个标签和当前客户下所有社区关联
* @param tokenDto
* @return
*/
@PostMapping("initTagScope")
public Result initTagScope(@LoginUser TokenDto tokenDto){
tagCustomerService.initTagScope(tokenDto.getCustomerId());
return new Result();
}
/**
* 钉钉实时动态获取网格所属社区下 的标签列表 只返回tagIdtagName
* @param gridId
* @return
*/
@PostMapping("getAgencyTag/{gridId}")
public Result<List<TagCustomerDTO>> getAgencyTag(@PathVariable("gridId")String gridId){
if(StringUtils.isBlank(gridId)){
return new Result<>();
}
return new Result<List<TagCustomerDTO>>().ok(tagCustomerService.getAgencyTag(gridId));
}
/**
* 工作端获取登录用户所属组织下的标签列表
*
* @param tokenDto
* @return
*/
@PostMapping("queryAgencyTag")
public Result<List<TagInfoResultDTO>> queryAgencyTag(@LoginUser TokenDto tokenDto) {
return new Result<List<TagInfoResultDTO>>().ok(tagCustomerService.queryAgencyTag(tokenDto.getCustomerId(),tokenDto.getUserId()));
}
}

3
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java

@ -178,5 +178,6 @@ public interface ArticleDao extends BaseDao<ArticleEntity> {
List<ArticleLatestResultDTO> pageArticleListByTagName(@Param("gridId")String gridId,
@Param("tagName")String tagName,
@Param("customerId")String customerId,
@Param("agencyId")String agencyId);
@Param("agencyId")String agencyId,
@Param("tagId")String tagId);
}

15
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagCustomerDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.TagCustomerDTO;
import com.epmet.dto.form.InitTagsFormDTO;
import com.epmet.dto.form.UpdateTagFormDTO;
import com.epmet.entity.TagCustomerEntity;
@ -55,4 +56,18 @@ public interface TagCustomerDao extends BaseDao<TagCustomerEntity> {
* @return
*/
List<TagCustomerEntity> selectInitData(@Param("customerIdList") List<String> customerIdList);
/**
* pc标签管理-分页查询
* @param customerId
* @param tagName
* @return
*/
List<TagCustomerDTO> pageList(@Param("customerId") String customerId, @Param("tagName")String tagName);
/**
* 钉钉实时动态获取网格所属社区下 的标签列表
* 只返回tagIdtagName
*/
List<TagCustomerDTO> getAgencyTag(@Param("agencyId")String agencyId,@Param("customerId") String customerId);
}

23
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/TagScopeDao.java

@ -0,0 +1,23 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.TagScopeDTO;
import com.epmet.entity.TagScopeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 标签应用范围表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-03-02
*/
@Mapper
public interface TagScopeDao extends BaseDao<TagScopeEntity> {
int deleteByTagId(@Param("tagId") String tagId, @Param("customerId") String customerId);
List<TagScopeDTO> selectScope(String tagId);
}

4
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagCustomerEntity.java

@ -55,4 +55,8 @@ public class TagCustomerEntity extends BaseEpmetEntity {
*/
private Integer useCount;
/**
* 1展示0隐藏;0302因烟台需求增加此列默认1
*/
private Integer showFlag;
}

41
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/TagScopeEntity.java

@ -0,0 +1,41 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 标签应用范围表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-03-02
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("tag_scope")
public class TagScopeEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID0302因烟台需求增加此表
*/
private String customerId;
/**
* 标签ID
*/
private String tagId;
/**
* 应用范围这里只能是社区id
*/
private String agencyId;
/**
* agency_id全路径包含自身
*/
private String orgIdPath;
}

3
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java

@ -291,5 +291,6 @@ public interface ArticleService extends BaseService<ArticleEntity> {
PageData<ArticleLatestResultDTO> pageArticleListByTagName(Integer pageNo,
Integer pageSize,
String gridId,
String tagName);
String tagName,
String tagId);
}

58
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagCustomerService.java

@ -20,11 +20,13 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.TagCustomerDTO;
import com.epmet.dto.form.TagCustomerFormDTO;
import com.epmet.dto.form.TagCustomerPageFormDTO;
import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.dto.result.UpdateTagUseCountsResultDTO;
import com.epmet.entity.TagCustomerEntity;
import java.util.List;
import java.util.Map;
/**
* 客户标签表
@ -35,24 +37,14 @@ import java.util.Map;
public interface TagCustomerService extends BaseService<TagCustomerEntity> {
/**
* 默认分页
* pc标签管理-分页查询
*
* @param params
* @param formDTO
* @return PageData<TagCustomerDTO>
* @author generator
* @date 2020-06-02
*/
PageData<TagCustomerDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<TagCustomerDTO>
* @author generator
* @date 2020-06-02
*/
List<TagCustomerDTO> list(Map<String, Object> params);
PageData<TagCustomerDTO> page(TagCustomerPageFormDTO formDTO);
/**
* 单条查询
@ -65,24 +57,24 @@ public interface TagCustomerService extends BaseService<TagCustomerEntity> {
TagCustomerDTO get(String id);
/**
* 默认保存
* 新增标签
*
* @param dto
* @return void
* @author generator
* @date 2020-06-02
*/
void save(TagCustomerDTO dto);
void save(TagCustomerFormDTO dto);
/**
* 默认更新
* 修改标签
*
* @param dto
* @return void
* @author generator
* @date 2020-06-02
*/
void update(TagCustomerDTO dto);
void update(TagCustomerFormDTO dto);
/**
* 批量删除
@ -100,4 +92,34 @@ public interface TagCustomerService extends BaseService<TagCustomerEntity> {
* @author zxc
*/
UpdateTagUseCountsResultDTO checkTagInfo(String tagName,String customerId,String userId);
/**
* 隐藏显示
* @param id
* @param showFlag
*/
void changeShowFlag(String id, Integer showFlag);
/**
* 初始化标签应用范围
* 每个标签和当前客户下所有社区关联
* @param tokenDto
* @return
*/
void initTagScope(String customerId);
/**
* 钉钉实时动态获取网格所属社区下 的标签列表
* 只返回tagIdtagName
* @param gridId
* @return
*/
List<TagCustomerDTO> getAgencyTag(String gridId);
/**
* 工作端获取登录用户所属组织下的标签列表
* @param staffId
* @return
*/
List<TagInfoResultDTO> queryAgencyTag(String customerId,String staffId);
}

5
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java

@ -2014,13 +2014,14 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
* @return
*/
@Override
public PageData<ArticleLatestResultDTO> pageArticleListByTagName(Integer pageNo, Integer pageSize, String gridId, String tagName) {
public PageData<ArticleLatestResultDTO> pageArticleListByTagName(Integer pageNo, Integer pageSize, String gridId, String tagName,String tagId) {
PageHelper.startPage(pageNo, pageSize);
List<ArticleLatestResultDTO> list = baseDao.pageArticleListByTagName(
gridId,
tagName,
EpmetRequestHolder.getLoginUserCustomerId(),
null);
null,
tagId);
PageInfo<ArticleLatestResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}

221
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagCustomerServiceImpl.java

@ -17,26 +17,50 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.TagCustomerDao;
import com.epmet.dao.TagScopeDao;
import com.epmet.dto.TagCustomerDTO;
import com.epmet.dto.form.TagCustomerFormDTO;
import com.epmet.dto.form.TagCustomerPageFormDTO;
import com.epmet.dto.form.UpdateTagFormDTO;
import com.epmet.dto.result.AgencyResultDTO;
import com.epmet.dto.result.TagInfoResultDTO;
import com.epmet.dto.result.UpdateTagUseCountsResultDTO;
import com.epmet.entity.TagCustomerEntity;
import com.epmet.entity.TagScopeEntity;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.redis.TagRedis;
import com.epmet.service.TagCustomerService;
import com.epmet.utils.TagColorUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 客户标签表
@ -44,32 +68,27 @@ import java.util.Map;
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-02
*/
@Slf4j
@Service
public class TagCustomerServiceImpl extends BaseServiceImpl<TagCustomerDao, TagCustomerEntity> implements TagCustomerService {
@Autowired
private TagScopeDao tagScopeDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private TagRedis tagRedis;
/**
* pc标签管理-分页查询
* @param formDTO
* @return
*/
@Override
public PageData<TagCustomerDTO> page(Map<String, Object> params) {
IPage<TagCustomerEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, TagCustomerDTO.class);
}
@Override
public List<TagCustomerDTO> list(Map<String, Object> params) {
List<TagCustomerEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, TagCustomerDTO.class);
}
private QueryWrapper<TagCustomerEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<TagCustomerEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
public PageData<TagCustomerDTO> page(TagCustomerPageFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize());
List<TagCustomerDTO> list=baseDao.pageList(formDTO.getCustomerId(),formDTO.getTagName());
PageInfo<TagCustomerDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
@Override
@ -78,18 +97,69 @@ public class TagCustomerServiceImpl extends BaseServiceImpl<TagCustomerDao, TagC
return ConvertUtils.sourceToTarget(entity, TagCustomerDTO.class);
}
/**
* pc标签管理-新增
* @param dto
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void save(TagCustomerDTO dto) {
public void save(TagCustomerFormDTO dto) {
// 标签名称是否存在
LambdaQueryWrapper<TagCustomerEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(TagCustomerEntity::getCustomerId,dto.getCustomerId())
.eq(TagCustomerEntity::getTagName,dto.getTagName());
if(baseDao.selectCount(queryWrapper)>0){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"标签名称已存在","标签名称已存在");
}
TagCustomerEntity entity = ConvertUtils.sourceToTarget(dto, TagCustomerEntity.class);
entity.setTagColor(StrConstant.EPMETY_STR);
entity.setUseCount(NumConstant.ZERO);
entity.setShowFlag(NumConstant.ONE);
insert(entity);
if(CollectionUtils.isNotEmpty(dto.getAgencyList())){
dto.getAgencyList().forEach(tagScopeDTO->{
TagScopeEntity tagScopeEntity=new TagScopeEntity();
tagScopeEntity.setCustomerId(entity.getCustomerId());
tagScopeEntity.setTagId(entity.getId());
tagScopeEntity.setAgencyId(tagScopeDTO.getAgencyId());
tagScopeEntity.setOrgIdPath(tagScopeDTO.getOrgIdPath());
tagScopeDao.insert(tagScopeEntity);
});
}
//删除redis缓存
tagRedis.clearCustomerTag(dto.getCustomerId());
}
/**
* pc标签管理-修改
* @param dto
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void update(TagCustomerDTO dto) {
public void update(TagCustomerFormDTO dto) {
// 标签名称是否存在
LambdaQueryWrapper<TagCustomerEntity> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(TagCustomerEntity::getCustomerId,dto.getCustomerId())
.eq(TagCustomerEntity::getTagName,dto.getTagName())
.ne(TagCustomerEntity::getId,dto.getId());
if(baseDao.selectCount(queryWrapper)>0){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"标签名称已存在","标签名称已存在");
}
TagCustomerEntity entity = ConvertUtils.sourceToTarget(dto, TagCustomerEntity.class);
updateById(entity);
//删除应用范围
tagScopeDao.deleteByTagId(entity.getId(),entity.getCustomerId());
if(CollectionUtils.isNotEmpty(dto.getAgencyList())){
dto.getAgencyList().forEach(tagScopeDTO->{
TagScopeEntity tagScopeEntity=new TagScopeEntity();
tagScopeEntity.setCustomerId(entity.getCustomerId());
tagScopeEntity.setTagId(entity.getId());
tagScopeEntity.setAgencyId(tagScopeDTO.getAgencyId());
tagScopeEntity.setOrgIdPath(tagScopeDTO.getOrgIdPath());
tagScopeDao.insert(tagScopeEntity);
});
}
tagRedis.clearCustomerTag(dto.getCustomerId());
}
@Override
@ -126,4 +196,99 @@ public class TagCustomerServiceImpl extends BaseServiceImpl<TagCustomerDao, TagC
return resultDTO;
}
/**
* 隐藏显示
*
* @param id
* @param showFlag
*/
@Override
public void changeShowFlag(String id, Integer showFlag) {
LambdaUpdateWrapper<TagCustomerEntity> tagCustomerUpdateWrapper = new LambdaUpdateWrapper<>();
tagCustomerUpdateWrapper.eq(TagCustomerEntity::getId, id)
.set(TagCustomerEntity::getUpdatedBy, EpmetRequestHolder.getLoginUserId())
.set(TagCustomerEntity::getUpdatedTime, new Date())
.set(TagCustomerEntity::getShowFlag,showFlag);
baseDao.update(null,tagCustomerUpdateWrapper);
tagRedis.clearCustomerTag(EpmetRequestHolder.getLoginUserCustomerId());
}
/**
* 初始化标签应用范围
* 每个标签和当前客户下所有社区关联
*
* @param customerId@return
*/
@Async
@Override
public void initTagScope(String customerId) {
if (StringUtils.isBlank(customerId)) {
return;
}
LambdaQueryWrapper<TagCustomerEntity> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(TagCustomerEntity::getCustomerId, customerId);
List<TagCustomerEntity> tagList = baseDao.selectList(queryWrapper);
if (CollectionUtils.isEmpty(tagList)) {
return;
}
int tagTotal = tagList.size();
// 获取当前客户下所有的社区组织
Result<List<AgencyResultDTO>> communityRes = govOrgOpenFeignClient.getAllCommunity(customerId);
if (communityRes.success() && CollectionUtils.isNotEmpty(communityRes.getData())) {
int communityTotal = communityRes.getData().size();
int num = 0;
for (TagCustomerEntity tag : tagList) {
for (AgencyResultDTO agencyResultDTO : communityRes.getData()) {
TagScopeEntity tagScopeEntity = new TagScopeEntity();
tagScopeEntity.setCustomerId(tag.getCustomerId());
tagScopeEntity.setTagId(tag.getId());
tagScopeEntity.setAgencyId(agencyResultDTO.getAgencyId());
tagScopeEntity.setOrgIdPath(agencyResultDTO.getOrgIdPath());
tagScopeDao.insert(tagScopeEntity);
num++;
}
}
log.error(String.format("customerId:%s,已经将%s个标签应用给%s个社区,tag_scope产生%s条记录", customerId, tagTotal, communityTotal, num));
}
}
/**
* 钉钉实时动态获取网格所属社区下 的标签列表
* 只返回tagIdtagName
*
* @param gridId
* @return
*/
@Override
public List<TagCustomerDTO> getAgencyTag(String gridId) {
GridInfoCache gridInfoCache= CustomerOrgRedis.getGridInfo(gridId);
if(null==gridInfoCache){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"查询网格信息异常gridId:"+gridId,"查询网格信息异常");
}
List<TagCustomerDTO> list=baseDao.getAgencyTag(gridInfoCache.getPid(),gridInfoCache.getCustomerId());
return list;
}
/**
* 工作端获取登录用户所属组织下的标签列表
*
* @param staffId
* @return
*/
@Override
public List<TagInfoResultDTO> queryAgencyTag(String customerId,String staffId) {
CustomerStaffInfoCacheResult staffInfoCacheResult= CustomerStaffRedis.getStaffInfo(customerId,staffId);
List<TagCustomerDTO> list=baseDao.getAgencyTag(staffInfoCacheResult.getAgencyId(),customerId);
List<TagInfoResultDTO> resultDTOList=new ArrayList<>();
list.forEach(tagCustomerDTO->{
TagInfoResultDTO resultDTO=new TagInfoResultDTO();
resultDTO.setTagId(tagCustomerDTO.getId());
resultDTO.setTagColor(tagCustomerDTO.getTagColor());
resultDTO.setTagName(tagCustomerDTO.getTagName());
resultDTOList.add(resultDTO);
});
return resultDTOList;
}
}

2
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagServiceImpl.java

@ -57,6 +57,7 @@ public class TagServiceImpl implements TagService {
* @Description 已发布列表页的标签政府端
* @param tokenDto
* @author zxc
* 补充pc党建声音查询条件新增弹框中的标签下拉框也调用的此接口
*/
@Override
@Transactional(rollbackFor = Exception.class)
@ -64,6 +65,7 @@ public class TagServiceImpl implements TagService {
String customerId = tokenDto.getCustomerId();
List<TagInfoResultDTO> resultDtos = tagRedis.zRevRange(customerId);
if (resultDtos.size() == NumConstant.ZERO){
//初始化标签
resultDtos = this.initTags(customerId);
}
return resultDtos;

3
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

@ -543,6 +543,9 @@
<if test="agencyId != null and agencyId != '' ">
AND art.org_id_path like concat('%',#{agencyId},'%')
</if>
<if test="tagId != null and tagId != '' ">
AND t.tag_id =#{tagId}
</if>
ORDER BY
art.PUBLISH_DATE DESC,
art.CREATED_TIME DESC

36
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagCustomerDao.xml

@ -56,4 +56,40 @@
ORDER BY CUSTOMER_ID
</select>
<resultMap id="TagCustomerMap" type="com.epmet.dto.TagCustomerDTO">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="tagName" column="TAG_NAME"/>
<result property="tagColor" column="TAG_COLOR"/>
<result property="useCount" column="USE_COUNT"/>
<result property="showFlag" column="SHOW_FLAG"/>
<association property="agencyList" column="ID" select="com.epmet.dao.TagScopeDao.selectScope"/>
</resultMap>
<!-- pc标签管理-分页查询 -->
<select id="pageList" parameterType="map" resultMap="TagCustomerMap">
select tc.*
from tag_customer tc
where tc.del_flag='0'
and tc.CUSTOMER_ID=#{customerId}
<if test='null != tagName and "" != tagName'>
and tc.TAG_NAME like concat('%',#{tagName},'%')
</if>
</select>
<!-- 钉钉实时动态,获取网格所属社区下, 的标签列表 -->
<select id="getAgencyTag" parameterType="map" resultType="com.epmet.dto.TagCustomerDTO">
SELECT
tc.id,
tc.TAG_NAME,
tc.TAG_COLOR as tagColor
FROM
tag_scope ts
INNER JOIN tag_customer tc ON ( ts.TAG_ID = tc.id AND ts.CUSTOMER_ID = tc.CUSTOMER_ID )
WHERE
ts.CUSTOMER_ID = #{customerId}
AND tc.CUSTOMER_ID
AND ts.AGENCY_ID = #{agencyId}
ORDER BY
convert(tc.TAG_NAME USING gbk) ASC;
</select>
</mapper>

34
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/TagScopeDao.xml

@ -0,0 +1,34 @@
<?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.dao.TagScopeDao">
<resultMap type="com.epmet.entity.TagScopeEntity" id="tagScopeMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="tagId" column="TAG_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="orgIdPath" column="ORG_ID_PATH"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteByTagId" parameterType="map">
delete from tag_scope
where TAG_ID=#{tagId}
and CUSTOMER_ID=#{customerId}
</delete>
<select id="selectScope" parameterType="java.lang.String" resultType="com.epmet.dto.TagScopeDTO">
select ts.TAG_ID,
ts.AGENCY_ID,
ts.ORG_ID_PATH
from tag_scope ts
where ts.del_flag='0'
and ts.TAG_ID=#{tagId}
</select>
</mapper>

2
epmet-module/open-data-worker/open-data-worker-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/oper-access/oper-access-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/oper-crm/oper-crm-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/oper-customize/oper-customize-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/resi-group/resi-group-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/resi-guide/resi-guide-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/resi-hall/resi-hall-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/resi-home/resi-home-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/resi-mine/resi-mine-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/resi-partymember/resi-partymember-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-module/resi-voice/resi-voice-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2
epmet-openapi/epmet-openapi-scan/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserBadgeCertificateRecordDTO.java

@ -16,6 +16,10 @@ public class UserBadgeCertificateRecordDTO implements Serializable {
private String id;
private String customerId;
private String gridId;
/**
* 组织id;0306烟台需求增加
*/
private String agencyId;
private String userId;
private String badgeId;
private String surname;

58
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeAuditPageFormDTO.java

@ -0,0 +1,58 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2023/3/6 9:58
*/
@Data
public class BadgeAuditPageFormDTO implements Serializable {
private static final long serialVersionUID = -6908967598027076330L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class)
private String customerId;
/**
* 页码
*/
@NotNull(message = "pageNo不能为空", groups = AddUserInternalGroup.class)
private Integer pageNo;
/**
* 每页显示数量
*/
@NotNull(message = "pageSize不能为空", groups = AddUserInternalGroup.class)
private Integer pageSize;
/**
* 当前用户所属的组织id
*/
@NotBlank(message = "agencyId不能为空", groups = AddUserInternalGroup.class)
private String agencyId;
/**
* 网格Id
*/
private String gridId;
/**
* 徽章id
*/
private String badgeId;
/**
* 审核状态 approved:审核通过rejected:审核驳回;auditing:审核中
*/
private String auditStatus;
}

14
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BadgeAuditRecordResultDTO.java

@ -37,7 +37,7 @@ public class BadgeAuditRecordResultDTO implements Serializable {
*/
private Long createTime;
/**
* 用户名
* 审核状态 approved:审核通过rejected:审核驳回;auditing:审核中
*/
private String auditStatus;
@ -50,4 +50,16 @@ public class BadgeAuditRecordResultDTO implements Serializable {
* 审核记录ID
*/
private String recordId;
/**
* pc端徽章审核-分页列表赋值
* 03.07:烟台需求pc端增加徽章审核
*/
private String gridId;
/**
* pc端徽章审核-分页列表赋值
* 03.07:烟台需求pc端增加徽章审核
* 网格名称社区-网格
*/
private String gridName;
}

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BadgeListResultDTO.java

@ -32,4 +32,5 @@ public class BadgeListResultDTO {
* 固有徽章类型 党员徽章party;none
*/
private String type;
private String customerId;
}

9
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CertificationDetailResultDTO.java

@ -63,6 +63,11 @@ public class CertificationDetailResultDTO implements Serializable {
*/
private String recordId;
private String gridId;
private String gridName;
private String badgeId;
private String badgeName;
public CertificationDetailResultDTO() {
this.surname = "";
this.name = "";
@ -74,5 +79,9 @@ public class CertificationDetailResultDTO implements Serializable {
this.authResult = "";
this.authReason = "";
this.recordId = "";
this.gridId="";
this.gridName="";
this.badgeId="";
this.badgeName="";
}
}

2
epmet-user/epmet-user-server/Dockerfile

@ -1,4 +1,4 @@
FROM java:8
FROM openjdk:8-jre
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

23
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java

@ -4,6 +4,7 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
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.commons.tools.validator.ValidatorUtils;
@ -140,6 +141,20 @@ public class BadgeController {
return new Result<List<BadgeAuditRecordResultDTO>>().ok(result);
}
/**
* pc端徽章审核-分页列表
*
* @param formDTO
* @return
*/
@PostMapping("audit-page-list")
public Result<PageData<BadgeAuditRecordResultDTO>> auditPageList(@LoginUser TokenDto tokenDto,@RequestBody BadgeAuditPageFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO, BadgeAuditPageFormDTO.AddUserInternalGroup.class, BadgeAuditPageFormDTO.AddUserShowGroup.class);
return new Result<PageData<BadgeAuditRecordResultDTO>>().ok(badgeService.auditPageList(formDTO));
}
/**
* 审核
* @author zhaoqifeng
@ -232,4 +247,12 @@ public class BadgeController {
return new Result<Integer>().ok(badgeService.deleteBadgeCertificateAuditing(customerId,gridId));
}
/**
* 查询当前客户下所有的徽章用于pc徽章审核查询条件
* @return
*/
@PostMapping("badge-options")
public Result<List<BadgeListResultDTO>> queryBadgeOptions(@LoginUser TokenDto tokenDto){
return new Result<List<BadgeListResultDTO>>().ok(badgeService.queryBadgeOptions(tokenDto.getCustomerId()));
}
}

19
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -1219,6 +1219,25 @@ public class IcResiUserController implements ResultDataResolver {
return new Result().ok(r);
}
/**
* 根据房屋主键查询户内家庭成员简信息
* 返回的手机号身份证加密
*
* @param houseId 房屋主键
* @param loginUser 登录用户
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.HomeUserBriefResultDTO>>
* @author work@yujt.net.cn
* @date 2022/4/21/0021 15:00
*/
@MaskResponse(fieldNames = {"mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE,MaskResponse.MASK_TYPE_ID_CARD})
@PostMapping("listhomeuserbrief-encrypt/{houseId}")
public Result<List<HomeUserBriefResultDTO>> listHomeUserBriefEncrypt(@PathVariable("houseId") String houseId, @LoginUser TokenDto loginUser) {
String customerId = loginUser.getCustomerId();
List<HomeUserBriefResultDTO> r = icResiUserService.listHomeUserBrief(houseId, customerId);
return new Result().ok(r);
}
/**
* 根据房屋id,查询居民信息表中-家庭信息-本人 的居民如果有多个返回最近一个
*

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

@ -77,7 +77,7 @@ public class UserBadgeController {
certificationAddFormDTO.setUserId(tokenDto.getUserId());
certificationAddFormDTO.setSendMsgFlag(false);
// 是否自动通过
certificationAddFormDTO.setAutoPassFlag(true);
certificationAddFormDTO.setAutoPassFlag(false);
ValidatorUtils.validateEntity(certificationAddFormDTO, CertificationAddFormDTO.CertificationAdd.class);
return userBadgeService.authBadgeRecord(certificationAddFormDTO);
}

15
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java

@ -213,4 +213,19 @@ public interface BadgeDao extends BaseDao<BadgeEntity> {
*/
Integer badgeAuditReset(@Param("gridId") String gridId);
/**
* pc端徽章审核-分页列表
*
* @param customerId
* @param agencyId
* @param gridId
* @param badgeId
* @param auditStatus
* @return
*/
List<BadgeAuditRecordResultDTO> auditPageList(@Param("customerId") String customerId,
@Param("agencyId") String agencyId,
@Param("gridId") String gridId,
@Param("badgeId") String badgeId,
@Param("auditStatus") String auditStatus);
}

5
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserBadgeCertificateRecordEntity.java

@ -47,6 +47,11 @@ public class UserBadgeCertificateRecordEntity extends BaseEpmetEntity {
*/
private String gridId;
/**
* 组织id;0306烟台需求增加
*/
private String agencyId;
/**
* 用户ID
*/

20
epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBaseInfoRedis.java

@ -222,15 +222,17 @@ public class UserBaseInfoRedis {
String gridFullName = gridInfoCache.getGridNamePath();
baseInfo.setRegisteredGridName(gridFullName);
StringBuffer buffer = new StringBuffer(gridFullName.split(ModuleConstant.DASH)[NumConstant.ONE]).append(ModuleConstant.DASH).append(baseInfo.getSurname());
switch (baseInfo.getGender()) {
case NumConstant.ONE_STR:
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_MALE);
break;
case NumConstant.TWO_STR:
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_FEMALE);
break;
default:
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_GENDER_UNKNOWN);
if(null!=baseInfo.getGender()){
switch (baseInfo.getGender()) {
case NumConstant.ONE_STR:
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_MALE);
break;
case NumConstant.TWO_STR:
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_FEMALE);
break;
default:
buffer.append(ModuleConstant.RESI_USER_NICKNAME_SUFFIX_GENDER_UNKNOWN);
}
}
baseInfo.setShowName(buffer.toString());
}

14
epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java

@ -215,4 +215,18 @@ public interface BadgeService extends BaseService<BadgeEntity> {
* @return
*/
Integer deleteBadgeCertificateAuditing(String customerId, String gridId);
/**
* pc端徽章审核-分页列表
* @param formDTO
* @return
*/
PageData<BadgeAuditRecordResultDTO> auditPageList(BadgeAuditPageFormDTO formDTO);
/**
* 查询当前客户下所有的徽章用于pc徽章审核查询条件
* @param customerId
* @return
*/
List<BadgeListResultDTO> queryBadgeOptions(String customerId);
}

40
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java

@ -30,6 +30,8 @@ import com.epmet.commons.tools.exception.ValidateException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
@ -49,6 +51,8 @@ import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.MessageFeignClient;
import com.epmet.redis.UserBadgeRedis;
import com.epmet.service.*;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -516,4 +520,40 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
public Integer deleteBadgeCertificateAuditing(String customerId, String gridId) {
return userBadgeCertificateRecordService.deleteBadgeCertificateAuditing(customerId,gridId);
}
/**
* pc端徽章审核-分页列表
*
* @param formDTO
* @return
*/
@Override
public PageData<BadgeAuditRecordResultDTO> auditPageList(BadgeAuditPageFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<BadgeAuditRecordResultDTO> list = baseDao.auditPageList(formDTO.getCustomerId(),
formDTO.getAgencyId(),
formDTO.getGridId(),
formDTO.getBadgeId(),
formDTO.getAuditStatus());
list.forEach(dto -> {
GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(dto.getGridId());
if (null != gridInfoCache) {
dto.setGridName(gridInfoCache.getGridNamePath());
}
});
PageInfo<BadgeAuditRecordResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
/**
* 查询当前客户下所有的徽章用于pc徽章审核查询条件
*
* @param customerId
* @return
*/
@Override
public List<BadgeListResultDTO> queryBadgeOptions(String customerId) {
List<BadgeListResultDTO> list=baseDao.selectList(customerId);
return list;
}
}

42
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java

@ -6,8 +6,11 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.commons.tools.validator.PhoneValidatorUtils;
@ -17,19 +20,18 @@ import com.epmet.constant.ReadFlagConstant;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.constant.UserMessageTypeConstant;
import com.epmet.dao.*;
import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.ResiUserBadgeDTO;
import com.epmet.dto.UserBadgeCertificateRecordDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.BadgeEntity;
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.ResiUserBadgeService;
import com.epmet.service.UserBadgeCertificateRecordService;
import com.epmet.service.UserBadgeService;
import com.epmet.service.UserBaseInfoService;
import com.epmet.service.*;
import com.epmet.util.ModuleConstant;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -278,6 +280,20 @@ public class UserBadgeServiceImpl implements UserBadgeService {
return new Result().error(EpmetErrorCode.MOBILE_CODE_ERROR.getCode());
}
}
// 0309:如果是党员徽章去判断居民信息-类别是否是党员
String auditRemark="";
BadgeEntity badgeEntity = badgeDao.selectBadgeInfo(EpmetRequestHolder.getLoginUserCustomerId(),certificationAddFormDTO.getBadgeId());
if (null == badgeEntity) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "徽章信息查询异常", "徽章信息查询异常");
}
if (BadgeConstant.PARTY.equals(badgeEntity.getFixationBadgeType())) {
// 如果是党员徽章,去查看居民信息-类别
IcResiUserDTO icResiUserDTO = SpringContextUtils.getBean(IcResiUserService.class).getByResiId(certificationAddFormDTO.getIdcard());
if (null != icResiUserDTO && NumConstant.ONE_STR.equals(icResiUserDTO.getIsParty())) {
auditRemark ="居民信息是党员,徽章申请自动通过";
certificationAddFormDTO.setAutoPassFlag(true);
}
}
UserBadgeCertificateRecordDTO form = ConvertUtils.sourceToTarget(certificationAddFormDTO, UserBadgeCertificateRecordDTO.class);
List<String> userIds = new ArrayList<>();
userIds.add(certificationAddFormDTO.getUserId());
@ -296,6 +312,11 @@ public class UserBadgeServiceImpl implements UserBadgeService {
log.info(JSON.toJSONString(form));
String recordId=IdWorker.getIdStr();
form.setId(recordId);
GridInfoCache gridInfoCache=CustomerOrgRedis.getGridInfo(form.getGridId());
if(null==gridInfoCache||StringUtils.isBlank(gridInfoCache.getPid())){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"查询网格缓存异常","查询网格缓存异常");
}
form.setAgencyId(gridInfoCache.getPid());
userBadgeDao.insertUserBadgeCertificateRecord(form);
if(certificationAddFormDTO.getSendMsgFlag()){
//TODO 站内信发送
@ -314,6 +335,7 @@ public class UserBadgeServiceImpl implements UserBadgeService {
//审核状态 approved:审核通过,rejected:审核驳回;auditing:审核中
badgeAuditFormDTO.setAuditStatus(BadgeConstant.APPROVED);
badgeAuditFormDTO.setCurrentUserId("APP_USER");
badgeAuditFormDTO.setAuditRemark(auditRemark);
autoPassBadge(badgeAuditFormDTO);
}
Map resultMap=new HashMap();
@ -332,6 +354,7 @@ public class UserBadgeServiceImpl implements UserBadgeService {
dto.setStaffId(badgeAuditFormDTO.getCurrentUserId());
dto.setIsLast(BadgeConstant.YES);
dto.setAuditTime(new Date());
dto.setAuditRemark(badgeAuditFormDTO.getAuditRemark());
SpringContextUtils.getBean(UserBadgeCertificateRecordService.class).update(dto);
ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO();
@ -402,7 +425,12 @@ public class UserBadgeServiceImpl implements UserBadgeService {
public CertificationDetailResultDTO certificationDetail(TokenDto tokenDto, CertificationDetailFormDTO certificationDetailFormDTO) {
//工作端
if (StringUtils.isNotBlank(certificationDetailFormDTO.getRecordId())){
return userBadgeDao.selectBadgeAuthRecord(null, certificationDetailFormDTO.getBadgeId(),certificationDetailFormDTO.getRecordId());
CertificationDetailResultDTO res= userBadgeDao.selectBadgeAuthRecord(null, certificationDetailFormDTO.getBadgeId(),certificationDetailFormDTO.getRecordId());
GridInfoCache gridInfoCache= CustomerOrgRedis.getGridInfo(res.getGridId());
if(null!=gridInfoCache){
res.setGridName(gridInfoCache.getGridNamePath());
}
return res;
}
//居民端
CertificationDetailResultDTO resiResult = userBadgeDao.selectBadgeAuthRecord(tokenDto.getUserId(), certificationDetailFormDTO.getBadgeId(),certificationDetailFormDTO.getRecordId());
@ -413,6 +441,10 @@ public class UserBadgeServiceImpl implements UserBadgeService {
resiResult.setIdcard(userInfo.getIdNum());
}
}
GridInfoCache gridInfoCache= CustomerOrgRedis.getGridInfo(resiResult.getGridId());
if(null!=gridInfoCache){
resiResult.setGridName(gridInfoCache.getGridNamePath());
}
return resiResult;
}

117
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java

@ -26,6 +26,7 @@ import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
@ -61,6 +62,7 @@ import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.redisson.api.RLock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -68,6 +70,7 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
* 用户基础信息
@ -102,6 +105,8 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl<UserBaseInfoDao, Us
private RegisterRelationDao registerRelationDao;
@Resource
private UserDao userDao;
@Autowired
private DistributedLock distributedLock;
@Override
public PageData<UserBaseInfoDTO> page(Map<String, Object> params) {
@ -550,66 +555,72 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl<UserBaseInfoDao, Us
result.setGridId(StrConstant.EPMETY_STR);
result.setGridName(StrConstant.EPMETY_STR);
result.setAgencyId(StrConstant.EPMETY_STR);
//根据手机号从baseinfo查对应的信息,如果有则返回,没有则注册
UserBaseInfoEntity baseInfo = baseDao.selectUserByMobile(formDTO.getCustomerId(),formDTO.getMobile());
if (null == baseInfo) {
//注册
UserEntity userEntity = new UserEntity();
userEntity.setFromApp(AppClientConstant.APP_RESI);
userEntity.setFromClient(AppClientConstant.MINI_DING);
userEntity.setCustomerId(formDTO.getCustomerId());
userDao.insert(userEntity);
//信息存入baseinfo
baseInfo = new UserBaseInfoEntity();
baseInfo.setCustomerId(formDTO.getCustomerId());
baseInfo.setUserId(userEntity.getId());
baseInfo.setMobile(formDTO.getMobile());
baseInfo.setRealName(formDTO.getNick());
baseInfo.setSurname(NameUtils.getSurNameComplex(formDTO.getNick()));
baseInfo.setName(NameUtils.getNameComplex(formDTO.getNick()));
baseInfo.setNickname(formDTO.getNick());
baseInfo.setHeadImgUrl(formDTO.getAvatarUrl());
baseInfo.setGender(NumConstant.ZERO_STR);
baseDao.insert(baseInfo);
result.setEpmetUserId(userEntity.getId());
result.setRegFlag(false);
} else {
// 更新下user_Base_info信息
if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getRealName())) {
RLock lock = null;
try {
lock = distributedLock.getLock(String.format("epmet:lock:dingResiLogin:%s",formDTO.getMobile()), 120L, 3L, TimeUnit.SECONDS);
//根据手机号从baseinfo查对应的信息,如果有则返回,没有则注册
UserBaseInfoEntity baseInfo = baseDao.selectUserByMobile(formDTO.getCustomerId(),formDTO.getMobile());
if (null == baseInfo) {
//注册
UserEntity userEntity = new UserEntity();
userEntity.setFromApp(AppClientConstant.APP_RESI);
userEntity.setFromClient(AppClientConstant.MINI_DING);
userEntity.setCustomerId(formDTO.getCustomerId());
userDao.insert(userEntity);
//信息存入baseinfo
baseInfo = new UserBaseInfoEntity();
baseInfo.setCustomerId(formDTO.getCustomerId());
baseInfo.setUserId(userEntity.getId());
baseInfo.setMobile(formDTO.getMobile());
baseInfo.setRealName(formDTO.getNick());
}
if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getSurname())) {
baseInfo.setSurname(NameUtils.getSurNameComplex(formDTO.getNick()));
}
if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getName())) {
baseInfo.setName(NameUtils.getNameComplex(formDTO.getNick()));
}
if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getNickname())) {
baseInfo.setNickname(formDTO.getNick());
}
if (StringUtils.isNotBlank(formDTO.getAvatarUrl()) && StringUtils.isBlank(baseInfo.getHeadImgUrl())) {
baseInfo.setHeadImgUrl(formDTO.getAvatarUrl());
}
baseDao.updateById(baseInfo);
result.setEpmetUserId(baseInfo.getUserId());
LambdaQueryWrapper<RegisterRelationEntity> registerWrapper = new LambdaQueryWrapper<>();
registerWrapper.eq(RegisterRelationEntity::getCustomerId, formDTO.getCustomerId());
registerWrapper.eq(RegisterRelationEntity::getUserId, baseInfo.getUserId());
registerWrapper.eq(RegisterRelationEntity::getFirstRegister, NumConstant.ONE_STR);
RegisterRelationEntity registerRelation = registerRelationDao.selectOne(registerWrapper);
if (null != registerRelation) {
result.setAgencyId(registerRelation.getAgencyId());
result.setGridId(registerRelation.getGridId());
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(registerRelation.getGridId());
if (null == gridInfo) {
logger.error(String.format("获取用户注册网格信息为空,userId:%s,gridId:%s", baseInfo.getUserId(), registerRelation.getGridId()));
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取网格信息为空", "获取小程序注册网格信息失败");
baseInfo.setGender(NumConstant.ZERO_STR);
baseDao.insert(baseInfo);
result.setEpmetUserId(userEntity.getId());
result.setRegFlag(false);
} else {
// 更新下user_Base_info信息
if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getRealName())) {
baseInfo.setRealName(formDTO.getNick());
}
if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getSurname())) {
baseInfo.setSurname(NameUtils.getSurNameComplex(formDTO.getNick()));
}
if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getName())) {
baseInfo.setName(NameUtils.getNameComplex(formDTO.getNick()));
}
if (StringUtils.isNotBlank(formDTO.getNick()) && StringUtils.isBlank(baseInfo.getNickname())) {
baseInfo.setNickname(formDTO.getNick());
}
if (StringUtils.isNotBlank(formDTO.getAvatarUrl()) && StringUtils.isBlank(baseInfo.getHeadImgUrl())) {
baseInfo.setHeadImgUrl(formDTO.getAvatarUrl());
}
baseDao.updateById(baseInfo);
result.setEpmetUserId(baseInfo.getUserId());
LambdaQueryWrapper<RegisterRelationEntity> registerWrapper = new LambdaQueryWrapper<>();
registerWrapper.eq(RegisterRelationEntity::getCustomerId, formDTO.getCustomerId());
registerWrapper.eq(RegisterRelationEntity::getUserId, baseInfo.getUserId());
registerWrapper.eq(RegisterRelationEntity::getFirstRegister, NumConstant.ONE_STR);
RegisterRelationEntity registerRelation = registerRelationDao.selectOne(registerWrapper);
if (null != registerRelation) {
result.setAgencyId(registerRelation.getAgencyId());
result.setGridId(registerRelation.getGridId());
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(registerRelation.getGridId());
if (null == gridInfo) {
logger.error(String.format("获取用户注册网格信息为空,userId:%s,gridId:%s", baseInfo.getUserId(), registerRelation.getGridId()));
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取网格信息为空", "获取小程序注册网格信息失败");
}
result.setGridName(gridInfo.getGridNamePath());
result.setRegFlag(true);
}
result.setGridName(gridInfo.getGridNamePath());
result.setRegFlag(true);
}
} finally {
distributedLock.unLock(lock);
}
return result;
}

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

@ -619,14 +619,14 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
//居民角色对应的网格Id存默认值-all
userRoleDTO.setGridId(UserRoleConstant.DEFAULT_GRID_ID);
userRoleService.saveUserRole(userRoleDTO);
//4:保存baseInfo
//4:记录用户的注册网格register_relation
registerRelationService.saveRegisterRelation(userResiInfoDTO);
//5:保存baseInfo
UserBaseInfoEntity baseInfo = ConvertUtils.sourceToTarget(userResiInfoDTO, UserBaseInfoEntity.class);
baseInfo.setMobile(userResiInfoDTO.getRegMobile());
baseInfo.setSurname(NameUtils.getSurNameComplex(userInfo.getRealName()));
baseInfo.setName(NameUtils.getNameComplex(userInfo.getRealName()));
userBaseInfoService.insertOrUpdate(baseInfo);
//5:记录用户的注册网格register_relation
registerRelationService.saveRegisterRelation(userResiInfoDTO);
}else{
//已经是注册居民了
LambdaQueryWrapper<RegisterRelationEntity> registerWrapper = new LambdaQueryWrapper<>();

58
epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml

@ -67,7 +67,8 @@
BADGE_NAME,
BADGE_ICON,
BADGE_STATUS,
FIXATION_BADGE_TYPE AS "type"
FIXATION_BADGE_TYPE AS "type",
CUSTOMER_ID as customerId
FROM
(
SELECT * FROM badge
@ -340,4 +341,59 @@
AND AUDIT_STATUS = 'auditing'
AND GRID_ID = #{gridId}
</select>
<!-- pc端徽章审核-分页列表 -->
<select id="auditPageList" parameterType="map" resultType="com.epmet.dto.result.BadgeAuditRecordResultDTO">
SELECT
ubcr.ID AS recordId,
ubcr.badge_id AS "badgeId",
badge.BADGE_NAME,
badge.BADGE_ICON,
ubcr.USER_ID,
ubcr.AUDIT_STATUS,
ubi.REAL_NAME AS "userName",
ubi.HEAD_IMG_URL AS userAvatar,
unix_timestamp(ubcr.CREATED_TIME) AS "createTime",
ubcr.GRID_ID as gridId,
'' as gridName,
ubcr.AUDIT_STATUS as auditStatus
FROM
user_badge_certificate_record ubcr
LEFT JOIN user_base_info ubi ON ubcr.USER_ID = ubi.USER_ID AND ubi.DEL_FLAG = '0'
LEFT JOIN (SELECT
ID,
BADGE_NAME,
BADGE_ICON,
BADGE_STATUS
FROM
(
SELECT * FROM badge
WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0'
<if test='null != badgeId and "" != badgeId'>
and id = #{badgeId}
</if>
UNION ALL
SELECT * FROM badge a
WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0'
<if test='null != badgeId and "" != badgeId'>
and a.id = #{badgeId}
</if>
AND NOT EXISTS
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID AND b.DEL_FLAG = '0')) t) badge ON ubcr.BADGE_ID = badge.ID
WHERE ubcr.DEL_FLAG = '0'
AND ubcr.CUSTOMER_ID = #{customerId}
<if test='null != agencyId and "" != agencyId'>
and ubcr.AGENCY_ID= #{agencyId}
</if>
<if test='null != gridId and "" != gridId'>
AND ubcr.GRID_ID = #{gridId}
</if>
<if test='null != badgeId and "" != badgeId'>
and ubcr.badge_id =#{badgeId}
</if>
<if test='null != auditStatus and "" != auditStatus'>
and ubcr.AUDIT_STATUS = #{auditStatus}
</if>
ORDER BY ubcr.CREATED_TIME DESC
</select>
</mapper>

3
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -476,7 +476,8 @@
mobile,
agency_id,
grid_id,
home_id
home_id,
IS_PARTY as isParty
FROM
ic_resi_user
WHERE

46
epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

@ -102,31 +102,35 @@
<!-- 查询单个徽章的认证记录 -->
<select id="selectBadgeAuthRecord" resultType="com.epmet.dto.result.CertificationDetailResultDTO">
SELECT
SURNAME,
NAME,
ID_NUM AS idcard,
( CASE WHEN AUDIT_STATUS = 'approved' THEN 'yes' ELSE 'no' END ) AS isCertificated,
MOBILE,
CERTIFICATION_IMG,
REMAEK AS remark,
CUSTOMER_ID,
BADGE_ID,
CERTIFICATION_IMG,
AUDIT_STATUS,
AUDIT_STATUS AS authResult,
AUDIT_REMARK AS authReason,
ID AS recordId
r.SURNAME,
r.NAME,
r.ID_NUM AS idcard,
( CASE WHEN r.AUDIT_STATUS = 'approved' THEN 'yes' ELSE 'no' END ) AS isCertificated,
r.MOBILE,
r.CERTIFICATION_IMG,
r.REMAEK AS remark,
r.CUSTOMER_ID,
r.BADGE_ID,
r.CERTIFICATION_IMG,
r.AUDIT_STATUS,
r.AUDIT_STATUS AS authResult,
r.AUDIT_REMARK AS authReason,
r.ID AS recordId,
r.GRID_ID as gridId,
r.BADGE_ID as badgeId,
b.BADGE_NAME as badgeName
FROM
user_badge_certificate_record
user_badge_certificate_record r
left join badge b on(r.BADGE_ID=b.id and r.CUSTOMER_ID=b.CUSTOMER_ID)
WHERE
DEL_FLAG = 0
AND BADGE_ID = #{badgeId}
r.DEL_FLAG = 0
AND r.BADGE_ID = #{badgeId}
<if test="userId != null and userId != '' ">
AND USER_ID = #{userId}
AND IS_LAST = 'yes'
AND r.USER_ID = #{userId}
AND r.IS_LAST = 'yes'
</if>
<if test="recordId != null and recordId != ''">
AND ID = #{recordId}
AND r.ID = #{recordId}
</if>
</select>
@ -175,6 +179,7 @@
ID,
CUSTOMER_ID,
GRID_ID,
AGENCY_ID,
USER_ID,
BADGE_ID,
SURNAME,
@ -200,6 +205,7 @@
#{id},
#{customerId},
#{gridId},
#{agencyId},
#{userId},
#{badgeId},
#{surname},

Loading…
Cancel
Save