From 8d43111bd0e598bc0b2014cbfa69a32e74959dff Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 15 Dec 2021 19:24:05 +0800
Subject: [PATCH] ftp sql 同步封装

---
 src/main/java/org/springblade/modules/equipage/controller/fixed.java |  178 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 93 insertions(+), 85 deletions(-)

diff --git a/src/main/java/org/springblade/modules/equipage/controller/fixed.java b/src/main/java/org/springblade/modules/equipage/controller/fixed.java
index 3265431..b010abf 100644
--- a/src/main/java/org/springblade/modules/equipage/controller/fixed.java
+++ b/src/main/java/org/springblade/modules/equipage/controller/fixed.java
@@ -44,9 +44,9 @@
 	 * @return
 	 * @throws Exception
 	 */
-	//@Scheduled(cron = "0 */1 * * * ?")
+	@Scheduled(cron = "0 */5 * * * ?")
 	public void Peo() throws Exception {
-		String url = "http://223.82.109.183:2080/Escort/getgis.php";
+		String url = "http://47.104.104.46/api/client/getgis.php";
 		//查询有押运人员的数据
 		List<Map<String, Object>> list = userService.selectEquipent();
 		for (int i = 0; i < list.size(); i++) {
@@ -107,14 +107,13 @@
 				status = liveLocationService.save(liveLocation);
 				//数据推送
 				String s1 =
-					"insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time,location) " +
+					"insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time) " +
 						"values(" + "'" + liveLocation.getId() + "'" + "," +
 						"'" + liveLocation.getType() + "'" + "," +
 						"'" + liveLocation.getWorkerId() + "'" + "," +
 						"'" + liveLocation.getLongitude() + "'" + "," +
 						"'" + liveLocation.getLatitude() + "'" + "," +
-						"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + "," +
-						"'" + liveLocation.getLocation() + "'" + ")";
+						"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + ")";
 				FtpUtil.sqlFileUpload(s1);
 			} else {
 				status = liveLocationService.updateById(liveLocationInfo);
@@ -125,7 +124,6 @@
 						",longitude = " + "'" + liveLocationInfo.getLongitude() + "'" +
 						",latitude = " + "'" + liveLocationInfo.getLatitude() + "'" +
 						",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocationInfo.getRecordTime()) + "'" +
-						",location = " + "'" + liveLocationInfo.getLocation() + "'" +
 						" " + "where id = " + "'" + liveLocationInfo.getId() + "'";
 				FtpUtil.sqlFileUpload(s1);
 			}
@@ -138,12 +136,13 @@
 	 * @return
 	 * @throws Exception
 	 */
-	//@Scheduled(cron = "0 */1 * * * ?")
+	@Scheduled(cron = "0 0 * * * ?")
 	public void Peog() throws Exception {
+		System.out.println("押运人员");
 		String url = "http://47.104.104.46/api/client/getgistrack.php";
 		Calendar calendar = Calendar.getInstance();
 		calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);
-		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:00:00");
 		//查询有押运人员的数据
 		List<Map<String, Object>> list = userService.selectEquipent();
 		for (int i = 0; i < list.size(); i++) {
@@ -156,40 +155,49 @@
 			String equipmentCode = list.get(i).get("code").toString();
 			//设备imei号
 			params.put("number", 7730);
-			params.put("acc", 7731);
+			params.put("acc", equipmentCode);
 			params.put("startTime", df.format(calendar.getTime()));
 			params.put("endTime", df.format(new Date()));
 			String res = null;
 			res = HttpReqUtil.getInstance().doPost(url, params, null);
-			String a="["+res+"]";
+			String a = "[" + res + "]";
 			JSONArray jsonArray = JSONArray.fromObject(a);
+			String s1 = "";
 			String track = jsonArray.getJSONObject(0).get("track").toString();
-			JSONArray jsonArray1 = JSONArray.fromObject(track);
-			for (int j = 0; j < jsonArray1.size(); j++) {
-				String gis_jd = jsonArray1.getJSONObject(j).get("gis_jd").toString();
-				String gis_wd = jsonArray1.getJSONObject(j).get("gis_wd").toString();
-				String date = jsonArray1.getJSONObject(j).get("date").toString();
-				SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-				try {
-					//使用SimpleDateFormat的parse()方法生成Date
-					Date dates = sf.parse(date);
-					locus.setRecordTime(dates);
-					//打印Date
-				} catch (ParseException e) {
-					e.printStackTrace();
+			if (track.equals("[]")){
+				System.out.println("数据为空");
+			}
+			else {
+				JSONArray jsonArray1 = JSONArray.fromObject(track);
+				for (int j = 0; j < jsonArray1.size(); j++) {
+					String gis_jd = jsonArray1.getJSONObject(j).get("gis_jd").toString();
+					String gis_wd = jsonArray1.getJSONObject(j).get("gis_wd").toString();
+					String date = jsonArray1.getJSONObject(j).get("date").toString();
+					SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+					try {
+						//使用SimpleDateFormat的parse()方法生成Date
+						Date dates = sf.parse(date);
+						locus.setRecordTime(dates);
+						//打印Date
+					} catch (ParseException e) {
+						e.printStackTrace();
+					}
+					locus.setLongitude(gis_jd);
+					locus.setLatitude(gis_wd);
+					locusService.save(locus);
+					//数据推送
+					s1 += "insert into sys_locus(id,type,worker_id,longitude,latitude,record_time) values" +
+						" (" + "'" + locus.getId() + "'" + "," +
+						"'" + locus.getType() + "'" + "," +
+						"'" + locus.getWorkerId() + "'" + "," +
+						"'" + locus.getLongitude() + "'" + "," +
+						"'" + locus.getLatitude() + "'" + "," +
+						"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + ")";
+					if (j != jsonArray1.size() - 1) {
+						s1 += ";";
+					}
 				}
-				locus.setLongitude(gis_jd);
-				locus.setLatitude(gis_wd);
-				locusService.save(locus);
-//				//数据推送
-//				String s1 = "insert into sys_locus(id,type,worker_id,longitude,latitude,record_time) " +
-//						"values(" + "'" + locus.getId() + "'" + "," +
-//						"'" + locus.getType() + "'" + "," +
-//						"'" + locus.getWorkerId() + "'" + "," +
-//						"'" + locus.getLongitude() + "'" + "," +
-//						"'" + locus.getLatitude() + "'" + "," +
-//					  "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + ")";
-//				FtpUtil.sqlFileUpload(s1);
+				FtpUtil.sqlFileUpload(s1);
 			}
 		}
 	}
@@ -198,7 +206,7 @@
 	/**
 	 * 车辆实时位置
 	 */
-	//@Scheduled(cron = "0 */1 * * * ?")
+	@Scheduled(cron = "0 */5 * * * ?")
 	public void locationcar() {
 		String url = "http://dvopenapi.aimap.net.cn/openapi/device/location";
 		String res = null;
@@ -220,52 +228,53 @@
 				res = HttpReqUtil.getInstance().doPost(url, params, null);
 				String a = "[" + res + "]";
 				JSONArray jsonArray = JSONArray.fromObject(a);
-				String data = jsonArray.getJSONObject(0).get("data").toString();
-				String b = "[" + data + "]";
-				JSONArray jsonArrayb = JSONArray.fromObject(b);
-				String x = jsonArrayb.getJSONObject(0).get("x").toString();
-				String y = jsonArrayb.getJSONObject(0).get("y").toString();
-				String timestamp = jsonArrayb.getJSONObject(0).get("timestamp").toString();
-				//实时位置实体类
-				LiveLocation liveLocation = new LiveLocation();
-				liveLocation.setType(2);
-				String carnumber = maps.get(i).get("carnumber").toString();
-				liveLocation.setWorkerId(carnumber);
-				//经度
-				liveLocation.setLongitude(x);
-				//纬度
-				liveLocation.setLatitude(y);
-				Date date = timeStamp2Date(timestamp);
-				liveLocation.setRecordTime(date);
-				//先查询是否已有实时位置信息,如果有,则更新,没有则插入
-				LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
-				boolean status = false;
-				if (null == liveLocationInfo) {
-					//新增
-					status = liveLocationService.save(liveLocation);
-					//数据推送
-					String s1 =
-						"insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time,location) " +
-							"values(" + "'" + liveLocation.getId() + "'" + "," +
-							"'" + liveLocation.getType() + "'" + "," +
-							"'" + liveLocation.getWorkerId() + "'" + "," +
-							"'" + liveLocation.getLongitude() + "'" + "," +
-							"'" + liveLocation.getLatitude() + "'" + "," +
-							"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + "," +
-							"'" + liveLocation.getLocation() + "'" + ")";
-					FtpUtil.sqlFileUpload(s1);
-				} else {
-					status = liveLocationService.updateById(liveLocationInfo);
-					//内网同步
-					String s1 =
-						"update sys_live_location set type = " + "'" + liveLocation.getType() + "'" +
-							",worker_id = " + "'" + liveLocation.getWorkerId() + "'" +
-							",longitude = " + "'" + liveLocation.getLongitude() + "'" +
-							",latitude = " + "'" + liveLocation.getLatitude() + "'" +
-							",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" +
-							",location = " + "'" + liveLocation.getLocation() + "'" +
-							" " + "where id = " + "'" + liveLocation.getId() + "'";
-					FtpUtil.sqlFileUpload(s1);
+				String code = jsonArray.getJSONObject(0).get("code").toString();
+				if (Integer.parseInt(code)==200) {
+					String data = jsonArray.getJSONObject(0).get("data").toString();
+					String b = "[" + data + "]";
+					JSONArray jsonArrayb = JSONArray.fromObject(b);
+					String x = jsonArrayb.getJSONObject(0).get("x").toString();
+					String y = jsonArrayb.getJSONObject(0).get("y").toString();
+					String timestamp = jsonArrayb.getJSONObject(0).get("timestamp").toString();
+					//实时位置实体类
+					LiveLocation liveLocation = new LiveLocation();
+					liveLocation.setType(2);
+					String carnumber = maps.get(i).get("carnumber").toString();
+					liveLocation.setWorkerId(carnumber);
+					//经度
+					liveLocation.setLongitude(x);
+					//纬度
+					liveLocation.setLatitude(y);
+					Date date = timeStamp2Date(timestamp);
+					liveLocation.setRecordTime(date);
+					//先查询是否已有实时位置信息,如果有,则更新,没有则插入
+					LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
+					boolean status = false;
+					if (null == liveLocationInfo) {
+						//新增
+						status = liveLocationService.save(liveLocation);
+						//数据推送
+						String s1 =
+							"insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time) " +
+								"values(" + "'" + liveLocation.getId() + "'" + "," +
+								"'" + liveLocation.getType() + "'" + "," +
+								"'" + liveLocation.getWorkerId() + "'" + "," +
+								"'" + liveLocation.getLongitude() + "'" + "," +
+								"'" + liveLocation.getLatitude() + "'" + "," +
+								"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + ")";
+						FtpUtil.sqlFileUpload(s1);
+					} else {
+						status = liveLocationService.updateById(liveLocationInfo);
+						//内网同步
+						String s1 =
+							"update sys_live_location set type = " + "'" + liveLocationInfo.getType() + "'" +
+								",worker_id = " + "'" + liveLocationInfo.getWorkerId() + "'" +
+								",longitude = " + "'" + liveLocationInfo.getLongitude() + "'" +
+								",latitude = " + "'" + liveLocationInfo.getLatitude() + "'" +
+								",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocationInfo.getRecordTime()) + "'" +
+								" " + "where id = " + "'" + liveLocationInfo.getId() + "'";
+						FtpUtil.sqlFileUpload(s1);
+					}
 				}
 			} catch (Exception e) {
 				e.printStackTrace();
@@ -290,7 +299,7 @@
 	/**
 	 * 查询车辆轨迹
 	 */
-	//@Scheduled(cron = "0 */1 * * * ?")
+	@Scheduled(cron = "0 0 * * * ?")
 	public void locationhistoryTrack() {
 		Calendar calendar = Calendar.getInstance();
 		/* HOUR_OF_DAY 指示一天中的小时 */
@@ -305,7 +314,7 @@
 			params.put("beginTime", df.format(calendar.getTime()));
 			params.put("endTime", df.format(new Date()));
 			params.put("rectify", 0);
-			params.put("callbackUrl", "http://2h3f861221.wicp.vip/locus/SaveUrl");
+			params.put("callbackUrl", "http://223.82.109.183:2080/api/locus/SaveUrl");
 			params.put("callbackId", maps.get(i).get("carnumber").toString());
 			params.put("appId", "PO00000761");
 			params.put("timestamp", System.currentTimeMillis());
@@ -325,6 +334,5 @@
 		}
 
 	}
-
 
 }

--
Gitblit v1.9.3