Browse Source

议题主表,公共方法添加 根据dateId获取时间集合

dev_shibei_match
zxc 5 years ago
parent
commit
f385d21df9
  1. 21
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/TimeListResultDTO.java
  2. 20
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  3. 2
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueLogDailyDTO.java
  4. 17
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueMainDailyDTO.java
  5. 33
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueInfoFormDTO.java
  6. 12
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueLogDailyFormDTO.java
  7. 74
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/IssueMainDailyFormDTO.java
  8. 50
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/IssueInfoResultDTO.java
  9. 21
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/TopicInfoResultDTO.java
  10. 19
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/UserPartyResultDTO.java
  11. 16
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java
  12. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java
  13. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java
  14. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java
  15. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
  16. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java
  17. 13
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java
  18. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/IssueExtractService.java
  19. 97
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java
  20. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java
  21. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java
  22. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
  23. 28
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
  24. 17
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml
  25. 17
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml
  26. 16
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml

21
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;
}

20
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.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.TimeListResultDTO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.LocalDate; import org.joda.time.LocalDate;
@ -593,4 +594,23 @@ public class DateUtils {
} }
return StrConstant.EPMETY_STR; 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;
}
} }

2
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueLogDailyDTO.java

@ -101,7 +101,7 @@ public class FactOriginIssueLogDailyDTO implements Serializable {
/** /**
* 党员 热心居民 居民 * 党员 热心居民 居民
*/ */
private String userIdentity; private Integer isParty;
/** /**
* 删除状态0:正常1:删除 * 删除状态0:正常1:删除

17
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginIssueMainDailyDTO.java

@ -34,7 +34,7 @@ public class FactOriginIssueMainDailyDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* id * 议题ID
*/ */
private String id; private String id;
@ -71,7 +71,7 @@ public class FactOriginIssueMainDailyDTO implements Serializable {
/** /**
* 用户身份标识 * 用户身份标识
*/ */
private String userIdentity; private Integer isParty;
/** /**
* 转议题用户ID * 转议题用户ID
@ -83,11 +83,6 @@ public class FactOriginIssueMainDailyDTO implements Serializable {
*/ */
private String createTopicUserId; private String createTopicUserId;
/**
* 议题ID
*/
private String issueId;
/** /**
* 转为议题的话题ID * 转为议题的话题ID
*/ */
@ -116,7 +111,7 @@ public class FactOriginIssueMainDailyDTO implements Serializable {
/** /**
* 创建话题用户身份标识 * 创建话题用户身份标识
*/ */
private String topicUserIdentity; private Integer topicUserIsParty;
/** /**
* 删除状态0:正常1:删除 * 删除状态0:正常1:删除
@ -148,4 +143,10 @@ public class FactOriginIssueMainDailyDTO implements Serializable {
*/ */
private Date updatedTime; private Date updatedTime;
public FactOriginIssueMainDailyDTO() {
this.delFlag = 0;
this.revision = 0;
this.createdBy = "APP_USER";
this.updatedBy = "APP_USER";
}
} }

33
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;
}

12
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; private static final long serialVersionUID = 7036617958351476594L;
/**
* 议题ID
*/
private String id;
/** /**
* 客户ID * 客户ID
*/ */
@ -58,11 +63,6 @@ public class IssueLogDailyFormDTO implements Serializable {
*/ */
private String yearId; private String yearId;
/**
* 议题ID
*/
private String issueId;
/** /**
* 操作用户ID * 操作用户ID
*/ */
@ -76,7 +76,7 @@ public class IssueLogDailyFormDTO implements Serializable {
/** /**
* 党员 热心居民 居民 * 党员 热心居民 居民
*/ */
private String userIdentity; private Integer isParty;
/** /**
* 是否已删除(0-未删除1-已删除) * 是否已删除(0-未删除1-已删除)

74
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 lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* @Author zxc * @Author zxc
@ -14,27 +15,12 @@ public class IssueMainDailyFormDTO implements Serializable {
private static final long serialVersionUID = -5288003778076157611L; private static final long serialVersionUID = -5288003778076157611L;
/** /**
* 客户ID * 议题ID
*/
private String customerId;
/**
* 网格ID
*/
private String gridId;
/**
* 组织上级ID
*/
private String pid;
/**
* 机关ID
*/ */
private String agencyId; private String id;
/** /**
* ID * 日ID指议题创建的yyyymmdd
*/ */
private String dateId; private String dateId;
@ -59,27 +45,57 @@ public class IssueMainDailyFormDTO implements Serializable {
private String yearId; 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; private Integer delFlag;
@ -89,12 +105,12 @@ public class IssueMainDailyFormDTO implements Serializable {
private Integer revision; private Integer revision;
/** /**
* 创建 * 创建
*/ */
private String createdBy; private String createdBy;
/** /**
* 修改者 * 更新人
*/ */
private String updatedBy; private String updatedBy;

50
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;
}

21
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;
}

19
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;
}

16
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginController.java

@ -1,5 +1,9 @@
package com.epmet.controller; 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.commons.tools.utils.Result;
import com.epmet.service.topic.TopicService; import com.epmet.service.topic.TopicService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -19,6 +23,18 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("factorigin") @RequestMapping("factorigin")
public class FactOriginController { 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 @Autowired
private TopicService topicService; private TopicService topicService;

2
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; package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.form.IssueLogDailyFormDTO;
import com.epmet.dto.extract.form.IssueMainDailyFormDTO; import com.epmet.dto.extract.form.IssueMainDailyFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginIssueMainDailyEntity; import com.epmet.entity.evaluationindex.extract.FactOriginIssueMainDailyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -42,5 +41,4 @@ public interface FactOriginIssueMainDailyDao extends BaseDao<FactOriginIssueMain
* @date 2020/9/14 5:53 下午 * @date 2020/9/14 5:53 下午
*/ */
void insertIssueMainList(@Param("issueMainList") List<IssueMainDailyFormDTO> issueMainList); void insertIssueMainList(@Param("issueMainList") List<IssueMainDailyFormDTO> issueMainList);
} }

2
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.IssueAgencyDTO;
import com.epmet.dto.issue.IssueGridDTO; import com.epmet.dto.issue.IssueGridDTO;
import com.epmet.dto.issue.IssueProjectDTO; import com.epmet.dto.issue.IssueProjectDTO;
import com.epmet.dto.extract.result.IssueInfoResultDTO;
import com.epmet.entity.issue.IssueEntity; import com.epmet.entity.issue.IssueEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -112,4 +113,5 @@ public interface StatsIssueDao extends BaseDao<IssueEntity> {
*/ */
List<IssueProjectDTO> selectIssueProjectList(@Param("customerId") String customerId); List<IssueProjectDTO> selectIssueProjectList(@Param("customerId") String customerId);
List<IssueInfoResultDTO> selectIssueInfo(@Param("customerId")String customerId, @Param("dateId")String dateId);
} }

9
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 * @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.ResiGroupTopicResultDTO;
import com.epmet.dto.topic.result.ResiTopicOperationResultDTO; import com.epmet.dto.topic.result.ResiTopicOperationResultDTO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -56,4 +57,12 @@ public interface TopicDao {
* @date 2020.06.22 11:07 * @date 2020.06.22 11:07
**/ **/
List<ResiTopicOperationResultDTO> selectTopicOperationRecordBetweenTimeRange(@Param("startDate")Date startDate, @Param("endDate")Date endDate); List<ResiTopicOperationResultDTO> selectTopicOperationRecordBetweenTimeRange(@Param("startDate")Date startDate, @Param("endDate")Date endDate);
/**
* @Description 查询话题创建者信息
* @param topicIds
* @author zxc
* @date 2020/9/15 4:55 下午
*/
List<TopicInfoResultDTO> selectTopicInfo(@Param("topicIds")List<String> topicIds);
} }

9
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; package com.epmet.dao.user;
import com.epmet.dto.extract.result.UserPartyResultDTO;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO; import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -97,4 +98,12 @@ public interface UserDao {
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
Integer selectWarmIncrWithinTimeRange(@Param("incrUserIds")List<String> incrUserIds,@Param("gridIds") Set<String> gridIds,@Param("startDate")Date startDate,@Param("endDate")Date endDate); Integer selectWarmIncrWithinTimeRange(@Param("incrUserIds")List<String> incrUserIds,@Param("gridIds") Set<String> gridIds,@Param("startDate")Date startDate,@Param("endDate")Date endDate);
/**
* @Description 查询用户是不是党员
* @param userIds
* @author zxc
* @date 2020/9/15 4:23 下午
*/
List<UserPartyResultDTO> selectUserIsParty(@Param("userIds") List<String> userIds);;
} }

10
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.IssueAgencyDTO;
import com.epmet.dto.issue.IssueGridDTO; import com.epmet.dto.issue.IssueGridDTO;
import com.epmet.dto.issue.IssueProjectDTO; import com.epmet.dto.issue.IssueProjectDTO;
import com.epmet.dto.extract.result.IssueInfoResultDTO;
import com.epmet.entity.issue.IssueEntity; import com.epmet.entity.issue.IssueEntity;
import java.util.List; import java.util.List;
@ -109,4 +110,13 @@ public interface IssueService {
* @return java.util.List<com.epmet.dto.issue.IssueProjectDTO> * @return java.util.List<com.epmet.dto.issue.IssueProjectDTO>
*/ */
List<IssueProjectDTO> getIssueProjectList(String customerId); List<IssueProjectDTO> getIssueProjectList(String customerId);
/**
* @Description 查询议题信息
* @param customerId
* @param dateId
* @author zxc
* @date 2020/9/15 2:28 下午
*/
List<IssueInfoResultDTO> selectIssueInfo(String customerId,String dateId);
} }

13
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.IssueAgencyDTO;
import com.epmet.dto.issue.IssueGridDTO; import com.epmet.dto.issue.IssueGridDTO;
import com.epmet.dto.issue.IssueProjectDTO; import com.epmet.dto.issue.IssueProjectDTO;
import com.epmet.dto.extract.result.IssueInfoResultDTO;
import com.epmet.entity.issue.IssueEntity; import com.epmet.entity.issue.IssueEntity;
import com.epmet.service.Issue.IssueService; import com.epmet.service.Issue.IssueService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -80,4 +81,16 @@ public class IssueServiceImpl implements IssueService {
public List<IssueProjectDTO> getIssueProjectList(String customerId) { public List<IssueProjectDTO> getIssueProjectList(String customerId) {
return statsIssueDao.selectIssueProjectList(customerId); return statsIssueDao.selectIssueProjectList(customerId);
} }
/**
* @Description 查询议题信息
* @param customerId
* @param dateId
* @author zxc
* @date 2020/9/15 2:28 下午
*/
@Override
public List<IssueInfoResultDTO> selectIssueInfo(String customerId,String dateId) {
return statsIssueDao.selectIssueInfo(customerId, dateId);
}
} }

10
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 下午 * @DateTime 2020/9/14 5:07 下午
*/ */
public interface IssueExtractService { public interface IssueExtractService {
/**
* @Description 议题抽取
* @param customerId
* @param dateId
* @author zxc
* @date 2020/9/15 2:02 下午
*/
Boolean issueExtract(String customerId,String dateId);
} }

97
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; 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.evaluationindex.extract.IssueExtractService;
import com.epmet.service.topic.TopicService;
import com.epmet.service.user.UserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; 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 * @Author zxc
@ -12,6 +30,85 @@ import org.springframework.stereotype.Service;
@Slf4j @Slf4j
public class IssueExtractServiceImpl implements IssueExtractService { 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<IssueInfoResultDTO> listResult = issueService.selectIssueInfo(customerId, dateId);
List<FactOriginIssueMainDailyDTO> 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<String> userIds = listResult.stream().map(issue -> issue.getUserId()).distinct().collect(Collectors.toList());
Map<String,Integer> map = userService.selectUserIsParty(userIds);
if (null != map){
result.forEach(r -> {
map.forEach((userId,isParty) -> {
if (r.getUserId().equals(userId)){
r.setIsParty(isParty);
}
});
});
}
// 创建话题用户身份信息查询
List<String> topicIds = listResult.stream().map(issue -> issue.getTopicId()).collect(Collectors.toList());
List<TopicInfoResultDTO> topicInfoList = topicService.selectTopicInfo(topicIds);
if (CollectionUtils.isEmpty(topicInfoList)){
throw new RenException("查询创建话题用户身份信息为空");
}
List<String> createTopicUserIds = topicInfoList.stream().map(topic -> topic.getUserId()).distinct().collect(Collectors.toList());
Map<String, Integer> 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;
}
} }

9
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; package com.epmet.service.topic;
import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.dto.stats.DimTopicStatusDTO; import com.epmet.dto.stats.DimTopicStatusDTO;
import com.epmet.dto.stats.topic.result.TopicStatisticalData; import com.epmet.dto.stats.topic.result.TopicStatisticalData;
import com.epmet.util.DimIdGenerator; import com.epmet.util.DimIdGenerator;
@ -34,4 +35,12 @@ public interface TopicService {
* @Date 2020/9/15 13:40 * @Date 2020/9/15 13:40
**/ **/
void topicDataCleaning(String customerId, String dateId); void topicDataCleaning(String customerId, String dateId);
/**
* @Description 查询话题创建者信息
* @param topicIds
* @author zxc
* @date 2020/9/15 4:55 下午
*/
List<TopicInfoResultDTO> selectTopicInfo(List<String> topicIds);
} }

12
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.constant.DataSourceConstant;
import com.epmet.dao.topic.TopicDao; import com.epmet.dao.topic.TopicDao;
import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.dto.stats.DimTopicStatusDTO; import com.epmet.dto.stats.DimTopicStatusDTO;
import com.epmet.dto.stats.topic.*; import com.epmet.dto.stats.topic.*;
import com.epmet.dto.stats.topic.result.GridTopicData; 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<TopicInfoResultDTO> selectTopicInfo(List<String> topicIds) {
return topicDao.selectTopicInfo(topicIds);
}
/** /**
* @Description 初始化机关-所有下级网格Map * @Description 初始化机关-所有下级网格Map
* @param pid - 固定一个机关Id * @param pid - 固定一个机关Id

8
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 * @date 2020.06.18 10:03
**/ **/
UserStatisticalData traverseGridUser(List<AgencySubTreeDto> agencies, Date targetDate, DimIdGenerator.DimIdBean timeDimension); UserStatisticalData traverseGridUser(List<AgencySubTreeDto> agencies, Date targetDate, DimIdGenerator.DimIdBean timeDimension);
/**
* @Description 查询用户是不是党员
* @param userIds
* @author zxc
* @date 2020/9/15 4:23 下午
*/
Map<String,Integer> selectUserIsParty(List<String> userIds);
} }

28
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.constant.DataSourceConstant;
import com.epmet.dao.user.UserDao; import com.epmet.dao.user.UserDao;
import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.result.UserPartyResultDTO;
import com.epmet.dto.stats.user.*; import com.epmet.dto.stats.user.*;
import com.epmet.dto.stats.user.result.UserStatisticalData; import com.epmet.dto.stats.user.result.UserStatisticalData;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO; import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
@ -16,11 +17,13 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -118,6 +121,31 @@ public class UserServiceImpl implements UserService {
return dataPacket; return dataPacket;
} }
/**
* @Description 查询用户是不是党员
* @param userIds
* @author zxc
* @date 2020/9/15 4:23 下午
*/
@Override
public Map<String,Integer> selectUserIsParty(List<String> userIds) {
List<UserPartyResultDTO> userPartyResultDTOS = userDao.selectUserIsParty(userIds);
Map<String,Integer> result = new HashMap<>();
if (!CollectionUtils.isEmpty(userPartyResultDTOS)){
Map<String, List<UserPartyResultDTO>> collect = userPartyResultDTOS.stream().collect(Collectors.groupingBy(UserPartyResultDTO::getUserId));
collect.forEach((userId,c) -> {
AtomicReference<Boolean> 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 * @Description 初始化机关-所有下级网格Map

17
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml

@ -182,4 +182,21 @@
<![CDATA[AND DATE_FORMAT(ipr.created_time, "%Y-%m-%d") <= DATE_FORMAT(#{createdTime}, "%Y-%m-%d")]]> <![CDATA[AND DATE_FORMAT(ipr.created_time, "%Y-%m-%d") <= DATE_FORMAT(#{createdTime}, "%Y-%m-%d")]]>
</select> </select>
<!-- 查询议题信息【根据客户,dateId 】 -->
<select id="selectIssueInfo" resultType="com.epmet.dto.extract.result.IssueInfoResultDTO">
SELECT
ID AS issueId,
ISSUE_STATUS,
SOURCE_ID AS topicId,
CUSTOMER_ID,
GRID_ID,
ORG_ID AS agencyId,
CREATED_BY AS userId
FROM issue
WHERE
DEL_FLAG = '0'
AND customer_id = #{customerId}
AND DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId}
</select>
</mapper> </mapper>

17
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml

@ -129,4 +129,21 @@
order by TOPIC_ID order by TOPIC_ID
</select> </select>
<!-- 查询话题创建者信息 -->
<select id="selectTopicInfo" resultType="com.epmet.dto.extract.result.TopicInfoResultDTO">
SELECT
id AS topicId,
CREATED_BY AS userId
FROM
resi_topic
WHERE
del_flag = '0'
AND
(
<foreach collection="topicIds" item="item" separator=" OR ">
id = #{item}
</foreach>
)
</select>
</mapper> </mapper>

16
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml

@ -408,4 +408,20 @@
AND urole.CREATED_TIME <![CDATA[>=]]> #{startDate} AND urole.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{endDate}, INTERVAL - 1 DAY) AND urole.CREATED_TIME <![CDATA[>=]]> #{startDate} AND urole.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{endDate}, INTERVAL - 1 DAY)
AND erole.ROLE_NAME = '热心居民' AND erole.ROLE_NAME = '热心居民'
</select> </select>
<!-- 查询用户是不是党员 -->
<select id="selectUserIsParty" resultType="com.epmet.dto.extract.result.UserPartyResultDTO">
SELECT ur.user_id AS userId,
er.role_name AS roleName
FROM user_role ur
LEFT JOIN epmet_role er ON er.id = ur.role_id
WHERE ur.del_flag = 0
AND er.del_flag = 0
AND
(
<foreach collection="userIds" item="item" separator=" OR ">
ur.user_id = #{item}
</foreach>
)
</select>
</mapper> </mapper>

Loading…
Cancel
Save