From b5960d1968e007b91d4d33dd7cbb74f1b566f2c1 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 24 May 2024 10:20:01 +0800
Subject: [PATCH] 到期时间修改
---
src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++++---
1 files changed, 72 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java b/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
index 49443c8..84132d1 100644
--- a/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
@@ -1,17 +1,26 @@
package org.springblade.modules.location.service.impl;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.springblade.common.utils.InvestigateUtil;
+import org.springblade.modules.equipage.entity.Gun;
+import org.springblade.modules.equipage.service.GunService;
import org.springblade.modules.location.entity.LiveLocation;
import org.springblade.modules.location.mapper.LiveLocationMapper;
import org.springblade.modules.location.service.LiveLocationService;
+import org.springblade.modules.location.vo.GunLiveLocationVO;
import org.springblade.modules.location.vo.LiveLocationVo;
import org.springblade.modules.location.vo.LocusVo;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 实时位置服务实现类
@@ -19,6 +28,9 @@
*/
@Service
public class LiveLocationServiceImpl extends ServiceImpl<LiveLocationMapper, LiveLocation> implements LiveLocationService {
+
+ @Autowired
+ private GunService gunService;
/**
* 实时位置分页信息
@@ -69,7 +81,61 @@
}
//枪支
if (liveLocationVo.getType()==3){
- return baseMapper.getGunLocusInfoList(liveLocationVo);
+ //获取枪支数据
+ List<Gun> gunList = gunService.list();
+ //创建集合
+ List<LiveLocationVo> list = new ArrayList<>();
+ if (gunList.size()>0){
+ String startTime = "2020-05-25";
+ String endTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+ //遍历
+ for (Gun gun : gunList) {
+ if (!StringUtils.isBlank(gun.getCardNo()) && !gun.getCardNo().equals("null")) {
+ //远程调用
+ String body = InvestigateUtil.httpGetGunPosition(gun.getCardNo(), null, startTime, endTime, null, null);
+ System.out.println("body = " + body);
+ if (null != body && !body.equals("")) {
+ JSONObject jsonObject = new JSONObject(body);
+ Object data = jsonObject.get("data");
+ JSONObject jsonData = new JSONObject(data.toString());
+ JSONArray res = jsonData.getJSONArray("res");
+ //转换string
+ String resToString = res.toString();
+ if (res.length() == 0) {
+ } else {
+ LiveLocationVo locationVo = new LiveLocationVo();
+ List<GunLiveLocationVO> gunLiveLocationVOS = JSON.parseArray(resToString, GunLiveLocationVO.class);
+ //按时间排序(降序)
+ List<GunLiveLocationVO> gunLiveLocationVOList =
+ gunLiveLocationVOS.stream().sorted(Comparator.comparing(GunLiveLocationVO::getDwsj).reversed()).collect(Collectors.toList());
+ GunLiveLocationVO gunLiveLocationVO = gunLiveLocationVOList.get(0);
+ //取出第一个
+ locationVo.setRecordTime(gunLiveLocationVO.getDwsj());
+ locationVo.setLinkman(gunLiveLocationVO.getHwy());
+ locationVo.setCardNo(gunLiveLocationVO.getHwysfzh());
+ locationVo.setGunNum(gunLiveLocationVO.getQzbh());
+ locationVo.setNumber(gunLiveLocationVO.getQzxh());
+ locationVo.setQh(gunLiveLocationVO.getQh());
+ locationVo.setLongitude(gunLiveLocationVO.getDwjd().toString());
+ locationVo.setLatitude(gunLiveLocationVO.getDwwd().toString());
+ locationVo.setCompany(gunLiveLocationVO.getSzdw());
+ if (null != gun.getIssueUnit() && !gun.getIssueUnit().equals("")) {
+ locationVo.setIssueUnit(gun.getIssueUnit());
+ }
+ if (null != gun.getIssueTime() && !gun.getIssueTime().equals("")) {
+ locationVo.setIssueTime(gun.getIssueTime());
+ }
+ if (null != gun.getValidTime() && !gun.getValidTime().equals("")) {
+ locationVo.setValidTime(gun.getValidTime());
+ }
+ //存入集合
+ list.add(locationVo);
+ }
+ }
+ }
+ }
+ }
+ return list;
}
return baseMapper.selectSecurityAndCarAndGunLiveLocationPage(liveLocationVo);
}
@@ -100,7 +166,7 @@
List<String> list = Arrays.asList(userIds.split(","));
if (list.size()>0){
list.forEach(userId->{
- liveLocationVo.setWorkerId(Long.parseLong(userId));
+ liveLocationVo.setWorkerId(userId);
LiveLocationVo directiveLiveLocationVo = baseMapper.getDirectiveLiveLocationVo(liveLocationVo);
//如果存在定位数据
if (null!=directiveLiveLocationVo){
@@ -128,7 +194,7 @@
List<String> list = Arrays.asList(userIds.split(","));
if (list.size()>0){
list.forEach(userId->{
- liveLocationVo.setWorkerId(Long.parseLong(userId));
+ liveLocationVo.setWorkerId(userId);
List<LocusVo> directiveLocusInfoList = baseMapper.getDirectiveLocusInfoList(liveLocationVo);
//如果存在轨迹数据
if (directiveLocusInfoList.size()>0){
--
Gitblit v1.9.3