提交 a173d088 authored 作者: 李瑞鑫's avatar 李瑞鑫

Merge branch 'v15.4_truck_fleet_20240513'

......@@ -8,12 +8,12 @@ import com.clx.performance.vo.pc.trace.DriverTruckTraceVO;
import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
......@@ -71,4 +71,18 @@ public class TempTraceController {
return Result.ok(truckTraceService.getCurrentTruckPosition(truckNo));
}
@ApiOperation(value = "批量保存车辆轨迹信息", notes = "<br>By:刘海泉")
@GetMapping("/saveTruckTrace")
public Result<BigDecimal[]> saveTruckTrace(@Param("truckNo") @NotBlank(message = "车牌号不能为空") String truckNo,
@Param("size") @NotNull(message = "大小字段不能为空") Integer size,String gpsTime) {
truckTraceService.saveTruckTrace(truckNo,size,gpsTime);
return Result.ok();
}
}
......@@ -5,6 +5,7 @@ import com.clx.performance.esplus.mapper.TruckTraceESPlusMapper;
import com.clx.performance.esplus.model.TruckTraceESPlus;
import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam;
import com.clx.performance.service.trace.TruckTraceMqHandlerService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -35,13 +36,14 @@ public class TruckTraceMqHandlerServiceImpl implements TruckTraceMqHandlerServic
List<TruckTraceESPlus> esList = new ArrayList<>();
for (TruckTraceDTO item : list) {
TruckTraceESPlus es = new TruckTraceESPlus();
es.setTruckNo(item.getTruckNo());
es.setTruckNo(mq.getTruckNo());
es.setAngle(item.getAngle());
es.setHeight(item.getHeight());
es.setLocation(new BigDecimal[]{item.getLocation()[0], item.getLocation()[1]});
es.setGpsTime(item.getGpsTime());
es.setMileage(item.getMileage());
es.setSpeed(item.getSpeed());
es.setCreateTime(LocalDateTimeUtils.formatTime());
esList.add(es);
}
......
......@@ -15,6 +15,7 @@ import com.clx.performance.vo.pc.trace.DriverTruckTraceVO;
import com.msl.common.utils.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.dromara.easyes.core.conditions.select.LambdaEsQueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -337,5 +338,34 @@ public class TruckTraceServiceImpl implements TruckTraceService {
}
/**
* 生成指定大小的车辆轨迹数据插入到es中
**/
@Override
public void saveTruckTrace(String truckNo,Integer size,String gpsTime){
if(size > 20000){
size = 20000;
}
List<TruckTraceESPlus> esList = new ArrayList<>();
for (int i = 0 ;i < size ; i ++ ) {
TruckTraceESPlus es = new TruckTraceESPlus();
es.setTruckNo(truckNo);
es.setAngle(new BigDecimal("1"));
es.setHeight(null);
es.setLocation(new BigDecimal[]{new BigDecimal("116.473705"), new BigDecimal("40.004198")});
if(StringUtils.isNotBlank(gpsTime)){
es.setGpsTime(gpsTime);
}else{
es.setGpsTime(DateUtils.formatDateTime(LocalDateTime.now()).get());
}
es.setMileage(null);
es.setSpeed(new BigDecimal("3"));
esList.add(es);
}
// 保存
truckTraceESPlusMapper.insertBatch(esList);
}
}
......@@ -35,4 +35,7 @@ public interface TruckTraceService {
List<DriverTraceVO> calcDriverStayTime(List<DriverTraceVO> traceList);
List<List<DriverTruckTraceVO>> splitTruckTrace(List<DriverTruckTraceVO> traceList);
void saveTruckTrace(String truckNo,Integer size,String gpsTime);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论