From 57a10e09789a811b6365fc8007750f053f132d81 Mon Sep 17 00:00:00 2001 From: Administrator <1923636941@qq.com> Date: Wed, 22 Mar 2023 18:27:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=91=E8=81=94=E4=B8=87=E7=89=A9=E4=B8=AD?= =?UTF-8?q?=E9=97=B4=E5=BA=93=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xmgl/modules/video/entity/VideoItem.java | 10 +- .../yunlianwanwu/middle/MiddleController.java | 298 +--------------- .../middle/service/MiddleService.java | 335 ++++++++++++++++++ .../yunlianwanwu/middle/task/MiddleTask.java | 35 ++ 4 files changed, 382 insertions(+), 296 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/service/MiddleService.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/task/MiddleTask.java diff --git a/src/main/java/com/zhgd/xmgl/modules/video/entity/VideoItem.java b/src/main/java/com/zhgd/xmgl/modules/video/entity/VideoItem.java index 97ae22b23..572830986 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/entity/VideoItem.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/entity/VideoItem.java @@ -179,6 +179,12 @@ public class VideoItem implements Serializable { @ApiModelProperty(value = "云联万物-监控点位置(JKDWZ001:作业面,JKDWZ002:料场,JKDWZ003:车辆出入口,JKDWZ004:人员出入口,JKDWZ005:洗轮机,JKDWZ006:围墙,JKDWZ007:塔吊,JKDWZ008:其他)") private java.lang.String monitoringPointLocation; - @ApiModelProperty(value = "云联万物-经纬坐标") - private java.lang.String latAndLng; + /** + * 纬度 + */ + private String latitude; + /** + *经度 + */ + private String longitude; } diff --git a/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/MiddleController.java b/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/MiddleController.java index 4903a4614..3cd06cbbb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/MiddleController.java +++ b/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/MiddleController.java @@ -1,27 +1,12 @@ package com.zhgd.xmgl.modules.yunlianwanwu.middle; -import cn.hutool.http.HttpUtil; -import com.gexin.fastjson.JSON; -import com.gexin.fastjson.TypeReference; -import com.zhgd.jeecg.common.api.vo.Result; -import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; -import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper; -import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.MiddleGcjkd; -import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.MiddleGcxx; -import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.VideoItemConfigBo; -import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.bo.ProjectBo; +import com.zhgd.xmgl.modules.yunlianwanwu.middle.service.MiddleService; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - /** * 云联万物的中间库的controller */ @@ -29,294 +14,19 @@ import java.util.stream.Collectors; @RequestMapping("middle") @Slf4j public class MiddleController { - private String ipPort = "http://localhost:22333"; - @Autowired - private ProjectMapper projectMapper; @Autowired - private VideoItemMapper videoItemMapper; + private MiddleService middleService; @GetMapping("/add/project") public void addProject() { - //从中间库接口获取所有项目 - String url = ipPort + "/middle/middleGcxx/list"; - log.info("getMiddleProject:{}", url); - String getMiddleProject = HttpUtil.get(url); - log.info("getMiddleProjectRs:{}", getMiddleProject); - if (StringUtils.isNotBlank(getMiddleProject)) { - Result result = JSON.parseObject(getMiddleProject, Result.class); - if (result.isSuccess()) { - Object rs = result.getResult(); - if (rs != null) { - List middleGcxxes = JSON.parseObject(rs.toString(), new TypeReference>() { - }); - Map idAndMiddleGcxxMap = middleGcxxes.stream().collect(Collectors.toMap(MiddleGcxx::getId, middleGcxx -> middleGcxx)); - //从数据库获取所有项目 - List projects = projectMapper.queryAllProjectAndVideoInfo(); - //比较出新增和修改的项目,调用接口更新中间库 - log.info("projects:{}", JSON.toJSONString(projects)); - - if (CollectionUtils.isNotEmpty(projects)) { - for (ProjectBo bo : projects) { - if (idAndMiddleGcxxMap.get(bo.getProjectSn()) == null) { - //新增 - httpAddMiddleGcxx(bo); - } else { - //修改 - httpUpdateMiddleGcxx(bo); - } - } - } - } - } - } - + middleService.syncProject(); } @GetMapping("/middleGcjkd/add") public void addMiddleGcjkd() { - //从中间库接口获取所有监控点位 - String url = ipPort + "/middle/middleGcjkd/list"; - log.info("getMiddleProject:{}", url); - String getMiddleGcjkd = HttpUtil.get(url); - log.info("getMiddleGcjkdRs:{}", getMiddleGcjkd); - if (StringUtils.isNotBlank(getMiddleGcjkd)) { - Result result = JSON.parseObject(getMiddleGcjkd, Result.class); - if (result.isSuccess()) { - Object rs = result.getResult(); - if (rs != null) { - List middleGcjkds = JSON.parseObject(rs.toString(), new TypeReference>() { - }); - Map idAndMiddleGcjkdMap = middleGcjkds.stream().collect(Collectors.toMap(middleGcjkd -> Long.valueOf(middleGcjkd.getId()), m -> m)); - //从数据库获取所有监控点位 - List videoItemBos = videoItemMapper.selectDeviceDetailAndProjectSnList(); - if (CollectionUtils.isNotEmpty(videoItemBos)) { - for (VideoItemConfigBo bo : videoItemBos) { - //比较出新增和修改的监控点位,调用接口更新中间库 - if (idAndMiddleGcjkdMap.get(bo.getItemId()) == null) { - //新增 - httpAddMiddleGcjkd(bo); - } else { - //修改 - httpUpdateMiddleGcjkd(bo); - } - } - } - } - } - - } - + middleService.syncMiddleGcjkd(); } - private void httpAddMiddleGcjkd(VideoItemConfigBo bo) { - MiddleGcjkd middleGcjkd = getMiddleGcjkdByVideoItem(bo); - String url = ipPort + "/middle/middleGcjkd/add"; - String body = JSON.toJSONString(middleGcjkd); - log.info("add_url:{},body:{}", url, body); - String post = HttpUtil.post(url, body); - log.info("rt:{}", post); - } - - private void httpUpdateMiddleGcjkd(VideoItemConfigBo bo) { - MiddleGcjkd middleGcjkd = getMiddleGcjkdByVideoItem(bo); - String url = ipPort + "/middle/middleGcjkd/edit"; - String body = JSON.toJSONString(middleGcjkd); - log.info("update_url:{},body:{}", url, body); - String post = HttpUtil.post(url, body); - log.info("rt:{}", post); - } - - private MiddleGcjkd getMiddleGcjkdByVideoItem(VideoItemConfigBo bo) { - MiddleGcjkd middleGcjkd = new MiddleGcjkd(); - middleGcjkd.setId(String.valueOf(bo.getItemId())); - middleGcjkd.setGcid(bo.getProjectSn()); - middleGcjkd.setJkdbh(bo.getMonitoringPointCode()); - middleGcjkd.setJkdmc(bo.getVideoName()); - middleGcjkd.setJkdzt(getStatus(bo.getDeviceState())); - middleGcjkd.setJkdlx(getDeviceType(bo.getDeviceType())); - middleGcjkd.setJkdwz(bo.getMonitoringPointLocation()); - String latAndLng = bo.getLatAndLng(); - if (StringUtils.isNotBlank(latAndLng)) { - String[] split = latAndLng.split(","); - if (split.length == 2) { - middleGcjkd.setXzb(split[1]); - middleGcjkd.setYzb(split[0]); - middleGcjkd.setYszb(latAndLng); - } - } - middleGcjkd.setYszblx("WGS-84"); - middleGcjkd.setDeleted(0); - middleGcjkd.setCreateDateTime(bo.getCreateTime()); - middleGcjkd.setDatasource(String.valueOf(15)); - return middleGcjkd; - } - - private void httpAddMiddleGcxx(ProjectBo project) { - MiddleGcxx middleGcxx = getMiddleGcxxByProject(project); - String url = ipPort + "/middle/middleGcxx/add"; - String body = JSON.toJSONString(middleGcxx); - log.info("url:{},body:{}", url, body); - String post = HttpUtil.post(url, body); - log.info("rt:{}", post); - } - - private void httpUpdateMiddleGcxx(ProjectBo project) { - MiddleGcxx middleGcxx = getMiddleGcxxByProject(project); - String url = ipPort + "/middle/middleGcxx/edit"; - String body = JSON.toJSONString(middleGcxx); - log.info("url:{},body:{}", url, body); - String post = HttpUtil.post(url, body); - log.info("rt:{}", post); - } - - /** - * 获取中间库 - * - * @param bo - * @return - */ - private MiddleGcxx getMiddleGcxxByProject(ProjectBo bo) { - MiddleGcxx middleGcxx = new MiddleGcxx(); - middleGcxx.setId(bo.getProjectSn());//id存的是projectSn - middleGcxx.setGcmc(bo.getProjectName()); - middleGcxx.setGcjsdd(bo.getProjectName()); - middleGcxx.setSgxkzh(bo.getConstructionPermit()); - middleGcxx.setGcssjd(bo.getStreetTownshipTown()); - middleGcxx.setGcssjdbm(bo.getStreetTownshipTownCode()); - middleGcxx.setGclb(getGclb(bo.getProjectType())); - middleGcxx.setSxtazzt(bo.getSxtazzt()); - middleGcxx.setSxtazrq(bo.getSxtazrq()); - middleGcxx.setQxbm(bo.getDistrictOrganizationCode()); - middleGcxx.setXzb(bo.getLatitude()); - middleGcxx.setYzb(bo.getLongitude()); - middleGcxx.setYszb(bo.getLongitude() + "," + bo.getLatitude()); - middleGcxx.setYszblx("WGS-84"); - middleGcxx.setDatasource(String.valueOf(15)); - return middleGcxx; - } - - /** - * 获取设备类型 - * - * @param deviceType - * @return - */ - public String getDeviceType(Integer deviceType) { - //1 JKDLX001 微卡口 - //2 JKDLX002 枪机 - //3 JKDLX003 球机 - //4 JKDLX004 人脸识别 - - //设备类型,1 枪机,2球机,3热成像,4单兵,5全景,6无人机 - if (deviceType != null) { - //设备状态,1在线,2离线 - switch (deviceType) { - case 1: - return "JKDLX002"; - case 2: - return "JKDLX003"; - case 3: - return "JKDLX003"; - case 4: - return "JKDLX003"; - case 5: - return "JKDLX003"; - case 6: - return "JKDLX003"; - } - } - return null; - } - - /** - * 获取中间库的监控点的视频在线状态 - * - * @param status - * @return - */ - public Integer getStatus(Integer status) { - if (status != null) { - //设备状态,1在线,2离线 - switch (status) { - case 1: - return 0; - case 2: - return 1; - } - } - return null; - } - - /** - * 获取工程类别 - * - * @param projectType - * @return - */ - public String getGclb(Integer projectType) { - //1 FWJSGC 房屋建设工程 - //2 SZ 市政 - //3 ZX 装修 - //其他委办局工地 - //4 HB_SWGD 水务 - //5 HB_YLGD 园林 - //6 HB_JTGD 交通 - //7 HB_FJ 房建 - //8 HB_HNTGD 混凝土搅拌站 - //9 HB_JZLJXNC 建筑垃圾消纳场 - //10 HB_QT 其他 - - //工程类别,1房建,2市政,3安装,4装饰,5公路,6冶炼,7矿山,8化工石油,9水利水电,10电力,11农林,12港口与航道,13航天航空,14通信,15其他 - String s = null; - switch (projectType) { - case 1: - s = "FWJSGC"; - break; - case 2: - s = "SZ"; - break; - case 3: - s = "ZX"; - break; - case 4: - s = "ZX"; - break; - case 5: - s = "HB_JTGD"; - break; - case 6: - s = "HB_QT"; - break; - case 7: - s = "HB_QT"; - break; - case 8: - s = "HB_QT"; - break; - case 9: - s = "HB_SWGD"; - break; - case 10: - s = "HB_YLGD"; - break; - case 11: - s = "HB_QT"; - break; - case 12: - s = "HB_QT"; - break; - case 13: - s = "HB_QT"; - break; - case 14: - s = "HB_QT"; - break; - case 15: - s = "HB_QT"; - break; - } - return s; - } } diff --git a/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/service/MiddleService.java b/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/service/MiddleService.java new file mode 100644 index 000000000..a683b4c3c --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/service/MiddleService.java @@ -0,0 +1,335 @@ +package com.zhgd.xmgl.modules.yunlianwanwu.middle.service; + +import cn.hutool.http.HttpUtil; +import com.gexin.fastjson.JSON; +import com.gexin.fastjson.TypeReference; +import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; +import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper; +import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.MiddleGcjkd; +import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.MiddleGcxx; +import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.VideoItemConfigBo; +import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.bo.ProjectBo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +@Slf4j +public class MiddleService { + private String ipPort = "http://localhost:22333"; + @Autowired + private ProjectMapper projectMapper; + + @Autowired + private VideoItemMapper videoItemMapper; + + /** + * 同步项目结构化数据到北京市政局 + */ + public void syncProject() { + //从中间库接口获取所有项目 + String url = ipPort + "/middle/middleGcxx/list"; + log.info("getMiddleProject:{}", url); + String getMiddleProject = HttpUtil.get(url); + log.info("getMiddleProjectRs:{}", getMiddleProject); + if (StringUtils.isNotBlank(getMiddleProject)) { + Result result = JSON.parseObject(getMiddleProject, Result.class); + if (result.isSuccess()) { + Object rs = result.getResult(); + if (rs != null) { + List middleGcxxes = JSON.parseObject(rs.toString(), new TypeReference>() { + }); + Map idAndMiddleGcxxMap = middleGcxxes.stream().collect(Collectors.toMap(MiddleGcxx::getId, middleGcxx -> middleGcxx)); + //从数据库获取所有项目 + List projects = projectMapper.queryAllProjectAndVideoInfo(); + //比较出新增和修改的项目,调用接口更新中间库 + log.info("projects:{}", JSON.toJSONString(projects)); + + if (CollectionUtils.isNotEmpty(projects)) { + for (ProjectBo bo : projects) { + if (idAndMiddleGcxxMap.get(bo.getProjectSn()) == null) { + //新增 + httpAddMiddleGcxx(bo); + } else { + //修改 + httpUpdateMiddleGcxx(bo); + } + } + } + } + } else { + log.error("获取远程结构化数据失败(syncProject)"); + } + } + + } + + /** + * 同步视频点位结构化数据到北京市政局 + */ + public void syncMiddleGcjkd() { + //从中间库接口获取所有监控点位 + String url = ipPort + "/middle/middleGcjkd/list"; + log.info("getMiddleProject:{}", url); + String getMiddleGcjkd = HttpUtil.get(url); + log.info("getMiddleGcjkdRs:{}", getMiddleGcjkd); + if (StringUtils.isNotBlank(getMiddleGcjkd)) { + Result result = JSON.parseObject(getMiddleGcjkd, Result.class); + if (result.isSuccess()) { + Object rs = result.getResult(); + if (rs != null) { + List middleGcjkds = JSON.parseObject(rs.toString(), new TypeReference>() { + }); + Map idAndMiddleGcjkdMap = middleGcjkds.stream().collect(Collectors.toMap(middleGcjkd -> Long.valueOf(middleGcjkd.getId()), m -> m)); + //从数据库获取所有监控点位 + List videoItemBos = videoItemMapper.selectDeviceDetailAndProjectSnList(); + if (CollectionUtils.isNotEmpty(videoItemBos)) { + for (VideoItemConfigBo bo : videoItemBos) { + //比较出新增和修改的监控点位,调用接口更新中间库 + Long itemId = bo.getItemId(); + if (idAndMiddleGcjkdMap.get(itemId) == null) { + //新增 + httpAddMiddleGcjkd(bo); + } else { + //修改 + httpUpdateMiddleGcjkd(bo); + } + //修改完删除 + idAndMiddleGcjkdMap.remove(itemId); + } + } + //设置中间库中多余的摄像头为deleted状态 + if (idAndMiddleGcjkdMap.size() != 0) { + for (Map.Entry entry : idAndMiddleGcjkdMap.entrySet()) { + MiddleGcjkd value = entry.getValue(); + value.setDeleted(1); + doHttpUpdateMiddleGcjkd(value); + } + } + } + } else { + log.error("获取远程结构化数据失败(syncMiddleGcjkd)"); + } + + } + + } + + private void httpAddMiddleGcjkd(VideoItemConfigBo bo) { + MiddleGcjkd middleGcjkd = getMiddleGcjkdByVideoItem(bo); + String url = ipPort + "/middle/middleGcjkd/add"; + String body = JSON.toJSONString(middleGcjkd); + log.info("add_url:{},body:{}", url, body); + String post = HttpUtil.post(url, body); + log.info("rt:{}", post); + } + + private void httpUpdateMiddleGcjkd(VideoItemConfigBo bo) { + MiddleGcjkd middleGcjkd = getMiddleGcjkdByVideoItem(bo); + doHttpUpdateMiddleGcjkd(middleGcjkd); + } + + private void doHttpUpdateMiddleGcjkd(MiddleGcjkd middleGcjkd) { + String url = ipPort + "/middle/middleGcjkd/edit"; + String body = JSON.toJSONString(middleGcjkd); + log.info("update_url:{},body:{}", url, body); + String post = HttpUtil.post(url, body); + log.info("rt:{}", post); + } + + private MiddleGcjkd getMiddleGcjkdByVideoItem(VideoItemConfigBo bo) { + MiddleGcjkd middleGcjkd = new MiddleGcjkd(); + middleGcjkd.setId(String.valueOf(bo.getItemId())); + middleGcjkd.setGcid(bo.getProjectSn()); + middleGcjkd.setJkdbh(bo.getMonitoringPointCode()); + middleGcjkd.setJkdmc(bo.getVideoName()); + middleGcjkd.setJkdzt(getStatus(bo.getDeviceState())); + middleGcjkd.setJkdlx(getDeviceType(bo.getDeviceType())); + middleGcjkd.setJkdwz(bo.getMonitoringPointLocation()); + String latitude = bo.getLatitude(); + String longitude = bo.getLongitude(); + middleGcjkd.setXzb(latitude); + middleGcjkd.setYzb(longitude); + middleGcjkd.setYszb(longitude + "," + latitude); + middleGcjkd.setYszblx("WGS-84"); + middleGcjkd.setDeleted(0); + middleGcjkd.setCreateDateTime(bo.getCreateTime()); + middleGcjkd.setDatasource(String.valueOf(15)); + return middleGcjkd; + } + + private void httpAddMiddleGcxx(ProjectBo project) { + MiddleGcxx middleGcxx = getMiddleGcxxByProject(project); + String url = ipPort + "/middle/middleGcxx/add"; + String body = JSON.toJSONString(middleGcxx); + log.info("url:{},body:{}", url, body); + String post = HttpUtil.post(url, body); + log.info("rt:{}", post); + } + + private void httpUpdateMiddleGcxx(ProjectBo project) { + MiddleGcxx middleGcxx = getMiddleGcxxByProject(project); + String url = ipPort + "/middle/middleGcxx/edit"; + String body = JSON.toJSONString(middleGcxx); + log.info("url:{},body:{}", url, body); + String post = HttpUtil.post(url, body); + log.info("rt:{}", post); + } + + /** + * 获取中间库 + * + * @param bo + * @return + */ + private MiddleGcxx getMiddleGcxxByProject(ProjectBo bo) { + MiddleGcxx middleGcxx = new MiddleGcxx(); + middleGcxx.setId(bo.getProjectSn());//id存的是projectSn + middleGcxx.setGcmc(bo.getProjectName()); + middleGcxx.setGcjsdd(bo.getProjectName()); + middleGcxx.setSgxkzh(bo.getConstructionPermit()); + middleGcxx.setGcssjd(bo.getStreetTownshipTown()); + middleGcxx.setGcssjdbm(bo.getStreetTownshipTownCode()); + middleGcxx.setGclb(getGclb(bo.getProjectType())); + middleGcxx.setSxtazzt(bo.getSxtazzt()); + middleGcxx.setSxtazrq(bo.getSxtazrq()); + middleGcxx.setQxbm(bo.getAreaCode()); + middleGcxx.setXzb(bo.getLatitude()); + middleGcxx.setYzb(bo.getLongitude()); + middleGcxx.setYszb(bo.getLongitude() + "," + bo.getLatitude()); + middleGcxx.setYszblx("WGS-84"); + middleGcxx.setDatasource(String.valueOf(15)); + return middleGcxx; + } + + /** + * 获取设备类型 + * + * @param deviceType + * @return + */ + public String getDeviceType(Integer deviceType) { + //1 JKDLX001 微卡口 + //2 JKDLX002 枪机 + //3 JKDLX003 球机 + //4 JKDLX004 人脸识别 + + //设备类型,1 枪机,2球机,3热成像,4单兵,5全景,6无人机 + if (deviceType != null) { + //设备状态,1在线,2离线 + switch (deviceType) { + case 1: + return "JKDLX002"; + case 2: + return "JKDLX003"; + case 3: + return "JKDLX003"; + case 4: + return "JKDLX003"; + case 5: + return "JKDLX003"; + case 6: + return "JKDLX003"; + } + } + return null; + } + + /** + * 获取中间库的监控点的视频在线状态 + * + * @param status + * @return + */ + public Integer getStatus(Integer status) { + if (status != null) { + //设备状态,1在线,2离线 + switch (status) { + case 1: + return 0; + case 2: + return 1; + } + } + return null; + } + + /** + * 获取工程类别 + * + * @param projectType + * @return + */ + public String getGclb(Integer projectType) { + //1 FWJSGC 房屋建设工程 + //2 SZ 市政 + //3 ZX 装修 + //其他委办局工地 + //4 HB_SWGD 水务 + //5 HB_YLGD 园林 + //6 HB_JTGD 交通 + //7 HB_FJ 房建 + //8 HB_HNTGD 混凝土搅拌站 + //9 HB_JZLJXNC 建筑垃圾消纳场 + //10 HB_QT 其他 + + //工程类别,1房建,2市政,3安装,4装饰,5公路,6冶炼,7矿山,8化工石油,9水利水电,10电力,11农林,12港口与航道,13航天航空,14通信,15其他 + String s = null; + switch (projectType) { + case 1: + s = "FWJSGC"; + break; + case 2: + s = "SZ"; + break; + case 3: + s = "ZX"; + break; + case 4: + s = "ZX"; + break; + case 5: + s = "HB_JTGD"; + break; + case 6: + s = "HB_QT"; + break; + case 7: + s = "HB_QT"; + break; + case 8: + s = "HB_QT"; + break; + case 9: + s = "HB_SWGD"; + break; + case 10: + s = "HB_YLGD"; + break; + case 11: + s = "HB_QT"; + break; + case 12: + s = "HB_QT"; + break; + case 13: + s = "HB_QT"; + break; + case 14: + s = "HB_QT"; + break; + case 15: + s = "HB_QT"; + break; + } + return s; + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/task/MiddleTask.java b/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/task/MiddleTask.java new file mode 100644 index 000000000..709f5249d --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/yunlianwanwu/middle/task/MiddleTask.java @@ -0,0 +1,35 @@ +package com.zhgd.xmgl.modules.yunlianwanwu.middle.task; + +import com.zhgd.xmgl.modules.yunlianwanwu.middle.service.MiddleService; +import lombok.extern.slf4j.Slf4j; +import net.javacrumbs.shedlock.core.SchedulerLock; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * 云联万物同步结构化数据任务 + */ +@Component +@Slf4j +public class MiddleTask { + @Value("${spring.profiles.active}") + private String activeProfile; + + @Autowired + private MiddleService middleService; + + /** + * 云联万物同步结构化数据任务,每天同步一次 + */ + @SchedulerLock(name = "aysnMiddle", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5) + @Scheduled(cron = "0 0 2 * * ?") + public void aysnMiddle() { + //判断是云联万物 + if (activeProfile.equals("ylww")) { + middleService.syncProject(); + middleService.syncMiddleGcjkd(); + } + } +}