Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
f350194b
提交
f350194b
authored
12月 06, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
同步运单
上级
942548ad
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
85 行增加
和
0 行删除
+85
-0
TransportSyncService.java
...ava/com/clx/performance/service/TransportSyncService.java
+6
-0
TransportSyncServiceImpl.java
...lx/performance/service/impl/TransportSyncServiceImpl.java
+79
-0
没有找到文件。
performance-web/src/main/java/com/clx/performance/service/TransportSyncService.java
浏览文件 @
f350194b
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam
;
public
interface
TransportSyncService
{
ThirdOrderChildBrokerParam
orderChildSync
(
OrderChild
orderChild
,
OrderGoods
orderGoods
);
}
performance-web/src/main/java/com/clx/performance/service/impl/TransportSyncServiceImpl.java
浏览文件 @
f350194b
...
...
@@ -5,11 +5,14 @@ import com.clx.order.feign.OrderFeign;
import
com.clx.order.vo.feign.FeignAddressVO
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.dao.OrderChildImageDao
;
import
com.clx.performance.dto.gd.GdPosDTO
;
import
com.clx.performance.dto.gd.GdRouteDTO
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildImage
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.feign.transport.*
;
import
com.clx.performance.service.TransportSyncService
;
import
com.clx.performance.utils.gd.GdService
;
import
com.clx.user.feign.DriverFeign
;
import
com.clx.user.feign.TruckFeign
;
import
com.clx.user.vo.feign.*
;
...
...
@@ -18,6 +21,10 @@ import lombok.AllArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -31,7 +38,9 @@ public class TransportSyncServiceImpl implements TransportSyncService {
private
final
OrderFeign
orderFeign
;
private
final
TruckFeign
truckFeign
;
private
final
DriverFeign
driverFeign
;
private
final
GdService
gdService
;
@Override
public
ThirdOrderChildBrokerParam
orderChildSync
(
OrderChild
orderChild
,
OrderGoods
orderGoods
)
{
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderGoods
.
getOrderNo
());
ThirdOrderChildBrokerParam
param
=
new
ThirdOrderChildBrokerParam
();
...
...
@@ -44,10 +53,35 @@ public class TransportSyncServiceImpl implements TransportSyncService {
generateOrderGoods
(
orderGoods
,
orderChild
,
sendAddress
,
receiveAddress
,
param
);
//生成车辆信息
generateTruckInfo
(
orderChild
,
param
);
List
<
GdRouteDTO
>
route
=
gdService
.
getRoute
(
orderGoods
.
getSendLongitude
().
setScale
(
4
,
RoundingMode
.
DOWN
)
,
orderGoods
.
getSendLatitude
().
setScale
(
4
,
RoundingMode
.
DOWN
),
orderGoods
.
getReceiveLongitude
().
setScale
(
4
,
RoundingMode
.
DOWN
),
orderGoods
.
getReceiveLatitude
().
setScale
(
4
,
RoundingMode
.
DOWN
));
GdRouteDTO
gdRouteDTO
=
route
.
get
(
0
);
BigDecimal
divide
=
new
BigDecimal
(
gdRouteDTO
.
getDistance
()).
divide
(
new
BigDecimal
(
1000
));
param
.
setDistance
(
divide
);
SyncOrderChildVO
syncOrderChildVO
=
driverFeign
.
getSyncOrderChild
(
orderChild
.
getDriverUserNo
(),
orderChild
.
getTruckOwnUserNo
()).
getData
();
DriverInfoFeignVo
truckOwnerInfo
=
syncOrderChildVO
.
getTruckOwnerInfo
();
DriverInfoFeignVo
diverInfo
=
syncOrderChildVO
.
getDiverInfo
();
BankCardVO
driverBankCard
=
syncOrderChildVO
.
getDriverBankCard
();
UserIdCardVO
driverUserIdCardVO
=
syncOrderChildVO
.
getDriverUserIdCardVO
();
BankCardVO
truckOwnerBankCard
=
syncOrderChildVO
.
getTruckOwnerBankCard
();
UserIdCardVO
truckOwnerUserIdCardVO
=
syncOrderChildVO
.
getTruckOwnerUserIdCardVO
();
DriverLicenceFeignVO
driverLicenceFeignVO
=
syncOrderChildVO
.
getDriverLicenceFeignVO
();
DriverLicenceFeignVO
truckOwnerLicenceFeignVO
=
syncOrderChildVO
.
getTruckOwnerLicenceFeignVO
();
//设置司机银行卡
generateDriverBankCard
(
driverBankCard
,
driverUserIdCardVO
,
param
);
//设置车主银行卡
generateTruckDriverBankCard
(
truckOwnerBankCard
,
truckOwnerUserIdCardVO
,
param
);
//司机信息
generateDriverInfoDTO
(
diverInfo
,
driverLicenceFeignVO
,
driverUserIdCardVO
,
param
);
//车主信息
generateTruckDriverInfoDTO
(
truckOwnerInfo
,
truckOwnerLicenceFeignVO
,
truckOwnerUserIdCardVO
,
param
);
//设置轨迹
generateRouteList
(
gdRouteDTO
,
param
);
return
param
;
}
...
...
@@ -247,4 +281,49 @@ public class TransportSyncServiceImpl implements TransportSyncService {
dto
.
setIdCardBackImg
(
idCardVO
.
getCardBackImg
());
param
.
setTruckDriverBankInfoDTO
(
dto
);
}
public
void
generateRouteList
(
GdRouteDTO
gdRouteDTO
,
ThirdOrderChildBrokerParam
param
)
{
List
<
OrderChildTruckTraceDTO
>
list
=
new
LinkedList
<>();
for
(
int
i
=
0
;
i
<
gdRouteDTO
.
getPosList
().
size
();
i
++)
{
if
(
i
==
6
)
{
OrderChildTruckTraceDTO
dto
=
new
OrderChildTruckTraceDTO
();
GdPosDTO
gdPosDTO
=
gdRouteDTO
.
getPosList
().
get
(
gdRouteDTO
.
getPosList
().
size
()
-
1
);
BigDecimal
longitude
=
gdPosDTO
.
getLongitude
();
BigDecimal
latitude
=
gdPosDTO
.
getLatitude
();
String
address
=
gdService
.
getLonLat
(
longitude
+
","
+
latitude
);
dto
.
setLocationAddress
(
address
);
dto
.
setLocationTime
(
LocalDateTime
.
now
().
toString
());
dto
.
setLocationLon
(
longitude
.
toString
());
dto
.
setLocationLat
(
latitude
.
toString
());
list
.
add
(
dto
);
return
;
}
if
(
i
==
0
)
{
OrderChildTruckTraceDTO
dto
=
new
OrderChildTruckTraceDTO
();
GdPosDTO
gdPosDTO
=
gdRouteDTO
.
getPosList
().
get
(
i
);
BigDecimal
longitude
=
gdPosDTO
.
getLongitude
();
BigDecimal
latitude
=
gdPosDTO
.
getLatitude
();
String
address
=
gdService
.
getLonLat
(
longitude
+
","
+
latitude
);
dto
.
setLocationAddress
(
address
);
dto
.
setLocationTime
(
LocalDateTime
.
now
().
toString
());
dto
.
setLocationLon
(
longitude
.
toString
());
dto
.
setLocationLat
(
latitude
.
toString
());
list
.
add
(
dto
);
}
else
{
OrderChildTruckTraceDTO
dto
=
new
OrderChildTruckTraceDTO
();
int
randomNum
=
(
int
)
(
Math
.
random
()
*
(
gdRouteDTO
.
getPosList
().
size
()
-
1
)
+
1
);
GdPosDTO
gdPosDTO
=
gdRouteDTO
.
getPosList
().
get
(
randomNum
);
BigDecimal
longitude
=
gdPosDTO
.
getLongitude
();
BigDecimal
latitude
=
gdPosDTO
.
getLatitude
();
String
address
=
gdService
.
getLonLat
(
longitude
+
","
+
latitude
);
dto
.
setLocationAddress
(
address
);
dto
.
setLocationTime
(
LocalDateTime
.
now
().
toString
());
dto
.
setLocationLon
(
longitude
.
toString
());
dto
.
setLocationLat
(
latitude
.
toString
());
list
.
add
(
dto
);
}
}
param
.
setBrokerTraceList
(
list
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论