Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
944eb43a
提交
944eb43a
authored
10月 25, 2023
作者:
liuhaiquan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增已选车辆列表接口
上级
42333faf
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
151 行增加
和
0 行删除
+151
-0
OrderGoodsTruckListParam.java
...om/clx/performance/param/pc/OrderGoodsTruckListParam.java
+29
-0
OrderGoodsTruckListVO.java
...java/com/clx/performance/vo/pc/OrderGoodsTruckListVO.java
+37
-0
TruckController.java
...va/com/clx/performance/controller/pc/TruckController.java
+12
-0
OrderGoodsTruckBindDao.java
.../java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
+4
-0
OrderGoodsTruckBindDaoImpl.java
.../clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
+16
-0
TruckService.java
...c/main/java/com/clx/performance/service/TruckService.java
+4
-0
TruckServiceImpl.java
...va/com/clx/performance/service/impl/TruckServiceImpl.java
+49
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/param/pc/OrderGoodsTruckListParam.java
0 → 100644
浏览文件 @
944eb43a
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.NotBlank
;
/**
* @ClassName OrderGoodsTruckListParam
* @Description
* @Author kavin
* @Date 2023/10/25 20:13
* @Version 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
OrderGoodsTruckListParam
{
@ApiModelProperty
(
value
=
"货单编号"
,
example
=
"100000000"
)
@NotBlank
(
message
=
"货单编号不能为空"
)
private
String
orderGoodsNo
;
@ApiModelProperty
(
value
=
"车牌号"
,
example
=
""
)
private
String
truckNo
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/OrderGoodsTruckListVO.java
0 → 100644
浏览文件 @
944eb43a
package
com
.
clx
.
performance
.
vo
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
/**
* @ClassName SeniorLogisticsManagerVO
* @Description
* @Author kavin
* @Date 2023/9/18 19:51
* @Version 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
OrderGoodsTruckListVO
{
@ApiModelProperty
(
"车牌号"
)
private
String
truckNo
;
@ApiModelProperty
(
value
=
"空重车状态 1:空车 2:运单-空车 3:运单-重车"
,
example
=
"1"
)
private
Integer
truckUseStatus
;
@ApiModelProperty
(
value
=
"车辆等级"
,
example
=
"A"
)
private
String
truckLevel
;
@ApiModelProperty
(
value
=
"距货源地"
,
example
=
"20"
)
private
Double
maxDistance
;
@ApiModelProperty
(
value
=
"接单状态 0:未接单 1:已接单"
,
example
=
"0"
)
private
Integer
orderedStatus
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/TruckController.java
浏览文件 @
944eb43a
package
com
.
clx
.
performance
.
controller
.
pc
;
import
com.clx.performance.dto.zjxl.TruckTraceDTO
;
import
com.clx.performance.param.pc.OrderGoodsTruckListParam
;
import
com.clx.performance.param.pc.PageTruckListParam
;
import
com.clx.performance.param.pc.PageVicinityTruckListParam
;
import
com.clx.performance.service.TruckService
;
import
com.clx.performance.vo.pc.OrderGoodsTruckListVO
;
import
com.clx.performance.vo.pc.PageTruckListVO
;
import
com.msl.common.base.PageData
;
import
com.msl.common.result.Result
;
...
...
@@ -14,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* @ClassName GoodsOrderController
* @Description
...
...
@@ -65,6 +69,14 @@ public class TruckController {
@ApiOperation
(
value
=
"获取货单选择的车辆列表"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/getOrderGoodsTruckList"
)
public
Result
<
List
<
OrderGoodsTruckListVO
>>
getOrderGoodsTruckList
(
@RequestBody
@Validated
OrderGoodsTruckListParam
param
)
{
List
<
OrderGoodsTruckListVO
>
list
=
truckService
.
getOrderGoodsTruckList
(
param
);
return
Result
.
ok
(
list
);
}
...
...
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
浏览文件 @
944eb43a
...
...
@@ -33,4 +33,8 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
List
<
OrderGoodsTruckBind
>
selectListByOrderGoodsNo
(
String
orderGoodsNo
);
void
updateOrderGoodsBindStatusExpire
(
String
orderGoodsNo
);
List
<
OrderGoodsTruckBind
>
getTrucksBindByOrderGoodsNo
(
String
orderGoodsNo
,
String
truckNo
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
浏览文件 @
944eb43a
package
com
.
clx
.
performance
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.mapper.OrderGoodsTruckBindMapper
;
...
...
@@ -8,6 +10,7 @@ import com.clx.performance.model.OrderGoodsTruckBind;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
com.msl.common.utils.DateUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
...
...
@@ -97,4 +100,17 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
EXPIRE
.
getCode
())
);
}
@Override
public
List
<
OrderGoodsTruckBind
>
getTrucksBindByOrderGoodsNo
(
String
orderGoodsNo
,
String
truckNo
)
{
LambdaQueryWrapper
<
OrderGoodsTruckBind
>
query
=
new
LambdaQueryWrapper
();
query
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
);
if
(
StringUtils
.
isNotBlank
(
truckNo
)){
query
.
eq
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckNo
);
}
query
.
in
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
SUCCESS
.
getCode
(),
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
());
query
.
orderByDesc
(
OrderGoodsTruckBind
::
getCreateTime
);
return
baseMapper
.
selectList
(
query
);
}
}
performance-web/src/main/java/com/clx/performance/service/TruckService.java
浏览文件 @
944eb43a
...
...
@@ -2,8 +2,10 @@ package com.clx.performance.service;
import
com.clx.performance.dto.zjxl.TruckCoordinateDTO
;
import
com.clx.performance.dto.zjxl.TruckTraceDTO
;
import
com.clx.performance.param.pc.OrderGoodsTruckListParam
;
import
com.clx.performance.param.pc.PageTruckListParam
;
import
com.clx.performance.param.pc.PageVicinityTruckListParam
;
import
com.clx.performance.vo.pc.OrderGoodsTruckListVO
;
import
com.clx.performance.vo.pc.PageTruckListVO
;
import
com.msl.common.base.PageData
;
...
...
@@ -29,4 +31,6 @@ public interface TruckService {
List
<
TruckCoordinateDTO
>
getAllTruckCoordinate
();
List
<
OrderGoodsTruckListVO
>
getOrderGoodsTruckList
(
OrderGoodsTruckListParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/impl/TruckServiceImpl.java
浏览文件 @
944eb43a
...
...
@@ -5,14 +5,19 @@ import com.clx.order.enums.ResultEnum;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.dto.zjxl.TruckCoordinateDTO
;
import
com.clx.performance.dto.zjxl.TruckTraceDTO
;
import
com.clx.performance.enums.DriverTruckEnum
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.job.TruckTraceJob
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.param.pc.OrderGoodsTruckListParam
;
import
com.clx.performance.param.pc.PageTruckListParam
;
import
com.clx.performance.param.pc.PageVicinityTruckListParam
;
import
com.clx.performance.service.TruckService
;
import
com.clx.performance.utils.RedisGeoUntil
;
import
com.clx.performance.vo.pc.OrderGoodsTruckListVO
;
import
com.clx.performance.vo.pc.PageTruckListVO
;
import
com.clx.user.feign.UserClxFeign
;
import
com.clx.user.vo.feign.TruckUseStatusVO
;
...
...
@@ -65,6 +70,11 @@ public class TruckServiceImpl implements TruckService {
TruckTraceJob
truckTraceJob
;
@Autowired
OrderGoodsTruckBindDao
orderGoodsTruckBindDao
;
/**
* @Author kavin
* @Description geo 获取附近车辆
...
...
@@ -309,4 +319,43 @@ public class TruckServiceImpl implements TruckService {
return
list
.
stream
().
skip
((
currentPage
-
1
)*
pageSize
).
limit
(
pageSize
).
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
OrderGoodsTruckListVO
>
getOrderGoodsTruckList
(
OrderGoodsTruckListParam
param
)
{
List
<
OrderGoodsTruckBind
>
truckList
=
orderGoodsTruckBindDao
.
getTrucksBindByOrderGoodsNo
(
param
.
getOrderGoodsNo
(),
param
.
getTruckNo
());
if
(
CollectionUtils
.
isEmpty
(
truckList
)){
return
new
ArrayList
<>();
}
Map
<
String
,
Integer
>
truckStatusMap
=
this
.
getTruckStatusMap
();
List
<
OrderGoodsTruckListVO
>
result
=
new
ArrayList
<>();
truckList
.
stream
().
forEach
(
item
->{
Integer
orderedStatus
=
Objects
.
equals
(
OrderGoodsTruckBindEnum
.
Status
.
GET
.
getCode
(),
item
.
getStatus
())?
1
:
0
;
OrderGoodsTruckListVO
vo
=
OrderGoodsTruckListVO
.
builder
().
truckNo
(
item
.
getTruckNo
()).
truckLevel
(
"A"
).
truckUseStatus
(
truckStatusMap
.
get
(
item
.
getTruckNo
())).
orderedStatus
(
orderedStatus
).
build
();
result
.
add
(
vo
);
});
String
orderNo
=
truckList
.
get
(
0
).
getOrderNo
();
GeoResults
<
RedisGeoCommands
.
GeoLocation
<
String
>>
sortResult
=
this
.
vicinityTruckList
(
orderNo
,
Integer
.
MAX_VALUE
,
Integer
.
MAX_VALUE
);
if
(
Objects
.
isNull
(
sortResult
)){
return
result
;
}
Map
<
String
,
Double
>
truckDistanceMap
=
new
HashMap
<>();
List
<
GeoResult
<
RedisGeoCommands
.
GeoLocation
<
String
>>>
content
=
sortResult
.
getContent
();
//车辆距离发货地由近及远的车辆列表信息
for
(
GeoResult
<
RedisGeoCommands
.
GeoLocation
<
String
>>
item
:
content
){
String
truckNo
=
item
.
getContent
().
getName
();
double
maxDistance
=
item
.
getDistance
().
getValue
();
truckDistanceMap
.
put
(
truckNo
,
maxDistance
);
}
result
.
stream
().
forEach
(
item
->{
item
.
setMaxDistance
(
truckDistanceMap
.
get
(
item
.
getTruckNo
()));});
return
result
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论