From 498c9dd69216e669634f02c379556f54f434017e Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 23 Jun 2021 15:34:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?14=E4=B8=AA=E5=9F=BA=E7=A1=80=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=B8=8A=E6=8A=A5=E6=8E=A5=E5=8F=A3=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/AgencyGroupTotalFormDTO.java | 85 ++++++++ .../form/AgencyHotTopicFormDTO.java | 85 ++++++++ .../basereport/form/AgencyIssueFormDTO.java | 196 ++++++++++++++++++ .../basereport/form/AgencyProjectFormDTO.java | 141 +++++++++++++ .../basereport/form/AgencyRegUserFormDTO.java | 106 ++++++++++ .../form/AgencyTopicIssueFormDTO.java | 80 +++++++ .../form/AgencyTopicStatusFormDTO.java | 96 +++++++++ .../form/GridGroupTotalFormDTO.java | 86 ++++++++ .../basereport/form/GridHotTopicFormDTO.java | 85 ++++++++ .../dto/basereport/form/GridIssueFormDTO.java | 196 ++++++++++++++++++ .../basereport/form/GridProjectFormDTO.java | 141 +++++++++++++ .../basereport/form/GridRegUserFormDTO.java | 113 ++++++++++ .../form/GridTopicIssueFormDTO.java | 81 ++++++++ .../form/GridTopicStatusFormDTO.java | 95 +++++++++ .../com/epmet/dto/basereport/result/.gitkeep | 0 .../controller/BaseReportController.java | 175 ++++++++++++++++ .../com/epmet/service/BaseReportService.java | 10 + .../service/impl/BaseReportServiceImpl.java | 13 ++ 18 files changed, 1784 insertions(+) create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyGroupTotalFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyHotTopicFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyIssueFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyProjectFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyRegUserFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicIssueFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicStatusFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridGroupTotalFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridHotTopicFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridIssueFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridProjectFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridRegUserFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicIssueFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicStatusFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/.gitkeep create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyGroupTotalFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyGroupTotalFormDTO.java new file mode 100644 index 0000000000..b7f71d2257 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyGroupTotalFormDTO.java @@ -0,0 +1,85 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 基础数据上报-组织群组总数-接口入参 + * @Auth sun + */ +@Data +public class AgencyGroupTotalFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 机构ID 关联机关dim表 + */ + private String agencyId; + + /** + * 父级机关ID + */ + private String pid; + + /** + * 统计日期 关联日期dim表 + */ + private String dateId; + + /** + * 周ID + */ + private String weekId; + + /** + * 月份ID + */ + private String monthId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 年ID + */ + private String yearId; + + /** + * 当前组织及下级小组总数 + */ + private Integer groupTotal; + + /** + * 当前组织及下级楼院小组总数 + */ + private Integer ordinaryTotal; + + /** + * 当前组织及下级支部小组总数 + */ + private Integer branchTotal; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyHotTopicFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyHotTopicFormDTO.java new file mode 100644 index 0000000000..4a09a985d1 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyHotTopicFormDTO.java @@ -0,0 +1,85 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 基础数据上报-组织热议话题数据-接口入参 + * @Auth sun + */ +@Data +public class AgencyHotTopicFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 机构ID 关联机关dm表 + */ + private String agencyId; + + /** + * 父级机关ID + */ + private String pid; + + /** + * 统计日期 关联日期dm表 + */ + private String dateId; + + /** + * 周ID + */ + private String weekId; + + /** + * 月ID + */ + private String monthId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 年ID + */ + private String yearId; + + /** + * 话题总数 + */ + private Integer topicTotal; + + /** + * 话题状态【热议中:hot_discuss】 + */ + private String status; + + /** + * 状态话题数量 + */ + private Integer topicCount; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyIssueFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyIssueFormDTO.java new file mode 100644 index 0000000000..3022e34bc8 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyIssueFormDTO.java @@ -0,0 +1,196 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-组织议题数据-接口入参 + * @Auth sun + */ +@Data +public class AgencyIssueFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 组织ID + */ + private String agencyId; + + /** + * 上级组织ID + */ + private String pid; + + /** + * 年度ID + */ + private String yearId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 月度ID + */ + private String monthId; + + /** + * 周ID + */ + private String weekId; + + /** + * 日期ID + */ + private String dateId; + + /** + * 当日议题增量 + */ + private Integer issueIncr; + + /** + * 议题总数 + */ + private Integer issueTotal; + + /** + * 当日已转项目的议题数增量 + */ + private Integer shiftProjectIncr; + + /** + * 已转项目的议题总数 + */ + private Integer shiftProjectTotal; + + /** + * 已转项目所占百分比 + */ + private BigDecimal shiftProjectPercent; + + /** + * 当日表决中议题数增量 + */ + private Integer votingIncr; + + /** + * 表决中议题总数 + */ + private Integer votingTotal; + + /** + * 表决中议题所占百分比 + */ + private BigDecimal votingPercent; + + /** + * 当日已关闭议题数增量 + */ + private Integer closedIncr; + + /** + * 当日已关闭议题中已解决数量 + */ + private Integer closedResolvedIncr; + + /** + * 当日已关闭议题中无需解决数量 + */ + private Integer closedUnresolvedIncr; + + /** + * 已关闭议题总数 + */ + private Integer closedTotal; + + /** + * 已关闭议题中已解决总数 + */ + private Integer closedResolvedTotal; + + /** + * 已关闭议题中未解决总数 + */ + private Integer closedUnresolvedTotal; + + /** + * 已关闭议题所占百分比 + */ + private BigDecimal closedPercent; + + /** + * 已关闭议题中已解决百分比 + */ + private BigDecimal closedResolvedPercent; + + /** + * 已关闭议题中未解决百分比 + */ + private BigDecimal closedUnresolvedPercent; + + /** + * 当日已结案议题数 + */ + private Integer closedCaseIncr; + + /** + * 当日已结案议题中已解决数 + */ + private Integer closedCaseResolvedIncr; + + /** + * 当日已结案议题中未解决数 + */ + private Integer closedCaseUnresolvedIncr; + + /** + * 已结案议题总数 + */ + private Integer closedCaseTotal; + + /** + * 已结案议题中已解决总数 + */ + private Integer closedCaseResolvedTotal; + + /** + * 已结案议题中未解决总数 + */ + private Integer closedCaseUnresolvedTotal; + + /** + * 已结案议题中已解决百分比 + */ + private BigDecimal closedCaseResolvedPercent; + + /** + * 已结案议题中未解决百分比 + */ + private BigDecimal closedCaseUnresolvedPercent; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyProjectFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyProjectFormDTO.java new file mode 100644 index 0000000000..d5a71d43f3 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyProjectFormDTO.java @@ -0,0 +1,141 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-组织项目数据-接口入参 + * @Auth sun + */ +@Data +public class AgencyProjectFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户Id 【dim_customer.id】 + */ + private String customerId; + + /** + * 机关Id 【dim_agency.id】 + */ + private String agencyId; + + /** + * 上级组织Id【dim_agency.pid】 + */ + private String parentId; + + /** + * 日维度Id 【dim_date.id】 + */ + private String dateId; + + /** + * 周维度Id 【dim_week.id】 + */ + private String weekId; + + /** + * 月维度Id 【dim_month.id】 + */ + private String monthId; + + /** + * 季ID + */ + private String quarterId; + + /** + * 年维度Id 【dim_year.id】 + */ + private String yearId; + + /** + * 截止当日项目总数 【当前组织及下级项目总数】 + */ + private Integer projectTotal = 0; + + /** + * 截止当日处理中项目数 【当前组织及下级所有未结案项目总数】 + */ + private Integer pendingTotal = 0; + + /** + * 截止当日处理中项目占比 【当前组织及下级未结案项目百分比(存百分比数,小数点后两位)】 + */ + private BigDecimal pendingRatio = new BigDecimal("0"); + + /** + * 截止当日已结案项目数 【当前组织及下级已结案项目总数】 + */ + private Integer closedTotal = 0; + + /** + * 截止当日已结案项目占比 【当前组织及下级已结案项目百分比(存百分比数,小数点后两位)】 + */ + private BigDecimal closedRatio = new BigDecimal("0"); + + /** + * 截止当日已结案中已解决项目数 【当前组织及下级已结案项目中已解决总数】 + */ + private Integer resolvedTotal = 0; + + /** + * 截止当日已结案中已解决项目占比 【当前组织及下级已结案项目中已解决占比】 + */ + private BigDecimal resolvedRatio = new BigDecimal("0"); + + /** + * 截止当日已结案中未解决项目数 【当前组织及下级已结案项目中未解决总数】 + */ + private Integer unresolvedTotal = 0; + + /** + * 截止当日已结案中未解决项目占比 【当前组织及下级已结案项目中未解决占比】 + */ + private BigDecimal unresolvedRatio = new BigDecimal("0"); + + /** + * 当日项目总数 【当前组织及下级项目总数】 + */ + private Integer projectIncr = 0; + + /** + * 当日处理中项目数 【当前组织及下级前一日新增处理中项目数】 + */ + private Integer pendingIncr = 0; + + /** + * 当日已结案项目数 【当前组织及下级前一日新增结案项目数】 + */ + private Integer closedIncr = 0; + + /** + * 当日已结案项目中已解决数 【当前组织及下级前一日新增结案中已解决项目数】 + */ + private Integer resolvedIncr = 0; + + /** + * 当日已结案项目组未解决数 【当前组织及下级前一日新增结案中未解决项目数】 + */ + private Integer unresolvedIncr = 0; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyRegUserFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyRegUserFormDTO.java new file mode 100644 index 0000000000..26ea79aede --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyRegUserFormDTO.java @@ -0,0 +1,106 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-组织机关注册用户数据-接口入参 + * @Auth sun + */ +@Data +public class AgencyRegUserFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 机关id + */ + private String agencyId; + + /** + * + */ + private String dateId; + + /** + * + */ + private String weekId; + + /** + * + */ + private String yearId; + + /** + * 注册用户总数 + */ + private Integer regTotal; + + /** + * 居民总数 + */ + private Integer resiTotal; + + /** + * 热心居民总数 + */ + private Integer warmHeartedTotal; + + /** + * 党员总数 + */ + private Integer partymemberTotal; + + /** + * 本日注册居民日增量 + */ + private Integer regIncr; + + /** + * 本日热心居民日增量 + */ + private Integer warmIncr; + + /** + * 本日党员认证日增量 + */ + private Integer partymemberIncr; + + /** + * 居民总数占比 + */ + private BigDecimal resiProportion; + + /** + * 党员总数占比 + */ + private BigDecimal partymemberProportion; + + /** + * 热心居民占比 + */ + private BigDecimal warmHeartedProportion; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicIssueFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicIssueFormDTO.java new file mode 100644 index 0000000000..6de6fd913f --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicIssueFormDTO.java @@ -0,0 +1,80 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 基础数据上报-组织话题转议题数据-接口入参 + * @Auth sun + */ +@Data +public class AgencyTopicIssueFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户Id + * */ + private String customerId; + + /** + * 父级机关ID + */ + private String pid; + + /** + * 机关ID + */ + private String agencyId; + + /** + * 日期ID + */ + private String dateId; + + /** + * 周ID + */ + private String weekId; + + /** + * 月ID + */ + private String monthId; + + /** + * 季ID + */ + private String quarterId; + + /** + * 年ID + */ + private String yearId; + + /** + * 已转议题数量 + */ + private Integer issueTotal; + + /** + * 已转议题当日增量 + */ + private Integer issueIncr; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicStatusFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicStatusFormDTO.java new file mode 100644 index 0000000000..db7b9f4942 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/AgencyTopicStatusFormDTO.java @@ -0,0 +1,96 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-组织状态话题数据-接口入参 + * @Auth sun + */ +@Data +public class AgencyTopicStatusFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户Id + * */ + private String customerId; + + /** + * 机构ID 关联机关dm表 + */ + private String agencyId; + + /** + * 父级机关ID + */ + private String pid; + + /** + * 统计日期 关联日期dm表 + */ + private String dateId; + + /** + * 周ID + */ + private String weekId; + + /** + * 月ID + */ + private String monthId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 年ID + */ + private String yearId; + + /** + * 话题状态ID 关联dim_topic_status表 + 讨论中 discussing + 已屏蔽 hidden + 已关闭 closed + 已转项目 shift_project + */ + private String topicStatusId; + + /** + * 话题数量 指定状态的话题数量 + */ + private Integer topicCount; + + /** + * 话题状态百分比 指定状态话题数/话题总数 + 总数在topic_total_agency_daily中 + */ + private BigDecimal topicProportion; + + /** + * 话题增量 单位时间内的状态话题的增加数 + */ + private Integer topicIncrement; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridGroupTotalFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridGroupTotalFormDTO.java new file mode 100644 index 0000000000..88ff0f7e3f --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridGroupTotalFormDTO.java @@ -0,0 +1,86 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-网格群组总数-接口入参 + * @Auth sun + */ +@Data +public class GridGroupTotalFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 机构ID 关联机关dim表 + */ + private String agencyId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 统计日期 关联日期dim表 + */ + private String dateId; + + /** + * 周ID + */ + private String weekId; + + /** + * 月份ID + */ + private String monthId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 年ID + */ + private String yearId; + + /** + * 网格下小组总数 + */ + private Integer groupTotal; + + /** + * 网格下楼院小组总数 + */ + private Integer ordinaryTotal; + + /** + * 网格下支部小组总数 + */ + private Integer branchTotal; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridHotTopicFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridHotTopicFormDTO.java new file mode 100644 index 0000000000..9ed203d5e0 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridHotTopicFormDTO.java @@ -0,0 +1,85 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 基础数据上报-网格热议话题数据-接口入参 + * @Auth sun + */ +@Data +public class GridHotTopicFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 机关ID + */ + private String agencyId; + + /** + * 网格ID 关联网格dm表 + */ + private String gridId; + + /** + * 日期ID + */ + private String dateId; + + /** + * 周ID + */ + private String weekId; + + /** + * 月ID + */ + private String monthId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 年ID + */ + private String yearId; + + /** + * 话题总数 + */ + private Integer topicTotal; + + /** + * 话题状态【热议中:hot_discuss】 + */ + private String status; + + /** + * 状态话题数量 + */ + private Integer topicCount; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridIssueFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridIssueFormDTO.java new file mode 100644 index 0000000000..5c6d2621a4 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridIssueFormDTO.java @@ -0,0 +1,196 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-网格议题数据-接口入参 + * @Auth sun + */ +@Data +public class GridIssueFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 组织ID + */ + private String agencyId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 年度ID + */ + private String yearId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 月度ID + */ + private String monthId; + + /** + * 周ID + */ + private String weekId; + + /** + * 日期ID + */ + private String dateId; + + /** + * 当日议题增量 + */ + private Integer issueIncr; + + /** + * 议题总数 + */ + private Integer issueTotal; + + /** + * 当日已转项目的议题数增量 + */ + private Integer shiftProjectIncr; + + /** + * 已转项目的议题总数 + */ + private Integer shiftProjectTotal; + + /** + * 已转项目所占百分比 + */ + private BigDecimal shiftProjectPercent; + + /** + * 当日表决中议题数增量 + */ + private Integer votingIncr; + + /** + * 表决中议题总数 + */ + private Integer votingTotal; + + /** + * 表决中议题所占百分比 + */ + private BigDecimal votingPercent; + + /** + * 当日已关闭议题数增量 + */ + private Integer closedIncr; + + /** + * 当日已关闭议题中已解决数量 + */ + private Integer closedResolvedIncr; + + /** + * 当日已关闭议题中无需解决数量 + */ + private Integer closedUnresolvedIncr; + + /** + * 已关闭议题总数 + */ + private Integer closedTotal; + + /** + * 已关闭议题中已解决总数 + */ + private Integer closedResolvedTotal; + + /** + * 已关闭议题中未解决总数 + */ + private Integer closedUnresolvedTotal; + + /** + * 已关闭议题所占百分比 + */ + private BigDecimal closedPercent; + + /** + * 已关闭议题中已解决百分比 + */ + private BigDecimal closedResolvedPercent; + + /** + * 已关闭议题中未解决百分比 + */ + private BigDecimal closedUnresolvedPercent; + + /** + * 当日已结案议题数 + */ + private Integer closedCaseIncr; + + /** + * 当日已结案议题中已解决数 + */ + private Integer closedCaseResolvedIncr; + + /** + * 当日已结案议题中未解决数 + */ + private Integer closedCaseUnresolvedIncr; + + /** + * 已结案议题总数 + */ + private Integer closedCaseTotal; + + /** + * 已结案议题中已解决总数 + */ + private Integer closedCaseResolvedTotal; + + /** + * 已结案议题中未解决总数 + */ + private Integer closedCaseUnresolvedTotal; + + /** + * 已结案议题中已解决百分比 + */ + private BigDecimal closedCaseResolvedPercent; + + /** + * 已结案议题中未解决百分比 + */ + private BigDecimal closedCaseUnresolvedPercent; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridProjectFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridProjectFormDTO.java new file mode 100644 index 0000000000..20d3306685 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridProjectFormDTO.java @@ -0,0 +1,141 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-网格项目数据-接口入参 + * @Auth sun + */ +@Data +public class GridProjectFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户Id 【dim_customer.id】 + */ + private String customerId; + + /** + * 机关Id 【dim_agency.id】 + */ + private String agencyId; + + /** + * 网格Id 【dim_grid.id】 + */ + private String gridId; + + /** + * 日维度Id 【dim_date.id】 + */ + private String dateId; + + /** + * 周维度Id 【dim_week.id】 + */ + private String weekId; + + /** + * 月维度Id 【dim_month.id】 + */ + private String monthId; + + /** + * 季ID + */ + private String quarterId; + + /** + * 年维度Id 【dim_year.id】 + */ + private String yearId; + + /** + * 截止当日网格下项目总数 【当前组织及下级项目总数】 + */ + private Integer projectTotal = 0; + + /** + * 截止当日网格下处理中项目数 【当前组织及下级所有未结案项目总数】 + */ + private Integer pendingTotal = 0; + + /** + * 截止当日网格下处理中项目占比 【当前组织及下级未结案项目百分比(存百分比数,小数点后两位)】 + */ + private BigDecimal pendingRatio = new BigDecimal("0"); + + /** + * 截止当日网格下已结案项目数 【当前组织及下级已结案项目总数】 + */ + private Integer closedTotal = 0; + + /** + * 截止当日网格下已结案项目占比 【当前组织及下级已结案项目百分比(存百分比数,小数点后两位)】 + */ + private BigDecimal closedRatio = new BigDecimal("0"); + + /** + * 截止当日已结案中已解决项目数 【当前组织及下级已结案项目中已解决总数】 + */ + private Integer resolvedTotal = 0; + + /** + * 截止当日已结案中已解决项目占比 【当前组织及下级已结案项目中已解决占比】 + */ + private BigDecimal resolvedRatio = new BigDecimal("0"); + + /** + * 截止当日已结案中未解决项目数 【当前组织及下级已结案项目中未解决总数】 + */ + private Integer unresolvedTotal = 0; + + /** + * 截止当日已结案中未解决项目占比 【当前组织及下级已结案项目中未解决占比】 + */ + private BigDecimal unresolvedRatio = new BigDecimal("0"); + + /** + * 当日已结案项目中已解决数 【当前组织及下级前一日新增结案中已解决项目数】 + */ + private Integer resolvedIncr = 0; + + /** + * 当日已结案项目组未解决数 【当前组织及下级前一日新增结案中未解决项目数】 + */ + private Integer unresolvedIncr = 0; + + /** + * 当日网格下项目总数 【该网格下项目总数】 + */ + private Integer projectIncr = 0; + + /** + * 当日网格下处理中项目数 【该网格下未结案项目总数】 + */ + private Integer pendingIncr = 0; + + /** + * 当日网格下已结案项目数 【该网格下已结案项目总数】 + */ + private Integer closedIncr = 0; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridRegUserFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridRegUserFormDTO.java new file mode 100644 index 0000000000..41f74c5c4f --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridRegUserFormDTO.java @@ -0,0 +1,113 @@ +package com.epmet.dto.basereport.form; + +import com.epmet.dto.indexcollect.form.GridPartyAbilityFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-网格注册用户数据-接口入参 + * @Auth sun + */ +@Data +public class GridRegUserFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 机关id + */ + private String agencyId; + + /** + * 网格id + */ + private String gridId; + + /** + * 日维度Id + */ + private String dateId; + + /** + * 周维度Id + */ + private String weekId; + + /** + * 年维度Id + */ + private String yearId; + + /** + * 注册用户总数 + */ + private Integer regTotal; + + /** + * 居民总数 + */ + private Integer resiTotal; + + /** + * 热心居民总数 + */ + private Integer warmHeartedTotal; + + /** + * 党员总数 + */ + private Integer partymemberTotal; + + /** + * 本日注册居民日增量 + */ + private Integer regIncr; + + /** + * 本日热心居民日增量 + */ + private Integer warmIncr; + + /** + * 本日党员认证日增量 + */ + private Integer partymemberIncr; + + /** + * 居民总数占比 + */ + private BigDecimal resiProportion; + + /** + * 党员总数占比 + */ + private BigDecimal partymemberProportion; + + /** + * 热心居民占比 + */ + private BigDecimal warmHeartedProportion; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicIssueFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicIssueFormDTO.java new file mode 100644 index 0000000000..a0f9b4eefd --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicIssueFormDTO.java @@ -0,0 +1,81 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-网格话题转议题数据-接口入参 + * @Auth sun + */ +@Data +public class GridTopicIssueFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户Id + * */ + private String customerId; + + /** + * 机关ID + */ + private String agencyId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 日期ID + */ + private String dateId; + + /** + * 周ID + */ + private String weekId; + + /** + * 月ID + */ + private String monthId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 年ID + */ + private String yearId; + + /** + * 新增转议题数 + */ + private Integer issueIncr; + + /** + * 转议题总数 + */ + private Integer issueTotal; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicStatusFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicStatusFormDTO.java new file mode 100644 index 0000000000..4e19bc1125 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/GridTopicStatusFormDTO.java @@ -0,0 +1,95 @@ +package com.epmet.dto.basereport.form; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description 基础数据上报-网格状态话题数据-接口入参 + * @Auth sun + */ +@Data +public class GridTopicStatusFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 为true时需要删除历史数据 + */ + private Boolean isFirst; + /** + * 数据集合对象 + */ + private List dataList; + + @Data + public class DataList implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 客户Id + * */ + private String customerId; + + /** + * 机关ID + */ + private String agencyId; + + /** + * 网格ID 关联网格dm表 + */ + private String gridId; + + /** + * 日期ID + */ + private String dateId; + + /** + * 周ID + */ + private String weekId; + + /** + * 月ID + */ + private String monthId; + + /** + * 季度ID + */ + private String quarterId; + + /** + * 年ID + */ + private String yearId; + + /** + * 话题状态ID 讨论中 discussing + 已屏蔽 hidden + 已关闭 closed + 已转项目 shift_project + */ + private String topicStatusId; + + /** + * 话题数量 + */ + private Integer topicCount; + + /** + * 话题状态占比 指定状态话题数/话题总数 + 总数在topic_total_grid_daily中 + */ + private BigDecimal topicProportion; + + /** + * 话题增量 + */ + private Integer topicIncrement; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/.gitkeep b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/result/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java new file mode 100644 index 0000000000..5547c0491a --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/BaseReportController.java @@ -0,0 +1,175 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.basereport.form.*; +import com.epmet.service.BaseReportService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @Author sun + * @Description 部分基础数据上报 + */ +@RestController +@RequestMapping("basereport") +public class BaseReportController { + + @Autowired + private BaseReportService baseReportService; + + /** + * @Param formDTO + * @Description 网格注册用户数据 + * @author sun + */ + @PostMapping("gridreguser") + public Result gridreguser(@RequestHeader("CustomerId") String customerId, @RequestBody GridRegUserFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 组织机关注册用户数据 + * @author sun + */ + @PostMapping("agencyreguser") + public Result agencyreguser(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyRegUserFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 网格群组总数 + * @author sun + */ + @PostMapping("gridgrouptotal") + public Result gridgrouptotal(@RequestHeader("CustomerId") String customerId, @RequestBody GridGroupTotalFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 组织群组总数 + * @author sun + */ + @PostMapping("agencygrouptotal") + public Result agencygrouptotal(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyGroupTotalFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 网格热议话题数据 + * @author sun + */ + @PostMapping("gridhottopic") + public Result gridhottopic(@RequestHeader("CustomerId") String customerId, @RequestBody GridHotTopicFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 组织热议话题数据 + * @author sun + */ + @PostMapping("agencyhottopic") + public Result agencyhottopic(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyHotTopicFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 网格状态话题数据 + * @author sun + */ + @PostMapping("gridtopicstatus") + public Result gridtopicstatus(@RequestHeader("CustomerId") String customerId, @RequestBody GridTopicStatusFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 组织状态话题数据 + * @author sun + */ + @PostMapping("agencytopicstatus") + public Result agencytopicstatus(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyTopicStatusFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 网格话题转议题数据 + * @author sun + */ + @PostMapping("gridtopicissue") + public Result gridtopicissue(@RequestHeader("CustomerId") String customerId, @RequestBody GridTopicIssueFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 组织话题转议题数据 + * @author sun + */ + @PostMapping("agencytopicissue") + public Result agencytopicissue(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyTopicIssueFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 网格议题数据 + * @author sun + */ + @PostMapping("gridissue") + public Result gridissue(@RequestHeader("CustomerId") String customerId, @RequestBody GridIssueFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 组织议题数据 + * @author sun + */ + @PostMapping("agencyissue") + public Result agencyissue(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyIssueFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 网格项目数据 + * @author sun + */ + @PostMapping("gridproject") + public Result gridproject(@RequestHeader("CustomerId") String customerId, @RequestBody GridProjectFormDTO formDTO) { + + return new Result(); + } + + /** + * @Param formDTO + * @Description 组织项目数据 + * @author sun + */ + @PostMapping("agencyproject") + public Result agencyproject(@RequestHeader("CustomerId") String customerId, @RequestBody AgencyProjectFormDTO formDTO) { + + return new Result(); + } + + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java new file mode 100644 index 0000000000..be5a76aacd --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/BaseReportService.java @@ -0,0 +1,10 @@ +package com.epmet.service; + + +/** + * @Author sun + * @Description 部分基础数据上报 + */ +public interface BaseReportService { + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java new file mode 100644 index 0000000000..2f0efdc5f6 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/BaseReportServiceImpl.java @@ -0,0 +1,13 @@ +package com.epmet.service.impl; + +import com.epmet.service.BaseReportService; +import org.springframework.stereotype.Service; + +/** + * @Author sun + * @Description 部分基础数据上报 + */ +@Service +public class BaseReportServiceImpl implements BaseReportService { + +} From ff85e01f2e31c1f87ddbb74324fc4acc7f2786bd Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 23 Jun 2021 16:09:27 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=9Adifficultyrank-multic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/screen/ScreenProjectDataDTO.java | 4 ++ .../form/ScreenProjectDataInfoFormDTO.java | 5 ++ .../com/epmet/controller/DemoController.java | 21 ++++++++ .../com/epmet/dao/project/ProjectDao.java | 35 +++++++++++-- .../screen/ScreenProjectDataEntity.java | 5 +- .../toscreen/ScreenProjectSettleService.java | 10 ++++ .../impl/ScreenExtractServiceImpl.java | 7 +++ .../impl/ScreenProjectSettleServiceImpl.java | 34 +++++++++++++ .../epmet/service/project/ProjectService.java | 28 +++++++++++ .../project/impl/ProjectServiceImpl.java | 38 ++++++++++++++ .../resources/mapper/project/ProjectDao.xml | 50 +++++++++++++++++++ .../com/epmet/constant/ProjectConstant.java | 2 +- .../ProjectSatisfactionDetailServiceImpl.java | 34 +++++++++++-- 13 files changed, 263 insertions(+), 10 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java index 1d42d5964f..fe859bfac0 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java @@ -180,5 +180,9 @@ public class ScreenProjectDataDTO implements Serializable { private String topicId; private Integer responseCount; + /** + * 满意度得分 + */ + private BigDecimal satisfactionScore; } diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java index da4781f803..2b0642ce25 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java @@ -112,4 +112,9 @@ public class ScreenProjectDataInfoFormDTO implements Serializable { * 议题图片地址 */ private String[] projectImgUrl; + + /** + * 满意度得分 + */ + private BigDecimal satisfactionScore; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index a5317f5ba2..563f92f835 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -44,6 +44,7 @@ import com.epmet.service.evaluationindex.indexcal.*; import com.epmet.service.evaluationindex.screen.*; import com.epmet.service.stats.DimAgencyService; import com.epmet.service.stats.DimCustomerPartymemberService; +import com.epmet.service.stats.DimCustomerService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -121,6 +122,8 @@ public class DemoController { private FactGridGovernDailyService factGridGovernDailyService; @Autowired private FactAgencyGovernDailyService factAgencyGovernDailyService; + @Autowired + private DimCustomerService dimCustomerService; @GetMapping("testAlarm") public void testAlarm() { @@ -936,4 +939,22 @@ public class DemoController { return new Result(); } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param + * @author yinzuomei + * @description 将产品内部客户,来源于议题并且已结案的项目,赋值满意度得分 + * @Date 2021/6/23 15:55 + **/ + @PostMapping("update-satisfaction-core") + public Result updateProjectSatisfactionScore(){ + List customerIds=dimCustomerService.getAllCustomerId(); + customerIds.forEach(customerId->{ + screenProjectSettleService.updateProjectSatisfactionScore(customerId,null,null); + log.info("更新完成"); + }); + return new Result(); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java index 44e47f6f92..283d448369 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java @@ -18,20 +18,17 @@ package com.epmet.dao.project; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.CustomerProjectParameterDTO; import com.epmet.dto.ProjectDTO; -import com.epmet.dto.ProjectSatisfactionStatisticsDTO; import com.epmet.dto.project.ProjectAgencyDTO; import com.epmet.dto.project.ProjectCategoryDTO; import com.epmet.dto.project.ProjectGridDTO; import com.epmet.dto.project.ProjectPointDTO; import com.epmet.dto.project.result.ProjectExceedParamsResultDTO; -import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO; -import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity; import com.epmet.entity.project.ProjectEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; /** @@ -158,4 +155,34 @@ public interface ProjectDao extends BaseDao { * @return java.lang.String */ String selectValueByKey(@Param("customerId") String customerId, @Param("parameterKey") String parameterKey); + + /** + * 计算某个项目的群满意度得分 + * + * @param customerId + * @param projectId + * @return 得分 + */ + BigDecimal selectProjectSatisfactionScore(@Param("customerId")String customerId, + @Param("projectId")String projectId); + + /** + * 查询当天(dateId)有评价记录的项目id + * + * @param customerId + * @param dateId + * @return + */ + List selectEvaluateProjectIds(@Param("customerId") String customerId, @Param("dateId")String dateId); + + /** + * 可根据状态筛选项目id + * + * @param customerId + * @param projectStatus 状态:待处理 pending,结案closed + * @return + */ + List selectClosedProjectIds(@Param("customerId")String customerId, + @Param("origin")String origin, + @Param("projectStatus")String projectStatus); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java index 9ef584bad8..52c9a19ab3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectDataEntity.java @@ -144,5 +144,8 @@ public class ScreenProjectDataEntity extends BaseEpmetEntity { */ private String allParentIds; - + /** + * 满意度得分 + */ + private BigDecimal satisfactionScore; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenProjectSettleService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenProjectSettleService.java index fe147887b0..c9fa1b17d7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenProjectSettleService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenProjectSettleService.java @@ -24,4 +24,14 @@ public interface ScreenProjectSettleService { */ void extractScreenData(ScreenCentralZoneDataFormDTO param); + /** + * 更新项目得分 + * + * @param customerId + * @param dateId //dateId可以为空,如果为空重新计算当前客户下所有的项目的分数; dateId不为空,只计算当天存在评价记录的项目,更新项目对应的得分。 + * @param projectId 项目id可为空 + * @return void + */ + void updateProjectSatisfactionScore(String customerId,String dateId,String projectId); + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index d2d37a4693..10d05a6fda 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -280,6 +280,13 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { }catch (Exception e){ log.error("大屏项目数据抽取_按天抽取_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e); } + try{ + //dateId可以为空,如果为空重新计算当前客户下所有的项目的分数 + //dateId不为空,只计算当天存在评价记录的项目,更新项目对应的得分。 + screenProjectSettleService.updateProjectSatisfactionScore(customerId,dateId,null); + }catch(Exception e){ + log.error("群众不满得分更新失败"); + } } /** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index 781211b4bf..6ffe5b9e17 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -102,6 +102,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic } else { meta.setLinkUserId(meta.getLinkName()); } + //项目满意度得分 + meta.setSatisfactionScore(projectService.calProjectSatisfactionScore(param.getCustomerId(),meta.getProjectId())); return meta; })).collect(Collectors.toList()); } @@ -170,4 +172,36 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic } + /** + * 更新项目得分 + * + * @param customerId + * @param dateId //dateId可以为空,如果为空重新计算当前客户下所有的项目的分数; dateId不为空,只计算当天存在评价记录的项目,更新项目对应的得分。 + * @param projectId 项目id可为空 + * @return void + */ + @Override + public void updateProjectSatisfactionScore(String customerId, String dateId,String projectId) { + if(StringUtils.isNotBlank(projectId)){ + projectService.calProjectSatisfactionScore(customerId,projectId); + return; + } + List projectIds=new ArrayList<>(); + if(StringUtils.isNotBlank(dateId)){ + List list=projectService.selectEvaluateProjectIds(customerId,dateId); + if(!CollectionUtils.isEmpty(list)){ + projectIds.addAll(list); + } + }else{ + // 只有来源于议题的项目,才有分数 + List closedProjectIds=projectService.selectClosedProjectIds(customerId,"issue","closed"); + if(!CollectionUtils.isEmpty(closedProjectIds)){ + projectIds.addAll(closedProjectIds); + } + } + projectIds.forEach(id->{ + projectService.calProjectSatisfactionScore(customerId,id); + }); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java index 36c3ebd05b..4494715f9a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java @@ -27,6 +27,7 @@ import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity import com.epmet.entity.project.ProjectEntity; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; import java.util.Map; import java.util.Set; @@ -162,4 +163,31 @@ public interface ProjectService extends BaseService { */ List getProjectSatisfaction(String customerId); + /** + * 计算某个项目的群满意度得分 + * + * @param customerId + * @param projectId + * @return 得分 + */ + BigDecimal calProjectSatisfactionScore(String customerId,String projectId); + + /** + * 查询当天(dateId)有评价记录的项目id + * + * @param customerId + * @param dateId + * @return + */ + List selectEvaluateProjectIds(String customerId, String dateId); + + /** + * 可根据状态筛选项目id + * + * @param customerId + * @param origin :issue,agency + * @param projectStatus 状态:待处理 pending,结案closed + * @return + */ + List selectClosedProjectIds(String customerId,String origin ,String projectStatus); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java index 3581f920b1..fb29f971de 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java @@ -35,6 +35,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -196,5 +197,42 @@ public class ProjectServiceImpl extends BaseServiceImpl selectEvaluateProjectIds(String customerId, String dateId) { + return baseDao.selectEvaluateProjectIds(customerId,dateId); + } + + /** + * 可根据状态筛选项目id + * + * @param customerId + * @param origin 来源:issue, agency + * @param projectStatus 状态:待处理 pending,结案closed + * @return + */ + @Override + public List selectClosedProjectIds(String customerId, String origin,String projectStatus) { + return baseDao.selectClosedProjectIds(customerId,origin,projectStatus); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index 3c5ebd884f..9344a3c440 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -162,4 +162,54 @@ and CUSTOMER_ID = #{customerId} and PARAMETER_KEY = #{parameterKey} + + + + + + + + + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index d5be20752e..43c87b57b5 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -178,7 +178,7 @@ public interface ProjectConstant { String EVALUATE_GOOD = "good"; String EVALUATE_BAD = "bad"; String EVALUATE_PERFECT = "perfect"; - + String EVALUATE="evaluate"; /** * 三个月,六个月,12个月 */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index acc06b2281..c1e07bf6bf 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -20,16 +20,20 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; +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.RenException; -import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.IpUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ProjectConstant; @@ -39,25 +43,28 @@ import com.epmet.dao.ProjectSatisfactionStatisticsDao; import com.epmet.dto.ProjectSatisfactionDetailDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectSatisfactionDetailEntity; import com.epmet.entity.ProjectSatisfactionStatisticsEntity; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.redis.ProjectRedis; import com.epmet.redis.ProjectSatisfactionDetailRedis; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.ProjectSatisfactionDetailService; import com.epmet.service.ProjectSatisfactionStatisticsService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.redisson.api.RLock; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; import java.util.*; import java.util.stream.Collectors; @@ -91,6 +98,10 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -240,6 +251,21 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl