From 9fc30491828f26c77b215972935a0aee6eca68f4 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Wed, 24 Mar 2021 09:03:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BA=A7=E5=93=81=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/EpmetConstant.java | 8 +++ .../epdc/dto/category/CategoryCodeTree.java | 33 ++++++++++ .../epdc/dto/category/CategoryCodeUpload.java | 57 +++++++++++++++++ .../dto/category/EpmetCategoryCodeOption.java | 18 ++++++ .../epdc/dto/screen/result/ScreenDataDTO.java | 24 +++++++ .../category/CategoryAnalysisController.java | 49 +++++++++++++++ .../category/dao/CategoryAnalysisDao.java | 43 +++++++++++++ .../service/CategoryAnalysisService.java | 29 +++++++++ .../impl/CategoryAnalysisServiceImpl.java | 62 +++++++++++++++++++ .../esua/epdc/utils/ScreenDataUtils.java | 19 ++++++ .../mapper/category/CategoryAnalysisDao.xml | 28 +++++++++ .../esua/epdc/dto/category/CategoryDTO.java | 10 ++- .../controller/CategoryController.java | 14 +++++ .../category/entity/CategoryEntity.java | 4 ++ .../category/service/CategoryService.java | 9 +++ .../service/impl/CategoryServiceImpl.java | 11 +++- .../modules/feign/AnalysisFeignClient.java | 30 +++++++++ .../fallback/AnalysisFeignClientFallback.java | 22 +++++++ .../esua/epdc/feign/AnalysisFeignClient.java | 10 +++ .../fallback/AnalysisFeignClientFallback.java | 5 ++ .../ScreenProjectDataPushDayTaskImpl.java | 20 +++++- 21 files changed, 500 insertions(+), 5 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryCodeTree.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryCodeUpload.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/EpmetCategoryCodeOption.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenDataDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/CategoryAnalysisController.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/dao/CategoryAnalysisDao.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryAnalysisService.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryAnalysisServiceImpl.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/category/CategoryAnalysisDao.xml create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AnalysisFeignClient.java create mode 100644 esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AnalysisFeignClientFallback.java diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java index 2853d89b..082590fa 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java @@ -172,6 +172,14 @@ public interface EpmetConstant { * 行政地区编码查询 */ String EPMET_SCREEN_COLL_DEPT_CODE = "/data/report/screen/agency/areacodedict"; + /** + * 分类编码查询 + */ + String EPMET_SCREEN_COLL_CATEGORY_CODE = "/data/report/project/categorydict"; + /** + * 分类字典上报 + */ + String EPMET_SCREEN_COLL_CATEGORY_CODE_UPLOAD = "/data/stats/project/uploadcategorydict"; /** * 【事件/项目分析】网格内事件 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryCodeTree.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryCodeTree.java new file mode 100644 index 00000000..d21f4746 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryCodeTree.java @@ -0,0 +1,33 @@ +package com.elink.esua.epdc.dto.category; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author songyunpeng + * @Description + * @create 2021-01-07 + */ +@Data +public class CategoryCodeTree implements Serializable { + + /** + * 部门区域编码 + */ + private String categoryCode; + + /** + * 部门区域编码 + */ + private String categoryName; + + /** + * 下一级 + */ + private List children; + + + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryCodeUpload.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryCodeUpload.java new file mode 100644 index 00000000..fceafa68 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryCodeUpload.java @@ -0,0 +1,57 @@ +package com.elink.esua.epdc.dto.category; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author songyunpeng + * @Description + * @create 2021-01-07 + */ +@Data +public class CategoryCodeUpload implements Serializable { + + /** + * 客户内自己的分类编码 + */ + private String categoryCode; + + /** + * 客户内自己的分类名称 + */ + private String categoryName; + /** + * 父类分类编码,如果是一级分类,此列赋值为0 + */ + private String parentCategoryCode; + /** + * 分类等级:1、2....;对应关系:领域:1,大类 :2,小类:3 ,细分类:4 具体问题:5 + */ + private String level; + /** + * 排序 + */ + private String sort; + /** + * 当前分类对应产品内的分类编码,如果对应不上,此列传空 + */ + private String epmetCategoryCode; + /** + * 原始创建时间yyyy-MM-dd HH:mm:ss + */ + private String originCreatedTime; + + /** + * 原始更新时间yyyy-MM-dd HH:mm:ss + */ + private String orginUpdatedTime; + /** + * 分类字典表主键 + */ + private String categoryId; + + + + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/EpmetCategoryCodeOption.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/EpmetCategoryCodeOption.java new file mode 100644 index 00000000..f0f97b48 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/category/EpmetCategoryCodeOption.java @@ -0,0 +1,18 @@ +package com.elink.esua.epdc.dto.category; + +import lombok.Data; + +import java.util.List; + +/** + * 部门节点 + * + * @author work@yujt.net.cn + * @date 2019/11/27 10:03 + */ +@Data +public class EpmetCategoryCodeOption { + + private List options; + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenDataDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenDataDTO.java new file mode 100644 index 00000000..1e1fdf63 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenDataDTO.java @@ -0,0 +1,24 @@ +package com.elink.esua.epdc.dto.screen.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author:liuchuang + * @Date:2020/9/10 14:51 + */ +@Data +public class ScreenDataDTO implements Serializable { + private static final long serialVersionUID = 8161588041384645877L; + + /** + * 当为true时后台将先删除当前维度的数据,后新增 + */ + private Boolean isFirst; + + /** + * 上报数据 + */ + private Object dataList; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/CategoryAnalysisController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/CategoryAnalysisController.java new file mode 100644 index 00000000..cdd838a7 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/CategoryAnalysisController.java @@ -0,0 +1,49 @@ +package com.elink.esua.epdc.modules.category; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.category.EpmetCategoryCodeOption; +import com.elink.esua.epdc.modules.category.service.CategoryAnalysisService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description 相关 + * @Author songyunpeng + * @Date 2020/2/10 16:06 + */ +@RestController +@RequestMapping("category") +public class CategoryAnalysisController { + + @Autowired + private CategoryAnalysisService categoryAnalysisService; + + /** + * @Description 获取分类编码 + * @Author songyunpeng + * @Date 2021/1/7 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @GetMapping("getCategoryCode") + public Result getCategoryCode(){ + EpmetCategoryCodeOption deptCodeOption = categoryAnalysisService.getCategoryCode(); + return new Result().ok(deptCodeOption); + } + + /** + * @Description 分类编码上报 + * @Author songyunpeng + * @Date 2021/1/7 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping("uploadCategoryCode") + public Result uploadCategoryCode(){ + return categoryAnalysisService.uploadCategoryCode(); + } + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/dao/CategoryAnalysisDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/dao/CategoryAnalysisDao.java new file mode 100644 index 00000000..1bd84902 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/dao/CategoryAnalysisDao.java @@ -0,0 +1,43 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.category.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.category.CategoryCodeUpload; +import com.elink.esua.epdc.dto.issue.result.IssueResultDTO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + + +/** + * @Description 分类相关 + * @Author yinzuomei + * @Date 2020/2/10 16:06 + */ +@Mapper +public interface CategoryAnalysisDao extends BaseDao { + /** + * @Description 查询分类编码 + * @Author songyunpeng + * @Date 2021/3/23 + * @Param [] + * @return java.util.List + **/ + List selectCategoryCode(); +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryAnalysisService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryAnalysisService.java new file mode 100644 index 00000000..fdb5acda --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryAnalysisService.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.modules.category.service; + + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.category.EpmetCategoryCodeOption; + +/** + * @Description 相关 + * @Author songyunpeng + * @Date 2020/2/10 16:06 + */ +public interface CategoryAnalysisService { + /** + * @Description 获取分类编码 + * @Author songyunpeng + * @Date 2021/1/7 + * @Param [] + * @return java.lang.String + **/ + EpmetCategoryCodeOption getCategoryCode(); + /** + * @Description 项目分类字典上报 + * @Author songyunpeng + * @Date 2021/3/23 + * @Param [categoryCodeUpload] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result uploadCategoryCode(); +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryAnalysisServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryAnalysisServiceImpl.java new file mode 100644 index 00000000..8c4cd1ac --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryAnalysisServiceImpl.java @@ -0,0 +1,62 @@ +package com.elink.esua.epdc.modules.category.service.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.EpmetConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.datasources.DataSourceNames; +import com.elink.esua.epdc.datasources.annotation.DataSource; +import com.elink.esua.epdc.dto.category.CategoryCodeTree; +import com.elink.esua.epdc.dto.category.CategoryCodeUpload; +import com.elink.esua.epdc.dto.category.EpmetCategoryCodeOption; +import com.elink.esua.epdc.dto.issue.result.IssueResultDTO; +import com.elink.esua.epdc.modules.category.dao.CategoryAnalysisDao; +import com.elink.esua.epdc.modules.category.service.CategoryAnalysisService; +import com.elink.esua.epdc.utils.EpmetUtils; +import com.elink.esua.epdc.utils.ScreenDataUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description admin相关 + * @Author songyunpeng + * @Date 2020/2/10 16:06 + */ +@Service +public class CategoryAnalysisServiceImpl extends BaseServiceImpl implements CategoryAnalysisService { + + @Autowired + private EpmetUtils epmetUtils; + + + @Override + public EpmetCategoryCodeOption getCategoryCode() { + String dataResult = epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_COLL_CATEGORY_CODE,null); + JSONObject jsonObject = JSONObject.parseObject(dataResult); + Result categoryCodeTreeResult = JSON.toJavaObject(jsonObject, Result.class ); + if(categoryCodeTreeResult!=null && categoryCodeTreeResult.getData()!=null){ + List categoryCodeTreeList = JSONArray.parseArray(JSONObject.toJSONString(categoryCodeTreeResult.getData()), CategoryCodeTree.class); + EpmetCategoryCodeOption epmetCategoryCodeOption = new EpmetCategoryCodeOption(); + epmetCategoryCodeOption.setOptions(categoryCodeTreeList); + return epmetCategoryCodeOption; + } + return new EpmetCategoryCodeOption(); + } + + @Override + @DataSource(name = DataSourceNames.FOURTH) + public Result uploadCategoryCode() { + // 数据统计 + List data = baseDao.selectCategoryCode(); + // 数据格式化 + String dataJson = ScreenDataUtils.getScreenDateJson(data,true); + // 数据上报 + epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_COLL_CATEGORY_CODE_UPLOAD, dataJson); + return new Result(); + } + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java index 5fadea69..3106f42f 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.utils; import com.alibaba.fastjson.JSONObject; import com.elink.esua.epdc.commons.tools.utils.DateUtils; +import com.elink.esua.epdc.dto.screen.result.ScreenDataDTO; import com.elink.esua.epdc.dto.screen.result.ScreenDataDateDTO; import com.elink.esua.epdc.dto.screen.result.ScreenDataMonthDTO; import org.apache.commons.lang3.StringUtils; @@ -38,6 +39,24 @@ public class ScreenDataUtils { return JSONObject.toJSONString(dateDto); } + /** + * 只携带first + * + * @param data 数据 + * @param isFirst 是否首次 + * @return java.lang.String + * @author Liuchuang + * @since 2020/9/10 15:55 + */ + public static String getScreenDateJson(Object data, Boolean isFirst) { + // 获取当前时间 yyyy-MM-dd + String dateId = DateUtils.format(new Date()); + ScreenDataDTO dateDto = new ScreenDataDTO(); + dateDto.setIsFirst(isFirst); + dateDto.setDataList(data); + + return JSONObject.toJSONString(dateDto); + } /** * @describe: 获取昨日日期:yyyy-MM-dd diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/category/CategoryAnalysisDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/category/CategoryAnalysisDao.xml new file mode 100644 index 00000000..c5f929d3 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/category/CategoryAnalysisDao.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryDTO.java index 5eb7cbbb..118c02f7 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/CategoryDTO.java @@ -17,9 +17,6 @@ package com.elink.esua.epdc.dto.category; -import java.io.Serializable; -import java.util.Date; - import com.elink.esua.epdc.commons.tools.utils.TreeNode; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; @@ -31,6 +28,7 @@ import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Null; +import java.io.Serializable; /** @@ -89,5 +87,11 @@ public class CategoryDTO extends TreeNode implements Serializable { private String label; + private String epmetCategoryCode; + + private String epmetCategoryName; + + + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java index 2678142a..ed909b65 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java @@ -26,6 +26,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.dto.category.CategoryDTO; import com.elink.esua.epdc.dto.category.CategoryOption; +import com.elink.esua.epdc.dto.category.EpmetCategoryCodeOption; import com.elink.esua.epdc.dto.category.form.CategoryInfoFormDTO; import com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO; import com.elink.esua.epdc.modules.category.excel.CategoryExcel; @@ -144,4 +145,17 @@ public class CategoryController { List data = categoryService.listCategoryInfo(formDTO); return new Result>().ok(data); } + + /** + * @Description 获取分类编码树 + * @Author songyunpeng + * @Date 2021/1/7 + * @Param [] + * @return com.elink.esua.epdc.getdeptinfocommons.tools.utils.Result + **/ + @GetMapping("getCategoryCode") + public Result getCategoryCode(){ + return categoryService.getCategoryCode(); + } + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/CategoryEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/CategoryEntity.java index e5c2aa90..2696e8b4 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/CategoryEntity.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/entity/CategoryEntity.java @@ -111,4 +111,8 @@ public class CategoryEntity extends BaseEntity { */ private String enableFlag; + private String epmetCategoryCode; + + private String epmetCategoryName; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryService.java index 967e6f85..7f687e85 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryService.java @@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.category.CategoryDTO; import com.elink.esua.epdc.dto.category.CategoryOption; +import com.elink.esua.epdc.dto.category.EpmetCategoryCodeOption; import com.elink.esua.epdc.dto.category.form.CategoryInfoFormDTO; import com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO; import com.elink.esua.epdc.modules.category.entity.CategoryEntity; @@ -131,4 +132,12 @@ public interface CategoryService extends BaseService { * @Date 2019/12/4 9:43 **/ List listCategoryInfo(CategoryInfoFormDTO formDTO); + /** + * @Description 获取分类编码树 + * @Author songyunpeng + * @Date 2021/3/23 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result getCategoryCode(); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java index a4c1ab4c..bd6e1c1a 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java @@ -35,12 +35,14 @@ import com.elink.esua.epdc.commons.tools.utils.TreeUtils; import com.elink.esua.epdc.dto.category.CategoryDTO; import com.elink.esua.epdc.dto.category.CategoryOption; import com.elink.esua.epdc.dto.category.CategoryTreeDTO; +import com.elink.esua.epdc.dto.category.EpmetCategoryCodeOption; import com.elink.esua.epdc.dto.category.form.CategoryInfoFormDTO; import com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO; import com.elink.esua.epdc.modules.category.dao.CategoryDao; import com.elink.esua.epdc.modules.category.entity.CategoryEntity; import com.elink.esua.epdc.modules.category.redis.CategoryRedis; import com.elink.esua.epdc.modules.category.service.CategoryService; +import com.elink.esua.epdc.modules.feign.AnalysisFeignClient; import com.elink.esua.epdc.modules.rocketmq.dto.CategoryModifyDTO; import com.elink.esua.epdc.modules.rocketmq.producer.CategoryModifyProducer; import com.google.common.collect.Lists; @@ -86,6 +88,8 @@ public class CategoryServiceImpl extends BaseServiceImpl getCategoryCode() { + return analysisFeignClient.getCategoryCode(); + } + + /** * @param * @return void * @Author yinzuomei diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AnalysisFeignClient.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AnalysisFeignClient.java new file mode 100644 index 00000000..77fa02ea --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/AnalysisFeignClient.java @@ -0,0 +1,30 @@ +package com.elink.esua.epdc.modules.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.category.EpmetCategoryCodeOption; +import com.elink.esua.epdc.modules.feign.fallback.AnalysisFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * 数据分析模块调用 + * + * @Author:liuchuang + * @Date:2020/9/9 15:41 + */ +@FeignClient(name = ServiceConstant.EPDC_ANALYSIS_SERVER, fallback = AnalysisFeignClientFallback.class) +public interface AnalysisFeignClient { + + /** + * @Description 组织机构编码获取 + * @Author songyunpeng + * @Date 2021/1/7 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @GetMapping(value = "analysis/category/getCategoryCode", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getCategoryCode(); + +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AnalysisFeignClientFallback.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AnalysisFeignClientFallback.java new file mode 100644 index 00000000..94b71d7e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AnalysisFeignClientFallback.java @@ -0,0 +1,22 @@ +package com.elink.esua.epdc.modules.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.category.EpmetCategoryCodeOption; +import com.elink.esua.epdc.modules.feign.AnalysisFeignClient; +import org.springframework.stereotype.Component; + +/** + * @Author:songyunpeg + * @Date:2020/9/9 15:42 + */ +@Component +public class AnalysisFeignClientFallback implements AnalysisFeignClient { + + + @Override + public Result getCategoryCode() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "getCategoryCode"); + } +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java index b9d8351b..9a3e9c53 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java @@ -295,4 +295,14 @@ public interface AnalysisFeignClient { **/ @PostMapping("analysis/data/stats/project/uploadprojectprocess") Result uploadProjectProcess(@RequestBody ScreenProjectFormDTO screenProjectFormDTO); + + /** + * @Description 分类编码上报 + * @Author songyunpeng + * @Date 2021/2/23 + * @Param [] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + @PostMapping("analysis/category/uploadCategoryCode") + Result uploadCategoryCode(); } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java index c180127d..14d09505 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java @@ -154,4 +154,9 @@ public class AnalysisFeignClientFallback implements AnalysisFeignClient { public Result uploadProjectProcess(ScreenProjectFormDTO screenProjectFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "uploadProjectProcess",screenProjectFormDTO); } + + @Override + public Result uploadCategoryCode() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "uploadCategoryCode"); + } } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java index c25100b6..8e700127 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java @@ -41,7 +41,7 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP @Override public void run(String param) { - for (int i = 0; i < 11; i++) { + for (int i = 0; i < 12; i++) { createThread(i); } } @@ -80,6 +80,9 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP } else if (methodIndex == 10) { // 010、中央区各类总数 customerUsertotaldata(); + }else if (methodIndex == 11) { + // 011、项目分类字典上报 + uploadcategorydict(); } return 0; } @@ -301,4 +304,19 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP logger.info("<" + methodName + "|基层党建-党员基本情况>定时任务执行结束"); } + /** + * 项目分类字典上报 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void uploadcategorydict() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|项目分类字典上报>定时任务开始执行"); + analysisFeignClient.uploadCategoryCode(); + logger.info("<" + methodName + "|项目分类字典上报>定时任务执行结束"); + } + } \ No newline at end of file From dd8a1b6d54f969c060d63bf900285ff0f2f320fc Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Wed, 24 Mar 2021 15:44:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/EpmetConstant.java | 11 +++ .../result/CategoryGridDailyResultDTO.java | 66 +++++++++++++++++ .../result/CategoryOrgDailyResultDTO.java | 71 ++++++++++++++++++ .../screen/result/ScreenCategoryDateDTO.java | 31 ++++++++ .../modules/common/dao/EpdcTableNameDao.java | 33 +++++++++ .../modules/common/entity/EpdcTableName.java | 17 +++++ .../controller/ItemAnalysisController.java | 36 ++++++++-- .../modules/item/dao/ItemAnalysisDao.java | 6 ++ .../item/service/ItemAnalysisService.java | 22 +++++- .../service/impl/ItemAnalysisServiceImpl.java | 34 ++++++++- .../esua/epdc/utils/ScreenDataUtils.java | 23 ++++++ .../resources/mapper/common/EpdcTableName.xml | 29 ++++++++ .../resources/mapper/item/ItemAnalysisDao.xml | 72 +++++++++++++++++++ .../esua/epdc/feign/AnalysisFeignClient.java | 23 ++++++ .../fallback/AnalysisFeignClientFallback.java | 9 +++ .../ScreenProjectDataPushDayTaskImpl.java | 36 +++++++++- 16 files changed, 510 insertions(+), 9 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryGridDailyResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryOrgDailyResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCategoryDateDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/common/dao/EpdcTableNameDao.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/common/entity/EpdcTableName.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/common/EpdcTableName.xml diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java index 082590fa..1a466019 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java @@ -212,6 +212,17 @@ public interface EpmetConstant { String EPMET_PROJECT_UPLOAD_PROJECT_PROCESS = "/data/stats/project/uploadprojectprocess"; + /** + * 【事件/项目分析】按类别统计-网格(03-22已确定) + */ + String EPMET_PROJECT_CATEGORY_GRID_DAILY = "/data/stats/project/category-grid-daily"; + + /** + * 【事件/项目分析】按类别统计-组织(03-22已确定) + */ + String EPMET_PROJECT_CATEGORY_ORG_DAILY = "/data/stats/project/category-org-daily"; + + /** * 行政地区编码查询 - 平阴县 */ diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryGridDailyResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryGridDailyResultDTO.java new file mode 100644 index 00000000..46bd078b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryGridDailyResultDTO.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto.item.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 【事件/项目分析】按类别统计-网格(03-22已确定) + * + * @author zhy + * @date 2021/3/22 16:55 + */ +@Data +public class CategoryGridDailyResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 类别编码 + */ + private String categoryCode; + + /** + * 项目总数 + */ + private Integer projectTotal; + + /** + * 组织id + */ + private String gridId; + + /** + * 组织所属上级id;如果属于跟组织下直属网格,pid=0 + */ + private String pid; + + /** + * 组织所有父级ids,以英文逗号隔开; pid=0时,pids=0 + */ + private String pids; + + /** + * 分类等级:1、2.... + */ + private Integer level; + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryOrgDailyResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryOrgDailyResultDTO.java new file mode 100644 index 00000000..b7f866a2 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/CategoryOrgDailyResultDTO.java @@ -0,0 +1,71 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto.item.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 【事件/项目分析】按类别统计-组织(03-22已确定) + * + * @author zhy + * @date 2021/3/22 16:56 + */ +@Data +public class CategoryOrgDailyResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 类别编码 + */ + private String categoryCode; + + /** + * 项目总数 + */ + private Integer projectTotal; + + /** + * 组织id + */ + private String orgId; + + /** + * 组织所属上级id;如果属于跟组织下直属网格,pid=0 + */ + private String pid; + + /** + * 组织所有父级ids,以英文逗号隔开; pid=0时,pids=0 + */ + private String pids; + + /** + * 社区级:community,乡(镇、街道)级:street + */ + private String orgType; + + /** + * 分类等级:1、2.... + */ + private Integer level; + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCategoryDateDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCategoryDateDTO.java new file mode 100644 index 00000000..69928cef --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenCategoryDateDTO.java @@ -0,0 +1,31 @@ +package com.elink.esua.epdc.dto.screen.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 【事件/项目分析】按类别统计 + * + * @author zhy + * @date 2021/3/23 10:37 + */ +@Data +public class ScreenCategoryDateDTO implements Serializable { + private static final long serialVersionUID = 8161588041384645877L; + + /** + * 当为true时后台将先删除当前维度的数据,后新增 + */ + private Boolean isFirst; + + /** + * 日期Id, 数据更新至:yyyyMMdd + */ + private String dateId; + + /** + * 上报数据 + */ + private Object dataList; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/common/dao/EpdcTableNameDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/common/dao/EpdcTableNameDao.java new file mode 100644 index 00000000..5c31c38a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/common/dao/EpdcTableNameDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.common.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.modules.common.entity.EpdcTableName; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 声明表名 + * + * @author work@yujt.net.cn + * @date 2020/7/20 16:04 + */ +@Mapper +public interface EpdcTableNameDao extends BaseDao { +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/common/entity/EpdcTableName.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/common/entity/EpdcTableName.java new file mode 100644 index 00000000..c9be7178 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/common/entity/EpdcTableName.java @@ -0,0 +1,17 @@ +package com.elink.esua.epdc.modules.common.entity; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 声明表名 + * + * @author work@yujt.net.cn + * @date 2020/7/20 16:00 + */ +@Data +public class EpdcTableName implements Serializable { + + private static final long serialVersionUID = 2548002813384497114L; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemAnalysisController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemAnalysisController.java index f7fa875e..334074a9 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemAnalysisController.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemAnalysisController.java @@ -20,14 +20,12 @@ package com.elink.esua.epdc.modules.item.controller; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.item.result.*; -import com.elink.esua.epdc.dto.item.form.ItemSurveyFormDTO; -import com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO; -import com.elink.esua.epdc.dto.item.result.ItemResultDTO; -import com.elink.esua.epdc.dto.item.result.ItemSurveyResultDTO; -import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO; import com.elink.esua.epdc.modules.item.service.ItemAnalysisService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.util.Map; @@ -109,4 +107,30 @@ public class ItemAnalysisController { PageData page = itemAnalysisService.listReportSolvedItemResultDTO(params); return new Result>().ok(page); } + + /** + * 【事件/项目分析】按类别统计-网格(03-22已确定) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author zhy + * @date 2021/3/22 17:06 + */ + @GetMapping("categoryGridDaily") + public Result getCategoryGridDaily(String date) { + return itemAnalysisService.getCategoryGridDaily(date); + } + + /** + * 【事件/项目分析】按类别统计-组织(03-22已确定) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author zhy + * @date 2021/3/22 17:06 + */ + @GetMapping("categoryOrgDaily") + public Result getCategoryOrgDaily(String date) { + return itemAnalysisService.getCategoryOrgDaily(date); + } } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemAnalysisDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemAnalysisDao.java index df1ae540..606257ee 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemAnalysisDao.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemAnalysisDao.java @@ -105,4 +105,10 @@ public interface ItemAnalysisDao extends BaseDao { * @Date: 2020-02-12 */ List selectListHotItemList(HotItemListFormDTO formDto); + + List getCategoryGridDaily(); + + List getCategoryCommDaily(); + + List getCategoryStreetDaily(); } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemAnalysisService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemAnalysisService.java index b5ad15be..79d5afd0 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemAnalysisService.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemAnalysisService.java @@ -1,8 +1,8 @@ package com.elink.esua.epdc.modules.item.service; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.item.form.HotItemListFormDTO; -import com.elink.esua.epdc.dto.item.result.*; import com.elink.esua.epdc.dto.item.form.ItemAnalysisFormDTO; import com.elink.esua.epdc.dto.item.form.ItemSurveyFormDTO; import com.elink.esua.epdc.dto.item.result.*; @@ -89,4 +89,24 @@ public interface ItemAnalysisService { * @Date: 2020-02-12 */ List listHotItemList(HotItemListFormDTO formDto); + + /** + * 【事件/项目分析】按类别统计-网格(03-22已确定) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/3/23 9:13 + */ + Result getCategoryGridDaily(String date); + + /** + * 【事件/项目分析】按类别统计-组织(03-22已确定) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/3/23 9:13 + */ + Result getCategoryOrgDaily(String date); } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemAnalysisServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemAnalysisServiceImpl.java index 89cef81e..0822fb4c 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemAnalysisServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemAnalysisServiceImpl.java @@ -2,23 +2,31 @@ package com.elink.esua.epdc.modules.item.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.EpmetConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; +import com.elink.esua.epdc.commons.tools.utils.DateUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.datasources.annotation.DataSource; import com.elink.esua.epdc.dto.item.form.HotItemListFormDTO; -import com.elink.esua.epdc.dto.item.result.*; import com.elink.esua.epdc.dto.item.form.ItemAnalysisFormDTO; import com.elink.esua.epdc.dto.item.form.ItemSurveyFormDTO; import com.elink.esua.epdc.dto.item.result.*; import com.elink.esua.epdc.modules.item.dao.ItemAnalysisDao; import com.elink.esua.epdc.modules.item.service.ItemAnalysisService; +import com.elink.esua.epdc.utils.EpmetUtils; +import com.elink.esua.epdc.utils.ScreenDataUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -31,6 +39,8 @@ import java.util.Map; public class ItemAnalysisServiceImpl extends BaseServiceImpl implements ItemAnalysisService { private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private EpmetUtils epmetUtils; /** * @param params * @return com.elink.esua.epdc.dto.item.result.ItemResultDTO @@ -149,4 +159,26 @@ public class ItemAnalysisServiceImpl extends BaseServiceImpl gridDataList = baseDao.getCategoryGridDaily(); + String dataJson = ScreenDataUtils.getScreenCategoryDataJson(gridDataList, date, true); + epmetUtils.httpPost(EpmetConstant.EPMET_PROJECT_CATEGORY_GRID_DAILY, dataJson); + return new Result(); + } + + @Override + public Result getCategoryOrgDaily(String date) { + date = StringUtils.isEmpty(date) ? DateUtils.format(DateUtils.addDateDays(new Date(),-1)) : date; + List commDataList = baseDao.getCategoryCommDaily(); + List streetDataList = baseDao.getCategoryStreetDaily(); + List orgDataList = new ArrayList<>(); + orgDataList.addAll(streetDataList); + orgDataList.addAll(commDataList); + String dataJson = ScreenDataUtils.getScreenCategoryDataJson(orgDataList, date, true); + epmetUtils.httpPost(EpmetConstant.EPMET_PROJECT_CATEGORY_ORG_DAILY, dataJson); + return new Result(); + } } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java index 3106f42f..b4335992 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/ScreenDataUtils.java @@ -2,6 +2,7 @@ package com.elink.esua.epdc.utils; import com.alibaba.fastjson.JSONObject; import com.elink.esua.epdc.commons.tools.utils.DateUtils; +import com.elink.esua.epdc.dto.screen.result.ScreenCategoryDateDTO; import com.elink.esua.epdc.dto.screen.result.ScreenDataDTO; import com.elink.esua.epdc.dto.screen.result.ScreenDataDateDTO; import com.elink.esua.epdc.dto.screen.result.ScreenDataMonthDTO; @@ -142,6 +143,28 @@ public class ScreenDataUtils { dateDto.setMonthId(dateId.replace("-", "")); dateDto.setDataList(data); + return JSONObject.toJSONString(dateDto); + } + /** + * 数据更新至事件为年月日类型 + * + * @param data 数据 + * @param dateId 日期字符串 + * @param isFirst 是否首次 + * @return java.lang.String + * @author zhy + * @date 2021/3/23 9:52 + */ + public static String getScreenCategoryDataJson(Object data, String dateId, Boolean isFirst) { + if (StringUtils.isEmpty(dateId)) { + // 获取当前时间 yyyy-MM + dateId = DateUtils.formatYearMonth(new Date()); + } + ScreenCategoryDateDTO dateDto = new ScreenCategoryDateDTO(); + dateDto.setIsFirst(isFirst); + dateDto.setDateId(dateId.replace("-", "")); + dateDto.setDataList(data); + return JSONObject.toJSONString(dateDto); } } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/common/EpdcTableName.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/common/EpdcTableName.xml new file mode 100644 index 00000000..566cdb25 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/common/EpdcTableName.xml @@ -0,0 +1,29 @@ + + + + + + + + js_esua_epdc_admin + js_esua_epdc_analysis + js_esua_epdc_api + js_esua_epdc_custom + js_esua_epdc_events + js_esua_epdc_group + js_esua_epdc_mutuality + js_esua_epdc_news + js_esua_epdc_user + + + + + diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml index 4da8ddd3..c8e773b6 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml @@ -479,4 +479,76 @@ statementNum DESC LIMIT #{pageIndex}, #{pageSize}; + + + + + + diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java index 9a3e9c53..c1ee468e 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java @@ -6,6 +6,7 @@ import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; import com.elink.esua.epdc.dto.screen.form.ScreenProjectFormDTO; import com.elink.esua.epdc.feign.fallback.AnalysisFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -296,6 +297,28 @@ public interface AnalysisFeignClient { @PostMapping("analysis/data/stats/project/uploadprojectprocess") Result uploadProjectProcess(@RequestBody ScreenProjectFormDTO screenProjectFormDTO); + /** + * 【事件/项目分析】按类别统计-网格(03-22已确定) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author zhy + * @date 2021/3/22 17:06 + */ + @GetMapping("analysis/item/categoryGridDaily") + Result getCategoryGridDaily(String date); + + /** + * 【事件/项目分析】按类别统计-组织(03-22已确定) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author zhy + * @date 2021/3/22 17:06 + */ + @GetMapping("analysis/item/categoryOrgDaily") + Result getCategoryOrgDaily(String date); + /** * @Description 分类编码上报 * @Author songyunpeng diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java index 14d09505..e17331a6 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java @@ -159,4 +159,13 @@ public class AnalysisFeignClientFallback implements AnalysisFeignClient { public Result uploadCategoryCode() { return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "uploadCategoryCode"); } + @Override + public Result getCategoryGridDaily(String date) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "getCategoryGridDaily",date); + } + + @Override + public Result getCategoryOrgDaily(String date) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER,"getCategoryOrgDaily", date); + } } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java index 8e700127..73cf2609 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenProjectDataPushDayTaskImpl.java @@ -41,7 +41,7 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP @Override public void run(String param) { - for (int i = 0; i < 12; i++) { + for (int i = 0; i < 14; i++) { createThread(i); } } @@ -83,6 +83,12 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP }else if (methodIndex == 11) { // 011、项目分类字典上报 uploadcategorydict(); + }else if (methodIndex == 12) { + // 012、【事件/项目分析】按类别统计-网格 + categoryGridDaily(); + }else if (methodIndex == 13) { + // 013、【事件/项目分析】按类别统计-组织 + categoryOrgDaily(); } return 0; } @@ -318,5 +324,33 @@ public class ScreenProjectDataPushDayTaskImpl implements ScreenProjectDataMonthP analysisFeignClient.uploadCategoryCode(); logger.info("<" + methodName + "|项目分类字典上报>定时任务执行结束"); } + /** + * 项目分类字典上报 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void categoryGridDaily() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|【事件/项目分析】按类别统计-网格>定时任务开始执行"); + analysisFeignClient.getCategoryGridDaily(""); + logger.info("<" + methodName + "|【事件/项目分析】按类别统计-网格>定时任务执行结束"); + } + /** + * 项目分类字典上报 + * + * @return void + * @author WK + * @since 2020/9/17 14:01 + */ + private void categoryOrgDaily() { + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|【事件/项目分析】按类别统计-组织>定时任务开始执行"); + analysisFeignClient.getCategoryOrgDaily(""); + logger.info("<" + methodName + "|【事件/项目分析】按类别统计-组织>定时任务执行结束"); + } } \ No newline at end of file From 5051b50e47d4c347d4df6b09a25684852b639482 Mon Sep 17 00:00:00 2001 From: songyunpeng Date: Tue, 30 Mar 2021 13:33:47 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E7=9A=84=E9=83=A8=E9=97=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/item/ItemAnalysisDao.xml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml index c8e773b6..6833e2c6 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml @@ -502,6 +502,10 @@ WHERE ei.DEL_FLAG = '0' AND ec.DEL_FLAG = '0' + and ei.GRID_ID not in ( + SELECT t.`dept_id` + FROM .`sys_dept_config` t + WHERE t.`del_flag`= 0) GROUP BY ei.CATEGORY_CODE, ei.GRID_ID @@ -523,7 +527,10 @@ LEFT JOIN .sys_dept comm ON sd.pid = comm.id WHERE ei.DEL_FLAG = '0' - AND ec.DEL_FLAG = '0' + AND ec.DEL_FLAG = '0' and comm.id not in ( + SELECT t.`dept_id` + FROM .`sys_dept_config` t + WHERE t.`del_flag`= 0) GROUP BY ei.CATEGORY_CODE, comm.id @@ -547,6 +554,10 @@ WHERE ei.DEL_FLAG = '0' AND ec.DEL_FLAG = '0' + and street.id not in ( + SELECT t.`dept_id` + FROM .`sys_dept_config` t + WHERE t.`del_flag`= 0) GROUP BY ei.CATEGORY_CODE, street.id