Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
999af438
提交
999af438
authored
4月 13, 2024
作者:
liruixin
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'bug_log_optimization_20240413' into dev
上级
55f15bbc
78ca6abf
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
106 行增加
和
22 行删除
+106
-22
OrderChildPaySyncTransportJob.java
...om/clx/performance/job/OrderChildPaySyncTransportJob.java
+64
-1
OrderChildDtsListener.java
...a/com/clx/performance/listener/OrderChildDtsListener.java
+4
-1
OrderChildSyncTransportListener.java
...performance/listener/OrderChildSyncTransportListener.java
+1
-0
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+1
-1
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+6
-2
OwnerAccountServiceImpl.java
...clx/performance/service/impl/OwnerAccountServiceImpl.java
+7
-7
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+21
-8
GoodsOrderStrategy.java
...java/com/clx/performance/strategy/GoodsOrderStrategy.java
+2
-2
logback.xml
performance-web/src/main/resources/logback.xml
+0
-0
没有找到文件。
performance-web/src/main/java/com/clx/performance/job/OrderChildPaySyncTransportJob.java
浏览文件 @
999af438
...
...
@@ -3,18 +3,41 @@ package com.clx.performance.job;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.performance.component.ThirdComponent
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.settle.OrderChildSyncTransportRecordDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dto.OrderChildSyncDTO
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.feign.TransportFeignService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.settle.OrderChildSyncTransportRecord
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.feign.transport.OrderChildPaySyncParam
;
import
com.clx.performance.service.settle.SettlementDriverDetailService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.service.settle.SettlementOwnerDetailService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
import
com.msl.common.dto.HttpDTO
;
import
com.xxl.job.core.context.XxlJobHelper
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
@Slf4j
...
...
@@ -26,12 +49,24 @@ public class OrderChildPaySyncTransportJob {
private
final
TransportFeignService
transportFeignService
;
private
final
SettlementMqHandlerService
settlementMqHandlerService
;
private
final
SettlementDriverDetailService
settlementDriverDetailService
;
private
final
SettlementOwnerDetailService
settlementOwnerDetailService
;
private
final
SettlementMqService
settlementMqService
;
private
final
OrderChildDao
orderChildDao
;
private
final
OrderGoodsDao
orderGoodsDao
;
/**
* 同步网络货运
*/
@XxlJob
(
"orderChildPaySyncTransportJob"
)
public
void
orderChildPaySyncTransportJob
()
{
List
<
OrderChildSyncTransportRecord
>
recordList
=
orderChildSyncTransportRecordDao
.
selectListForJob
();
List
<
OrderChildSyncTransportRecord
>
recordList
=
orderChildSyncTransportRecordDao
.
selectListForJob
();
if
(
CollectionUtil
.
isEmpty
(
recordList
))
{
return
;
}
...
...
@@ -52,4 +87,32 @@ public class OrderChildPaySyncTransportJob {
}
}
/**
* 结算信息job处理
* */
@XxlJob
(
"settlementDetailInvoiceTypeSyncJob"
)
public
void
settlementDetailInvoiceTypeSyncJob
()
{
String
jobParam
=
XxlJobHelper
.
getJobParam
();
log
.
info
(
"XxlJobHelper jobParam:{}"
,
jobParam
);
SettlementDetailInvoiceTypeSyncMqParam
mqParam
=
new
SettlementDetailInvoiceTypeSyncMqParam
();
mqParam
.
setChildNo
(
jobParam
);
settlementMqHandlerService
.
settlementDetailInvoiceTypeSync
(
mqParam
);
}
@XxlJob
(
"testJob"
)
public
void
test2
()
{
String
jobParam
=
XxlJobHelper
.
getJobParam
();
log
.
info
(
"XxlJobHelper jobParam:{}"
,
jobParam
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
jobParam
).
get
();
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
get
();
Integer
settlementDriverDetailId
=
settlementDriverDetailService
.
saveSettlementDetail
(
orderChild
);
Integer
settlementOwnerDetailId
=
settlementOwnerDetailService
.
saveSettlementDetail
(
orderChild
,
orderGoods
);
settlementMqService
.
settlementDetailAdd
(
settlementDriverDetailId
,
settlementOwnerDetailId
);
}
}
performance-web/src/main/java/com/clx/performance/listener/OrderChildDtsListener.java
浏览文件 @
999af438
...
...
@@ -69,7 +69,10 @@ public class OrderChildDtsListener {
}
else
if
(
Objects
.
equals
(
DtsOperationTypeEnum
.
UPDATE
.
getCode
(),
dataTransportDTO
.
getOperationType
().
getCode
())){
log
.
info
(
"修改:{}"
,
after
);
if
(
OrderChildEnum
.
SYNC_STATUS_lIST
.
contains
(
after
.
getStatus
())
&&
(!
Objects
.
equals
(
before
.
getStatus
(),
after
.
getStatus
())
||
!
Objects
.
equals
(
before
.
getLoadNet
(),
after
.
getLoadNet
()))){
(!
Objects
.
equals
(
before
.
getStatus
(),
after
.
getStatus
())
||
!
Objects
.
equals
(
before
.
getLoadNet
(),
after
.
getLoadNet
()))
||
!
Objects
.
equals
(
before
.
getUnloadNet
(),
after
.
getUnloadNet
())
){
orderChildChangeAfter
(
after
);
}
if
(
OrderChildEnum
.
DTS_LISTEN_CANCEL_lIST
.
contains
(
after
.
getStatus
())){
...
...
performance-web/src/main/java/com/clx/performance/listener/OrderChildSyncTransportListener.java
浏览文件 @
999af438
...
...
@@ -109,6 +109,7 @@ public class OrderChildSyncTransportListener {
public
void
extracted
(
OrderChild
orderChild
,
OrderChildSyncDTO
bean
,
String
remark
,
SettlementOwnerDetail
settlementOwnerDetail
,
Integer
invoiceType
,
SettlementDriverDetail
settlementDriverDetail
)
{
settlementOwnerDetail
.
setInvoiceFreight
(
invoiceFreightCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
if
(
null
!=
bean
&&
bean
.
getCode
()
==
0
)
{
log
.
info
(
"当前OrderChildSyncTransportListener监听同步网络货运成功,运单号为{}"
,
orderChild
.
getChildNo
());
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
999af438
...
...
@@ -741,7 +741,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
update
.
setFinishTime
(
now
);
orderChildDao
.
updateEntityByKey
(
update
);
orderCancelComponent
.
backFillTonnageForArtificial
(
orderChild
.
getOrderGoodsNo
(),
orderChild
.
get
Weigh
t
());
orderCancelComponent
.
backFillTonnageForArtificial
(
orderChild
.
getOrderGoodsNo
(),
orderChild
.
get
LoadNe
t
());
goodsOrderTruckRecordComponent
.
releaseAllDriverCard
(
orderChild
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
());
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
999af438
...
...
@@ -774,6 +774,7 @@ public class OrderChildServiceImpl implements OrderChildService {
private
void
updateReload
(
OrderChildLoadParam
param
,
OrderChild
orderChild
,
OrderGoods
orderGoods
)
{
String
childNo
=
param
.
getChildNo
();
log
.
info
(
"装车毛重:{}, 装车皮重:{}"
,
param
.
getLoadRough
(),
param
.
getLoadTare
());
BigDecimal
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
...
...
@@ -791,8 +792,8 @@ public class OrderChildServiceImpl implements OrderChildService {
imageList
.
add
(
image
);
}
BigDecimal
dif
=
loadNet
.
subtract
(
orderChild
.
get
Weigh
t
());
BigDecimal
dif
=
loadNet
.
subtract
(
orderChild
.
get
LoadNe
t
());
log
.
info
(
"dif:{}, loadNet:{}"
,
dif
,
loadNet
);
orderChild
.
setLoadRough
(
param
.
getLoadRough
());
orderChild
.
setLoadTare
(
param
.
getLoadTare
());
orderChild
.
setLoadNet
(
loadNet
);
...
...
@@ -1346,6 +1347,8 @@ public class OrderChildServiceImpl implements OrderChildService {
}
@Override
public
OrderChildVO
getOrderChildInfo
(
String
childNo
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
...
...
@@ -1605,6 +1608,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderGoodsService
.
borrowWeight
(
orderGoods
,
childNo
,
orderGoods
.
getResidueTransportWeight
(),
dif
,
dif
.
subtract
(
orderGoods
.
getResidueTransportWeight
()),
orderGoodsStatus
);
}
else
{
log
.
info
(
"货单吨数有剩余,归还吨数:{}"
,
dif
);
// 货单吨数够扣减,直接更新货单剩余吨数和已拉运吨数和状态
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
dif
,
orderGoodsStatus
);
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OwnerAccountServiceImpl.java
浏览文件 @
999af438
...
...
@@ -270,8 +270,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
//插入冻结流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
loginUserInfo
.
get
UserName
());
runningWaterRecord
.
setMobile
(
loginUserInfo
.
getUser
Mobile
());
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwner
UserName
());
runningWaterRecord
.
setMobile
(
account
.
get
Mobile
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setRelationId
(
entity
.
getCaseOutNo
());
//变动金额
...
...
@@ -327,8 +327,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
ownerCaseOutDao
.
saveEntity
(
entity
);
//插入冻结流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
loginUserInfo
.
get
UserName
());
runningWaterRecord
.
setMobile
(
loginUserInfo
.
getUser
Mobile
());
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwner
UserName
());
runningWaterRecord
.
setMobile
(
account
.
get
Mobile
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setRelationId
(
entity
.
getCaseOutNo
());
...
...
@@ -401,7 +401,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
//需要插入充值流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwnerUserName
());
runningWaterRecord
.
setMobile
(
loginUserInfo
.
getUser
Mobile
());
runningWaterRecord
.
setMobile
(
account
.
get
Mobile
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setRelationId
(
ownerTopUp
.
getTopUpNo
());
...
...
@@ -480,8 +480,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
ownerCaseOut
.
getOwnerUserNo
(),
ownerCaseOut
.
getAccountType
());
//插入提现成功流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
loginUserInfo
.
get
UserName
());
runningWaterRecord
.
setMobile
(
loginUserInfo
.
getUser
Mobile
());
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwner
UserName
());
runningWaterRecord
.
setMobile
(
account
.
get
Mobile
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setRelationId
(
ownerCaseOut
.
getCaseOutNo
());
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
999af438
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
import
com.clx.performance.config.MslPaymentConfig
;
import
com.clx.performance.constant.RedissonConstants
;
...
...
@@ -13,10 +14,7 @@ import com.clx.performance.enums.OrderChildEnum;
import
com.clx.performance.enums.OrderChildLogEnum
;
import
com.clx.performance.enums.PayRemarkEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementLogEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementPlatformEnum
;
import
com.clx.performance.enums.settle.*
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.OrderService
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
...
...
@@ -109,15 +107,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
private
OrderService
orderService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
settlementDetailInvoiceTypeSync
(
SettlementDetailInvoiceTypeSyncMqParam
mq
)
{
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
log
.
info
(
"当前车主计费信息{},司机计费信息:{}"
,
JSONUtil
.
parse
(
settlementOwnerDetail
),
JSONUtil
.
parse
(
settlementDriverDetail
));
if
(
settlementOwnerDetail
.
getInvoiceFreight
()
==
null
)
{
log
.
info
(
"当前车主计费信息开票金额为空,需要重新处理计算开票金额"
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
get
();
settlementOwnerDetail
.
setInvoiceFreight
(
invoiceFreightCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
SettlementOwnerDetail
update
=
new
SettlementOwnerDetail
();
update
.
setId
(
settlementOwnerDetail
.
getId
());
update
.
setInvoiceFreight
(
settlementOwnerDetail
.
getInvoiceFreight
());
settlementOwnerDetailDao
.
updateEntityByKey
(
update
);
}
String
settlementNo
=
null
;
SettlementOwner
settlementOwner
=
null
;
...
...
@@ -482,4 +486,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return
uniqueOrderNumService
.
getUniqueOrderNum
(
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
convertLocalDateTimeToString
(
LocalDateTime
.
now
(),
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
DATE_DAY
));
}
private
BigDecimal
invoiceFreightCalc
(
Integer
settlementWay
,
SettlementOwnerDetail
settlementOwnerDetail
)
{
if
(
Objects
.
equals
(
settlementWay
,
SettlementWayEnum
.
WayType
.
LOAD
.
getCode
()))
{
//订单结算方式为“装车净重”时,开票金额=实际净重*平台运费报价-货损金额。
return
settlementOwnerDetail
.
getWeight
().
multiply
(
settlementOwnerDetail
.
getFreightPrice
())
.
subtract
(
settlementOwnerDetail
.
getLossFreight
());
}
else
{
//订单结算方式为“卸车净重”时,开票金额=实际净重*平台运费报价。
return
settlementOwnerDetail
.
getWeight
().
multiply
(
settlementOwnerDetail
.
getFreightPrice
());
}
}
}
performance-web/src/main/java/com/clx/performance/strategy/GoodsOrderStrategy.java
浏览文件 @
999af438
...
...
@@ -50,14 +50,14 @@ public abstract class GoodsOrderStrategy {
throw
new
ServiceSystemException
(
ResultEnum
.
DATA_ERROR
,
"订单已暂停,无法进行提量"
);
}
String
transportBeginTime
=
orderInfo
.
getTransportBeginTime
();
if
(!
"test"
.
equals
(
environment
.
getActiveProfiles
()[
0
]))
{
/*
if (!"test".equals(environment.getActiveProfiles()[0])) {
for (OrderGoodsChildParams param : orderGoodsParams.getOrderGoodsChildParams()) {
String pendingOrderTime = param.getPendingOrderTime();
if (DateUtils.parseDateTime(pendingOrderTime).get().isBefore(DateUtils.parseDateTime(transportBeginTime).get())) {
throw new ServiceSystemException(ResultEnum.DATA_ERROR, "挂单时间不能早于拉运开始时间");
}
}
}
}
*/
//多个定向单不允许车辆重复
List
<
OrderGoodsChildParams
>
orderGoodsChildParams
=
orderGoodsParams
.
getOrderGoodsChildParams
();
...
...
performance-web/src/main/resources/logback.xml
浏览文件 @
999af438
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论