From f385d21df9e0f15218c3e4da5bf63f5d3f0ec013 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 15 Sep 2020 18:07:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E4=B8=BB=E8=A1=A8=EF=BC=8C?= =?UTF-8?q?=E5=85=AC=E5=85=B1=E6=96=B9=E6=B3=95=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?=E6=A0=B9=E6=8D=AEdateId=E8=8E=B7=E5=8F=96=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E9=9B=86=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/dto/form/TimeListResultDTO.java | 21 ++++ .../epmet/commons/tools/utils/DateUtils.java | 20 ++++ .../extract/FactOriginIssueLogDailyDTO.java | 40 ++++---- .../extract/FactOriginIssueMainDailyDTO.java | 57 +++++------ .../dto/extract/form/IssueInfoFormDTO.java | 33 +++++++ .../extract/form/IssueLogDailyFormDTO.java | 12 +-- .../extract/form/IssueMainDailyFormDTO.java | 74 ++++++++------ .../extract/result/IssueInfoResultDTO.java | 50 ++++++++++ .../extract/result/TopicInfoResultDTO.java | 21 ++++ .../extract/result/UserPartyResultDTO.java | 19 ++++ .../controller/FactOriginController.java | 16 +++ .../extract/FactOriginIssueMainDailyDao.java | 2 - .../com/epmet/dao/issue/StatsIssueDao.java | 2 + .../java/com/epmet/dao/topic/TopicDao.java | 9 ++ .../main/java/com/epmet/dao/user/UserDao.java | 9 ++ .../com/epmet/service/Issue/IssueService.java | 10 ++ .../service/Issue/impl/IssueServiceImpl.java | 13 +++ .../extract/IssueExtractService.java | 10 ++ .../extract/impl/IssueExtractServiceImpl.java | 97 +++++++++++++++++++ .../com/epmet/service/topic/TopicService.java | 9 ++ .../service/topic/impl/TopicServiceImpl.java | 12 +++ .../com/epmet/service/user/UserService.java | 8 ++ .../service/user/impl/UserServiceImpl.java | 28 ++++++ .../resources/mapper/issue/StatsIssueDao.xml | 17 ++++ .../main/resources/mapper/topic/TopicDao.xml | 17 ++++ .../main/resources/mapper/user/UserDao.xml | 16 +++ 26 files changed, 537 insertions(+), 85 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/TimeListResultDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueInfoFormDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/IssueInfoResultDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/TopicInfoResultDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/UserPartyResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/TimeListResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/TimeListResultDTO.java new file mode 100644 index 0000000000..89aed6547c --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/TimeListResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.commons.tools.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/9/15 5:41 下午 + */ +@Data +public class TimeListResultDTO implements Serializable { + + private static final long serialVersionUID = 1482639109300981626L; + + private String dateId; + private String weekId; + private String monthId; + private String quarterId; + private String yearId; +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java index 75174f4216..37abbb5878 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java @@ -10,6 +10,7 @@ package com.epmet.commons.tools.utils; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.form.TimeListResultDTO; import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; import org.joda.time.LocalDate; @@ -593,4 +594,23 @@ public class DateUtils { } return StrConstant.EPMETY_STR; } + + public static TimeListResultDTO getTimeList(String dateId){ + TimeListResultDTO result = new TimeListResultDTO(); + result.setDateId(dateId); + String monthId = dateId.substring(NumConstant.ZERO, NumConstant.SIX); + result.setMonthId(monthId); + result.setQuarterId(getQuarterId(monthId)); + result.setYearId(getYearId(monthId)); + SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); + try { + Date date = formatter.parse(dateId); + int weekOfYear = getWeekOfYear(date); + String weekId = dateId.substring(NumConstant.ZERO,NumConstant.FOUR).concat("W").concat(String.valueOf(weekOfYear)); + result.setWeekId(weekId); + } catch (ParseException e) { + e.printStackTrace(); + } + return result; + } } diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueLogDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueLogDailyDTO.java index cff1116f7f..433f95177e 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueLogDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueLogDailyDTO.java @@ -36,101 +36,101 @@ public class FactOriginIssueLogDailyDTO implements Serializable { /** * id */ - private String id; + private String id; /** * 客户ID */ - private String customerId; + private String customerId; /** * 网格ID */ - private String gridId; + private String gridId; /** * 组织上级ID */ - private String pid; + private String pid; /** * 机关ID */ - private String agencyId; + private String agencyId; /** * 日期ID */ - private String dateId; + private String dateId; /** * 周ID */ - private String weekId; + private String weekId; /** * 月份ID */ - private String monthId; + private String monthId; /** * 季度ID */ - private String quarterId; + private String quarterId; /** * 年度ID */ - private String yearId; + private String yearId; /** * 议题ID */ - private String issueId; + private String issueId; /** * 操作用户ID */ - private String operationUserId; + private String operationUserId; /** * 动作CODE */ - private String actionCode; + private String actionCode; /** * 党员 热心居民 居民 */ - private String userIdentity; + private Integer isParty; /** * 删除状态,0:正常,1:删除 */ - private Integer delFlag; + private Integer delFlag; /** * 乐观锁 */ - private Integer revision; + private Integer revision; /** * 创建人 */ - private String createdBy; + private String createdBy; /** * 创建时间 */ - private Date createdTime; + private Date createdTime; /** * 更新人 */ - private String updatedBy; + private String updatedBy; /** * 更新时间 */ - private Date updatedTime; + private Date updatedTime; } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueMainDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueMainDailyDTO.java index d9616a373b..a77815e3ea 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueMainDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueMainDailyDTO.java @@ -34,118 +34,119 @@ public class FactOriginIssueMainDailyDTO implements Serializable { private static final long serialVersionUID = 1L; /** - * id + * 议题ID */ - private String id; + private String id; /** * 日ID(指议题创建的yyyymmdd) */ - private String dateId; + private String dateId; /** * 周ID */ - private String weekId; + private String weekId; /** * 月份ID */ - private String monthId; + private String monthId; /** * 季度ID */ - private String quarterId; + private String quarterId; /** * 年度ID */ - private String yearId; + private String yearId; /** * 客户ID */ - private String customerId; + private String customerId; /** * 用户身份标识 */ - private String userIdentity; + private Integer isParty; /** * 转议题用户ID */ - private String userId; + private String userId; /** * 创建话题用户的ID */ - private String createTopicUserId; - - /** - * 议题ID - */ - private String issueId; + private String createTopicUserId; /** * 转为议题的话题ID */ - private String topicId; + private String topicId; /** * 议题网格ID */ - private String gridId; + private String gridId; /** * 上级ID */ - private String pid; + private String pid; /** * 议题组织ID(网格所属组织ID) */ - private String agencyId; + private String agencyId; /** * 议题状态 */ - private String issueStatus; + private String issueStatus; /** * 创建话题用户身份标识 */ - private String topicUserIdentity; + private Integer topicUserIsParty; /** * 删除状态,0:正常,1:删除 */ - private Integer delFlag; + private Integer delFlag; /** * 乐观锁 */ - private Integer revision; + private Integer revision; /** * 创建人 */ - private String createdBy; + private String createdBy; /** * 创建时间 */ - private Date createdTime; + private Date createdTime; /** * 更新人 */ - private String updatedBy; + private String updatedBy; /** * 更新时间 */ - private Date updatedTime; + private Date updatedTime; + public FactOriginIssueMainDailyDTO() { + this.delFlag = 0; + this.revision = 0; + this.createdBy = "APP_USER"; + this.updatedBy = "APP_USER"; + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueInfoFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueInfoFormDTO.java new file mode 100644 index 0000000000..7ab1f8d280 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueInfoFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dto.extract.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.AllArgsConstructor; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/9/15 2:23 下午 + */ +@Data +@AllArgsConstructor +public class IssueInfoFormDTO implements Serializable { + + private static final long serialVersionUID = 8805754438522195653L; + + public interface IssueInfo extends CustomerClientShowGroup{} + + /** + * 客户ID + */ + @NotBlank(message = "customerId",groups = IssueInfo.class) + private String customerId; + + /** + * 日期ID(实际为议题创建的 "yyyymmdd" ) + */ + @NotBlank(message = "dateId",groups = IssueInfo.class) + private String dateId; +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueLogDailyFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueLogDailyFormDTO.java index 772df16bd8..5b54d4c289 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueLogDailyFormDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueLogDailyFormDTO.java @@ -13,6 +13,11 @@ public class IssueLogDailyFormDTO implements Serializable { private static final long serialVersionUID = 7036617958351476594L; + /** + * 议题ID + */ + private String id; + /** * 客户ID */ @@ -58,11 +63,6 @@ public class IssueLogDailyFormDTO implements Serializable { */ private String yearId; - /** - * 议题ID - */ - private String issueId; - /** * 操作用户ID */ @@ -76,7 +76,7 @@ public class IssueLogDailyFormDTO implements Serializable { /** * 党员 热心居民 居民 */ - private String userIdentity; + private Integer isParty; /** * 是否已删除(0-未删除,1-已删除) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueMainDailyFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueMainDailyFormDTO.java index d96e7b3f2e..f180014be9 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueMainDailyFormDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueMainDailyFormDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.extract.form; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * @Author zxc @@ -14,27 +15,12 @@ public class IssueMainDailyFormDTO implements Serializable { private static final long serialVersionUID = -5288003778076157611L; /** - * 客户ID - */ - private String customerId; - - /** - * 网格ID - */ - private String gridId; - - /** - * 组织上级ID - */ - private String pid; - - /** - * 机关ID + * 议题ID */ - private String agencyId; + private String id; /** - * 日期ID + * 日ID(指议题创建的yyyymmdd) */ private String dateId; @@ -59,27 +45,57 @@ public class IssueMainDailyFormDTO implements Serializable { private String yearId; /** - * 议题ID + * 客户ID */ - private String issueId; + private String customerId; /** - * 操作用户ID + * 用户身份标识 */ - private String operationUserId; + private Integer isParty; + + /** + * 转议题用户ID + */ + private String userId; + + /** + * 创建话题用户的ID + */ + private String createTopicUserId; + + /** + * 转为议题的话题ID + */ + private String topicId; + + /** + * 议题网格ID + */ + private String gridId; + + /** + * 上级ID + */ + private String pid; + + /** + * 议题组织ID(网格所属组织ID) + */ + private String agencyId; /** - * 动作CODE + * 议题状态 */ - private String actionCode; + private String issueStatus; /** - * 党员 热心居民 居民 + * 创建话题用户身份标识 */ - private String userIdentity; + private Integer topicUserIsParty; /** - * 是否已删除(0-未删除,1-已删除) + * 删除状态,0:正常,1:删除 */ private Integer delFlag; @@ -89,12 +105,12 @@ public class IssueMainDailyFormDTO implements Serializable { private Integer revision; /** - * 创建者 + * 创建人 */ private String createdBy; /** - * 修改者 + * 更新人 */ private String updatedBy; diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/IssueInfoResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/IssueInfoResultDTO.java new file mode 100644 index 0000000000..4dd3bcac07 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/IssueInfoResultDTO.java @@ -0,0 +1,50 @@ +package com.epmet.dto.extract.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/9/15 2:04 下午 + */ +@Data +public class IssueInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 3097591617162404015L; + + /** + * 议题ID + */ + private String issueId; + + /** + * 议题状态 + */ + private String issueStatus; + + /** + * 话题ID + */ + private String topicId; + + /** + * 客户ID + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 机关ID + */ + private String agencyId; + + /** + * 用户ID + */ + private String userId; +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/TopicInfoResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/TopicInfoResultDTO.java new file mode 100644 index 0000000000..4e22a2908f --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/TopicInfoResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.extract.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/9/15 4:52 下午 + */ +@Data +public class TopicInfoResultDTO implements Serializable { + + private static final long serialVersionUID = -5902552728088278104L; + + private String topicId; + + private String userId; + + private Integer isParty; +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/UserPartyResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/UserPartyResultDTO.java new file mode 100644 index 0000000000..c0011ab7c0 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/UserPartyResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.extract.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/9/15 4:20 下午 + */ +@Data +public class UserPartyResultDTO implements Serializable { + + private static final long serialVersionUID = 6688297568032159824L; + + private String userId; + + private String roleName; +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java index bfb0155e98..d195a327ea 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java @@ -1,5 +1,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.utils.Result; +import com.epmet.service.evaluationindex.extract.IssueExtractService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import com.epmet.commons.tools.utils.Result; import com.epmet.service.topic.TopicService; import org.apache.commons.lang3.StringUtils; @@ -19,6 +23,18 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("factorigin") public class FactOriginController { + @Autowired + private IssueExtractService issueExtractService; + + @PostMapping("issueextract") + public Result issueExtract(){ + String customerId = "3ef7e4bb195eb9e622d68b52509aa940"; + String dateId = "20200811"; + issueExtractService.issueExtract(customerId,dateId); + return new Result(); + } + + @Autowired private TopicService topicService; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java index 4a147fb807..e33f4255b1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java @@ -18,7 +18,6 @@ package com.epmet.dao.evaluationindex.extract; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.extract.form.IssueLogDailyFormDTO; import com.epmet.dto.extract.form.IssueMainDailyFormDTO; import com.epmet.entity.evaluationindex.extract.FactOriginIssueMainDailyEntity; import org.apache.ibatis.annotations.Mapper; @@ -42,5 +41,4 @@ public interface FactOriginIssueMainDailyDao extends BaseDao issueMainList); - } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java index f09091487f..359d5d535d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java @@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.issue.IssueAgencyDTO; import com.epmet.dto.issue.IssueGridDTO; import com.epmet.dto.issue.IssueProjectDTO; +import com.epmet.dto.extract.result.IssueInfoResultDTO; import com.epmet.entity.issue.IssueEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -112,4 +113,5 @@ public interface StatsIssueDao extends BaseDao { */ List selectIssueProjectList(@Param("customerId") String customerId); + List selectIssueInfo(@Param("customerId")String customerId, @Param("dateId")String dateId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java index 9244b799b1..171ca82796 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java @@ -7,6 +7,7 @@ package com.epmet.dao.topic; * @since v1.0.0 2020-05-11 */ +import com.epmet.dto.extract.result.TopicInfoResultDTO; import com.epmet.dto.topic.result.ResiGroupTopicResultDTO; import com.epmet.dto.topic.result.ResiTopicOperationResultDTO; import org.apache.ibatis.annotations.Mapper; @@ -56,4 +57,12 @@ public interface TopicDao { * @date 2020.06.22 11:07 **/ List selectTopicOperationRecordBetweenTimeRange(@Param("startDate")Date startDate, @Param("endDate")Date endDate); + + /** + * @Description 查询话题创建者信息 + * @param topicIds + * @author zxc + * @date 2020/9/15 4:55 下午 + */ + List selectTopicInfo(@Param("topicIds")List topicIds); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java index d96d1787e1..9e50c2d7d4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java @@ -1,5 +1,6 @@ package com.epmet.dao.user; +import com.epmet.dto.extract.result.UserPartyResultDTO; import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -97,4 +98,12 @@ public interface UserDao { * @date 2020.06.18 18:50 **/ Integer selectWarmIncrWithinTimeRange(@Param("incrUserIds")List incrUserIds,@Param("gridIds") Set gridIds,@Param("startDate")Date startDate,@Param("endDate")Date endDate); + + /** + * @Description 查询用户是不是党员 + * @param userIds + * @author zxc + * @date 2020/9/15 4:23 下午 + */ + List selectUserIsParty(@Param("userIds") List userIds);; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java index d2a9ef721a..ea2d98a94b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java @@ -3,6 +3,7 @@ package com.epmet.service.Issue; import com.epmet.dto.issue.IssueAgencyDTO; import com.epmet.dto.issue.IssueGridDTO; import com.epmet.dto.issue.IssueProjectDTO; +import com.epmet.dto.extract.result.IssueInfoResultDTO; import com.epmet.entity.issue.IssueEntity; import java.util.List; @@ -109,4 +110,13 @@ public interface IssueService { * @return java.util.List */ List getIssueProjectList(String customerId); + + /** + * @Description 查询议题信息 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/15 2:28 下午 + */ + List selectIssueInfo(String customerId,String dateId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java index 25cd62b30a..88e82eb9f2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java @@ -6,6 +6,7 @@ import com.epmet.dao.issue.StatsIssueDao; import com.epmet.dto.issue.IssueAgencyDTO; import com.epmet.dto.issue.IssueGridDTO; import com.epmet.dto.issue.IssueProjectDTO; +import com.epmet.dto.extract.result.IssueInfoResultDTO; import com.epmet.entity.issue.IssueEntity; import com.epmet.service.Issue.IssueService; import org.springframework.beans.factory.annotation.Autowired; @@ -80,4 +81,16 @@ public class IssueServiceImpl implements IssueService { public List getIssueProjectList(String customerId) { return statsIssueDao.selectIssueProjectList(customerId); } + + /** + * @Description 查询议题信息 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/15 2:28 下午 + */ + @Override + public List selectIssueInfo(String customerId,String dateId) { + return statsIssueDao.selectIssueInfo(customerId, dateId); + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/IssueExtractService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/IssueExtractService.java index 9a257fbe6d..8731b47e9b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/IssueExtractService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/IssueExtractService.java @@ -5,4 +5,14 @@ package com.epmet.service.evaluationindex.extract; * @DateTime 2020/9/14 5:07 下午 */ public interface IssueExtractService { + + /** + * @Description 议题抽取 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/15 2:02 下午 + */ + Boolean issueExtract(String customerId,String dateId); + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java index 5d3c3d6eac..b8c01d6305 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java @@ -1,8 +1,26 @@ package com.epmet.service.evaluationindex.extract.impl; +import com.epmet.commons.tools.dto.form.TimeListResultDTO; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.dao.evaluationindex.extract.FactOriginIssueMainDailyDao; +import com.epmet.dto.extract.FactOriginIssueMainDailyDTO; +import com.epmet.dto.extract.result.IssueInfoResultDTO; +import com.epmet.dto.extract.result.TopicInfoResultDTO; +import com.epmet.service.Issue.IssueService; import com.epmet.service.evaluationindex.extract.IssueExtractService; +import com.epmet.service.topic.TopicService; +import com.epmet.service.user.UserService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Author zxc @@ -12,6 +30,85 @@ import org.springframework.stereotype.Service; @Slf4j public class IssueExtractServiceImpl implements IssueExtractService { + @Autowired + private FactOriginIssueMainDailyDao issueMainDailyDao; + @Autowired + private IssueService issueService; + @Autowired + private UserService userService; + @Autowired + private TopicService topicService; + + /** + * @Description 议题抽取 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/15 2:02 下午 + */ + @Override + public Boolean issueExtract(String customerId, String dateId) { + + // 议题信息查询 + List listResult = issueService.selectIssueInfo(customerId, dateId); + List result = new ArrayList<>(); + if (CollectionUtils.isEmpty(listResult)){ + throw new RenException("查询议题信息为空"); + } + listResult.forEach(issue -> { + FactOriginIssueMainDailyDTO factOriginIssueMainDailyDTO = ConvertUtils.sourceToTarget(issue, FactOriginIssueMainDailyDTO.class); + factOriginIssueMainDailyDTO.setId(issue.getIssueId()); + result.add(factOriginIssueMainDailyDTO); + }); + + // 创建议题人ID + List userIds = listResult.stream().map(issue -> issue.getUserId()).distinct().collect(Collectors.toList()); + Map map = userService.selectUserIsParty(userIds); + if (null != map){ + result.forEach(r -> { + map.forEach((userId,isParty) -> { + if (r.getUserId().equals(userId)){ + r.setIsParty(isParty); + } + }); + }); + } + + // 创建话题用户身份信息查询 + List topicIds = listResult.stream().map(issue -> issue.getTopicId()).collect(Collectors.toList()); + List topicInfoList = topicService.selectTopicInfo(topicIds); + if (CollectionUtils.isEmpty(topicInfoList)){ + throw new RenException("查询创建话题用户身份信息为空"); + } + List createTopicUserIds = topicInfoList.stream().map(topic -> topic.getUserId()).distinct().collect(Collectors.toList()); + Map topicUserIsParty = userService.selectUserIsParty(createTopicUserIds); + topicInfoList.forEach(topic -> { + topicUserIsParty.forEach((userId,isParty) -> { + if (topic.getUserId().equals(userId)){ + topic.setIsParty(isParty); + } + }); + }); + // 根据dateId赋值 + TimeListResultDTO timeList = DateUtils.getTimeList(dateId); + result.forEach(r -> { + r.setDateId(dateId); + r.setWeekId(timeList.getWeekId()); + r.setMonthId(timeList.getMonthId()); + r.setQuarterId(timeList.getQuarterId()); + r.setYearId(timeList.getYearId()); + topicInfoList.forEach(topic -> { + if (r.getTopicId().equals(topic.getTopicId())){ + r.setCreateTopicUserId(topic.getUserId()); + r.setTopicUserIsParty(topic.getIsParty()); + } + }); + }); + + + + return true; + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java index a14dc274ce..b7a010bbab 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java @@ -1,6 +1,7 @@ package com.epmet.service.topic; import com.epmet.dto.AgencySubTreeDto; +import com.epmet.dto.extract.result.TopicInfoResultDTO; import com.epmet.dto.stats.DimTopicStatusDTO; import com.epmet.dto.stats.topic.result.TopicStatisticalData; import com.epmet.util.DimIdGenerator; @@ -34,4 +35,12 @@ public interface TopicService { * @Date 2020/9/15 13:40 **/ void topicDataCleaning(String customerId, String dateId); + /** + * @Description 查询话题创建者信息 + * @param topicIds + * @author zxc + * @date 2020/9/15 4:55 下午 + */ + List selectTopicInfo(List topicIds); + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java index 18db52ef4e..94ed43d771 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.topic.TopicDao; import com.epmet.dto.AgencySubTreeDto; +import com.epmet.dto.extract.result.TopicInfoResultDTO; import com.epmet.dto.stats.DimTopicStatusDTO; import com.epmet.dto.stats.topic.*; import com.epmet.dto.stats.topic.result.GridTopicData; @@ -94,6 +95,17 @@ public class TopicServiceImpl implements TopicService { } + /** + * @Description 查询话题创建者信息 + * @param topicIds + * @author zxc + * @date 2020/9/15 4:55 下午 + */ + @Override + public List selectTopicInfo(List topicIds) { + return topicDao.selectTopicInfo(topicIds); + } + /** * @Description 初始化机关-所有下级网格Map * @param pid - 固定一个机关Id diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java index cd4c70287b..60934ed2c1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java @@ -27,4 +27,12 @@ public interface UserService { * @date 2020.06.18 10:03 **/ UserStatisticalData traverseGridUser(List agencies, Date targetDate, DimIdGenerator.DimIdBean timeDimension); + + /** + * @Description 查询用户是不是党员 + * @param userIds + * @author zxc + * @date 2020/9/15 4:23 下午 + */ + Map selectUserIsParty(List userIds); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java index 3882b0d524..781b139558 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.user.UserDao; import com.epmet.dto.AgencySubTreeDto; +import com.epmet.dto.extract.result.UserPartyResultDTO; import com.epmet.dto.stats.user.*; import com.epmet.dto.stats.user.result.UserStatisticalData; import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO; @@ -16,11 +17,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; /** @@ -118,6 +121,31 @@ public class UserServiceImpl implements UserService { return dataPacket; } + /** + * @Description 查询用户是不是党员 + * @param userIds + * @author zxc + * @date 2020/9/15 4:23 下午 + */ + @Override + public Map selectUserIsParty(List userIds) { + List userPartyResultDTOS = userDao.selectUserIsParty(userIds); + Map result = new HashMap<>(); + if (!CollectionUtils.isEmpty(userPartyResultDTOS)){ + Map> collect = userPartyResultDTOS.stream().collect(Collectors.groupingBy(UserPartyResultDTO::getUserId)); + collect.forEach((userId,c) -> { + AtomicReference isParty = new AtomicReference<>(false); + c.forEach(user -> { + if (user.getRoleName().equals("党员")){ + isParty.set(true); + } + }); + result.put(userId,isParty.get() == true ? NumConstant.ONE : NumConstant.ZERO); + }); + } + return result; + } + /** * @Description 初始化机关-所有下级网格Map diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml index 2b6c50fb7f..094da63178 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml @@ -182,4 +182,21 @@ + + + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml index c567d0c842..832302588b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml @@ -129,4 +129,21 @@ order by TOPIC_ID + + + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml index 6b796d944e..67e2ab9442 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml @@ -408,4 +408,20 @@ AND urole.CREATED_TIME =]]> #{startDate} AND urole.CREATED_TIME DATE_SUB( #{endDate}, INTERVAL - 1 DAY) AND erole.ROLE_NAME = '热心居民' + + +