From 8b375fe00a241b3a769b82fe3dac8d1c9dce8a02 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 16 Jun 2022 14:36:07 +0800
Subject: [PATCH] 模拟考试修改

---
 src/main/java/org/springblade/modules/location/controller/LiveLocationController.java |  167 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 156 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/springblade/modules/location/controller/LiveLocationController.java b/src/main/java/org/springblade/modules/location/controller/LiveLocationController.java
index 778c516..ed464e9 100644
--- a/src/main/java/org/springblade/modules/location/controller/LiveLocationController.java
+++ b/src/main/java/org/springblade/modules/location/controller/LiveLocationController.java
@@ -8,14 +8,18 @@
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.FTP.FtpUtil;
 import org.springblade.modules.location.entity.LiveLocation;
 import org.springblade.modules.location.entity.Locus;
 import org.springblade.modules.location.service.LiveLocationService;
 import org.springblade.modules.location.service.LocusService;
+import org.springblade.modules.location.vo.LiveLocationVOTest;
 import org.springblade.modules.location.vo.LiveLocationVo;
 import org.springblade.modules.location.vo.LocusVo;
+import org.springblade.modules.system.service.MyAsyncService;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
@@ -33,12 +37,13 @@
 
 
 	private final LocusService locusService;
+	private final MyAsyncService myAsyncService;
 
 	/**
 	 * 自定义分页
-	 * @param query page,size
-	 * @param liveLocation 实时位置信息对象
 	 *
+	 * @param query        page,size
+	 * @param liveLocation 实时位置信息对象
 	 */
 	@GetMapping("/page")
 	public R<IPage<LiveLocationVo>> page(LiveLocationVo liveLocation, Query query) {
@@ -48,6 +53,7 @@
 
 	/**
 	 * 新增
+	 *
 	 * @param liveLocation 实时位置信息对象
 	 */
 	@PostMapping("/save")
@@ -59,6 +65,7 @@
 
 	/**
 	 * 实时位置信息新增,同时新增到轨迹表中
+	 *
 	 * @param liveLocation 实时位置信息对象
 	 */
 	@PostMapping("/saveLiveLocationAndLocus")
@@ -67,35 +74,167 @@
 		//先查询是否已有实时位置信息,如果有,则更新,没有则插入
 		LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
 		boolean status = false;
-		if (null == liveLocationInfo){
+		if (null == liveLocationInfo) {
 			//新增
 			liveLocation.setRecordTime(new Date());
 			status = liveLocationService.save(liveLocation);
-		}else {
+			if (status) {
+				//数据推送
+				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);
+				myAsyncService.FTP(s1);
+			}
+		} else {
 			//更新
 			liveLocationInfo.setRecordTime(new Date());
 			liveLocationInfo.setLongitude(liveLocation.getLongitude());
 			liveLocationInfo.setLatitude(liveLocation.getLatitude());
 			status = liveLocationService.updateById(liveLocationInfo);
+			if (status) {
+				//内网同步
+				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);
+				myAsyncService.FTP(s1);
+			}
 		}
 
-		if (status){
+		if (status) {
 			//新增轨迹
 			Locus locus = new Locus();
 			//封装数据
-			if (null!=liveLocationInfo){
+			if (null != liveLocationInfo) {
 				locus.setLiveLocationId(liveLocationInfo.getId());
-			}else {
+			} else {
 				locus.setLiveLocationId(liveLocation.getId());
 			}
-			if (null!= liveLocation.getLatitude() && null!=liveLocation.getLongitude()){
+			if (null != liveLocation.getLatitude() && null != liveLocation.getLongitude()) {
 				locus.setLatitude(liveLocation.getLatitude());
 				locus.setLongitude(liveLocation.getLongitude());
 			}
 			locus.setRecordTime(new Date());
 			//新增轨迹
 			boolean save1 = locusService.save(locus);
-			if (save1){
+			//数据推送
+			String s2 =
+				"insert into sys_locus(id,live_location_id,record_time,longitude,latitude) " +
+					"values(" + "'" + locus.getId() + "'" + "," +
+					"'" + locus.getLiveLocationId() + "'" + "," +
+					"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + "," +
+					"'" + locus.getLongitude() + "'" + "," +
+					"'" + locus.getLatitude() + "'" + ")";
+			//FtpUtil.sqlFileUpload(s2);
+			myAsyncService.FTP(s2);
+
+			if (save1) {
+				//返回数据
+				return R.status(true);
+			}
+		}
+		//返回数据
+		return R.status(false);
+	}
+
+
+	/**
+	 * 实时位置信息新增,同时新增到轨迹表中
+	 *
+	 * @param locationVOTest 实时位置信息对象
+	 */
+	@PostMapping("/saveLiveLocationAndLocusAsTest")
+	@ApiOperation(value = "新增", notes = "传入liveLocation")
+	public R saveLiveLocationAndLocusAsTest(@RequestBody LiveLocationVOTest locationVOTest) {
+		//获取数据
+		LiveLocation liveLocation = new LiveLocation();
+		liveLocation.setLongitude(locationVOTest.getLongitude().toString());
+		liveLocation.setLatitude(locationVOTest.getLatitude().toString());
+		liveLocation.setType(2);
+		liveLocation.setWorkerId("16L");
+
+		//先查询是否已有实时位置信息,如果有,则更新,没有则插入
+		LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
+		boolean status = false;
+		if (null == liveLocationInfo) {
+			//新增
+			liveLocation.setRecordTime(new Date());
+			status = liveLocationService.save(liveLocation);
+			if (status) {
+				//数据推送
+				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);
+				myAsyncService.FTP(s1);
+			}
+		} else {
+			//更新
+			liveLocationInfo.setRecordTime(new Date());
+			liveLocationInfo.setLongitude(liveLocation.getLongitude());
+			liveLocationInfo.setLatitude(liveLocation.getLatitude());
+			status = liveLocationService.updateById(liveLocationInfo);
+			if (status) {
+				//内网同步
+				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);
+				myAsyncService.FTP(s1);
+			}
+		}
+
+		if (status) {
+			//新增轨迹
+			Locus locus = new Locus();
+			//封装数据
+			if (null != liveLocationInfo) {
+				locus.setLiveLocationId(liveLocationInfo.getId());
+			} else {
+				locus.setLiveLocationId(liveLocation.getId());
+			}
+			if (null != liveLocation.getLatitude() && null != liveLocation.getLongitude()) {
+				locus.setLatitude(liveLocation.getLatitude());
+				locus.setLongitude(liveLocation.getLongitude());
+			}
+			locus.setRecordTime(new Date());
+			//新增轨迹
+			boolean save1 = locusService.save(locus);
+			//数据推送
+			String s2 =
+				"insert into sys_locus(id,live_location_id,record_time,longitude,latitude) " +
+					"values(" + "'" + locus.getId() + "'" + "," +
+					"'" + locus.getLiveLocationId() + "'" + "," +
+					"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + "," +
+					"'" + locus.getLongitude() + "'" + "," +
+					"'" + locus.getLatitude() + "'" + ")";
+			myAsyncService.FTP(s2);
+			//FtpUtil.sqlFileUpload(s2);
+
+			if (save1) {
 				//返回数据
 				return R.status(true);
 			}
@@ -106,6 +245,7 @@
 
 	/**
 	 * 修改
+	 *
 	 * @param liveLocation 实时位置信息对象
 	 */
 	@PostMapping("/update")
@@ -115,6 +255,7 @@
 
 	/**
 	 * 新增或修改
+	 *
 	 * @param liveLocation 实时位置信息对象
 	 */
 	@PostMapping("/submit")
@@ -124,6 +265,7 @@
 
 	/**
 	 * 删除
+	 *
 	 * @param ids 实时位置信息ids 数组
 	 */
 	@PostMapping("/remove")
@@ -133,6 +275,7 @@
 
 	/**
 	 * 详情
+	 *
 	 * @param liveLocation 实时位置信息对象
 	 */
 	@GetMapping("/detail")
@@ -144,20 +287,22 @@
 
 	/**
 	 * 获取轨迹数据
+	 *
 	 * @param liveLocationVo 实时对象信息
 	 * @return
 	 */
 	@GetMapping("/getLocusInfoList")
-	public R<List<LocusVo>> getLocusInfoList(LiveLocationVo liveLocationVo){
+	public R<List<LocusVo>> getLocusInfoList(LiveLocationVo liveLocationVo) {
 		return R.data(liveLocationService.getLocusInfoList(liveLocationVo));
 	}
 
 	/**
 	 * 首页实时定位
+	 *
 	 * @return
 	 */
 	@GetMapping("/getLiveLocationVoList")
-	public R<List<LiveLocationVo>> getLiveLocationVoList(LiveLocationVo liveLocationVo){
+	public R<List<LiveLocationVo>> getLiveLocationVoList(LiveLocationVo liveLocationVo) {
 		return R.data(liveLocationService.getLiveLocationVoList(liveLocationVo));
 	}
 

--
Gitblit v1.9.3