diff --git a/pom.xml b/pom.xml index 5fc815f..30f1713 100644 --- a/pom.xml +++ b/pom.xml @@ -52,11 +52,11 @@ spring-boot-starter-tomcat provided --> - + org.springframework.boot spring-boot-starter-data-redis diff --git a/src/main/java/com/hxjt/dataupload/DataUploadApplication.java b/src/main/java/com/hxjt/dataupload/DataUploadApplication.java index 8f39384..da74b6d 100644 --- a/src/main/java/com/hxjt/dataupload/DataUploadApplication.java +++ b/src/main/java/com/hxjt/dataupload/DataUploadApplication.java @@ -6,7 +6,7 @@ import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication -@EnableScheduling +//@EnableScheduling @EnableAsync public class DataUploadApplication { diff --git a/src/main/java/com/hxjt/dataupload/jobhandler/doubleprevent/MyJobHandler.java b/src/main/java/com/hxjt/dataupload/jobhandler/demo/MyJobHandler.java similarity index 55% rename from src/main/java/com/hxjt/dataupload/jobhandler/doubleprevent/MyJobHandler.java rename to src/main/java/com/hxjt/dataupload/jobhandler/demo/MyJobHandler.java index 79d5cb0..4741e78 100644 --- a/src/main/java/com/hxjt/dataupload/jobhandler/doubleprevent/MyJobHandler.java +++ b/src/main/java/com/hxjt/dataupload/jobhandler/demo/MyJobHandler.java @@ -1,6 +1,7 @@ -package com.hxjt.dataupload.jobhandler.doubleprevent; +package com.hxjt.dataupload.jobhandler.demo; import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.handler.annotation.XxlJob; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,13 +25,27 @@ public class MyJobHandler { private Logger log = LoggerFactory.getLogger(MyJobHandler.class); @XxlJob(value = "demoJobHandler",init = "init",destroy = "destroy") - public ReturnT execute(String param){ - + /*public ReturnT execute(String param){ + String jobParam = XxlJobHelper.getJobParam(); + XxlJobHelper.log("执行日志:"+jobParam); + System.out.println(jobParam); log.info("小滴课堂 execute 任务触发成功:"+LocalDateTime.now()); return ReturnT.SUCCESS; + }*/ + + public void execute(String param){ + + String jobParam = XxlJobHelper.getJobParam(); + XxlJobHelper.log("执行日志:"+jobParam); + System.out.println(jobParam); + log.info("V2小滴课堂 execute 任务触发成功:"+LocalDateTime.now()); + //XxlJobHelper.handleFail("自定义错误,任务执行失败"); + XxlJobHelper.handleSuccess("任务执行成功"); + + //return ReturnT.SUCCESS; } diff --git a/src/main/java/com/hxjt/dataupload/jobhandler/doubleprevent/FxfxdxJobHandler.java b/src/main/java/com/hxjt/dataupload/jobhandler/doubleprevent/FxfxdxJobHandler.java new file mode 100644 index 0000000..6316364 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/jobhandler/doubleprevent/FxfxdxJobHandler.java @@ -0,0 +1,113 @@ +package com.hxjt.dataupload.jobhandler.doubleprevent; + +import com.alibaba.fastjson.JSONObject; +import com.hxjt.dataupload.model.entity.doubleprevent.Fxfxdx; +import com.hxjt.dataupload.service.FxfxdxService; +import com.hxjt.dataupload.utils.HttpUtils; +import com.hxjt.dataupload.utils.JsonData; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import org.apache.http.protocol.HTTP; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.util.ArrayList; + + +@Component +public class FxfxdxJobHandler { + + private Logger log = LoggerFactory.getLogger(FxfxdxJobHandler.class); + + @Autowired + FxfxdxService fxfxdxService; + + @XxlJob(value = "FxfxdxJobHandler", init = "init", destroy = "destroy") + public void execute(String param) { + + ArrayList fxfxdxs = fxfxdxService.getFxfxdxs(); + ArrayList zdwxys = fxfxdxService.getZdwxys(); + for (int i = 0; i < fxfxdxs.size(); i++) { + String HAZARD_NAME = fxfxdxs.get(i).getFengxianfenxiduixian(); + for (int j = 0; j < zdwxys.size(); j++) { + String DANGESOURCE_NAME = zdwxys.get(j).getZhongdaweixianyuanmi(); + switch (HAZARD_NAME) { + case "重大危险源甲醇中间储存": + if (DANGESOURCE_NAME.equals("甲醇中间储存单元")) { + fxfxdxs.get(i).setZhongdaweixianyuanmi(DANGESOURCE_NAME); + fxfxdxs.get(i).setZhongdaweixianyuande(zdwxys.get(j).getZhongdaweixianyuande()); + } + break; + case "重大危险源化产油库": + if (DANGESOURCE_NAME.equals("化产油库区")) { + fxfxdxs.get(i).setZhongdaweixianyuanmi(DANGESOURCE_NAME); + fxfxdxs.get(i).setZhongdaweixianyuande(zdwxys.get(j).getZhongdaweixianyuande()); + } + break; + case "重大危险源甲醇储罐": + if (DANGESOURCE_NAME.equals("甲醇储存单元")) { + fxfxdxs.get(i).setZhongdaweixianyuanmi(DANGESOURCE_NAME); + fxfxdxs.get(i).setZhongdaweixianyuande(zdwxys.get(j).getZhongdaweixianyuande()); + } + break; + case "重大危险源空分站": + if (DANGESOURCE_NAME.equals("空分站单元")) { + fxfxdxs.get(i).setZhongdaweixianyuanmi(DANGESOURCE_NAME); + fxfxdxs.get(i).setZhongdaweixianyuande(zdwxys.get(j).getZhongdaweixianyuande()); + } + break; + case "重大危险源气柜储存": + if (DANGESOURCE_NAME.equals("气柜")) { + fxfxdxs.get(i).setZhongdaweixianyuanmi(DANGESOURCE_NAME); + fxfxdxs.get(i).setZhongdaweixianyuande(zdwxys.get(j).getZhongdaweixianyuande()); + } + break; + case "重大危险源粗苯蒸馏": + if (DANGESOURCE_NAME.equals("粗苯蒸馏单元")) { + fxfxdxs.get(i).setZhongdaweixianyuanmi(DANGESOURCE_NAME); + fxfxdxs.get(i).setZhongdaweixianyuande(zdwxys.get(j).getZhongdaweixianyuande()); + } + break; + } + } + if(fxfxdxs.get(i).getShifouweizhongdaweix().equals("是")){ + fxfxdxs.get(i).setZhongdaweixianyuande(fxfxdxs.get(i).getZhongdaweixianyuande().substring(0,2)); + } + + //System.out.println(fxfxdxs.get(i).toString()); + } + for (int i = 0; i < fxfxdxs.size(); i++) { + + String company = fxfxdxs.get(i).getQiyemingcheng(); + String url = "https://www.ny-fxfk.com/space-ningyanghuagongchany/sapi/qpaas/tiga/dys/keyAuthentication/fengxianfenxiduixian/v1/fengxianfenxiduixian"; + switch (company) { + case "山东恒信高科能源有限公司": + case "恒信中碳氢能源科技(山东)有限公司": + JSONObject jsonObject = (JSONObject) JSONObject.toJSON(fxfxdxs.get(i)); + String post = null; + try { + post = HttpUtils.sendDataUpload(url, jsonObject, HTTP.UTF_8, "avRdnP4OxPigMalwzipa9F643CF443BE2F93"); + //System.out.println("post:"+post.toString()); + } catch (IOException e) { + e.printStackTrace(); + XxlJobHelper.handleFail("任务执行失败"+e.getMessage()); + } + break; + //System.out.println("post:"+post1.toString()); + } + } + } + + + private void init() { + log.info("init 方法调用成功"); + } + + private void destroy() { + log.info("destroy 方法调用成功"); + } + +} diff --git a/src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java b/src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java new file mode 100644 index 0000000..2134d65 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/mapper/FxfxdxMapper.java @@ -0,0 +1,13 @@ +package com.hxjt.dataupload.mapper; + +import com.hxjt.dataupload.model.entity.doubleprevent.Fxfxdx; +import org.apache.ibatis.annotations.Mapper; + +import java.util.ArrayList; + +@Mapper +public interface FxfxdxMapper { + ArrayList getFxfxdxs(); + + ArrayList getZdwxys(); +} diff --git a/src/main/java/com/hxjt/dataupload/model/entity/doubleprevent/Fxfxdx.java b/src/main/java/com/hxjt/dataupload/model/entity/doubleprevent/Fxfxdx.java new file mode 100644 index 0000000..16dcf06 --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/model/entity/doubleprevent/Fxfxdx.java @@ -0,0 +1,162 @@ +package com.hxjt.dataupload.model.entity.doubleprevent; + +import org.springframework.stereotype.Repository; + +@Repository +public class Fxfxdx { + //企业名称 + private String qiyemingcheng; + + //信用代码 + private String qiyebianma; + + //企业编码 + private String weixianhuaxuepindeng; + + //风险分析对象名称 + private String fengxianfenxiduixian; + + //风险分析对象编码 + private String fengxianfenxiduixia1; + + //责任部门 + private String zerenbumen; + + //责任人 + private String zerenren; + + //是否为重大危险源 + private String shifouweizhongdaweix; + + //---重大危险源名称,是否为重大危险源=是时必填 + private String zhongdaweixianyuanmi; + + //---重大危险源等级,是否为重大危险源=是时必填 + //需传枚举值:一级、二级、 三级、四级 + private String zhongdaweixianyuande; + + //创建人 + private String jiluren; + + //创建时间 + private String jilushijian; + + + + + + + public String getQiyemingcheng() { + return qiyemingcheng; + } + + public void setQiyemingcheng(String qiyemingcheng) { + this.qiyemingcheng = qiyemingcheng; + } + + public String getQiyebianma() { + return qiyebianma; + } + + public void setQiyebianma(String qiyebianma) { + this.qiyebianma = qiyebianma; + } + + public String getWeixianhuaxuepindeng() { + return weixianhuaxuepindeng; + } + + public void setWeixianhuaxuepindeng(String weixianhuaxuepindeng) { + this.weixianhuaxuepindeng = weixianhuaxuepindeng; + } + + public String getFengxianfenxiduixian() { + return fengxianfenxiduixian; + } + + public void setFengxianfenxiduixian(String fengxianfenxiduixian) { + this.fengxianfenxiduixian = fengxianfenxiduixian; + } + + public String getFengxianfenxiduixia1() { + return fengxianfenxiduixia1; + } + + public void setFengxianfenxiduixia1(String fengxianfenxiduixia1) { + this.fengxianfenxiduixia1 = fengxianfenxiduixia1; + } + + public String getZerenbumen() { + return zerenbumen; + } + + public void setZerenbumen(String zerenbumen) { + this.zerenbumen = zerenbumen; + } + + public String getZerenren() { + return zerenren; + } + + public void setZerenren(String zerenren) { + this.zerenren = zerenren; + } + + public String getShifouweizhongdaweix() { + return shifouweizhongdaweix; + } + + public void setShifouweizhongdaweix(String shifouweizhongdaweix) { + this.shifouweizhongdaweix = shifouweizhongdaweix; + } + + public String getZhongdaweixianyuanmi() { + return zhongdaweixianyuanmi; + } + + public void setZhongdaweixianyuanmi(String zhongdaweixianyuanmi) { + this.zhongdaweixianyuanmi = zhongdaweixianyuanmi; + } + + public String getZhongdaweixianyuande() { + return zhongdaweixianyuande; + } + + public void setZhongdaweixianyuande(String zhongdaweixianyuande) { + this.zhongdaweixianyuande = zhongdaweixianyuande; + } + + public String getJiluren() { + return jiluren; + } + + public void setJiluren(String jiluren) { + this.jiluren = jiluren; + } + + public String getJilushijian() { + return jilushijian; + } + + public void setJilushijian(String jilushijian) { + this.jilushijian = jilushijian; + } + + @Override + public String toString() { + return "Fxfxdx{" + + "qiyemingcheng='" + qiyemingcheng + '\'' + + ", qiyebianma='" + qiyebianma + '\'' + + ", weixianhuaxuepindeng='" + weixianhuaxuepindeng + '\'' + + ", fengxianfenxiduixian='" + fengxianfenxiduixian + '\'' + + ", fengxianfenxiduixia1='" + fengxianfenxiduixia1 + '\'' + + ", zerenbumen='" + zerenbumen + '\'' + + ", zerenren='" + zerenren + '\'' + + ", shifouweizhongdaweix='" + shifouweizhongdaweix + '\'' + + ", zhongdaweixianyuanmi='" + zhongdaweixianyuanmi + '\'' + + ", zhongdaweixianyuande='" + zhongdaweixianyuande + '\'' + + ", jiluren='" + jiluren + '\'' + + ", jilushijian='" + jilushijian + '\'' + + '}'; + } +} diff --git a/src/main/java/com/hxjt/dataupload/service/FxfxdxService.java b/src/main/java/com/hxjt/dataupload/service/FxfxdxService.java new file mode 100644 index 0000000..a8936ee --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/service/FxfxdxService.java @@ -0,0 +1,13 @@ +package com.hxjt.dataupload.service; + +import com.hxjt.dataupload.model.entity.doubleprevent.Fxfxdx; + + +import java.util.ArrayList; + +public interface FxfxdxService { + + ArrayList getFxfxdxs(); + + ArrayList getZdwxys(); +} diff --git a/src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java b/src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java new file mode 100644 index 0000000..e2f195c --- /dev/null +++ b/src/main/java/com/hxjt/dataupload/service/impl/FxfxdxServiceImpl.java @@ -0,0 +1,23 @@ +package com.hxjt.dataupload.service.impl; + +import com.hxjt.dataupload.mapper.FxfxdxMapper; +import com.hxjt.dataupload.model.entity.doubleprevent.Fxfxdx; +import com.hxjt.dataupload.service.FxfxdxService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +@Service +public class FxfxdxServiceImpl implements FxfxdxService { + @Autowired + FxfxdxMapper fxfxdxMapper; + @Override + public ArrayList getFxfxdxs() { + return fxfxdxMapper.getFxfxdxs(); + } + + @Override + public ArrayList getZdwxys() { + return fxfxdxMapper.getZdwxys(); + } +} diff --git a/src/main/java/com/hxjt/dataupload/utils/HttpUtils.java b/src/main/java/com/hxjt/dataupload/utils/HttpUtils.java index 5c91898..f20e78f 100644 --- a/src/main/java/com/hxjt/dataupload/utils/HttpUtils.java +++ b/src/main/java/com/hxjt/dataupload/utils/HttpUtils.java @@ -241,6 +241,51 @@ public class HttpUtils { return body; } + /** + * 发送post请求 + * @param url 路径 + * @param jsonObject 参数(json类型) + * @param encoding 编码格式 + * @return + * @throws ParseException + * @throws IOException + */ + public static String sendDataUpload(String url, JSONObject jsonObject, String encoding, String keyAuthentication) throws ParseException, IOException{ + String body = ""; + //创建httpclient对象 + CloseableHttpClient client = HttpClients.createDefault(); + //创建post方式请求对象 + HttpPost httpPost = new HttpPost(url); + //装填参数 + StringEntity s = new StringEntity(jsonObject.toString(), "utf-8"); + s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, + "application/json")); + //设置参数到请求对象中 + httpPost.setEntity(s); + +// System.out.println("请求参数:"+nvps.toString()); + + //设置header信息 + //指定报文头【Content-type】、【User-Agent】 + httpPost.setHeader("Content-type", "application/json"); + httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); + httpPost.setHeader("entId","ningyanghuagongchany"); + httpPost.setHeader("keyAuthentication",keyAuthentication); + System.out.println("请求地址:"+url); + //执行请求操作,并拿到结果(同步阻塞) + CloseableHttpResponse response = client.execute(httpPost); + //获取结果实体 + org.apache.http.HttpEntity entity = response.getEntity(); + if (entity != null) { + //按指定编码转换结果实体为String类型 + body = EntityUtils.toString(entity, encoding); + } + EntityUtils.consume(entity); + //释放链接 + response.close(); + return body; + } + diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 6463d22..e1e2d20 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -66,8 +66,10 @@ xxl: #[选填]执行器IP :默认为空表示自动获取IP(即springboot容器的ip和端口,可以自动获取,也可以指定),多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务", ip: # [选填]执行器端口号:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口; - port: 9999 + port: 9992 #执行器日志文件存储路径,需要对该路径拥有读写权限;为空则使用默认路径 logpath: ./data/logs/xxl-job/executor #执行器日志保存天数 logretentiondays: 30 +#server: + #port: 8114 \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 6059856..750a6e2 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -2,4 +2,4 @@ spring: profiles: active: dev server: - port: 8113 \ No newline at end of file + port: 8112 \ No newline at end of file diff --git a/src/main/resources/mapper/FxfxdxMapper.xml b/src/main/resources/mapper/FxfxdxMapper.xml new file mode 100644 index 0000000..c736ae5 --- /dev/null +++ b/src/main/resources/mapper/FxfxdxMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + \ No newline at end of file