Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
1c6ba5c2
提交
1c6ba5c2
authored
9月 19, 2023
作者:
liuhaiquan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
提交车辆列表代码
上级
d84325a5
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
220 行增加
和
0 行删除
+220
-0
pom.xml
performance-api/pom.xml
+1
-0
PageTruckListParam.java
...java/com/clx/performance/param/pc/PageTruckListParam.java
+32
-0
PageTruckListVO.java
.../main/java/com/clx/performance/vo/pc/PageTruckListVO.java
+30
-0
pom.xml
performance-web/pom.xml
+6
-0
RedisConstants.java
...ain/java/com/clx/performance/constant/RedisConstants.java
+4
-0
TruckController.java
...va/com/clx/performance/controller/pc/TruckController.java
+66
-0
TruckTraceJob.java
.../src/main/java/com/clx/performance/job/TruckTraceJob.java
+81
-0
没有找到文件。
performance-api/pom.xml
浏览文件 @
1c6ba5c2
...
...
@@ -27,6 +27,7 @@
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
1.18.24
</version>
</dependency>
<dependency>
...
...
performance-api/src/main/java/com/clx/performance/param/pc/PageTruckListParam.java
0 → 100644
浏览文件 @
1c6ba5c2
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.validation.constraints.NotNull
;
/**
* @ClassName PageTruckListParam
* @Description
* @Author kavin
* @Date 2023/9/19 16:04
* @Version 1.0
*/
@Getter
@Setter
public
class
PageTruckListParam
{
@NotNull
(
message
=
"需要车数不能为空"
)
@ApiModelProperty
(
value
=
"需要车辆数量"
,
example
=
"5"
)
private
Integer
needTruckNum
;
@ApiModelProperty
(
value
=
"空重车状态 1 空车 2 运单-空车 3 运单-重车"
,
example
=
"1"
)
private
Integer
truckUserStatus
;
@ApiModelProperty
(
value
=
"车辆等级"
,
example
=
"A"
)
private
String
truckLevel
;
@ApiModelProperty
(
value
=
"距离最大值"
,
example
=
"20"
)
private
Integer
maxDistance
;
@ApiModelProperty
(
value
=
"车牌号"
,
example
=
"冀F12345"
)
private
String
truckNo
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/PageTruckListVO.java
0 → 100644
浏览文件 @
1c6ba5c2
package
com
.
clx
.
performance
.
vo
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @ClassName SeniorLogisticsManagerVO
* @Description
* @Author kavin
* @Date 2023/9/18 19:51
* @Version 1.0
*/
@Getter
@Setter
public
class
PageTruckListVO
{
@ApiModelProperty
(
"车牌号"
)
private
String
truckNo
;
@ApiModelProperty
(
"状态"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"车辆等级"
,
example
=
"A"
)
private
String
truckLevel
;
@ApiModelProperty
(
value
=
"距货源地"
,
example
=
"20"
)
private
Integer
maxDistance
;
}
performance-web/pom.xml
浏览文件 @
1c6ba5c2
...
...
@@ -38,6 +38,12 @@
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.clx.cy
</groupId>
<artifactId>
user-api
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.msl
</groupId>
<artifactId>
user-sdk
</artifactId>
...
...
performance-web/src/main/java/com/clx/performance/constant/RedisConstants.java
浏览文件 @
1c6ba5c2
...
...
@@ -4,4 +4,8 @@ public class RedisConstants {
public
static
final
String
ORDER_NO_BLOCK
=
"performance:order_no_block:"
;
public
static
final
String
ZJXL_TRUCK_TRACE_LIST
=
"performance:zjxl_truck_trace_list:"
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/TruckController.java
0 → 100644
浏览文件 @
1c6ba5c2
package
com
.
clx
.
performance
.
controller
.
pc
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.params.OrderGoodsChildParams
;
import
com.clx.order.params.OrderGoodsParams
;
import
com.clx.order.params.PageCarrierOrderListParam
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.order.vo.feign.FeignPageOrderVO
;
import
com.clx.performance.component.OrderGoodsIdGenerate
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.pc.PageTruckListParam
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.vo.pc.PageTruckListVO
;
import
com.msl.common.base.PageData
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.DateUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.validation.annotation.Validated
;
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
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
/**
* @ClassName GoodsOrderController
* @Description
* @Author kavin
* @Date 2023/9/17 17:16
* @Version 1.0
*/
@Slf4j
@RestController
@RequestMapping
(
"/pc/truck"
)
@Validated
@Api
(
tags
=
"PC-车辆"
)
public
class
TruckController
{
@ApiOperation
(
value
=
"获取车辆列表"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/pageTruckList"
)
public
Result
<
PageData
<
PageTruckListVO
>>
pageTruckList
(
@RequestBody
@Validated
PageTruckListParam
param
)
{
IPage
<
PageTruckListVO
>
page
=
null
;
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
}
performance-web/src/main/java/com/clx/performance/job/TruckTraceJob.java
0 → 100644
浏览文件 @
1c6ba5c2
package
com
.
clx
.
performance
.
job
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.dto.zjxl.TruckTraceDTO
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.utils.zjxl.ZjxlGpsService
;
import
com.clx.user.feign.UserClxFeign
;
import
com.msl.common.enums.ResultCodeEnum
;
import
com.msl.common.job.JobLog
;
import
com.msl.common.result.Result
;
import
com.msl.user.feign.UserFeign
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.time.temporal.ChronoUnit
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Objects
;
@Slf4j
@Component
public
class
TruckTraceJob
{
@Resource
UserClxFeign
userClxFeign
;
@Autowired
ZjxlGpsService
zjxlGpsService
;
@Autowired
RedisTemplate
redisTemplate
;
/**
* 驾驶证过期
*/
@XxlJob
(
"truckTrace"
)
public
void
truckTrace
()
{
try
{
getPlatformTruckTrace
();
}
catch
(
Exception
e
)
{
log
.
warn
(
"定时任务获取平台车辆定位信息失败,异常原因:{}"
,
e
);
JobLog
.
error
(
"定时任务获取平台车辆定位信息失败,异常原因====================="
,
e
);
}
}
/**
* @Author kavin
* @Description 定时获取平台车辆的定位
* @Param []
* @return
**/
public
void
getPlatformTruckTrace
(){
Result
<
List
<
String
>>
result
=
userClxFeign
.
getPlatformTruckList
();
log
.
info
(
"通过clx-user服务获取平台认证成功车辆,返回结果:{}"
,
result
);
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
beginTime
=
now
.
plus
(-
5
,
ChronoUnit
.
MINUTES
);
if
(
Objects
.
equals
(
result
.
getCode
(),
ResultCodeEnum
.
SUCCESS
.
getCode
())){
List
<
String
>
truckNos
=
result
.
getData
();
for
(
String
truckNo
:
truckNos
){
List
<
TruckTraceDTO
>
truckTrace
=
zjxlGpsService
.
getTruckTrace
(
truckNo
,
LocalDateTimeUtils
.
formatTime
(
beginTime
),
LocalDateTimeUtils
.
formatTime
(
now
));
if
(
CollectionUtils
.
isNotEmpty
(
truckTrace
)){
//排序获取最新的定位位置
truckTrace
.
stream
().
sorted
(
Comparator
.
comparing
(
TruckTraceDTO:
:
getGpsTime
));
TruckTraceDTO
truckTraceDTO
=
truckTrace
.
get
(
0
);
redisTemplate
.
opsForHash
().
put
(
RedisConstants
.
ZJXL_TRUCK_TRACE_LIST
,
truckNo
,
truckTraceDTO
);
}
}
}
else
{
log
.
info
(
"通过clx-user服务获取平台认证成功车辆,获取失败"
);
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论