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 个修改的文件
包含
179 行增加
和
115 行删除
+179
-115
OrderChildPaySyncTransportJob.java
...om/clx/performance/job/OrderChildPaySyncTransportJob.java
+63
-0
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
+74
-94
没有找到文件。
performance-web/src/main/java/com/clx/performance/job/OrderChildPaySyncTransportJob.java
浏览文件 @
999af438
...
@@ -3,18 +3,41 @@ package com.clx.performance.job;
...
@@ -3,18 +3,41 @@ package com.clx.performance.job;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.performance.component.ThirdComponent
;
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.OrderChildSyncTransportRecordDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dto.OrderChildSyncDTO
;
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.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.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.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.msl.common.dto.HttpDTO
;
import
com.xxl.job.core.context.XxlJobHelper
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Slf4j
@Slf4j
...
@@ -26,6 +49,18 @@ public class OrderChildPaySyncTransportJob {
...
@@ -26,6 +49,18 @@ public class OrderChildPaySyncTransportJob {
private
final
TransportFeignService
transportFeignService
;
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
;
/**
/**
* 同步网络货运
* 同步网络货运
*/
*/
...
@@ -52,4 +87,32 @@ public class OrderChildPaySyncTransportJob {
...
@@ -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 {
...
@@ -69,7 +69,10 @@ public class OrderChildDtsListener {
}
else
if
(
Objects
.
equals
(
DtsOperationTypeEnum
.
UPDATE
.
getCode
(),
dataTransportDTO
.
getOperationType
().
getCode
())){
}
else
if
(
Objects
.
equals
(
DtsOperationTypeEnum
.
UPDATE
.
getCode
(),
dataTransportDTO
.
getOperationType
().
getCode
())){
log
.
info
(
"修改:{}"
,
after
);
log
.
info
(
"修改:{}"
,
after
);
if
(
OrderChildEnum
.
SYNC_STATUS_lIST
.
contains
(
after
.
getStatus
())
&&
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
);
orderChildChangeAfter
(
after
);
}
}
if
(
OrderChildEnum
.
DTS_LISTEN_CANCEL_lIST
.
contains
(
after
.
getStatus
())){
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 {
...
@@ -109,6 +109,7 @@ public class OrderChildSyncTransportListener {
public
void
extracted
(
OrderChild
orderChild
,
OrderChildSyncDTO
bean
,
String
remark
,
public
void
extracted
(
OrderChild
orderChild
,
OrderChildSyncDTO
bean
,
String
remark
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementOwnerDetail
settlementOwnerDetail
,
Integer
invoiceType
,
SettlementDriverDetail
settlementDriverDetail
)
{
Integer
invoiceType
,
SettlementDriverDetail
settlementDriverDetail
)
{
settlementOwnerDetail
.
setInvoiceFreight
(
invoiceFreightCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
if
(
null
!=
bean
&&
bean
.
getCode
()
==
0
)
{
if
(
null
!=
bean
&&
bean
.
getCode
()
==
0
)
{
log
.
info
(
"当前OrderChildSyncTransportListener监听同步网络货运成功,运单号为{}"
,
orderChild
.
getChildNo
());
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 {
...
@@ -741,7 +741,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
update
.
setFinishTime
(
now
);
update
.
setFinishTime
(
now
);
orderChildDao
.
updateEntityByKey
(
update
);
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
());
goodsOrderTruckRecordComponent
.
releaseAllDriverCard
(
orderChild
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
());
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
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 {
...
@@ -774,6 +774,7 @@ public class OrderChildServiceImpl implements OrderChildService {
private
void
updateReload
(
OrderChildLoadParam
param
,
OrderChild
orderChild
,
OrderGoods
orderGoods
)
{
private
void
updateReload
(
OrderChildLoadParam
param
,
OrderChild
orderChild
,
OrderGoods
orderGoods
)
{
String
childNo
=
param
.
getChildNo
();
String
childNo
=
param
.
getChildNo
();
log
.
info
(
"装车毛重:{}, 装车皮重:{}"
,
param
.
getLoadRough
(),
param
.
getLoadTare
());
BigDecimal
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
BigDecimal
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
...
@@ -791,8 +792,8 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -791,8 +792,8 @@ public class OrderChildServiceImpl implements OrderChildService {
imageList
.
add
(
image
);
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
.
setLoadRough
(
param
.
getLoadRough
());
orderChild
.
setLoadTare
(
param
.
getLoadTare
());
orderChild
.
setLoadTare
(
param
.
getLoadTare
());
orderChild
.
setLoadNet
(
loadNet
);
orderChild
.
setLoadNet
(
loadNet
);
...
@@ -1346,6 +1347,8 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1346,6 +1347,8 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
@Override
@Override
public
OrderChildVO
getOrderChildInfo
(
String
childNo
)
{
public
OrderChildVO
getOrderChildInfo
(
String
childNo
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
...
@@ -1605,6 +1608,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1605,6 +1608,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderGoodsService
.
borrowWeight
(
orderGoods
,
childNo
,
orderGoods
.
getResidueTransportWeight
(),
dif
,
orderGoodsService
.
borrowWeight
(
orderGoods
,
childNo
,
orderGoods
.
getResidueTransportWeight
(),
dif
,
dif
.
subtract
(
orderGoods
.
getResidueTransportWeight
()),
orderGoodsStatus
);
dif
.
subtract
(
orderGoods
.
getResidueTransportWeight
()),
orderGoodsStatus
);
}
else
{
}
else
{
log
.
info
(
"货单吨数有剩余,归还吨数:{}"
,
dif
);
// 货单吨数够扣减,直接更新货单剩余吨数和已拉运吨数和状态
// 货单吨数够扣减,直接更新货单剩余吨数和已拉运吨数和状态
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
dif
,
orderGoodsStatus
);
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 {
...
@@ -270,8 +270,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
//插入冻结流水
//插入冻结流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
loginUserInfo
.
get
UserName
());
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwner
UserName
());
runningWaterRecord
.
setMobile
(
loginUserInfo
.
getUser
Mobile
());
runningWaterRecord
.
setMobile
(
account
.
get
Mobile
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setRelationId
(
entity
.
getCaseOutNo
());
runningWaterRecord
.
setRelationId
(
entity
.
getCaseOutNo
());
//变动金额
//变动金额
...
@@ -327,8 +327,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
...
@@ -327,8 +327,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
ownerCaseOutDao
.
saveEntity
(
entity
);
ownerCaseOutDao
.
saveEntity
(
entity
);
//插入冻结流水
//插入冻结流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
loginUserInfo
.
get
UserName
());
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwner
UserName
());
runningWaterRecord
.
setMobile
(
loginUserInfo
.
getUser
Mobile
());
runningWaterRecord
.
setMobile
(
account
.
get
Mobile
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setRelationId
(
entity
.
getCaseOutNo
());
runningWaterRecord
.
setRelationId
(
entity
.
getCaseOutNo
());
...
@@ -401,7 +401,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
...
@@ -401,7 +401,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
//需要插入充值流水
//需要插入充值流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwnerUserName
());
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwnerUserName
());
runningWaterRecord
.
setMobile
(
loginUserInfo
.
getUser
Mobile
());
runningWaterRecord
.
setMobile
(
account
.
get
Mobile
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setRelationId
(
ownerTopUp
.
getTopUpNo
());
runningWaterRecord
.
setRelationId
(
ownerTopUp
.
getTopUpNo
());
...
@@ -480,8 +480,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
...
@@ -480,8 +480,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
ownerCaseOut
.
getOwnerUserNo
(),
ownerCaseOut
.
getAccountType
());
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
ownerCaseOut
.
getOwnerUserNo
(),
ownerCaseOut
.
getAccountType
());
//插入提现成功流水
//插入提现成功流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
loginUserInfo
.
get
UserName
());
runningWaterRecord
.
setOwnerUserName
(
account
.
getOwner
UserName
());
runningWaterRecord
.
setMobile
(
loginUserInfo
.
getUser
Mobile
());
runningWaterRecord
.
setMobile
(
account
.
get
Mobile
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setCreateBy
(
loginUserInfo
.
getUserName
());
runningWaterRecord
.
setRelationId
(
ownerCaseOut
.
getCaseOutNo
());
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
;
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
import
com.clx.performance.config.MslPaymentConfig
;
import
com.clx.performance.config.MslPaymentConfig
;
import
com.clx.performance.constant.RedissonConstants
;
import
com.clx.performance.constant.RedissonConstants
;
...
@@ -13,10 +14,7 @@ import com.clx.performance.enums.OrderChildEnum;
...
@@ -13,10 +14,7 @@ import com.clx.performance.enums.OrderChildEnum;
import
com.clx.performance.enums.OrderChildLogEnum
;
import
com.clx.performance.enums.OrderChildLogEnum
;
import
com.clx.performance.enums.PayRemarkEnum
;
import
com.clx.performance.enums.PayRemarkEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.*
;
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.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.OrderService
;
import
com.clx.performance.extranal.user.OrderService
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
...
@@ -109,15 +107,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
...
@@ -109,15 +107,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
private
OrderService
orderService
;
private
OrderService
orderService
;
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
settlementDetailInvoiceTypeSync
(
SettlementDetailInvoiceTypeSyncMqParam
mq
)
{
public
void
settlementDetailInvoiceTypeSync
(
SettlementDetailInvoiceTypeSyncMqParam
mq
)
{
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
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
;
String
settlementNo
=
null
;
SettlementOwner
settlementOwner
=
null
;
SettlementOwner
settlementOwner
=
null
;
...
@@ -482,4 +486,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
...
@@ -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
));
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 {
...
@@ -50,14 +50,14 @@ public abstract class GoodsOrderStrategy {
throw
new
ServiceSystemException
(
ResultEnum
.
DATA_ERROR
,
"订单已暂停,无法进行提量"
);
throw
new
ServiceSystemException
(
ResultEnum
.
DATA_ERROR
,
"订单已暂停,无法进行提量"
);
}
}
String
transportBeginTime
=
orderInfo
.
getTransportBeginTime
();
String
transportBeginTime
=
orderInfo
.
getTransportBeginTime
();
if
(!
"test"
.
equals
(
environment
.
getActiveProfiles
()[
0
]))
{
/*
if (!"test".equals(environment.getActiveProfiles()[0])) {
for (OrderGoodsChildParams param : orderGoodsParams.getOrderGoodsChildParams()) {
for (OrderGoodsChildParams param : orderGoodsParams.getOrderGoodsChildParams()) {
String pendingOrderTime = param.getPendingOrderTime();
String pendingOrderTime = param.getPendingOrderTime();
if (DateUtils.parseDateTime(pendingOrderTime).get().isBefore(DateUtils.parseDateTime(transportBeginTime).get())) {
if (DateUtils.parseDateTime(pendingOrderTime).get().isBefore(DateUtils.parseDateTime(transportBeginTime).get())) {
throw new ServiceSystemException(ResultEnum.DATA_ERROR, "挂单时间不能早于拉运开始时间");
throw new ServiceSystemException(ResultEnum.DATA_ERROR, "挂单时间不能早于拉运开始时间");
}
}
}
}
}
}
*/
//多个定向单不允许车辆重复
//多个定向单不允许车辆重复
List
<
OrderGoodsChildParams
>
orderGoodsChildParams
=
orderGoodsParams
.
getOrderGoodsChildParams
();
List
<
OrderGoodsChildParams
>
orderGoodsChildParams
=
orderGoodsParams
.
getOrderGoodsChildParams
();
...
...
performance-web/src/main/resources/logback.xml
浏览文件 @
999af438
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<configuration>
<!--
说明:
1、日志级别及文件
日志记录采用分级记录,级别与日志文件名相对应,不同级别的日志信息记录到不同的日志文件中
例如:error级别记录到log_error_xxx.log或log_error.log(该文件为当前记录的日志文件),而log_error_xxx.log为归档日志,
日志文件按日期记录,同一天内,若日志文件大小等于或大于2M,则按0、1、2...顺序分别命名
例如log-level-2013-12-21.0.log
其它级别的日志也是如此。
2、文件路径
若开发、测试用,在Eclipse中运行项目,则到Eclipse的安装路径查找logs文件夹,以相对路径../logs。
若部署到Tomcat下,则在Tomcat下的logs文件中
3、Appender
FILEERROR对应error级别,文件名以log-error-xxx.log形式命名
FILEWARN对应warn级别,文件名以log-warn-xxx.log形式命名
FILEINFO对应info级别,文件名以log-info-xxx.log形式命名
FILEDEBUG对应debug级别,文件名以log-debug-xxx.log形式命名
stdout将日志信息输出到控制上,为方便开发测试使用
-->
<!-- 彩色日志 -->
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<!-- 彩色日志依赖的渲染类 -->
<conversionRule
conversionWord=
"clr"
converterClass=
"org.springframework.boot.logging.logback.ColorConverter"
/>
<conversionRule
conversionWord=
"clr"
converterClass=
"org.springframework.boot.logging.logback.ColorConverter"
/>
<conversionRule
conversionWord=
"wex"
converterClass=
"org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"
/>
<conversionRule
conversionWord=
"wex"
<conversionRule
conversionWord=
"wEx"
converterClass=
"org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"
/>
converterClass=
"org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"
/>
<conversionRule
conversionWord=
"wEx"
converterClass=
"org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"
/>
<!-- 彩色日志格式 -->
<!-- 彩色日志格式 -->
<property
name=
"CONSOLE_LOG_PATTERN"
value=
"${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"
/>
<property
name=
"CONSOLE_LOG_PATTERN"
value=
"${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} [%tid] %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"
/>
<contextName>
order-service
</contextName>
<property
name=
"FILE_LOG_PATTERN"
<property
name=
"LOG_PATH"
value=
"/logs"
/>
value=
"%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger Line:%-3L - %msg%n"
/>
<!--设置系统日志目录-->
<property
name=
"APPDIR"
value=
"clx-performance"
/>
<!-- 日志记录器,日期滚动记录 -->
<!-- 日志根目录 -->
<appender
name=
"FILEERROR"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<property
name=
"LOG_PATH"
value=
"./logs"
/>
<!-- 正在记录的日志文件的路径及文件名 -->
<!-- 服务名 -->
<file>
${LOG_PATH}/${APPDIR}/log_error.log
</file>
<property
name=
"APP_DIR"
value=
"clx-performance"
/>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<fileNamePattern>
${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<!-- 除按日志记录之外,还配置了日志文件不能超过20M,若超过20M,日志文件会以索引0开始,
命名日志文件,例如log-error-2013-12-21.0.log -->
<timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<maxFileSize>
20MB
</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 追加方式记录日志 -->
<append>
true
</append>
<!-- 日志文件的格式 -->
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<pattern>
===%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %msg%n
</pattern>
<charset>
utf-8
</charset>
</encoder>
<!-- 此日志文件只记录info级别的 -->
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<level>
error
</level>
<onMatch>
ACCEPT
</onMatch>
<onMismatch>
DENY
</onMismatch>
</filter>
</appender>
<!-- 日志记录器,日期滚动记录 -->
<!-- 日志记录器,日期滚动记录 -->
<appender
name=
"FILE
WARN
"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<appender
name=
"FILE
_INFO
"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 正在记录的日志文件的路径及文件名 -->
<!-- 正在记录的日志文件的路径及文件名 -->
<file>
${LOG_PATH}/${APP
DIR}/log_warn
.log
</file>
<file>
${LOG_PATH}/${APP
_DIR}/log_info
.log
</file>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
>
<!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
<!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<fileNamePattern>
${LOG_PATH}/${APP
DIR}/warn/log-warn
-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<fileNamePattern>
${LOG_PATH}/${APP
_DIR}/info/log-info
-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<!--
除按日志记录之外,还配置了日志文件不能超过20M,若超过20M,日志文件会以索引0开始,
<!--
最大日志天数-->
命名日志文件,例如log-error-2013-12-21.0.log --
>
<maxHistory>
5
</maxHistory
>
<
timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<
!--单个日志文件最大大小--
>
<maxFileSize>
20MB
</maxFileSize>
<maxFileSize>
20MB
</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--总日志大小-->
<totalSizeCap>
1GB
</totalSizeCap>
</rollingPolicy>
</rollingPolicy>
<!-- 追加方式记录日志 -->
<!-- 追加方式记录日志 -->
<append>
true
</append>
<append>
true
</append>
<!-- 日志文件的格式 -->
<encoder
class=
"ch.qos.logback.core.encoder.LayoutWrappingEncoder"
>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<layout
class=
"org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"
>
<pattern>
===%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %msg%n
</pattern>
<Pattern>
${FILE_LOG_PATTERN}
</Pattern>
</layout>
<charset>
utf-8
</charset>
<charset>
utf-8
</charset>
</encoder>
</encoder>
<!-- 此日志文件只记录info级别的 -->
<!-- 阈值过滤器,记录info及以上级别的日志 -->
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
warn
</level>
<level>
info
</level>
<onMatch>
ACCEPT
</onMatch>
<onMismatch>
DENY
</onMismatch>
</filter>
</filter>
</appender>
</appender>
<!-- 日志记录器,日期滚动记录 -->
<!-- 日志记录器,日期滚动记录 -->
<appender
name=
"FILE
INFO
"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<appender
name=
"FILE
_ERROR
"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 正在记录的日志文件的路径及文件名 -->
<!-- 正在记录的日志文件的路径及文件名 -->
<file>
${LOG_PATH}/${APP
DIR}/log_info
.log
</file>
<file>
${LOG_PATH}/${APP
_DIR}/log_error
.log
</file>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.
SizeAnd
TimeBasedRollingPolicy"
>
<!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
<!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<fileNamePattern>
${LOG_PATH}/${APP
DIR}/info/log-info
-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<fileNamePattern>
${LOG_PATH}/${APP
_DIR}/error/log-error
-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<!--
除按日志记录之外,还配置了日志文件不能超过20M,若超过20M,日志文件会以索引0开始,
<!--
最大日志天数-->
命名日志文件,例如log-error-2013-12-21.0.log --
>
<maxHistory>
5
</maxHistory
>
<
timeBasedFileNamingAndTriggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"
>
<
!--单个日志文件最大大小--
>
<maxFileSize>
20MB
</maxFileSize>
<maxFileSize>
20MB
</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--总日志大小-->
<totalSizeCap>
1GB
</totalSizeCap>
</rollingPolicy>
</rollingPolicy>
<!-- 追加方式记录日志 -->
<!-- 追加方式记录日志 -->
<append>
true
</append>
<append>
true
</append>
<!-- 日志文件的格式 -->
<!-- 日志文件的格式 -->
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<encoder
class=
"ch.qos.logback.core.encoder.LayoutWrappingEncoder"
>
<pattern>
===%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %msg%n
</pattern>
<layout
class=
"org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"
>
<Pattern>
${FILE_LOG_PATTERN}
</Pattern>
</layout>
<charset>
utf-8
</charset>
<charset>
utf-8
</charset>
</encoder>
</encoder>
<!--
此日志文件只记录info级别的
-->
<!--
级别过滤器,只记录error级别的日志
-->
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<level>
info
</level>
<level>
error
</level>
<onMatch>
ACCEPT
</onMatch>
<onMatch>
ACCEPT
</onMatch>
<onMismatch>
DENY
</onMismatch>
<onMismatch>
DENY
</onMismatch>
</filter>
</filter>
...
@@ -123,26 +85,43 @@
...
@@ -123,26 +85,43 @@
<appender
name=
"STDOUT"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<appender
name=
"STDOUT"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<!--encoder 默认配置为PatternLayoutEncoder-->
<!--encoder 默认配置为PatternLayoutEncoder-->
<encoder>
<pattern>
${CONSOLE_LOG_PATTERN}
</pattern>
<encoder
class=
"ch.qos.logback.core.encoder.LayoutWrappingEncoder"
>
<layout
class=
"org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"
>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
</layout>
<charset>
utf-8
</charset>
<charset>
utf-8
</charset>
</encoder>
</encoder>
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
INFO
</level>
<level>
debug
</level>
</filter>
</filter>
</appender>
</appender>
<!-- <logger name="org.springframework" level="WARN" /> -->
<!--skywalking收集日志-->
<!-- <logger name="org.hibernate" level="WARN" /> -->
<appender
name=
"GRPC_LOG"
class=
"org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender"
>
<encoder>
<Pattern>
${FILE_LOG_PATTERN}
</Pattern>
</encoder>
</appender>
<!--异步日志-->
<!--<appender name="ASYNC-GRPC" class="ch.qos.logback.classic.AsyncAppender">
<!– 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 –>
<discardingThreshold>0</discardingThreshold>
<!– 更改默认的队列的深度,该值会影响性能.默认值为256 –>
<queueSize>256</queueSize>
<!– 添加附加的appender,最多只能添加一个 –>
<appender-ref ref="GRPC_LOG"/>
</appender>-->
<!-- 生产环境下,将此级别配置为适合的级别,以免日志文件太多或影响程序性能 -->
<!-- 生产环境下,将此级别配置为适合的级别,以免日志文件太多或影响程序性能 -->
<root
level=
"INFO"
>
<root
level=
"INFO"
>
<appender-ref
ref=
"FILEERROR"
/>
<appender-ref
ref=
"FILE_INFO"
/>
<appender-ref
ref=
"FILEWARN"
/>
<appender-ref
ref=
"FILE_ERROR"
/>
<appender-ref
ref=
"FILEINFO"
/>
<appender-ref
ref=
"GRPC_LOG"
/>
<!--控制台-->
生产环境将请stdout,testfile去掉
<appender-ref
ref=
"STDOUT"
/>
<appender-ref
ref=
"STDOUT"
/>
</root>
</root>
</configuration>
</configuration>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论