From cf67f15c7a556d4902115c6b901b2c93b53ac592 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Sat, 20 Jun 2020 15:50:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=B0=8F=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-report/data-report-client/pom.xml | 8 ++ .../src/main/java/com/epmet/group/.gitignore | 0 .../epmet/group/constant/GroupConstant.java | 12 ++ .../group/dto/form/GroupIncrTrendFormDTO.java | 25 ++++ .../group/dto/result/GridInfoResultDTO.java | 25 ++++ .../dto/result/GroupIncrTrendResultDTO.java | 30 +++++ .../dto/result/GroupSubAgencyResultDTO.java | 37 ++++++ .../dto/result/GroupSubGridResultDTO.java | 37 ++++++ .../dto/result/GroupSummaryInfoResultDTO.java | 40 +++++++ .../group/dto/result/SubAgencyResultDTO.java | 25 ++++ .../data-report/data-report-server/pom.xml | 5 + .../epmet/module/group/controller/.gitignore | 0 .../group/controller/GroupController.java | 74 ++++++++++++ .../com/epmet/module/group/dao/.gitignore | 0 .../com/epmet/module/group/dao/GroupDao.java | 58 ++++++++++ .../com/epmet/module/group/service/.gitignore | 0 .../module/group/service/GroupService.java | 45 ++++++++ .../group/service/impl/GroupServiceImpl.java | 107 ++++++++++++++++++ .../main/resources/mapper/group/GroupDao.xml | 92 +++++++++++++++ 19 files changed, 620 insertions(+) delete mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/.gitignore create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/constant/GroupConstant.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/form/GroupIncrTrendFormDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GridInfoResultDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupIncrTrendResultDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSubAgencyResultDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSubGridResultDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSummaryInfoResultDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/SubAgencyResultDTO.java delete mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/controller/.gitignore create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/controller/GroupController.java delete mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/dao/.gitignore create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/dao/GroupDao.java delete mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/.gitignore create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/GroupService.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/impl/GroupServiceImpl.java create mode 100644 epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml diff --git a/epmet-module/data-report/data-report-client/pom.xml b/epmet-module/data-report/data-report-client/pom.xml index f001810eaa..5bba5f2cb4 100644 --- a/epmet-module/data-report/data-report-client/pom.xml +++ b/epmet-module/data-report/data-report-client/pom.xml @@ -11,5 +11,13 @@ data-report-client + + + com.epmet + epmet-commons-tools + 2.0.0 + + + \ No newline at end of file diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/.gitignore b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/constant/GroupConstant.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/constant/GroupConstant.java new file mode 100644 index 0000000000..699090f931 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/constant/GroupConstant.java @@ -0,0 +1,12 @@ +package com.epmet.group.constant; + +/** + * @Author zxc + * @CreateTime 2020/6/20 15:24 + */ +public interface GroupConstant { + + String MONTH = "month"; + String DATE = "date"; + +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/form/GroupIncrTrendFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/form/GroupIncrTrendFormDTO.java new file mode 100644 index 0000000000..627b5504c4 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/form/GroupIncrTrendFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.group.dto.form; + +import lombok.Data; +import lombok.NonNull; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 12:07 + */ +@Data +public class GroupIncrTrendFormDTO implements Serializable { + + private static final long serialVersionUID = 1788937450915240575L; + + public interface GroupJava {} + + /** + * 类型 month:月 date:日 + */ + @NotBlank(message = "type不能为空", groups = {GroupJava.class}) + private String type; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GridInfoResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GridInfoResultDTO.java new file mode 100644 index 0000000000..d9840d841d --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GridInfoResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.group.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 14:30 + */ +@Data +public class GridInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 5301902590768338888L; + + /** + * 网格id + */ + private String gridId; + + /** + * 网格名称 + */ + private String gridName; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupIncrTrendResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupIncrTrendResultDTO.java new file mode 100644 index 0000000000..50637d609d --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupIncrTrendResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.group.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 12:03 + */ +@Data +public class GroupIncrTrendResultDTO implements Serializable { + + private static final long serialVersionUID = 5132636251609157706L; + + /** + * 日期 + */ + private String date; + + /** + * 值 【小组数量】 + */ + private Integer value; + + /** + * 类型 【小组数量】 + */ + private String type; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSubAgencyResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSubAgencyResultDTO.java new file mode 100644 index 0000000000..379f55cdf5 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSubAgencyResultDTO.java @@ -0,0 +1,37 @@ +package com.epmet.group.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 11:56 + * 网格小组——下级机关小组数柱状图 + */ +@Data +public class GroupSubAgencyResultDTO implements Serializable { + + private static final long serialVersionUID = 8562403482616167221L; + + /** + * 名称 + */ + 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/group/dto/result/GroupSubGridResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSubGridResultDTO.java new file mode 100644 index 0000000000..af7e4e84fa --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSubGridResultDTO.java @@ -0,0 +1,37 @@ +package com.epmet.group.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 11:56 + * 网格小组——下级机关小组数柱状图 + */ +@Data +public class GroupSubGridResultDTO implements Serializable { + + private static final long serialVersionUID = -3260124064513560994L; + + /** + * 名称 + */ + 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/group/dto/result/GroupSummaryInfoResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSummaryInfoResultDTO.java new file mode 100644 index 0000000000..a3e72d6f3a --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/GroupSummaryInfoResultDTO.java @@ -0,0 +1,40 @@ +package com.epmet.group.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 11:05 + */ +@Data +public class GroupSummaryInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 8529179932504931368L; + + /** + * 网格总数量 + */ + private Integer gridTotalCount; + + /** + * 小组总数量 + */ + private Integer groupTotalCount; + + /** + * 小组平均人数 + */ + private Integer groupPeopleAvg; + + /** + * 小组人数中位数 + */ + private Integer groupPeopleMedian; + + /** + * 数据更新至 时间 + */ + private String deadline; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/SubAgencyResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/SubAgencyResultDTO.java new file mode 100644 index 0000000000..e4b182f09f --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/group/dto/result/SubAgencyResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.group.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/20 14:02 + */ +@Data +public class SubAgencyResultDTO implements Serializable { + + private static final long serialVersionUID = 2276056225590553307L; + + /** + * 机关ID + */ + private String agencyId; + + /** + * 机关名称 + */ + private String agencyName; +} diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index b8c65eda08..d6dd66a273 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -24,6 +24,11 @@ epmet-commons-mybatis 2.0.0 + + com.epmet + epmet-user-client + 2.0.0 + org.springframework.boot spring-boot-starter-web diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/controller/.gitignore b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/controller/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/controller/GroupController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/controller/GroupController.java new file mode 100644 index 0000000000..45ce9164ef --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/controller/GroupController.java @@ -0,0 +1,74 @@ +package com.epmet.module.group.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.group.dto.form.GroupIncrTrendFormDTO; +import com.epmet.group.dto.result.GroupIncrTrendResultDTO; +import com.epmet.group.dto.result.GroupSubAgencyResultDTO; +import com.epmet.group.dto.result.GroupSubGridResultDTO; +import com.epmet.group.dto.result.GroupSummaryInfoResultDTO; +import com.epmet.module.group.service.GroupService; +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 10:54 + */ +@RestController +@RequestMapping("group") +public class GroupController { + + @Autowired + private GroupService groupService; + + /** + * @Description 网格小组:网格总数、网格小组数、小组平均数、小组人数中位数 + * @param tokenDto + * @author zxc + */ + @PostMapping("summaryinfo") + public Result summaryInfo(@LoginUser TokenDto tokenDto){ + return new Result().ok(groupService.summaryInfo(tokenDto)); + } + + /** + * @Description 网格小组——下级机关小组数柱状图 + * @param tokenDto + * @author zxc + */ + @PostMapping("subagency") + public Result> subAgency(@LoginUser TokenDto tokenDto){ + return new Result>().ok(groupService.subAgency(tokenDto)); + } + + /** + * @Description 网格小组——直属网格小组数 + * @param tokenDto + * @author zxc + */ + @PostMapping("subgrid") + public Result> subGrid(@LoginUser TokenDto tokenDto){ + return new Result>().ok(groupService.subGrid(tokenDto)); + } + + /** + * @Description 网格小组——小组分析 + * @param tokenDto + * @author zxc + */ + @PostMapping("incrtrend") + public Result> IncrTrend(@LoginUser TokenDto tokenDto, @RequestBody GroupIncrTrendFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, GroupIncrTrendFormDTO.GroupJava.class); + return new Result>().ok(groupService.IncrTrend(tokenDto,formDTO)); + } + + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/dao/.gitignore b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/dao/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/dao/GroupDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/dao/GroupDao.java new file mode 100644 index 0000000000..c6d6f49295 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/dao/GroupDao.java @@ -0,0 +1,58 @@ +package com.epmet.module.group.dao; + +import com.epmet.group.dto.result.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/20 10:55 + */ +@Mapper +public interface GroupDao { + + /** + * @Description 网格小组:网格总数、网格小组数、小组平均数、小组人数中位数 + * @param + * @author zxc + */ + GroupSummaryInfoResultDTO summaryInfo(@Param("agencyId") String agencyId); + + /** + * @Description 获取下级机关信息 + * @param agencyId + * @author zxc + */ + List getSubAgencyList(@Param("agencyId") String agencyId); + + /** + * @Description 获取下级机关的小组数 + * @param + * @author zxc + */ + List getSubGroupCount(); + + /** + * @Description 获取直属网格下的小组数 + * @param agencyId + * @author zxc + */ + List getSubGridGroupCount(@Param("agencyId") String agencyId); + + /** + * @Description 小组数量 日增长 + * @param agencyId + * @author zxc + */ + List getIncrDaily(@Param("agencyId") String agencyId); + + /** + * @Description 小组数量 月增长 + * @param agencyId + * @author zxc + */ + List getIncrMonthly(@Param("agencyId") String agencyId); + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/.gitignore b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/GroupService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/GroupService.java new file mode 100644 index 0000000000..7ce1df4cc7 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/GroupService.java @@ -0,0 +1,45 @@ +package com.epmet.module.group.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.group.dto.form.GroupIncrTrendFormDTO; +import com.epmet.group.dto.result.GroupIncrTrendResultDTO; +import com.epmet.group.dto.result.GroupSubAgencyResultDTO; +import com.epmet.group.dto.result.GroupSubGridResultDTO; +import com.epmet.group.dto.result.GroupSummaryInfoResultDTO; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/20 10:55 + */ +public interface GroupService { + + /** + * @Description 网格小组:网格总数、网格小组数、小组平均数、小组人数中位数 + * @param tokenDto + * @author zxc + */ + GroupSummaryInfoResultDTO summaryInfo(TokenDto tokenDto); + + /** + * @Description 网格小组——下级机关小组数柱状图 + * @param tokenDto + * @author zxc + */ + List subAgency(TokenDto tokenDto); + + /** + * @Description 网格小组——直属网格小组数 + * @param tokenDto + * @author zxc + */ + List subGrid(TokenDto tokenDto); + + /** + * @Description 网格小组——小组分析 + * @param tokenDto + * @author zxc + */ + List IncrTrend(TokenDto tokenDto, GroupIncrTrendFormDTO formDTO); +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/impl/GroupServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/impl/GroupServiceImpl.java new file mode 100644 index 0000000000..f986a591a7 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/group/service/impl/GroupServiceImpl.java @@ -0,0 +1,107 @@ +package com.epmet.module.group.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.group.constant.GroupConstant; +import com.epmet.group.dto.form.GroupIncrTrendFormDTO; +import com.epmet.group.dto.result.*; +import com.epmet.module.group.dao.GroupDao; +import com.epmet.module.group.service.GroupService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/20 10:56 + */ +@Service +public class GroupServiceImpl implements GroupService { + + @Autowired + private GroupDao groupDao; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + + /** + * @Description 网格小组:网格总数、网格小组数、小组平均数、小组人数中位数 + * @param tokenDto + * @author zxc + */ + @Override + public GroupSummaryInfoResultDTO summaryInfo(TokenDto tokenDto) { + String agencyId = this.getLoginUserDetails(tokenDto); + return groupDao.summaryInfo(agencyId); + } + + /** + * @Description 网格小组——下级机关小组数柱状图 + * @param tokenDto + * @author zxc + */ + @Override + public List subAgency(TokenDto tokenDto) { + String agencyId = this.getLoginUserDetails(tokenDto); + List result = new ArrayList<>(); + List subAgencyList = groupDao.getSubAgencyList(agencyId); + List subGroupCount = groupDao.getSubGroupCount(); + if (subAgencyList.size()!= NumConstant.ZERO){ + subGroupCount.forEach(group -> { + subAgencyList.forEach(subAgency -> { + if (subAgency.getAgencyId().equals(group.getAgencyId())){ + group.setName(subAgency.getAgencyName()); + result.add(group); + } + }); + }); + return result; + } + return new ArrayList<>(); + } + + /** + * @Description 网格小组——直属网格小组数 + * @param tokenDto + * @author zxc + */ + @Override + public List subGrid(TokenDto tokenDto) { + String agencyId = this.getLoginUserDetails(tokenDto); + return groupDao.getSubGridGroupCount(agencyId); + } + + /** + * @Description 网格小组——小组分析 + * @param tokenDto + * @author zxc + */ + @Override + public List IncrTrend(TokenDto tokenDto, GroupIncrTrendFormDTO formDTO) { + String agencyId = this.getLoginUserDetails(tokenDto); + List result = new ArrayList<>(); + if (formDTO.getType().equals(GroupConstant.DATE)){ + result = groupDao.getIncrDaily(agencyId); + }else { + result = groupDao.getIncrMonthly(agencyId); + } + return result; + } + + /** + * @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/group/GroupDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml new file mode 100644 index 0000000000..71de6153f9 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file