diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/BaseDataFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/BaseDataFormDTO.java index d2513cf19d..1eae69043b 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/BaseDataFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/BaseDataFormDTO.java @@ -17,9 +17,9 @@ public class BaseDataFormDTO implements Serializable { /** * 组织Id */ - @NotBlank(message = "组织ID不能为空",groups = {BaseDataFormDTO.BaseData.class,BaseDataFormDTO.WorkFact.class}) + @NotBlank(message = "组织ID不能为空",groups = {BaseDataFormDTO.BaseData.class, AgencyIdAndLevel.class}) private String agencyId; - @NotBlank(message = "组织级别不能为空",groups = BaseDataFormDTO.WorkFact.class) + @NotBlank(message = "组织级别不能为空",groups = AgencyIdAndLevel.class) private String agencyLevel; private String type; /** @@ -29,6 +29,6 @@ public class BaseDataFormDTO implements Serializable { private String startDateId; private String endDateId; public interface BaseData extends CustomerClientShowGroup{} - public interface WorkFact extends CustomerClientShowGroup{} + public interface AgencyIdAndLevel extends CustomerClientShowGroup{} } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java index 964e5225d1..2d6b0fa999 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java @@ -3,19 +3,20 @@ package com.epmet.dataaggre.controller.pub; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.datastats.form.BaseDataFormDTO; -import com.epmet.dataaggre.dto.datastats.form.SubTopicAndGroupFormDTO; -import com.epmet.dataaggre.dto.datastats.form.SubUserTotalFormDTO; import com.epmet.dataaggre.dto.datastats.result.BaseStatsDataResultDTO; import com.epmet.dataaggre.dto.datastats.result.SubTopicAndGroupResultDTO; import com.epmet.dataaggre.dto.datastats.result.SubUserTotalResultDTO; import com.epmet.dataaggre.dto.datastats.result.WorkFactResultDTO; import com.epmet.dataaggre.service.datastats.DataStatsService; +import lombok.extern.log4j.Log4j; 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 javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; /** @@ -24,6 +25,7 @@ import java.util.List; * @author yinzuomei@elink-cn.com * @date 2021/7/27 18:36 */ +@Log4j @RestController @RequestMapping("pub") public class PubController { @@ -41,7 +43,8 @@ public class PubController { @PostMapping("baseDataAgg") public Result getBaseStatsData(@RequestBody BaseDataFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO,BaseDataFormDTO.BaseData.class); - return new Result().ok(dataStatsService.getBaseStatsData(formDTO)); + BaseStatsDataResultDTO baseStatsData = dataStatsService.getBaseStatsData(formDTO); + return new Result().ok(baseStatsData); } /** @@ -54,8 +57,9 @@ public class PubController { */ @PostMapping("subWorkFact") public Result> getSubWorkFact(@RequestBody BaseDataFormDTO formDTO){ - ValidatorUtils.validateEntity(formDTO,BaseDataFormDTO.WorkFact.class); - return new Result>().ok(dataStatsService.getSubWorkFact(formDTO)); + ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class); + List subWorkFact = dataStatsService.getSubWorkFact(formDTO); + return new Result>().ok(subWorkFact); } /** @@ -64,9 +68,10 @@ public class PubController { * @author sun */ @PostMapping("subUserTotal") - public Result> subUserTotal(@RequestBody SubUserTotalFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, SubUserTotalFormDTO.Agency.class); - return new Result>().ok(dataStatsService.subUserTotal(formDTO)); + public Result> subUserTotal(@RequestBody BaseDataFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class); + List data = dataStatsService.subUserTotal(formDTO); + return new Result>().ok(data); } /** @@ -75,9 +80,39 @@ public class PubController { * @author sun */ @PostMapping("subTopicAndGroup") - public Result> subTopicAndGroup(@RequestBody SubTopicAndGroupFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, SubTopicAndGroupFormDTO.Agency.class); - return new Result>().ok(dataStatsService.subTopicAndGroup(formDTO)); + public Result> subTopicAndGroup(@RequestBody BaseDataFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class); + List data = dataStatsService.subTopicAndGroup(formDTO); + return new Result>().ok(data); + } + + /** + * 导出数据,使用map接收 + * + * @param map + * @param response + * @throws IOException + */ + @PostMapping("/exportExcel") + public void exportExcel(@RequestBody BaseDataFormDTO formDTO, HttpServletResponse response) throws IOException { + /* try { + Map mapData = new HashMap<>(); + BaseStatsDataResultDTO baseStatsData = dataStatsService.getBaseStatsData(formDTO); + String templatePath = "excel/trace_temp.xlsx"; + log.info("exportExcel templatePath:{}",templatePath); + mapData.put("dataType", baseStatsData); + + start = System.currentTimeMillis(); + Workbook workbook = ExcelExportUtil.exportExcel(new TemplateExportParams(templatePath, "数据汇总"), baseStatsData); + //header + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode("继续追踪导出详情-".concat(DateUtils.formatDate()) + ".xlsx", "UTF-8")); + //加密 + log.error("excelExport build wb cost:{}",System.currentTimeMillis()-start); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + }*/ + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java index 621a336fb2..9db20ef41c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java @@ -200,13 +200,15 @@ public interface DataStatsService { * @Param formDTO * @Description 对外接口--查询下级用户党员数 * @author sun + * @param formDTO */ - List subUserTotal(SubUserTotalFormDTO formDTO); + List subUserTotal(BaseDataFormDTO formDTO); /** * @Param formDTO * @Description 对外接口--查询下级话题和小组数 * @author sun + * @param formDTO */ - List subTopicAndGroup(SubTopicAndGroupFormDTO formDTO); + List subTopicAndGroup(BaseDataFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index 600d74b413..e8cfd1c8ba 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -1633,9 +1633,10 @@ public class DataStatsServiceImpl implements DataStatsService { * @Param formDTO * @Description 对外接口--查询下级用户党员数 * @author sun + * @param formDTO */ @Override - public List subUserTotal(SubUserTotalFormDTO formDTO) { + public List subUserTotal(BaseDataFormDTO formDTO) { List resultList = new ArrayList<>(); //1.入参有日期的则按具体时间执行,没有的则按当前时间前一天执行 if (StringUtils.isBlank(formDTO.getDateId())) { @@ -1710,9 +1711,10 @@ public class DataStatsServiceImpl implements DataStatsService { * @Param formDTO * @Description 对外接口--查询下级话题和小组数 * @author sun + * @param formDTO */ @Override - public List subTopicAndGroup(SubTopicAndGroupFormDTO formDTO) { + public List subTopicAndGroup(BaseDataFormDTO formDTO) { List resultList = new ArrayList<>(); //1.入参有日期的则按具体时间执行,没有的则按当前时间前一天执行 if (StringUtils.isBlank(formDTO.getDateId())) {