diff --git a/epdc-cloud-analysis-pc/pom.xml b/epdc-cloud-analysis-pc/pom.xml index 1f23ff2..584b6a3 100644 --- a/epdc-cloud-analysis-pc/pom.xml +++ b/epdc-cloud-analysis-pc/pom.xml @@ -160,6 +160,7 @@ ab7536372abdc2bd9ad4a4a69cdc0564 http://118.190.150.119:41080/api 78e2b2227c07de1fe54da14e2b2d9eb6 + https://epmet-ext1.pingyin.gov.cn/plugin-wrf @@ -188,6 +189,7 @@ a4bbf298d8e427844038cee466f022ef https://epmet-dev.elinkservice.cn/api 78e2b2227c07de1fe54da14e2b2d9eb6 + https://epmet-ext1.pingyin.gov.cn/plugin-wrf @@ -215,6 +217,7 @@ 46c55cb862d6d5e6d05d2ab61a1cc07e https://epmet-open.elinkservice.cn/api 6f203e30de1a65aab7e69c058826cd80 + https://epmet-ext1.pingyin.gov.cn/plugin-wrf diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/EpdcWorkLogController.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/controller/EpdcWorkLogController.java new file mode 100644 index 0000000..a3833a8 --- /dev/null +++ b/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; + +/** + * @Author:liuchuang + * @Date:2021/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(); + } +} diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/EpdcWorkLogDao.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/dao/EpdcWorkLogDao.java new file mode 100644 index 0000000..3f798a5 --- /dev/null +++ b/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; + +/** + * @Author:liuchuang + * @Date:2021/8/28 15:15 + */ +@Mapper +public interface EpdcWorkLogDao extends BaseDao { + + /** + * 删除历史数据 + * + * @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 orgActList); + + /** + * 删除历史数据 + * + * @return void + * @author lc + * @since 2021/8/28 18:59 + */ + void removeOtherOrgActInfo(); +} diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/EpdcWorkLogService.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/EpdcWorkLogService.java new file mode 100644 index 0000000..757a721 --- /dev/null +++ b/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; + +/** + * @Author:liuchuang + * @Date:2021/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(); +} diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/EpdcWorkLogServiceImpl.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/EpdcWorkLogServiceImpl.java new file mode 100644 index 0000000..aeec8fe --- /dev/null +++ b/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; + +/** + * @Author:liuchuang + * @Date:2021/8/28 14:55 + */ +@Service +public class EpdcWorkLogServiceImpl extends BaseServiceImpl 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 orgActList = JSONObject.parseArray(result.getData().toString(), EpdcWorkLogOrgActRecordsResultDTO.class); + if (null != orgActList && orgActList.size() > 0) { + // 删除历史数据 + baseDao.removeOrgActInfo(); + // 插入新数据 + baseDao.insertOrgActInfo(orgActList); + // 删除其他组织数据,只保留社区数据 + baseDao.removeOtherOrgActInfo(); + } + } + } + + return new Result(); + } +} diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/properties/EpmetProperties.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/properties/EpmetProperties.java index 085ea80..d7b3543 100644 --- a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/properties/EpmetProperties.java +++ b/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; + } } diff --git a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/utils/EpmetUtils.java b/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/utils/EpmetUtils.java index a150b3a..2cc0baf 100644 --- a/epdc-cloud-analysis-pc/src/main/java/com/elink/esua/epdc/utils/EpmetUtils.java +++ b/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(); + + } } diff --git a/epdc-cloud-analysis-pc/src/main/resources/application.yml b/epdc-cloud-analysis-pc/src/main/resources/application.yml index b7873fa..97986c1 100644 --- a/epdc-cloud-analysis-pc/src/main/resources/application.yml +++ b/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@ diff --git a/epdc-cloud-analysis-pc/src/main/resources/mapper/screen/EpdcWorkLogDao.xml b/epdc-cloud-analysis-pc/src/main/resources/mapper/screen/EpdcWorkLogDao.xml new file mode 100644 index 0000000..5b9fff9 --- /dev/null +++ b/epdc-cloud-analysis-pc/src/main/resources/mapper/screen/EpdcWorkLogDao.xml @@ -0,0 +1,54 @@ + + + + + + + DELETE FROM epdc_screen_community_act_statistics + + + + 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 + + (MD5(UUID()), + #{act.deptId}, + #{act.deptName}, + '0', + 0, + 'sys', + NOW(), + 'sys', + NOW(), + #{act.actZtdrNum}, + #{act.actZtdrPersonNum}, + #{act.actShykNum}, + #{act.actShykPersonNum}, + #{act.actLjgjNum}, + #{act.actLjgjPersonNum}) + + + + + 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' ) + + +