Browse Source

对接工作日志系统组织数据统计任务 init

hotfix/zhy
liuchuang 5 years ago
parent
commit
d97c572995
  1. 3
      epdc-cloud-analysis-pc/pom.xml
  2. 32
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/EpdcWorkLogController.java
  3. 43
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/EpdcWorkLogDao.java
  4. 19
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/EpdcWorkLogService.java
  5. 49
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/EpdcWorkLogServiceImpl.java
  6. 13
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/properties/EpmetProperties.java
  7. 43
      epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/utils/EpmetUtils.java
  8. 1
      epdc-cloud-analysis-pc/src/main/resources/application.yml
  9. 54
      epdc-cloud-analysis-pc/src/main/resources/mapper/screen/EpdcWorkLogDao.xml

3
epdc-cloud-analysis-pc/pom.xml

@ -160,6 +160,7 @@
<epmet.customerId>ab7536372abdc2bd9ad4a4a69cdc0564</epmet.customerId>
<epmet.url>http://118.190.150.119:41080/api</epmet.url>
<epmet.py.customerId>78e2b2227c07de1fe54da14e2b2d9eb6</epmet.py.customerId>
<work.log.url>https://epmet-ext1.pingyin.gov.cn/plugin-wrf</work.log.url>
</properties>
</profile>
@ -188,6 +189,7 @@
<epmet.customerId>a4bbf298d8e427844038cee466f022ef</epmet.customerId>
<epmet.url>https://epmet-dev.elinkservice.cn/api</epmet.url>
<epmet.py.customerId>78e2b2227c07de1fe54da14e2b2d9eb6</epmet.py.customerId>
<work.log.url>https://epmet-ext1.pingyin.gov.cn/plugin-wrf</work.log.url>
</properties>
</profile>
@ -215,6 +217,7 @@
<epmet.customerId>46c55cb862d6d5e6d05d2ab61a1cc07e</epmet.customerId>
<epmet.url>https://epmet-open.elinkservice.cn/api</epmet.url>
<epmet.py.customerId>6f203e30de1a65aab7e69c058826cd80</epmet.py.customerId>
<work.log.url>https://epmet-ext1.pingyin.gov.cn/plugin-wrf</work.log.url>
</properties>
</profile>
</profiles>

32
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/EpdcWorkLogController.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.modules.screen.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.modules.screen.service.EpdcWorkLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Authorliuchuang
* @Date2021/8/28 14:53
*/
@RestController
@RequestMapping("workLog")
public class EpdcWorkLogController {
@Autowired
private EpdcWorkLogService epdcWorkLogService;
/**
* 获取组织活动信息并保存
*
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author lc
* @since 2021/8/28 19:19
*/
@PostMapping("saveOrgInfo")
public Result saveOrgInfo() {
return epdcWorkLogService.saveOrgActInfo();
}
}

43
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/EpdcWorkLogDao.java

@ -0,0 +1,43 @@
package com.elink.esua.epdc.modules.screen.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.analysis.pc.screen.result.EpdcWorkLogOrgActRecordsResultDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Authorliuchuang
* @Date2021/8/28 15:15
*/
@Mapper
public interface EpdcWorkLogDao extends BaseDao<EpdcWorkLogOrgActRecordsResultDTO> {
/**
* 删除历史数据
*
* @return void
* @author lc
* @since 2021/8/28 18:59
*/
void removeOrgActInfo();
/**
* 保存组织活动统计信息
*
* @param orgActList
* @return void
* @author lc
* @since 2021/8/28 19:02
*/
void insertOrgActInfo(List<EpdcWorkLogOrgActRecordsResultDTO> orgActList);
/**
* 删除历史数据
*
* @return void
* @author lc
* @since 2021/8/28 18:59
*/
void removeOtherOrgActInfo();
}

19
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/EpdcWorkLogService.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.modules.screen.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
/**
* @Authorliuchuang
* @Date2021/8/28 14:55
*/
public interface EpdcWorkLogService {
/**
* 获取组织活动信息并保存
*
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author lc
* @since 2021/8/28 19:18
*/
Result saveOrgActInfo();
}

49
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/EpdcWorkLogServiceImpl.java

@ -0,0 +1,49 @@
package com.elink.esua.epdc.modules.screen.service.impl;
import com.alibaba.fastjson.JSON;
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.analysis.pc.screen.result.EpdcWorkLogOrgActRecordsResultDTO;
import com.elink.esua.epdc.modules.screen.dao.EpdcWorkLogDao;
import com.elink.esua.epdc.modules.screen.service.EpdcWorkLogService;
import com.elink.esua.epdc.utils.EpmetUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Authorliuchuang
* @Date2021/8/28 14:55
*/
@Service
public class EpdcWorkLogServiceImpl extends BaseServiceImpl<EpdcWorkLogDao, EpdcWorkLogOrgActRecordsResultDTO> implements EpdcWorkLogService {
@Autowired
private EpmetUtils epmetUtils;
@Override
public Result saveOrgActInfo() {
String dataResult = epmetUtils.workLogHttpGet(EpmetConstant.WORK_LOG_DAILY_RECORD_STATISTICS);
if (StringUtils.isNotEmpty(dataResult)) {
JSONObject jsonObject = JSONObject.parseObject(dataResult);
Result result = JSON.toJavaObject(jsonObject, Result.class);
if (result != null && result.getData() != null) {
List<EpdcWorkLogOrgActRecordsResultDTO> orgActList = JSONObject.parseArray(result.getData().toString(), EpdcWorkLogOrgActRecordsResultDTO.class);
if (null != orgActList && orgActList.size() > 0) {
// 删除历史数据
baseDao.removeOrgActInfo();
// 插入新数据
baseDao.insertOrgActInfo(orgActList);
// 删除其他组织数据,只保留社区数据
baseDao.removeOtherOrgActInfo();
}
}
}
return new Result();
}
}

13
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/properties/EpmetProperties.java

@ -23,6 +23,11 @@ public class EpmetProperties {
*/
private String url;
/**
* 工作日志系统接口地址
*/
private String workLogUrl;
/**
* 生成AccessToken密钥
*/
@ -77,4 +82,12 @@ public class EpmetProperties {
public void setPyCustomerId(String pyCustomerId) {
this.pyCustomerId = pyCustomerId;
}
public String getWorkLogUrl() {
return workLogUrl;
}
public void setWorkLogUrl(String workLogUrl) {
this.workLogUrl = workLogUrl;
}
}

43
epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/utils/EpmetUtils.java

@ -88,4 +88,47 @@ public class EpmetUtils {
return jwtUtils.getEpmetAccessToken(accessTokenMap);
}
/**
* 工作日志系统接口调用
*
* @param urlSuffix
* @return java.lang.String
* @author lc
* @since 2021/8/28 14:50
*/
public String workLogHttpGet(String urlSuffix) {
String code = "code";
// 客户ID
String customerId = epmetProperties.getCustomerId();
// 接口地址
String url = epmetProperties.getWorkLogUrl().concat(urlSuffix);
HttpResponse response = null;
try {
response = HttpRequest.get(url)
.header(EpmetConstant.ACCESS_TOKEN_KEY_CUSTOMER_ID, customerId)
.header("lan", "zh")
.header("Content-Type", "application/json")
.header("Date-Type", "real")
.execute();
if (NumConstant.TWO_HUNDRED != response.getStatus()) {
logger.error("工作日志系统接口调用失败, 返回状态:{}, 请求参数:{url:{}}",
response.getStatus(), url);
return null;
} else {
JSONObject result = JSONObject.parseObject(response.body());
if (!NumConstant.ZERO_STR.equals(result.get(code).toString())) {
logger.info("工作日志系统接口调用失败:{},请求地址:{}", JSONObject.toJSONString(response.body()), url);
return null;
}
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return response.body();
}
}

1
epdc-cloud-analysis-pc/src/main/resources/application.yml

@ -70,3 +70,4 @@ epmet:
customerId: @epmet.customerId@
pyCustomerId: @epmet.py.customerId@
url: @epmet.url@
workLogUrl: @work.log.url@

54
epdc-cloud-analysis-pc/src/main/resources/mapper/screen/EpdcWorkLogDao.xml

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.modules.screen.dao.EpdcWorkLogDao">
<delete id="removeOrgActInfo">
DELETE FROM epdc_screen_community_act_statistics
</delete>
<insert id="insertOrgActInfo">
INSERT INTO epdc_screen_community_act_statistics (ID,
DEPT_ID,
DEPT_NAME,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME,
ACT_ZTDR_NUM,
ACT_ZTDR_PERSON_NUM,
ACT_SHYK_NUM,
ACT_SHYK_PERSON_NUM,
ACT_LJGJ_NUM,
ACT_LJGJ_PERSON_NUM
) VALUES
<foreach collection="orgActList" item="act" index="index" separator="," >
(MD5(UUID()),
#{act.deptId},
#{act.deptName},
'0',
0,
'sys',
NOW(),
'sys',
NOW(),
#{act.actZtdrNum},
#{act.actZtdrPersonNum},
#{act.actShykNum},
#{act.actShykPersonNum},
#{act.actLjgjNum},
#{act.actLjgjPersonNum})
</foreach>
</insert>
<delete id="removeOtherOrgActInfo">
DELETE
FROM
epdc_screen_community_act_statistics
WHERE
DEPT_ID NOT IN ( SELECT d.id FROM yushan_esua_epdc_admin.sys_dept d WHERE d.DEL_FLAG = 0 AND d.TYPE_KEY = 'community_party' )
</delete>
</mapper>
Loading…
Cancel
Save