| | |
| | | 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; |
| | |
| | | |
| | | |
| | | 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) { |
| | |
| | | |
| | | /** |
| | | * 新增 |
| | | * |
| | | * @param liveLocation 实时位置信息对象 |
| | | */ |
| | | @PostMapping("/save") |
| | |
| | | |
| | | /** |
| | | * 实时位置信息新增,同时新增到轨迹表中 |
| | | * |
| | | * @param liveLocation 实时位置信息对象 |
| | | */ |
| | | @PostMapping("/saveLiveLocationAndLocus") |
| | |
| | | //先查询是否已有实时位置信息,如果有,则更新,没有则插入 |
| | | LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation); |
| | | boolean status = false; |
| | | if (null == liveLocationInfo){ |
| | | if (null == liveLocationInfo) { |
| | | //新增 |
| | | liveLocation.setRecordTime(new Date()); |
| | | 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 { |
| | | 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.dataSync(s1); |
| | | } |
| | | } else { |
| | | //更新 |
| | | liveLocationInfo.setRecordTime(new Date()); |
| | | liveLocationInfo.setLongitude(liveLocation.getLongitude()); |
| | | liveLocationInfo.setLatitude(liveLocation.getLatitude()); |
| | | 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); |
| | | 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.dataSync(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.getLiveLocationId() + "'" + "," + |
| | | "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + "," + |
| | | "'" + locus.getLongitude() + "'" + "," + |
| | | "'" +locus.getLatitude() + "'" + ")"; |
| | | FtpUtil.sqlFileUpload(s2); |
| | | "'" + locus.getLatitude() + "'" + ")"; |
| | | //FtpUtil.sqlFileUpload(s2); |
| | | myAsyncService.dataSync(s2); |
| | | |
| | | if (save1){ |
| | | 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.dataSync(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.dataSync(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.dataSync(s2); |
| | | //FtpUtil.sqlFileUpload(s2); |
| | | |
| | | if (save1) { |
| | | //返回数据 |
| | | return R.status(true); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 修改 |
| | | * |
| | | * @param liveLocation 实时位置信息对象 |
| | | */ |
| | | @PostMapping("/update") |
| | |
| | | |
| | | /** |
| | | * 新增或修改 |
| | | * |
| | | * @param liveLocation 实时位置信息对象 |
| | | */ |
| | | @PostMapping("/submit") |
| | |
| | | |
| | | /** |
| | | * 删除 |
| | | * |
| | | * @param ids 实时位置信息ids 数组 |
| | | */ |
| | | @PostMapping("/remove") |
| | |
| | | |
| | | /** |
| | | * 详情 |
| | | * |
| | | * @param liveLocation 实时位置信息对象 |
| | | */ |
| | | @GetMapping("/detail") |
| | |
| | | |
| | | /** |
| | | * 获取轨迹数据 |
| | | * |
| | | * @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)); |
| | | } |
| | | |