提交 256bd56f authored 作者: liuhaiquan's avatar liuhaiquan

定向车在选择车辆列表进行过滤

上级 6e674f6d
......@@ -51,4 +51,6 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
List<OrderGoodsTruckBind> getCancelOrderGoods(List<String> truckList, String beginTime, String endTime);
void deleteByOrderGoods(String orderGoodsNo);
List<String> findUnreleasedTruck();
}
......@@ -171,4 +171,9 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public void deleteByOrderGoods(String orderGoodsNo) {
baseMapper.delete(lQrWrapper().eq(OrderGoodsTruckBind::getOrderGoodsNo, orderGoodsNo));
}
@Override
public List<String> findUnreleasedTruck() {
return baseMapper.findUnreleasedTruck();
}
}
......@@ -3,14 +3,12 @@ package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.OrderGoodsDriverTruck;
import com.clx.performance.model.OrderGoodsTruckBind;
import com.clx.performance.sqlProvider.OrderGoodsSqlProvider;
import com.clx.performance.sqlProvider.OrderGoodsTruckBindSqlProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import java.time.LocalDateTime;
import java.util.List;
/**
......@@ -30,4 +28,8 @@ public interface OrderGoodsTruckBindMapper extends BaseMapper<OrderGoodsTruckBin
List<Integer> getTrucksByOrderGoodsNo(@Param("orderGoodsNo") String orderGoodsNo);
List<OrderGoodsDriverTruck> selectListByTruckNo(List<OrderGoodsDriverTruck> truckList);
@SelectProvider(type = OrderGoodsTruckBindSqlProvider.class, method = "findUnreleasedTruck")
List<String> findUnreleasedTruck();
}
\ No newline at end of file
......@@ -80,6 +80,7 @@ public class TruckServiceImpl implements TruckService {
/**
* @Author kavin
* @Description geo 获取附近车辆
......@@ -161,20 +162,23 @@ public class TruckServiceImpl implements TruckService {
}
Map<String,Integer> truckStatusMap = this.getTruckStatusMap();
List<GeoResult<RedisGeoCommands.GeoLocation<String>>> content = sortResult.getContent();
//查询定向单绑定的车辆列表
List<String> bindTruckNos = orderGoodsTruckBindDao.findUnreleasedTruck();
List<PageTruckListVO> filterList = new ArrayList<>();
//车辆距离发货地由近及远的车辆列表信息
for(GeoResult<RedisGeoCommands.GeoLocation<String>> item : content){
String truckNo = item.getContent().getName();
String truckLevel = "A";
double maxDistance = item.getDistance().getValue();
//进行筛选
//默认重车过滤掉
if(Objects.equals(DriverTruckEnum.TruckOrderStatus.ORDER_HEAVY.getCode(),truckStatusMap.get(truckNo))){
continue;
}
//绑定的定向车进行过滤
if(bindTruckNos.contains(truckNo)){
continue;
}
if(StringUtils.isNotBlank(param.getTruckNo()) && !StringUtils.equals(truckNo,param.getTruckNo())){
continue;
}
......
package com.clx.performance.sqlProvider;
import com.clx.performance.enums.OrderGoodsTruckBindEnum;
import com.clx.performance.model.OrderGoodsTruckBind;
import org.apache.ibatis.jdbc.SQL;
import java.time.LocalDateTime;
import java.util.List;
public class OrderGoodsTruckBindSqlProvider {
......@@ -23,4 +22,16 @@ public class OrderGoodsTruckBindSqlProvider {
}
return sqlList.toString();
}
public String findUnreleasedTruck(){
return new SQL(){{
SELECT(" truck_no ");
FROM("order_goods_truck_bind");
WHERE("status IN (" + OrderGoodsTruckBindEnum.Status.GET.getCode() + "," +
OrderGoodsTruckBindEnum.Status.NORMAL.getCode() + ")" );
}}.toString();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论