提交 84736271 authored 作者: liuhaiquan's avatar liuhaiquan

提交判断选择车辆列表的车辆状态判断接口

上级 657cf9f1
package com.clx.performance.param.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @ClassName JudgeTruckStatusParam
* @Description
* @Author kavin
* @Date 2023/12/15 14:11
* @Version 1.0
*/
@Getter
@Setter
public class JudgeTruckStatusParam {
@NotNull(message = "车牌号集合不能为空")
@ApiModelProperty("车牌号集合")
List<String> truckNoList;
}
package com.clx.performance.controller.pc; package com.clx.performance.controller.pc;
import com.clx.performance.dto.zjxl.TruckTraceDTO; import com.clx.performance.dto.zjxl.TruckTraceDTO;
import com.clx.performance.param.pc.OrderGoodsTruckListParam; import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.PageTruckListParam;
import com.clx.performance.param.pc.PageVicinityTruckListParam;
import com.clx.performance.param.pc.TruckTraceParam;
import com.clx.performance.service.TruckService; import com.clx.performance.service.TruckService;
import com.clx.performance.vo.pc.OrderGoodsTruckListVO; import com.clx.performance.vo.pc.OrderGoodsTruckListVO;
import com.clx.performance.vo.pc.PageTruckListVO; import com.clx.performance.vo.pc.PageTruckListVO;
...@@ -84,4 +81,12 @@ public class TruckController { ...@@ -84,4 +81,12 @@ public class TruckController {
List<TruckTraceVO> list = truckService.getTruckTrace(param); List<TruckTraceVO> list = truckService.getTruckTrace(param);
return Result.ok(list); return Result.ok(list);
} }
@ApiOperation(value = "判断车辆状态", notes = "<br>By:刘海泉")
@PostMapping("/judgeTruckStatus")
public Result<List<String>> judgeTruckStatus(@RequestBody @Validated JudgeTruckStatusParam param) {
List<String> list = truckService.judgeTruckStatus(param);
return Result.ok(list);
}
} }
...@@ -2,10 +2,7 @@ package com.clx.performance.service; ...@@ -2,10 +2,7 @@ package com.clx.performance.service;
import com.clx.performance.dto.zjxl.TruckCoordinateDTO; import com.clx.performance.dto.zjxl.TruckCoordinateDTO;
import com.clx.performance.dto.zjxl.TruckTraceDTO; import com.clx.performance.dto.zjxl.TruckTraceDTO;
import com.clx.performance.param.pc.OrderGoodsTruckListParam; import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.PageTruckListParam;
import com.clx.performance.param.pc.PageVicinityTruckListParam;
import com.clx.performance.param.pc.TruckTraceParam;
import com.clx.performance.vo.pc.OrderGoodsTruckListVO; import com.clx.performance.vo.pc.OrderGoodsTruckListVO;
import com.clx.performance.vo.pc.PageTruckListVO; import com.clx.performance.vo.pc.PageTruckListVO;
import com.clx.performance.vo.pc.TruckTraceVO; import com.clx.performance.vo.pc.TruckTraceVO;
...@@ -37,4 +34,6 @@ public interface TruckService { ...@@ -37,4 +34,6 @@ public interface TruckService {
List<OrderGoodsTruckListVO> getOrderGoodsTruckList(OrderGoodsTruckListParam param); List<OrderGoodsTruckListVO> getOrderGoodsTruckList(OrderGoodsTruckListParam param);
List<TruckTraceVO> getTruckTrace(TruckTraceParam param); List<TruckTraceVO> getTruckTrace(TruckTraceParam param);
List<String> judgeTruckStatus(JudgeTruckStatusParam param);
} }
...@@ -11,10 +11,7 @@ import com.clx.performance.enums.DriverTruckEnum; ...@@ -11,10 +11,7 @@ import com.clx.performance.enums.DriverTruckEnum;
import com.clx.performance.enums.OrderGoodsTruckBindEnum; import com.clx.performance.enums.OrderGoodsTruckBindEnum;
import com.clx.performance.job.TruckTraceJob; import com.clx.performance.job.TruckTraceJob;
import com.clx.performance.model.OrderGoodsTruckBind; import com.clx.performance.model.OrderGoodsTruckBind;
import com.clx.performance.param.pc.OrderGoodsTruckListParam; import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.PageTruckListParam;
import com.clx.performance.param.pc.PageVicinityTruckListParam;
import com.clx.performance.param.pc.TruckTraceParam;
import com.clx.performance.service.TruckService; import com.clx.performance.service.TruckService;
import com.clx.performance.utils.RedisGeoUntil; import com.clx.performance.utils.RedisGeoUntil;
import com.clx.performance.utils.zjxl.ZjxlGpsService; import com.clx.performance.utils.zjxl.ZjxlGpsService;
...@@ -268,9 +265,7 @@ public class TruckServiceImpl implements TruckService { ...@@ -268,9 +265,7 @@ public class TruckServiceImpl implements TruckService {
} }
Map<String,Integer> truckStatusMap = new HashMap<>(); Map<String,Integer> truckStatusMap = new HashMap<>();
result.getData().stream().forEach(item->{ result.getData().forEach(item-> truckStatusMap.put(item.getTruckNo(),item.getTruckOrderStatus()));
truckStatusMap.put(item.getTruckNo(),item.getTruckOrderStatus());
});
return truckStatusMap; return truckStatusMap;
} }
...@@ -399,4 +394,18 @@ public class TruckServiceImpl implements TruckService { ...@@ -399,4 +394,18 @@ public class TruckServiceImpl implements TruckService {
} }
return result; return result;
} }
@Override
public List<String> judgeTruckStatus(JudgeTruckStatusParam param) {
Map<String,Integer> truckStatusMap = this.getTruckStatusMap();
Set<String> set = new HashSet<>(param.getTruckNoList());
List<OrderGoodsTruckBind> binds = orderGoodsTruckBindDao.judgeTruckIsBindDxOrder(set);
List<String> occupyTruckList = binds.stream().map(OrderGoodsTruckBind::getTruckNo).collect(Collectors.toList());
param.getTruckNoList().forEach(truckNo->{
if (!occupyTruckList.contains(truckNo) && Objects.equals(DriverTruckEnum.TruckOrderStatus.ORDER_HEAVY.getCode(), truckStatusMap.get(truckNo))) {
occupyTruckList.add(truckNo);
}
});
return occupyTruckList;
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论