Browse Source

部门区域编码

feature/syp_points
songyunpeng 5 years ago
parent
commit
b375493298
  1. 5
      esua-epdc/epdc-admin/epdc-admin-client/pom.xml
  2. 2
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java
  3. 18
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/DeptCodeOption.java
  4. 12
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  5. 32
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java
  6. 23
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java
  7. 20
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  8. 49
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  9. 6
      esua-epdc/epdc-commons/epdc-commons-tools/pom.xml
  10. 212
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java
  11. 2
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java
  12. 11
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
  13. 3
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  14. 22
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeFormDTO.java
  15. 33
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeTree.java
  16. 6
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml
  17. 46
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/jwt/JwtUtils.java
  18. 38
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/admin/controller/AdminAnalysisController.java
  19. 20
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/admin/service/AdminAnalysisService.java
  20. 47
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/admin/service/impl/AdminAnalysisServiceImpl.java
  21. 67
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/properties/EpmetProperties.java
  22. 88
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/EpmetUtils.java
  23. 30
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml
  24. 8
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-prod.yml
  25. 6
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-test.yml
  26. 1
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application.yml

5
esua-epdc/epdc-admin/epdc-admin-client/pom.xml

@ -33,6 +33,11 @@
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-analysis-client</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>

2
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/SysDeptDTO.java

@ -146,4 +146,6 @@ public class SysDeptDTO extends TreeNode implements Serializable {
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
}

18
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/DeptCodeOption.java

@ -0,0 +1,18 @@
package com.elink.esua.epdc.dto.epdc;
import lombok.Data;
import java.util.List;
/**
* 部门节点
*
* @author work@yujt.net.cn
* @date 2019/11/27 10:03
*/
@Data
public class DeptCodeOption<T> {
private List<T> options;
}

12
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java

@ -17,6 +17,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
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.*;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
import com.elink.esua.epdc.service.SysDeptService;
@ -257,4 +258,15 @@ public class SysDeptController {
PageData<CompleteDeptDTO> page = sysDeptService.listCompleteDeptDTO(params);
return new Result<PageData<CompleteDeptDTO>>().ok(page);
}
/**
* @Description 获取部门区域编码树
* @Author songyunpeng
* @Date 2021/1/7
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.DeptCodeOption>
**/
@GetMapping("getDeptCode")
public Result<DeptCodeOption> getDeptCodeTree(){
return sysDeptService.getDeptCodeTree();
}
}

32
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.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.admin.DeptCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.feign.fallback.AnalysisFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 数据分析模块调用
*
* @Authorliuchuang
* @Date2020/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/admin/getDeptCode", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<DeptCodeOption> getDeptCode(@RequestBody DeptCodeFormDTO deptCodeFormDTO);
}

23
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java

@ -0,0 +1,23 @@
package com.elink.esua.epdc.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.admin.DeptCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.feign.AnalysisFeignClient;
import org.springframework.stereotype.Component;
/**
* @Authorsongyunpeg
* @Date2020/9/9 15:42
*/
@Component
public class AnalysisFeignClientFallback implements AnalysisFeignClient {
@Override
public Result<DeptCodeOption> getDeptCode(DeptCodeFormDTO deptCodeFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "homePagePlatformSummary",deptCodeFormDTO);
}
}

20
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java

@ -12,6 +12,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
@ -250,4 +251,23 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
* @date 2020/1/28 10:40
*/
DeptOption getAllDeptOptionByLoginUser();
/***
* 组装孔村部门编码
* @param
* @return void
* @author qushutong
* @date 2019/12/13 13:54
*/
void packageKcDeptCodeOption();
/**
* @Description 获取部门区域编码树
* @Author songyunpeng
* @Date 2021/1/7
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.DeptCodeOption>
**/
Result<DeptCodeOption> getDeptCodeTree();
}

49
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -29,11 +29,14 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dao.SysDeptDao;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.admin.DeptCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.dto.epdc.DeptTreeWithTypeKeyDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.feign.AnalysisFeignClient;
import com.elink.esua.epdc.feign.GroupFeignClient;
import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.rocketmq.producer.OrganizationModifyProducer;
@ -69,6 +72,9 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
@Autowired
private GroupFeignClient groupFeignClient;
@Autowired
private AnalysisFeignClient analysisFeignClient;
@Autowired
private UserDetailRedis userDetailRedis;
@ -127,13 +133,6 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
throw new RenException("您输入的编码已存在");
}
}
String areaCode = dto.getAreaCode();
if (StringUtils.isNotBlank(areaCode)) {
if (getAreaCodeCount(dto) > 0) {
throw new RenException("您输入的区域编码已存在");
}
}
SysDeptEntity entity = ConvertUtils.sourceToTarget(dto, SysDeptEntity.class);
entity.setPids(getPidList(entity.getPid()));
@ -156,14 +155,6 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
throw new RenException("您输入的编码已存在");
}
}
String areaCode = dto.getAreaCode();
if (StringUtils.isNotBlank(areaCode)) {
if (getAreaCodeCount(dto) > 0) {
throw new RenException("您输入的区域编码已存在");
}
}
SysDeptEntity entity = ConvertUtils.sourceToTarget(dto, SysDeptEntity.class);
//上级部门不能为自身
@ -915,6 +906,34 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
return new PageData<>(userDtoList, iPage.getTotal());
}
@Override
public Result<DeptCodeOption> getDeptCodeTree() {
String deptKey = RedisKeys.getAllDeptCodeOptionKey();
Object obj = redisUtils.get(deptKey);
if (null == obj) {
this.packageKcDeptCodeOption();
obj = redisUtils.get(deptKey);
}
//防止列表为空时 redis一直不更新
DeptCodeOption deptCodeOption = (DeptCodeOption)obj;
if(deptCodeOption.getOptions().size()==0){
this.packageKcDeptCodeOption();
obj = redisUtils.get(deptKey);
}
return new Result<DeptCodeOption>().ok((DeptCodeOption)obj);
}
@Override
public void packageKcDeptCodeOption() {
DeptCodeFormDTO deptCodeFormDTO = new DeptCodeFormDTO();
deptCodeFormDTO.setRootAreaCode(EpmetConstant.DEPT_CODE_KCZ);
Result<DeptCodeOption> deptCodeResult = analysisFeignClient.getDeptCode(deptCodeFormDTO);
if(deptCodeResult.getData()!=null){
DeptCodeOption deptCodeOption = deptCodeResult.getData();
redisUtils.set(RedisKeys.getAllDeptCodeOptionKey(), deptCodeOption);
}
}
/**
*
* 组织机构名称修改发送MQ消息

6
esua-epdc/epdc-commons/epdc-commons-tools/pom.xml

@ -107,6 +107,12 @@
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.7.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

212
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java

@ -0,0 +1,212 @@
package com.elink.esua.epdc.commons.tools.constant;
/**
* 党群e事通接口配置
*
* @Authorliuchuang
* @Date2020/8/20 13:46
*/
public interface EpmetConstant {
/**
* 1首页-平台各类总数上报
*/
String EPMET_KC_SCREEN_COLL_HOMEPAGE_PLATFORM_SUMMARY = "/data/stats/kcscreencoll/homepage/platformsummary";
/**
* 2议题分析-各类总数
*/
String EPMET_KC_SCREEN_COLL_ISSUE_SUMMARY = "/data/stats/kcscreencoll/issue/summary";
/**
* 3议题分析-参与趋势
*/
String EPMET_KC_SCREEN_COLL_ISSUE_TREND = "/data/stats/kcscreencoll/issue/trend";
/**
* 4用户分析-各类总数
*/
String EPMET_KC_SCREEN_COLL_USER_SUMMARY = "/data/stats/kcscreencoll/user/summary";
/**
* 5公益互助-志愿者公益时长排名
*/
String EPMET_KC_SCREEN_COLL_VOLUNTEER_HEART_RANK = "/data/stats/kcscreencoll/volunteer/heartrank";
/**
* 6用户分析-用户趋势
*/
String EPMET_KC_SCREEN_COLL_USER_USER_HEART_RANK = "/data/stats/kcscreencoll/user/userheartrank";
/**
* 7公益互助-活动各类总数
*/
String EPMET_KC_SCREEN_COLL_ACT_SUMMARY = "/data/stats/kcscreencoll/act/summary";
/**
* 8公益互助-活动次数趋势
*/
String EPMET_KC_SCREEN_COLL_ACT_TREND = "/data/stats/kcscreencoll/act/trend";
/**
* 9公益互助-志愿者画像
*/
String EPMET_KC_SCREEN_COLL_ACT_VOLUNTEER_SUMMARY = "/data/stats/kcscreencoll/act/volunteersummary";
/**
* 10项目分析-各类总数
*/
String EPMET_KC_SCREEN_COLL_PROJECT_SUMMARY = "/data/stats/kcscreencoll/project/summary";
/**
* 11项目分析-按分类统计
*/
String EPMET_KC_SCREEN_COLL_PROJECT_CATEGORY_SUMMARY = "/data/stats/kcscreencoll/project/categorysummary";
/**
* 12项目分析-满意度分析
*/
String EPMET_KC_SCREEN_COLL_PROJECT_STATISTIC_ANALYSIS = "/data/stats/kcscreencoll/project/satisanalysis";
/**
* 13党建声音-新闻各类总数汇总
*/
String EPMET_KC_SCREEN_COLL_NEWS_SUMMARY = "/data/stats/kcscreencoll/news/summary";
/**
* 14党建声音-新闻阅读参与趋势
*/
String EPMET_KC_SCREEN_COLL_NEWS_TREND = "/data/stats/kcscreencoll/news/trend";
/**
* 15党建声音-热度新闻排行
*/
String EPMET_KC_SCREEN_COLL_NEWS_HOT_RANK = "/data/stats/kcscreencoll/news/hotrank";
/**
* 16党建声音-新闻按类别统计
*/
String EPMET_KC_SCREEN_COLL_NEWS_CATEGORY_ANALYSIS = "/data/stats/kcscreencoll/news/categoryanalysis";
/**
* 17邻里党群-各类总数汇总
*/
String EPMET_KC_SCREEN_COLL_GROUP_SUMMARY = "/data/stats/kcscreencoll/group/summary";
/**
* 18邻里党群-小组详情
*/
String EPMET_KC_SCREEN_COLL_GROUP_DETAIL = "/data/stats/kcscreencoll/group/detail";
/**
* 19邻里党群-话题参与趋势
*/
String EPMET_KC_SCREEN_COLL_GROUP_TOPIC_TREND = "/data/stats/kcscreencoll/group/topictrend";
/**
* 09党建引领|基层治理-居民党员积分排行榜
*/
String EPMET_KC_SCREEN_COLL_PARTY_USER_RANK_DATA = "/data/stats/screencoll/partyuserrankdata";
/**
* 01党建能力-党员相关指标上报
*/
String EPMET_INDEX_COLLECT_GRID_PARTY_MEMBER_DATA = "/data/stats/indexcollect/gridpartymemberdata";
/**
* 02党建能力-网格相关指标上报
*/
String EPMET_INDEX_COLLECT_GRID_PARTY_ABILITY = "/data/stats/indexcollect/gridpartyability";
/**
* 03党建能力-区街道及社区相关指标
*/
String EPMET_INDEX_COLLECT_ORG_PARTY_ABILITY = "/data/stats/indexcollect/orgpartyability";
/**
* 04服务能力-网格相关指标
*/
String EPMET_INDEX_COLLECT_GRID_SERVICE_ABILITY = "/data/stats/indexcollect/gridserviceability";
/**
* 05服务能力-组织街道|社区|全区相关指标
*/
String EPMET_INDEX_COLLECT_ORG_SERVICE_ABILITY = "/data/stats/indexcollect/orgserviceability";
/**
* 06治理能力-网格相关指标
*/
String EPMET_INDEX_COLLECT_GRID_GOVERN_ABILITY = "/data/stats/indexcollect/gridgovrnability";
/**
* 07治理能力-区街道及社区相关指标
*/
String EPMET_INDEX_COLLECT_ORG_GOVERN_ABILITY = "/data/stats/indexcollect/orggovrnability";
/**
* 08治理能力-部门相关指标
*/
String EPMET_INDEX_COLLECT_DEPT_GOVERN_ABILITY = "/data/stats/indexcollect/deptgovrnability";
/**
* 按月计算指标数据
*/
String EPMET_INDEX_CALCULATE_ALL = "/data/stats/indexcalculate/all";
/**
* 014组织层级
*/
String EPMET_SCREEN_COLL_CUSTOMER_AGENCY = "/data/stats/screencoll/customeragency";
/**
* 015网格信息上传
*/
String EPMET_SCREEN_COLL_CUSTOMER_GRID = "/data/stats/screencoll/customergrid";
/**
* 016部门信息上传
*/
String EPMET_SCREEN_COLL_CUSTOMER_DEPT = "/data/stats/screencoll/customerdept";
/**
* 行政地区编码查询
*/
String EPMET_SCREEN_COLL_DEPT_CODE = "/data/report/screen/agency/areacodedict";
/**
* 行政地区编码查询 - 锦水街道
*/
String DEPT_CODE_KCZ = "370124";
/**
* 接口请求头
*/
String HEARD_KEY_AUTHORIZATION = "Authorization";
/**
* 接口请求头
*/
String HEARD_KEY_ACCESS_TOKEN = "AccessToken";
/**
* 接口请求头
*/
String HEARD_KEY_APP_ID = "AppId";
/**
* AccessToken key客户ID
*/
String ACCESS_TOKEN_KEY_CUSTOMER_ID = "customerId";
/**
* AccessToken key应用ID
*/
String ACCESS_TOKEN_KEY_APP_ID = "appId";
/**
* AccessToken key时间戳
*/
String ACCESS_TOKEN_KEY_TS = "ts";
}

2
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java

@ -44,4 +44,6 @@ public interface NumConstant {
String SIX_STR = "6";
String SEVEN_STR = "7";
int TWO_HUNDRED = 200;
}

11
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java

@ -254,4 +254,15 @@ public class RedisKeys {
public static String getPhraseListKey() {
return rootPrefix.concat("heart:phrase:list");
}
/***
* 部门编码所有孔村层级关系
* @param
* @return java.lang.String
* @author qushutong
* @date 2019/12/13 15:03
*/
public static String getAllDeptCodeOptionKey() {
return rootPrefix.concat("options:dept:code:js");
}
}

3
esua-epdc/epdc-gateway/src/main/resources/application.yml

@ -270,7 +270,7 @@ renren:
- /api/work/*/swagger/**
- /api/residentConfig/getResidentConfig #获取居民端配置
- /api/screenPopulationInfo/** #获取居民端配置
- /analysis/admin/getDeptCode #获取组织结构编码
workUrls:
- /api/work/** #工作端接口
- /api/analysis/** #数据端接口
@ -300,3 +300,4 @@ epdc:
- /cloudAnalysis/** #数据端接口
- /api/residentConfig/getResidentConfig #获取居民端配置
- /api/screenPopulationInfo/** #获取居民端配置
- /analysis/admin/getDeptCode #获取组织结构编码

22
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeFormDTO.java

@ -0,0 +1,22 @@
package com.elink.esua.epdc.dto.admin;
import lombok.Data;
import java.io.Serializable;
/**
* @author songyunpeng
* @Description 获取行政区域编码参数
* @create 2021-01-07
*/
@Data
public class DeptCodeFormDTO implements Serializable {
/**
* 部门区域编码
*/
private String rootAreaCode;
}

33
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/admin/DeptCodeTree.java

@ -0,0 +1,33 @@
package com.elink.esua.epdc.dto.admin;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author songyunpeng
* @Description
* @create 2021-01-07
*/
@Data
public class DeptCodeTree implements Serializable {
/**
* 部门区域编码
*/
private String code;
/**
* 名称
*/
private String name;
/**
* 下一级
*/
private List<DeptCodeTree> children;
}

6
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/pom.xml

@ -136,6 +136,8 @@
<nacos.server-addr>47.105.119.155:8848</nacos.server-addr>
<nacos.ip></nacos.ip>
<nacos.namespace>1da17390-6495-4e16-9ec6-0b8ece18a4a0</nacos.namespace>
<epmet.url>https://epmet-dev.elinkservice.cn/api</epmet.url>
</properties>
</profile>
@ -158,6 +160,8 @@
<nacos.server-addr>47.105.119.155:8848</nacos.server-addr>
<nacos.ip>47.105.119.155</nacos.ip>
<nacos.namespace>1da17390-6495-4e16-9ec6-0b8ece18a4a0</nacos.namespace>
<epmet.url>https://epmet-dev.elinkservice.cn/api</epmet.url>
</properties>
</profile>
@ -179,6 +183,8 @@
<nacos.server-addr>172.16.0.7:10000,172.16.0.7:10001</nacos.server-addr>
<nacos.ip>172.16.0.8</nacos.ip>
<nacos.namespace></nacos.namespace>
<epmet.url>https://epmet-open.elinkservice.cn/api</epmet.url>
</properties>
</profile>
</profiles>

46
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/jwt/JwtUtils.java

@ -0,0 +1,46 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.elink.esua.epdc.jwt;
import com.elink.esua.epdc.properties.EpmetProperties;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* Jwt工具类
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Component
public class JwtUtils {
@Autowired
private EpmetProperties epmetProperties;
/**
* 生成上报接口accessToken
*
* @param claims
* @return java.lang.String
* @author Liuchuang
* @since 2020/9/7 14:11
*/
public String getEpmetAccessToken(Map<String,Object> claims){
return Jwts.builder()
.setHeaderParam("typ", "JWT")
.setClaims(claims)
.signWith(SignatureAlgorithm.HS512, epmetProperties.getSecret())
.compact();
}
}

38
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/admin/controller/AdminAnalysisController.java

@ -0,0 +1,38 @@
package com.elink.esua.epdc.modules.admin.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.admin.DeptCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.modules.admin.service.AdminAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description admin相关
* @Author songyunpeng
* @Date 2020/2/10 16:06
*/
@RestController
@RequestMapping("admin")
public class AdminAnalysisController {
@Autowired
private AdminAnalysisService adminAnalysisService;
/**
* @Description 获取组织机构编码
* @Author songyunpeng
* @Date 2021/1/7
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result
**/
@GetMapping("getDeptCode")
public Result<DeptCodeOption> getDeptCode(@RequestBody DeptCodeFormDTO deptCodeFormDTO){
DeptCodeOption deptCodeOption = adminAnalysisService.getDeptCode(deptCodeFormDTO);
return new Result().ok(deptCodeOption);
}
}

20
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/admin/service/AdminAnalysisService.java

@ -0,0 +1,20 @@
package com.elink.esua.epdc.modules.admin.service;
import com.elink.esua.epdc.dto.admin.DeptCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
/**
* @Description admin相关
* @Author songyunpeng
* @Date 2020/2/10 16:06
*/
public interface AdminAnalysisService {
/**
* @Description 获取组织机构编码
* @Author songyunpeng
* @Date 2021/1/7
* @Param []
* @return java.lang.String
**/
DeptCodeOption getDeptCode(DeptCodeFormDTO deptCodeFormDTO);
}

47
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/admin/service/impl/AdminAnalysisServiceImpl.java

@ -0,0 +1,47 @@
package com.elink.esua.epdc.modules.admin.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.dto.admin.DeptCodeFormDTO;
import com.elink.esua.epdc.dto.admin.DeptCodeTree;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.dto.issue.result.IssueResultDTO;
import com.elink.esua.epdc.modules.admin.service.AdminAnalysisService;
import com.elink.esua.epdc.modules.issue.dao.IssueAnalysisDao;
import com.elink.esua.epdc.utils.EpmetUtils;
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 AdminAnalysisServiceImpl extends BaseServiceImpl<IssueAnalysisDao, IssueResultDTO> implements AdminAnalysisService {
@Autowired
private EpmetUtils epmetUtils;
@Override
public DeptCodeOption getDeptCode(DeptCodeFormDTO deptCodeFormDTO) {
String dataResult = epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_COLL_DEPT_CODE, JSONObject.toJSONString(deptCodeFormDTO));
JSONObject jsonObject = JSONObject.parseObject(dataResult);
Result deptCodeTreeResult = JSON.toJavaObject(jsonObject, Result.class );
if(deptCodeTreeResult!=null && deptCodeTreeResult.getData()!=null){
List<DeptCodeTree> deptCodeTreeList = JSONArray.parseArray(JSONObject.toJSONString(deptCodeTreeResult.getData()), DeptCodeTree.class);
DeptCodeOption deptCodeOption = new DeptCodeOption();
deptCodeOption.setOptions(deptCodeTreeList);
return deptCodeOption;
}
return new DeptCodeOption();
}
}

67
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/properties/EpmetProperties.java

@ -0,0 +1,67 @@
package com.elink.esua.epdc.properties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
* 党群e事通接口配置
*
* @Authorliuchuang
* @Date2020/8/20 13:22
*/
@Configuration
@ConfigurationProperties(prefix = "epmet.config")
public class EpmetProperties {
/**
* 应用ID
*/
private String appId;
/**
* 接口前缀
*/
private String url;
/**
* 生成AccessToken密钥
*/
private String secret;
/**
* 客户ID
*/
private String customerId;
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getSecret() {
return secret;
}
public void setSecret(String secret) {
this.secret = secret;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
}

88
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/utils/EpmetUtils.java

@ -0,0 +1,88 @@
package com.elink.esua.epdc.utils;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.constant.EpmetConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.jwt.JwtUtils;
import com.elink.esua.epdc.properties.EpmetProperties;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
@Component
public class EpmetUtils {
private final Logger logger = LogManager.getLogger(getClass());
@Autowired
private EpmetProperties epmetProperties;
@Autowired
private JwtUtils jwtUtils;
/**
* 大屏数据上报
*
* @param urlSuffix 接口地址后缀
* @param param 入参
* @return java.lang.String
* @author Liuchuang
* @since 2020/9/7 14:07
*/
public String httpPost(String urlSuffix,String param) {
String code = "code";
// 应用ID
String appId = epmetProperties.getAppId();
// 生成AccessToken
String accessToken = getEpmetAccessToken();
// 接口地址
String url = epmetProperties.getUrl().concat(urlSuffix);
HttpResponse response = null;
try {
response = HttpRequest.post(url).body(param)
.header(EpmetConstant.HEARD_KEY_ACCESS_TOKEN, accessToken)
.header(EpmetConstant.HEARD_KEY_APP_ID, appId)
.header("lan", "zh")
.header("Content-Type", "application/json")
.header("Date-Type","real")
.execute();
if (NumConstant.TWO_HUNDRED != response.getStatus()) {
logger.error("数据上报失败, 返回状态:{}, 请求参数:{appId:{}, url:{}, accessToken:{}, param:{}}",
response.getStatus(), appId, url, accessToken, param);
} else {
JSONObject result = JSONObject.parseObject(response.body());
if (!NumConstant.ZERO_STR.equals(result.get(code).toString())) {
logger.info("数据上报失败:{},请求地址:{},请求参数:{}", JSONObject.toJSONString(response.body()), url, param);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return response.body();
}
/**
* 生成上报接口accessToken
*
* @return java.lang.String
* @author Liuchuang
* @since 2020/9/7 14:15
*/
private String getEpmetAccessToken (){
Map<String, Object> accessTokenMap = new HashMap<>(3);
accessTokenMap.put(EpmetConstant.ACCESS_TOKEN_KEY_CUSTOMER_ID, epmetProperties.getCustomerId());
accessTokenMap.put(EpmetConstant.ACCESS_TOKEN_KEY_APP_ID, epmetProperties.getAppId());
accessTokenMap.put(EpmetConstant.ACCESS_TOKEN_KEY_TS, System.currentTimeMillis());
return jwtUtils.getEpmetAccessToken(accessTokenMap);
}
}

30
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml

@ -5,51 +5,51 @@ spring:
druid:
first: #数据源1
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_admin?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
second: #数据源2
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_api?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
third: #数据源3
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_custom?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
fourth: #数据源4
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_events?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
fifth: #数据源5
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_group?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
sixth: #数据源6
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
seventh: #数据源7
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_kpi?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
eighth: #数据源8
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_mutuality?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
ninth: #数据源9
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_news?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
tenth: #数据源10
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_points?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
eleventh: #数据源11
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_user?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
twelve: #数据源12
url: jdbc:mysql://rm-m5eguiv2827bdye798o.mysql.rds.aliyuncs.com:10001/js_esua_epdc_analysis?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: jinshui
username: jinshui_epdc_test
password: jinshui@833066
initial-size: 10
max-active: 100
@ -73,3 +73,9 @@ spring:
wall:
config:
multi-statement-allow: true
epmet:
config:
secret: 0398b33f845c4768a102d2ab6ebdd00b5fec222e437540428f55d1df53e6be1e
appId: d44a6daaea58be408bb74fe93714710f
customerId: f5ff0770f409981c73adda6ae35143ef
url: @epmet.url@

8
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-prod.yml

@ -71,4 +71,10 @@ spring:
merge-sql: false
wall:
config:
multi-statement-allow: true
multi-statement-allow: true
epmet:
config:
secret: 0f2ad2929f1e4f778dc1e90a64d154e572af864ea0eb4d73be56480f0af34ba1
appId: f257a3497224ae078af12966b068a81c
customerId: 44876154d10d7cb7affd92000f84f833
url: @epmet.url@

6
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-test.yml

@ -73,3 +73,9 @@ spring:
wall:
config:
multi-statement-allow: true
epmet:
config:
secret: 0398b33f845c4768a102d2ab6ebdd00b5fec222e437540428f55d1df53e6be1e
appId: d44a6daaea58be408bb74fe93714710f
customerId: f5ff0770f409981c73adda6ae35143ef
url: @epmet.url@

1
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application.yml

@ -62,3 +62,4 @@ mybatis-plus:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true

Loading…
Cancel
Save