关键词:
1、需要导入的类
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
2、对接HttpPost.httpUrlConnectionPost接口
@Component
public class MyTask
private static final Logger log = LoggerFactory.getLogger(MyTask.class);
private String endTime = "";
private String startTime = "";
private String scenicIds = "2801,2802,2803,2804,2805,2806,2807,2808,2809,2810";
private String ip = "119.136.103.132";
private int port = 2363;
private String username = "zxcvb";
private String password = "ASDFGH@zxcv";
private String outPath = "liunx_output/";
private String serverOutPath = "/upload/";
@Scheduled(cron="0 7 * * * ?")
public void task()
private void writeToTxt(List<String> stringList, String outPath, String dateStr)
private List<String> jsonToStrings(String resultStr)
task()定时任务方法
@Scheduled(cron="0 7 * * * ?")
public void task()
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(5, -1);
this.startTime = simpleDateFormat.format(calendar.getTime());
this.endTime = simpleDateFormat.format(calendar.getTime());
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(this.outPath).append("jw_zqwert_qianxi_");
stringBuilder.append(this.endTime).append(".txt");
log.info("开始获取接口数据..............");
String jsonAll = HttpPost.httpUrlConnectionPost(this.startTime, this.endTime, this.scenicIds);
log.info("开始解析接口数据..............");
List stringList = jsonToStrings(jsonAll);
log.info("将数据写入到本地目录.................");
writeToTxt(stringList, this.outPath, this.endTime);
log.info(new StringBuilder().append("任务结束...............").append(new Date()).toString());
根据接口约定的id,及获取数据的开始时间及结束时间,获取到json数据,并通过jsonToStrings()转化为list结构的数据
jsonToStrings()
private List<String> jsonToStrings(String resultStr)
JSONArray jsonArray = JSON.parseArray(resultStr);
ArrayList arrayList = new ArrayList();
if (jsonArray.size() > 0)
for (int i = 0; i < jsonArray.size(); i++)
String jsonArrayString = jsonArray.getString(i);
JSONObject jsonObject = JSONObject.parseObject(jsonArrayString);
String dimensionValue = jsonObject.getString("dimensionValue");
if ("武汉".equals(dimensionValue))
arrayList.add(new StringBuilder().append(jsonObject.getString("day")).append(",")
.append(jsonObject
.getString("id"))
.append(",").append(jsonObject.getString("count")).toString());
return arrayList;
再把转化为list结构的数据,通过BufferedWriter一行行,写入到txt文件中
writeToTxt(List<String> s, String o, String d)
private void writeToTxt(List<String> stringList, String outPath, String dateStr)
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(outPath);
File file2 = new File(stringBuilder.toString());
if (!file2.exists())
file2.mkdirs();
String filePath = "jw_wuhan_qianxi_";
stringBuilder.append(filePath).append(dateStr).append(".txt");
String writeFile = stringBuilder.toString();
File file = new File(writeFile);
if (!file.isFile())
try
file.createNewFile();
catch (IOException e)
e.printStackTrace();
BufferedWriter writer = null;
try
writer = new BufferedWriter(new FileWriter(writeFile));
for (String l : stringList)
writer.write(new StringBuilder().append(l).append("\\r\\n").toString());
catch (IOException e)
e.printStackTrace();
finally
if (writer != null)
try
writer.close();
catch (IOException e)
e.printStackTrace();
三方对接「心得」与「体会」
...候就细细体会吧;那年,我双手插兜,不知道什么叫三方对接;直到入职了一家金融公司后,承接了一个需求:跟银行对接数据流水;从此就一发不可收拾,踏上了漫漫对接路,之后跟三方对接的活,都被我全部承包了;直到我... 查看详情
数据对接-etl之streamset学习之旅一(代码片段)
...1.RPM安装2.Docker镜像安装存储应用引用链接学习系列数据对接-ETL之StreamSet学习之旅一数据对接-ETL之StreamSet学习之旅二数据对接-ETL之StreamSet学习之旅三数据对接-ETL之StreamSet学习之旅四数据对接-ETL之StreamSet学习之旅五数据对接-ETL... 查看详情
快递查询接口种类及对接方法
目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是是直接和快递公... 查看详情
国际快递查询轨迹api接口如何对接?
像UPS,联邦快递这些API接口怎么对接参考技术A需要用一个系统对接另一个系统,需要技术人员对接接口,看是否需要改变字段或者开发语言等等,同时对接完成后需要两边的系统测试数据传输的稳定性,这边建议使用快递鸟这... 查看详情
模型导出与部署tensorflowclient对接模型服务(代码片段)
TensorFlowClient对接模型服务1.TensorflowClient代码编写对接Web1.1Client端代码2.步骤过程应用TensorFlowServingClient完成对接模型服务编写以及运行1.TensorflowClient代码编写对接Webmain.py当中调用#获取用户上传图片image=request.files.get('image... 查看详情
cg28181对接视频流
...视频流以备后用,同时也希望能帮助到正着手开发GB28181对接视频的同学,这块的资料实在不多。今天讲的内容不涉及到平台对接,平台对接下次有时间再讲,平台对接相对更麻烦点。通过GB28181获取摄像机视频流,首先需要摄像... 查看详情
公司是一个电商平台,需要申请快递物流单号查询的接口怎么对接呢?
...是一个电商平台,需要申请快递物流单号查询的接口怎么对接呢?主要是自身情况,是需要指定一家的物流公司,还说说需要很多家物流公司。如果一家的话直接找到物流公司对接就可以了。如果需要多家物流快递公司接口的话... 查看详情
前端对接微信公众号网页开发流程,授权对接(代码片段)
前面讲到前端对接微信公众号网页开发流程,前期配置,本篇文章主要详细介绍关于公众号的授权对接。一、引入微信js-sdk在需要调用JS接口的页面引入如下JS文件http://res.wx.qq.com/open/js/jweixin-1.6.0.js如需进一步提升服务稳... 查看详情
在 Android 中,对接状态是啥意思
】在Android中,对接状态是啥意思【英文标题】:InAndroidwhatyoumeanbydockingstate在Android中,对接状态是什么意思【发布时间】:2013-04-2206:19:57【问题描述】:Intent中有一个常量ACTION_DOCK_EVENT添加于APIlevel5广播动作:设备物理对接状态... 查看详情
常用电子面单接口对接技术文档
...开发的电子面单服务,商家使用必须快递公司上门做系统对接,使用一家快递则需要对接一次。2.菜鸟电子面单接口:可一次对接15家快递公司,无需和每一家快递公司做对接。支持快递有四通一达、EMS、宅急送、德邦、优速、... 查看详情
freeswitch对接其它sip设备
这几天用到freeswitch对接其它设备方面的知识,这里整理下,也方便我以后查阅。操作系统:debian8.5_x64freeswitch版本:1.6.8一、freeswitch作为被叫设备freeswitch作为被叫设备和其它设备对接的情况比较简单,可以直接通过5080端口呼入... 查看详情
独立游戏如何对接steamsdk
独立开发者在对接STEAMSDK之前 首先得先登上青睐之光,也就是我们俗称的“绿光”一般要先对接G胖家的SDK,然后提交版本,最后等待审核。。。我本身是unity开发,对C++也是糊里糊涂..所以这里主要围绕unity说下我对接SDK的一... 查看详情
淘宝对接
最近工作的内容是与淘宝进行对接。第一次接触淘宝对接的工作。淘宝也很不赖有比较专业详尽的文档。地址是:http://open.taobao.com/docs/doc_index.htm。网上也有一大堆参考资料。但感觉有点散。在这里我做一个合适我自己的归纳总... 查看详情
C#的对接库[关闭]
】C#的对接库[关闭]【英文标题】:DockinglibraryforC#[closed]【发布时间】:2013-04-1714:09:45【问题描述】:我正在寻找在C#应用程序中使用的对接库。它可以为WPF设计,但我更喜欢WinForms应用程序。当然,它应该提供标准的对接机会。... 查看详情
电商适用电子面单接口对接案例
...和快递鸟提供快递公司是一家家合作,要接口文档,逐一对接菜鸟和快递鸟是电子面单接口集成方,能打印多家快递电子面单,菜鸟目前支持15家,快递鸟支持20家,基本上都是常用的快递,以下接口对接以快递鸟接口为例 ... 查看详情
如何验证手机是不是已对接?
】如何验证手机是不是已对接?【英文标题】:Howtoverifyifthephoneisdocked?如何验证手机是否已对接?【发布时间】:2011-02-0809:26:16【问题描述】:我正在寻找一种方法来验证手机是否在Android1.6(API4)上对接(车载底座、桌面底座)... 查看详情
rancher与openldap对接
...sp; Rancher官网文档中,关于访问控制,有与OpenLDAP对接的介绍,但只是简要一笔带过,Rancher与OpenLDAP对接页面中的几个参数如何填写,并没有详细的说明。 本文通过OpenLDAPforWindows软件,在WindowsXP上搭建了一个... 查看详情
对接datagridview底部
】对接datagridview底部【英文标题】:Dockingdatagridviewbottom【发布时间】:2013-10-2511:58:18【问题描述】:我想让datagridview停靠在底部。但是当我按下键时,什么也没有发生。这是我的代码:PrivateSubMakbuzTDataGridView_KeyDown(senderAsObject,eAs... 查看详情