diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/constant/TopicConstant.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/constant/TopicConstant.java new file mode 100644 index 0000000000..62c27f4b55 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/constant/TopicConstant.java @@ -0,0 +1,30 @@ +package com.epmet.topic.constant; + +/** + * @Author zxc + * @CreateTime 2020/6/20 17:19 + */ +public interface TopicConstant { + + /** + * 讨论中 + */ + String DISCUSSING = "discussing"; + + /** + * 已屏蔽 + */ + String HIDDEN = "hidden"; + + /** + * 已关闭 + */ + String CLOSED = "closed"; + + String RATIO = "%"; + + String SHIFTED = "已转议题"; + + String MONTH = "month"; + String DATE = "date"; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/form/TopicIncrTrendFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/form/TopicIncrTrendFormDTO.java new file mode 100644 index 0000000000..2eecf2de34 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/form/TopicIncrTrendFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.topic.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 16:24 + */ +@Data +public class TopicIncrTrendFormDTO implements Serializable { + + private static final long serialVersionUID = -4929038359220814068L; + + public interface TopicIncr{} + + /** + * 类型 month:代表月 date:代表日 + */ + @NotBlank(message = "month / date 类型不能为空",groups = {TopicIncr.class}) + private String type; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicIncrTrendResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicIncrTrendResultDTO.java new file mode 100644 index 0000000000..24e3eae7bc --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicIncrTrendResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.topic.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 16:09 + */ +@Data +public class TopicIncrTrendResultDTO implements Serializable { + + private static final long serialVersionUID = 6905657684644153197L; + + /** + * 日期 + */ + private String date; + + /** + * 值 + */ + private Integer value; + + /** + * 类型 + */ + private String type; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicShiftedCountResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicShiftedCountResultDTO.java new file mode 100644 index 0000000000..99b84d913f --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicShiftedCountResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.topic.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 17:32 + */ +@Data +public class TopicShiftedCountResultDTO implements Serializable { + + private static final long serialVersionUID = -7470748727678087785L; + + /** + * 已转议题数量 + */ + private Integer shiftedIssueCount; + + /** + * 数据更新至 时间 + */ + private String deadline; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicStatusResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicStatusResultDTO.java new file mode 100644 index 0000000000..c22ebd7176 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicStatusResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.topic.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 17:10 + */ +@Data +public class TopicStatusResultDTO implements Serializable { + + private static final long serialVersionUID = -6461755954651271901L; + + /** + * 话题数量 + */ + private Integer topicCount; + + /** + * 话题状态 已关闭:closed、已屏蔽:hidden、 讨论中:discussing + */ + private String topicStatus; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubAgencyResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubAgencyResultDTO.java new file mode 100644 index 0000000000..87dd107010 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubAgencyResultDTO.java @@ -0,0 +1,35 @@ +package com.epmet.topic.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 16:13 + */ +@Data +public class TopicSubAgencyResultDTO implements Serializable { + + private static final long serialVersionUID = 70586943923355457L; + + /** + * 名称 + */ + private String name; + + /** + * 值 + */ + private Integer value; + + /** + * 类型 + */ + private String type; + + /** + * 机关Id + */ + private String agencyId; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubGridResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubGridResultDTO.java new file mode 100644 index 0000000000..64cad1615c --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSubGridResultDTO.java @@ -0,0 +1,35 @@ +package com.epmet.topic.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 16:13 + */ +@Data +public class TopicSubGridResultDTO implements Serializable { + + private static final long serialVersionUID = -7251687622455341118L; + + /** + * 名称 + */ + private String name; + + /** + * 值 + */ + private Integer value; + + /** + * 类型 + */ + private String type; + + /** + * 网格Id + */ + private String gridId; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryInfoResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryInfoResultDTO.java new file mode 100644 index 0000000000..3112df3356 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryInfoResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.topic.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 16:14 + */ +@Data +public class TopicSummaryInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 1103298182001744033L; + + /** + * 名称 + */ + private String name; + + /** + * 值 + */ + private Integer value; + + /** + * 百分比 + */ + private String ratio; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryResultDTO.java new file mode 100644 index 0000000000..6f14a45fd5 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/topic/dto/result/TopicSummaryResultDTO.java @@ -0,0 +1,45 @@ +package com.epmet.topic.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 16:04 + */ +@Data +public class TopicSummaryResultDTO implements Serializable { + + private static final long serialVersionUID = -6051892596892952025L; + + /** + * 话题总数 + */ + private Integer topicTotalCount; + + /** + * 讨论中话题数量 + */ + private Integer talkingTotalCount; + + /** + * 已关闭话题数量 + */ + private Integer closedTotalCount; + + /** + * 已屏蔽话题数量 + */ + private Integer shieldedTotalCount; + + /** + * 话题已转议题数量 + */ + private Integer shiftedTotalCount; + + /** + * 数据更新至 时间 + */ + private String deadline; +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/controller/TopicController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/controller/TopicController.java new file mode 100644 index 0000000000..44e058cf14 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/controller/TopicController.java @@ -0,0 +1,81 @@ +package com.epmet.module.topic.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.module.topic.service.TopicService; +import com.epmet.topic.dto.form.TopicIncrTrendFormDTO; +import com.epmet.topic.dto.result.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/20 15:55 + */ +@RestController +@RequestMapping("topic") +public class TopicController { + + @Autowired + private TopicService topicService; + + /** + * @Description 话题:话题总数、讨论中话题数量、已关闭话题数量、已屏蔽话题数量、话题已转议题数量、数据更新至2020-06-17 + * @param tokenDto + * @author zxc + */ + @PostMapping("topicsummary") + public Result topicSummary(@LoginUser TokenDto tokenDto){ + return new Result().ok(topicService.topicSummary(tokenDto)); + } + + /** + * @Description 话题——话题分析 + * @param tokenDto + * @param formDTO + * @author zxc + */ + @PostMapping("incrtrend") + public Result> topicIncrTrend(@LoginUser TokenDto tokenDto, @RequestBody TopicIncrTrendFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, TopicIncrTrendFormDTO.TopicIncr.class); + return new Result>().ok(topicService.topicIncrTrend(tokenDto,formDTO)); + } + + /** + * @Description 话题——直属网格话题数 + * @param tokenDto + * @author zxc + */ + @PostMapping("subgrid") + public Result> topicSubGrid(@LoginUser TokenDto tokenDto){ + return new Result>().ok(topicService.topicSubGrid(tokenDto)); + } + + /** + * @Description 话题——下级机关话题数 + * @param tokenDto + * @author zxc + */ + @PostMapping("subagency") + public Result> topicSubAgency(@LoginUser TokenDto tokenDto){ + return new Result>().ok(topicService.topicSubAgency(tokenDto)); + } + + /** + * @Description 话题——话题分析表 + * @param tokenDto + * @author zxc + */ + @PostMapping("summaryinfo") + public Result> topicSummaryInfo(@LoginUser TokenDto tokenDto){ + return new Result>().ok(topicService.topicSummaryInfo(tokenDto)); + } + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/dao/TopicDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/dao/TopicDao.java new file mode 100644 index 0000000000..9ea7f8d631 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/dao/TopicDao.java @@ -0,0 +1,108 @@ +package com.epmet.module.topic.dao; + +import com.epmet.group.dto.result.GroupIncrTrendResultDTO; +import com.epmet.topic.dto.result.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/20 15:55 + */ +@Mapper +public interface TopicDao { + + /** + * @Description 获取话题数量及状态 + * @param agencyId + * @author zxc + */ + List getTopicStatus(@Param("agencyId")String agencyId); + + /** + * @Description 获取机关下已转议题数量 + * @param agencyId + * @author zxc + */ + TopicShiftedCountResultDTO getShiftedCount(@Param("agencyId")String agencyId); + + /** + * @Description 获取话题信息(状态,数量,百分比) + * @param agencyId + * @author zxc + */ + List topicSummaryInfo(@Param("agencyId")String agencyId); + + /** + * @Description 根据当前机关判断是否有下级机关 + * @param agencyId + * @author zxc + */ + List getSubAgencyIdList(@Param("agencyId")String agencyId); + + /** + * @Description 获取最后一天的所有话题数据 【fact_topic_status_agency_daily】 + * @param + * @author zxc + */ + List getAllTopicInfoLastDay(); + + /** + * @Description 获取最后一天的所有话题已转议题数据 + * @param + * @author zxc + */ + List getAllTopicShiftedInfoLastDay(); + + /** + * @Description 校验机关下是否存在直属网格 + * @param agencyId + * @author zxc + */ + List getSubGridIdList(@Param("agencyId")String agencyId); + + /** + * @Description 获取最后一天的所有话题数据 【fact_topic_status_grid_daily】【grid】 + * @param + * @author zxc + */ + List getGridAllTopicInfoLastDay(); + + /** + * @Description 获取最后一天的所有话题已转议题数据【grid】 + * @param + * @author zxc + */ + List getGridAllTopicShiftedInfoLastDay(); + + /** + * @Description 话题日增长 + * @param agencyId + * @author zxc + */ + List getTopicIncrDaily(@Param("agencyId") String agencyId); + + /** + * @Description 话题转议题日增长 + * @param agencyId + * @author zxc + */ + List getTopicShiftedIncrDaily(@Param("agencyId") String agencyId); + + /** + * @Description 话题月增长 + * @param agencyId + * @author zxc + */ + List getTopicIncrMonthly(@Param("agencyId") String agencyId); + + /** + * @Description 话题转议题月增长 + * @param agencyId + * @author zxc + */ + List getTopicShiftedIncrMonthly(@Param("agencyId") String agencyId); + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/TopicService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/TopicService.java new file mode 100644 index 0000000000..1bf2b6d9c3 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/TopicService.java @@ -0,0 +1,51 @@ +package com.epmet.module.topic.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.topic.dto.form.TopicIncrTrendFormDTO; +import com.epmet.topic.dto.result.*; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/20 15:58 + */ +public interface TopicService { + + /** + * @Description 话题:话题总数、讨论中话题数量、已关闭话题数量、已屏蔽话题数量、话题已转议题数量、数据更新至2020-06-17 + * @param tokenDto + * @author zxc + */ + TopicSummaryResultDTO topicSummary(TokenDto tokenDto); + + /** + * @Description 话题——话题分析 + * @param tokenDto + * @param formDTO + * @author zxc + */ + List topicIncrTrend(TokenDto tokenDto, TopicIncrTrendFormDTO formDTO); + + /** + * @Description 话题——直属网格话题数 + * @param tokenDto + * @author zxc + */ + List topicSubGrid( TokenDto tokenDto); + + /** + * @Description 话题——下级机关话题数 + * @param tokenDto + * @author zxc + */ + List topicSubAgency(TokenDto tokenDto); + + /** + * @Description 话题——话题分析表 + * @param tokenDto + * @author zxc + */ + List topicSummaryInfo(TokenDto tokenDto); + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/impl/TopicServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/impl/TopicServiceImpl.java new file mode 100644 index 0000000000..a66659396f --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/topic/service/impl/TopicServiceImpl.java @@ -0,0 +1,182 @@ +package com.epmet.module.topic.service.impl; + +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.LoginUserDetailsFormDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.module.topic.dao.TopicDao; +import com.epmet.module.topic.service.TopicService; +import com.epmet.topic.constant.TopicConstant; +import com.epmet.topic.dto.form.TopicIncrTrendFormDTO; +import com.epmet.topic.dto.result.*; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Author zxc + * @CreateTime 2020/6/20 15:58 + */ +@Service +public class TopicServiceImpl implements TopicService { + + @Autowired + private TopicDao topicDao; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + + /** + * @Description 话题:话题总数、讨论中话题数量、已关闭话题数量、已屏蔽话题数量、话题已转议题数量、数据更新至2020-06-17 + * @param tokenDto + * @author zxc + */ + @Override + public TopicSummaryResultDTO topicSummary(TokenDto tokenDto) { + TopicSummaryResultDTO result = new TopicSummaryResultDTO(); + String agencyId = this.getLoginUserDetails(tokenDto); + List topicStatus = topicDao.getTopicStatus(agencyId); + if (topicStatus.size() != NumConstant.ZERO){ + topicStatus.forEach(topic -> { + if (topic.getTopicStatus().equals(TopicConstant.DISCUSSING)){ + result.setTalkingTotalCount(topic.getTopicCount()); + }else if (topic.getTopicStatus().equals(TopicConstant.CLOSED)){ + result.setClosedTotalCount(topic.getTopicCount()); + }else { + result.setShieldedTotalCount(topic.getTopicCount()); + } + }); + result.setTopicTotalCount(topicStatus.stream().collect(Collectors.summingInt(TopicStatusResultDTO::getTopicCount))); + } + TopicShiftedCountResultDTO shiftedCount = topicDao.getShiftedCount(agencyId); + if (shiftedCount != null){ + result.setShiftedTotalCount(shiftedCount.getShiftedIssueCount()); + result.setDeadline(shiftedCount.getDeadline()); + } + return result; + } + + /** + * @Description 话题——话题分析 + * @param tokenDto + * @param formDTO + * @author zxc + */ + @Override + public List topicIncrTrend(TokenDto tokenDto, TopicIncrTrendFormDTO formDTO) { + String agencyId = this.getLoginUserDetails(tokenDto); + List result = new ArrayList<>(); + if (formDTO.getType().equals(TopicConstant.DATE)){ + List topicIncrDaily = topicDao.getTopicIncrDaily(agencyId); + List topicShiftedIncrDaily = topicDao.getTopicShiftedIncrDaily(agencyId); + topicIncrDaily.addAll(topicShiftedIncrDaily); + result = topicIncrDaily.stream().sorted(Comparator.comparing(TopicIncrTrendResultDTO::getDate).reversed()).collect(Collectors.toList()); + }else { + List topicIncrMonthly = topicDao.getTopicIncrMonthly(agencyId); + List topicShiftedIncrMonthly = topicDao.getTopicShiftedIncrMonthly(agencyId); + topicIncrMonthly.addAll(topicShiftedIncrMonthly); + result = topicIncrMonthly.stream().sorted(Comparator.comparing(TopicIncrTrendResultDTO::getDate).reversed()).collect(Collectors.toList()); + } + return result; + } + + /** + * @Description 话题——直属网格话题数 + * @param tokenDto + * @author zxc + */ + @Override + public List topicSubGrid(TokenDto tokenDto) { + String agencyId = this.getLoginUserDetails(tokenDto); + List result = new ArrayList<>(); + List subGridIdList = topicDao.getSubGridIdList(agencyId); + if (subGridIdList.size() != NumConstant.ZERO){ + List gridAllTopicInfoLastDay = topicDao.getGridAllTopicInfoLastDay(); + List gridAllTopicShiftedInfoLastDay = topicDao.getGridAllTopicShiftedInfoLastDay(); + subGridIdList.forEach(gridId -> { + gridAllTopicInfoLastDay.forEach(gridTopic -> { + if (gridId.equals(gridTopic.getGridId())){ + result.add(gridTopic); + } + }); + gridAllTopicShiftedInfoLastDay.forEach(gridShift -> { + if (gridId.equals(gridShift.getGridId())){ + result.add(gridShift); + } + }); + }); + return result; + } + return new ArrayList<>(); + } + + /** + * @Description 话题——下级机关话题数 + * @param tokenDto + * @author zxc + */ + @Override + public List topicSubAgency(TokenDto tokenDto) { + String agencyId = this.getLoginUserDetails(tokenDto); + List result = new ArrayList<>(); + List subAgencyIdList = topicDao.getSubAgencyIdList(agencyId); + //存在下级机关 + if (subAgencyIdList.size() != NumConstant.ZERO){ + List allTopicInfoLastDay = topicDao.getAllTopicInfoLastDay(); + List allTopicShiftedInfoLastDay = topicDao.getAllTopicShiftedInfoLastDay(); + //话题状态为 已关闭、讨论中、已屏蔽 + subAgencyIdList.forEach(agencyIdOne -> { + allTopicInfoLastDay.forEach(agency -> { + if (agencyIdOne.equals(agency.getAgencyId())){ + result.add(agency); + } + }); + allTopicShiftedInfoLastDay.forEach(shiftTopic -> { + if (agencyIdOne.equals(shiftTopic.getAgencyId())){ + result.add(shiftTopic); + } + }); + }); + return result; + } + //不存在 + return new ArrayList<>(); + } + + /** + * @Description 话题——话题分析表 + * @param tokenDto + * @author zxc + */ + @Override + public List topicSummaryInfo(TokenDto tokenDto) { + String agencyId = this.getLoginUserDetails(tokenDto); + List topicSummaryInfo = topicDao.topicSummaryInfo(agencyId); + TopicShiftedCountResultDTO shiftedCount = topicDao.getShiftedCount(agencyId); + int i = (shiftedCount.getShiftedIssueCount() / topicSummaryInfo.stream().collect(Collectors.summingInt(TopicSummaryInfoResultDTO::getValue))) * NumConstant.ONE_HUNDRED; + String ratio = String.valueOf(i) + TopicConstant.RATIO; + TopicSummaryInfoResultDTO result = new TopicSummaryInfoResultDTO(); + result.setName(TopicConstant.SHIFTED); + result.setRatio(ratio); + result.setValue(shiftedCount.getShiftedIssueCount()); + topicSummaryInfo.add(result); + return topicSummaryInfo; + } + + /** + * @Description 获取机关ID + * @param tokenDto + * @author zxc + */ + public String getLoginUserDetails(TokenDto tokenDto){ + LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO(); + BeanUtils.copyProperties(tokenDto,dto); + LoginUserDetailsResultDTO data = epmetUserOpenFeignClient.getLoginUserDetails(dto).getData(); + return data.getAgencyId(); + } +} diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml new file mode 100644 index 0000000000..93f146f299 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file