提交 1877e52d authored 作者: 艾庆国's avatar 艾庆国

车辆轨迹同步

上级 75e7e578
package com.clx.performance.param.temp;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
import java.util.List;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class TruckTraceAddParam {
@ApiModelProperty(value = "车辆轨迹列表")
private List<TruckTraceItem> traceList;
@Setter
@Getter
@ToString
@NoArgsConstructor
public static class TruckTraceItem{
@ApiModelProperty(value = "车辆编号", example = "京A12345")
private String truckNo;
@ApiModelProperty(value = "正北方向夹角", example = "12.34")
private BigDecimal angle;
@ApiModelProperty(value = "速度", example = "12.34")
private BigDecimal speed;
@ApiModelProperty(value = "里程", example = "12.34")
private BigDecimal mileage;
@ApiModelProperty(value = "海拔", example = "12.34")
private BigDecimal height;
@ApiModelProperty(value = "位置 [123.45, 12.34]")
private BigDecimal[] location;
@ApiModelProperty(value = "时间")
private String gpsTime;
}
}
...@@ -35,15 +35,11 @@ public class TempController { ...@@ -35,15 +35,11 @@ public class TempController {
private TransportFeignService transportFeignService; private TransportFeignService transportFeignService;
@Autowired
private TruckTraceMqHandlerService truckTraceMqHandlerService;
@ApiOperation(value = "test", notes = "<br>By:艾庆国") @ApiOperation(value = "test", notes = "<br>By:艾庆国")
@RequestMapping(value = "/test", method = RequestMethod.GET) @RequestMapping(value = "/test", method = RequestMethod.GET)
public Result test() { public Result test() {
truckTraceMqHandlerService.save();
return Result.ok(); return Result.ok();
} }
......
package com.clx.performance.controller.temp;
import com.clx.performance.param.temp.TruckTraceAddParam;
import com.clx.performance.service.trace.TruckTraceMqHandlerService;
import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
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;
/**
* @Author: aiqingguo
* @Description: 临时接口
* @Date: 2023-8-21 12:10:16
* @Version: 1.0
*/
@Slf4j
@RestController
@RequestMapping(value="/temp/trace")
public class TempTraceController {
@Autowired
private TruckTraceMqHandlerService truckTraceMqHandlerService;
@ApiOperation(value = "truckTraceSync", notes = "<br>By:艾庆国")
@PostMapping("/truckTraceSync")
public Result truckTraceSync(@RequestBody TruckTraceAddParam param) {
truckTraceMqHandlerService.save(param);
return Result.ok();
}
}
...@@ -3,26 +3,23 @@ package com.clx.performance.esplus.model; ...@@ -3,26 +3,23 @@ package com.clx.performance.esplus.model;
import lombok.Data; import lombok.Data;
import org.dromara.easyes.annotation.IndexId; import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.IndexName; import org.dromara.easyes.annotation.IndexName;
import org.dromara.easyes.annotation.Settings;
import org.dromara.easyes.annotation.rely.IdType; import org.dromara.easyes.annotation.rely.IdType;
import org.elasticsearch.common.geo.GeoPoint;
import java.math.BigDecimal; import java.math.BigDecimal;
@Data @Data
@IndexName(value = "quality_task_info", keepGlobalPrefix = true) @IndexName(value = "clx_truck_trace")
public class TruckTraceESPlus { public class TruckTraceESPlus {
@IndexId(type= IdType.CUSTOMIZE) @IndexId(type= IdType.UUID)
private String id; private String id;
private String truckNo; //车辆编号 private String truckNo; //车辆编号
private BigDecimal angle; //角度 private BigDecimal angle; //agl
private BigDecimal speed; //速度 private BigDecimal speed; //速度
private BigDecimal mileage; //里程 private BigDecimal mileage; //里程
private BigDecimal height; //高度 private BigDecimal height; //海拔
private GeoPoint location; //位置 private BigDecimal[] location; //位置
private String gpsTime; //时间 private String gpsTime; //时间
private String createTime; private String createTime;
private String modifiedTime;
} }
\ No newline at end of file
...@@ -4,11 +4,11 @@ import com.clx.performance.dto.zjxl.TruckTraceDTO; ...@@ -4,11 +4,11 @@ import com.clx.performance.dto.zjxl.TruckTraceDTO;
import com.clx.performance.esplus.mapper.TruckTraceESPlusMapper; import com.clx.performance.esplus.mapper.TruckTraceESPlusMapper;
import com.clx.performance.esplus.model.TruckTraceESPlus; import com.clx.performance.esplus.model.TruckTraceESPlus;
import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam; import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam;
import com.clx.performance.param.temp.TruckTraceAddParam;
import com.clx.performance.service.trace.TruckTraceMqHandlerService; import com.clx.performance.service.trace.TruckTraceMqHandlerService;
import com.clx.performance.utils.LocalDateTimeUtils; import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService; import com.clx.performance.utils.zjxl.ZjxlGpsService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.common.geo.GeoPoint;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -38,7 +38,7 @@ public class TruckTraceMqHandlerServiceImpl implements TruckTraceMqHandlerServic ...@@ -38,7 +38,7 @@ public class TruckTraceMqHandlerServiceImpl implements TruckTraceMqHandlerServic
es.setTruckNo(item.getTruckNo()); es.setTruckNo(item.getTruckNo());
es.setAngle(item.getAngle()); es.setAngle(item.getAngle());
es.setHeight(item.getHeight()); es.setHeight(item.getHeight());
es.setLocation(new GeoPoint(item.getLocation()[0].doubleValue(), item.getLocation()[1].doubleValue())); es.setLocation(new BigDecimal[]{item.getLocation()[0], item.getLocation()[1]});
es.setGpsTime(item.getGpsTime()); es.setGpsTime(item.getGpsTime());
es.setMileage(item.getMileage()); es.setMileage(item.getMileage());
es.setSpeed(item.getSpeed()); es.setSpeed(item.getSpeed());
...@@ -52,14 +52,23 @@ public class TruckTraceMqHandlerServiceImpl implements TruckTraceMqHandlerServic ...@@ -52,14 +52,23 @@ public class TruckTraceMqHandlerServiceImpl implements TruckTraceMqHandlerServic
} }
@Override @Override
public void save(){ public void save(TruckTraceAddParam param){
List<TruckTraceESPlus> list = new ArrayList<>();
for (TruckTraceAddParam.TruckTraceItem item : param.getTraceList()) {
TruckTraceESPlus es = new TruckTraceESPlus(); TruckTraceESPlus es = new TruckTraceESPlus();
es.setTruckNo("京A12345"); es.setTruckNo(item.getTruckNo());
es.setAngle(new BigDecimal("123.45")); es.setAngle(item.getAngle());
es.setHeight(new BigDecimal("23.45")); es.setHeight(item.getHeight());
es.setLocation(new GeoPoint(45.67, 123.45)); es.setLocation(item.getLocation());
es.setGpsTime(LocalDateTimeUtils.formatTime()); es.setGpsTime(item.getGpsTime());
es.setMileage(new BigDecimal(34.56)); es.setMileage(item.getMileage());
es.setSpeed(new BigDecimal("67.89")); es.setSpeed(item.getSpeed());
es.setCreateTime(LocalDateTimeUtils.formatTime());
list.add(es);
}
truckTraceESPlusMapper.insertBatch(list);
} }
} }
package com.clx.performance.service.trace; package com.clx.performance.service.trace;
import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam; import com.clx.performance.param.mq.trace.TruckTraceSyncMqParam;
import com.clx.performance.param.temp.TruckTraceAddParam;
public interface TruckTraceMqHandlerService { public interface TruckTraceMqHandlerService {
void truckTracSync(TruckTraceSyncMqParam mq); void truckTracSync(TruckTraceSyncMqParam mq);
void save(); void save(TruckTraceAddParam param);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论