Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
15eb4e7d
提交
15eb4e7d
authored
9月 24, 2024
作者:
李瑞鑫
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v26.5_optimize_20240918'
# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildPoundAuditServiceImpl.java
上级
7a1e127f
36455682
隐藏空白字符变更
内嵌
并排
正在显示
23 个修改的文件
包含
500 行增加
和
98 行删除
+500
-98
OrderChildLoadAndUnloadAgainParam.java
...formance/param/app/OrderChildLoadAndUnloadAgainParam.java
+3
-2
OrderChildLoadParam.java
...va/com/clx/performance/param/app/OrderChildLoadParam.java
+3
-3
OrderChildUnloadParam.java
.../com/clx/performance/param/app/OrderChildUnloadParam.java
+3
-0
SettlementDriverSettleMqParam.java
...rformance/vo/mq/settle/SettlementDriverSettleMqParam.java
+13
-0
SettlementOrderChildRiskAddMqParam.java
...ance/vo/mq/settle/SettlementOrderChildRiskAddMqParam.java
+16
-0
RabbitSettlementConfig.java
...va/com/clx/performance/config/RabbitSettlementConfig.java
+27
-1
RabbitKeySettlementConstants.java
...lx/performance/constant/RabbitKeySettlementConstants.java
+14
-1
SettlementDriverDaoImpl.java
.../performance/dao/impl/settle/SettlementDriverDaoImpl.java
+12
-3
SettlementDriverDao.java
...a/com/clx/performance/dao/settle/SettlementDriverDao.java
+2
-0
EventListenerComponent.java
...ava/com/clx/performance/event/EventListenerComponent.java
+4
-0
SettlementDriverSettlementListener.java
...e/listener/settle/SettlementDriverSettlementListener.java
+43
-0
SettlementRiskAddListener.java
...erformance/listener/settle/SettlementRiskAddListener.java
+44
-0
SettlementSettleListener.java
...performance/listener/settle/SettlementSettleListener.java
+3
-3
OrderChildPoundAuditServiceImpl.java
...ormance/service/impl/OrderChildPoundAuditServiceImpl.java
+62
-8
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+87
-46
OrderChildBrokerMqHandlerServiceImpl.java
...ice/impl/broker/OrderChildBrokerMqHandlerServiceImpl.java
+6
-0
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+110
-21
SettlementMqServiceImpl.java
...formance/service/impl/settle/SettlementMqServiceImpl.java
+26
-4
SettlementOrderChildRiskServiceImpl.java
...vice/impl/settle/SettlementOrderChildRiskServiceImpl.java
+7
-2
SettlementPostServiceImpl.java
...rmance/service/impl/settle/SettlementPostServiceImpl.java
+7
-0
SettlementMqHandlerService.java
...erformance/service/settle/SettlementMqHandlerService.java
+3
-4
SettlementMqService.java
...m/clx/performance/service/settle/SettlementMqService.java
+3
-0
SettlementPostService.java
...clx/performance/service/settle/SettlementPostService.java
+2
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/param/app/OrderChildLoadAndUnloadAgainParam.java
浏览文件 @
15eb4e7d
...
...
@@ -22,13 +22,14 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam {
private
String
childNo
;
@ApiModelProperty
(
value
=
"装货毛重(单位吨)"
,
example
=
"2.46"
)
@NotNull
private
BigDecimal
loadRough
;
@ApiModelProperty
(
value
=
"装货皮重(单位吨)"
,
example
=
"1.23"
)
@NotNull
private
BigDecimal
loadTare
;
@ApiModelProperty
(
value
=
"装货净重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
loadNet
;
@ApiModelProperty
(
value
=
"磅单图片列表"
)
@NotEmpty
(
message
=
"请上传磅单照片"
)
private
List
<
String
>
loadImageList
;
...
...
performance-api/src/main/java/com/clx/performance/param/app/OrderChildLoadParam.java
浏览文件 @
15eb4e7d
...
...
@@ -7,7 +7,6 @@ import lombok.Setter;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.util.List
;
...
...
@@ -21,13 +20,14 @@ public class OrderChildLoadParam extends PositionParam {
private
String
childNo
;
@ApiModelProperty
(
value
=
"装货毛重(单位吨)"
,
example
=
"2.46"
)
@NotNull
private
BigDecimal
loadRough
;
@ApiModelProperty
(
value
=
"装货皮重(单位吨)"
,
example
=
"1.23"
)
@NotNull
private
BigDecimal
loadTare
;
@ApiModelProperty
(
value
=
"装货净重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
loadNet
;
@ApiModelProperty
(
value
=
"磅单图片列表"
)
@NotEmpty
(
message
=
"请上传磅单照片"
)
private
List
<
String
>
loadImageList
;
...
...
performance-api/src/main/java/com/clx/performance/param/app/OrderChildUnloadParam.java
浏览文件 @
15eb4e7d
...
...
@@ -25,6 +25,9 @@ public class OrderChildUnloadParam extends PositionParam {
@ApiModelProperty
(
value
=
"卸货皮重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
unloadTare
;
@ApiModelProperty
(
value
=
"卸货净重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
unloadNet
;
@ApiModelProperty
(
value
=
"磅单图片列表"
)
@NotEmpty
(
message
=
"请上传磅单照片"
)
private
List
<
String
>
unloadImageList
;
...
...
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementDriverSettleMqParam.java
0 → 100644
浏览文件 @
15eb4e7d
package
com
.
clx
.
performance
.
vo
.
mq
.
settle
;
import
lombok.*
;
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
SettlementDriverSettleMqParam
{
private
String
childNo
;
//运单编号
}
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementOrderChildRiskAddMqParam.java
0 → 100644
浏览文件 @
15eb4e7d
package
com
.
clx
.
performance
.
vo
.
mq
.
settle
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
SettlementOrderChildRiskAddMqParam
{
private
Integer
id
;
//id
}
performance-web/src/main/java/com/clx/performance/config/RabbitSettlementConfig.java
浏览文件 @
15eb4e7d
...
...
@@ -87,7 +87,7 @@ public class RabbitSettlementConfig {
}
/**
* 结算
*
货主
结算
*/
@Bean
public
Queue
settlementSettleQueue
()
{
...
...
@@ -98,6 +98,20 @@ public class RabbitSettlementConfig {
return
BindingBuilder
.
bind
(
settlementSettleQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_SETTLE_ROUTING_KEY
);
}
/**
* 车主结算
*/
@Bean
public
Queue
settlementDriverSettlementQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_SETTLE_QUEUE
);
}
@Bean
public
Binding
settlementDriverSettlementQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementDriverSettlementQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_SETTLE_ROUTING_KEY
);
}
/**
* 支付状态
*/
...
...
@@ -123,6 +137,18 @@ public class RabbitSettlementConfig {
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_STATUS_SYNC_ROUTING_KEY
);
}
/**
* 风控新增
*/
@Bean
public
Queue
settlementRiskAddQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_ADD_QUEUE
);
}
@Bean
public
Binding
settlementRiskAddQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementRiskAddQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_ADD_ROUTING_KEY
);
}
/**
* 风控处理
*/
...
...
performance-web/src/main/java/com/clx/performance/constant/RabbitKeySettlementConstants.java
浏览文件 @
15eb4e7d
...
...
@@ -52,10 +52,17 @@ public class RabbitKeySettlementConstants {
public
static
final
String
SETTLEMENT_INVOICE_TYPE_SYNC_ROUTING_KEY
=
PREFIX
+
"settlementInvoiceType.sync"
+
QUEUE_ROUTING_KEY
;
/**
* 结算
*
货主
结算
*/
public
static
final
String
SETTLEMENT_SETTLE_QUEUE
=
PREFIX
+
"settlement.settle"
+
QUEUE
;
public
static
final
String
SETTLEMENT_SETTLE_ROUTING_KEY
=
PREFIX
+
"settlement.settle"
+
QUEUE_ROUTING_KEY
;
/**
* 车主结算
*/
public
static
final
String
SETTLEMENT_DRIVER_SETTLE_QUEUE
=
PREFIX
+
"settlementDriver.settle"
+
QUEUE
;
public
static
final
String
SETTLEMENT_DRIVER_SETTLE_ROUTING_KEY
=
PREFIX
+
"settlementDriver.settle"
+
QUEUE_ROUTING_KEY
;
/**
* 开票状态同步
*/
...
...
@@ -68,6 +75,12 @@ public class RabbitKeySettlementConstants {
public
static
final
String
SETTLEMENT_PAY_STATUS_SYNC_QUEUE
=
PREFIX
+
"settlementPayStatus.sync"
+
QUEUE
;
public
static
final
String
SETTLEMENT_PAY_STATUS_SYNC_ROUTING_KEY
=
PREFIX
+
"settlementPayStatus.sync"
+
QUEUE_ROUTING_KEY
;
/**
* 风控新增
*/
public
static
final
String
SETTLEMENT_RISK_ADD_QUEUE
=
PREFIX
+
"settlementRisk.add"
+
QUEUE
;
public
static
final
String
SETTLEMENT_RISK_ADD_ROUTING_KEY
=
PREFIX
+
"settlementRisk.add"
+
QUEUE_ROUTING_KEY
;
/**
* 风控处理
*/
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDaoImpl.java
浏览文件 @
15eb4e7d
...
...
@@ -8,8 +8,6 @@ import com.clx.performance.dao.settle.SettlementDriverDao;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.mapper.settle.SettlementDriverMapper
;
import
com.clx.performance.model.settle.SettlementDriver
;
import
com.clx.performance.model.settle.SettlementOrderChildRisk
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
...
...
@@ -18,7 +16,6 @@ import org.springframework.stereotype.Repository;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Set
;
/**
* @Author: aiqinguo
...
...
@@ -38,6 +35,18 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
);
}
@Override
public
boolean
updateInvoiceCompany
(
SettlementDriver
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriver:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriver:
:
getInvoiceType
,
item
.
getInvoiceType
())
.
set
(
SettlementDriver:
:
getInvoicingCompanyId
,
item
.
getInvoicingCompanyId
())
.
set
(
SettlementDriver:
:
getInvoicingCompanyShorterName
,
item
.
getInvoicingCompanyShorterName
())
.
set
(
SettlementDriver:
:
getInvoicingCompanyGroupCode
,
item
.
getInvoicingCompanyGroupCode
())
.
set
(
SettlementDriver:
:
getPrepayFreightFlag
,
item
.
getPrepayFreightFlag
())
);
}
@Override
public
Optional
<
SettlementDriver
>
findBySettlementNo
(
String
settlementNo
)
{
return
Optional
.
of
(
lQrWrapper
()
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDao.java
浏览文件 @
15eb4e7d
...
...
@@ -20,6 +20,8 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set
boolean
updatePayStatus
(
SettlementDriver
item
);
boolean
updateInvoiceCompany
(
SettlementDriver
item
);
Optional
<
SettlementDriver
>
findBySettlementNo
(
String
settlementNo
);
Optional
<
SettlementDriver
>
findByChildNo
(
String
childNo
);
...
...
performance-web/src/main/java/com/clx/performance/event/EventListenerComponent.java
浏览文件 @
15eb4e7d
...
...
@@ -147,6 +147,10 @@ public class EventListenerComponent {
// 发送mq 结算统计
settlementMqService
.
settlementStatistics
(
settlementDriverDetail
.
getChildNo
());
// 发送mq 司机结算
settlementMqService
.
settlementDriverSettle
(
settlementDriverDetail
.
getChildNo
());
}
catch
(
Exception
e
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
GET_LOAN_RECORD
,
e
.
getMessage
());
}
finally
{
...
...
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementDriverSettlementListener.java
0 → 100644
浏览文件 @
15eb4e7d
package
com
.
clx
.
performance
.
listener
.
settle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeySettlementConstants
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.vo.mq.settle.SettlementDriverSettleMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 车主结算 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public
class
SettlementDriverSettlementListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_SETTLE_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-车主结算, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementDriverSettleMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-车主结算 失败"
,
e
);
}
}
private
void
process
(
SettlementDriverSettleMqParam
mq
){
settlementMqHandlerService
.
settlementDriverSettlement
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementRiskAddListener.java
0 → 100644
浏览文件 @
15eb4e7d
package
com
.
clx
.
performance
.
listener
.
settle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeySettlementConstants
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.vo.mq.settle.SettlementOrderChildRiskAddMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 风控新增 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public
class
SettlementRiskAddListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_ADD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-风控新增, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementOrderChildRiskAddMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-风控新增 失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
private
void
process
(
SettlementOrderChildRiskAddMqParam
mq
){
settlementMqHandlerService
.
riskAdd
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementSettleListener.java
浏览文件 @
15eb4e7d
...
...
@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 结算 mq
* @Description:
货主
结算 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
...
...
@@ -28,10 +28,10 @@ public class SettlementSettleListener {
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_SETTLE_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-结算, message:{}"
,
new
String
(
message
.
getBody
()));
log
.
info
(
"结算-
货主
结算, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementSettleMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-结算 失败"
,
e
);
log
.
info
(
"结算-
货主
结算 失败"
,
e
);
}
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildPoundAuditServiceImpl.java
浏览文件 @
15eb4e7d
...
...
@@ -3,6 +3,8 @@ package com.clx.performance.service.impl;
import
com.alibaba.druid.sql.visitor.functions.If
;
import
com.clx.order.enums.QuotationEnum
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
import
com.clx.performance.config.LoadAppConfig
;
import
com.clx.performance.config.PerformanceSmartCompanyNoConfig
;
import
com.clx.performance.dao.*
;
import
com.clx.performance.dto.payment.PaymentDTO
;
import
com.clx.performance.enums.*
;
...
...
@@ -15,11 +17,15 @@ import com.clx.performance.service.*;
import
com.clx.performance.service.child.OrderChildPostService
;
import
com.clx.performance.vo.pc.OrderChildPoundAuditDetailVO
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.open.OpenClient
;
import
com.msl.common.open.RequestConfig
;
import
com.msl.common.result.Result
;
import
com.msl.user.data.UserSessionData
;
import
com.msl.user.utils.TokenUtil
;
import
com.scm.lms.manage.action.LmsWeighingSignatureAction
;
import
com.smart.business.sdk.request.dto.WeightChildSignatureDto
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -63,6 +69,8 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
private
final
OcrRecognitionDao
ocrRecognitionDao
;
private
final
OrderChildPostService
orderChildPostService
;
private
final
OrderService
orderService
;
private
final
LoadAppConfig
loadAppConfig
;
private
final
PerformanceSmartCompanyNoConfig
companyNoConfig
;
@Override
public
OrderChildPoundAuditDetailVO
getPoundAuditDetail
(
String
childNo
)
{
...
...
@@ -76,6 +84,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo
.
setChildNo
(
childNo
);
vo
.
setLoadImages
(
loadImages
.
stream
().
map
(
OrderChildImage:
:
getImage
).
collect
(
Collectors
.
toList
()));
vo
.
setUnloadImages
(
unloadImages
.
stream
().
map
(
OrderChildImage:
:
getImage
).
collect
(
Collectors
.
toList
()));
vo
.
setLoadNet
(
poundAuditDetail
.
getLoadNet
());
vo
.
setUnloadNet
(
poundAuditDetail
.
getUnloadNet
());
vo
.
setUnloadPoundNo
(
poundAuditDetail
.
getUnloadPoundNo
());
...
...
@@ -83,6 +92,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo
.
setUnloadRough
(
poundAuditDetail
.
getUnloadRough
());
vo
.
setLoadRough
(
poundAuditDetail
.
getLoadRough
());
vo
.
setLoadTare
(
poundAuditDetail
.
getLoadTare
());
vo
.
setStatus
(
poundAuditDetail
.
getStatus
());
vo
.
setRemark
(
poundAuditDetail
.
getRemark
());
vo
.
setRejectType
(
poundAuditDetail
.
getRejectType
());
...
...
@@ -101,24 +111,68 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo
.
setCooperativeCompaniesId
(
orderInfo
.
getCooperativeCompaniesId
());
vo
.
setCooperativeCompaniesName
(
orderInfo
.
getCooperativeCompaniesName
());
//首次回显过磅电子磅单
WeightChildSignatureDto
weighingSignature
=
getWeighingSignature
(
childNo
,
SaleBuyEnum
.
Type
.
BUY
.
getCode
());
//获取电子磅单图片 类型:1-销售,2-采购
if
(
Objects
.
nonNull
(
weighingSignature
)){
if
(
vo
.
getUnloadTare
()==
null
&&
weighingSignature
.
getTare
()!=
null
){
//卸车皮重
vo
.
setUnloadTare
(
weighingSignature
.
getTare
());
}
if
(
vo
.
getUnloadRough
()==
null
&&
weighingSignature
.
getRough
()!=
null
){
//卸车毛重
vo
.
setUnloadRough
(
weighingSignature
.
getRough
());
}
}
return
vo
;
}
public
WeightChildSignatureDto
getWeighingSignature
(
String
childNo
,
Integer
type
){
App
app
=
loadAppConfig
.
getApp
(
AppEnum
.
UniqueIdentifier
.
LMS_MANAGE
.
getCode
());
//对接物流子系统配置信息
//组装配置信息
RequestConfig
config
=
new
RequestConfig
()
.
setAppId
(
app
.
getAppNo
())
.
setAppKey
(
app
.
getAppKey
())
.
setGatewayUrl
(
app
.
getCallback
());
//通过运单号码查询电子磅单图片
LmsWeighingSignatureAction
weightAction
=
new
LmsWeighingSignatureAction
();
weightAction
.
setChildNo
(
childNo
);
weightAction
.
setCustomerRelationNo
(
String
.
valueOf
(
companyNoConfig
.
getCompanyNo
()));
weightAction
.
setType
(
type
);
log
.
info
(
"接口请求电子磅单参数,{}"
,
weightAction
);
Result
<
WeightChildSignatureDto
>
weighSignature
=
OpenClient
.
doAction
(
config
,
weightAction
);
log
.
info
(
"接口请求电子磅单返回结果,{}"
,
weighSignature
);
//数据处理
if
(
Objects
.
equals
(
weighSignature
.
getCode
(),
0
)){
WeightChildSignatureDto
weighSignatures
=
weighSignature
.
getData
();
return
weighSignatures
;
}
return
new
WeightChildSignatureDto
();
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updatePoundAudit
(
PoundAuditParam
param
)
{
//运单详情
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
param
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
BigDecimal
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getLoadTare
().
compareTo
(
param
.
getLoadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
BigDecimal
loadNet
=
orderChild
.
getLoadNet
();
BigDecimal
unLoadNet
=
orderChild
.
getUnloadNet
();
if
(
Objects
.
equals
(
param
.
getStatus
(),
OrderChildPoundAuditEnum
.
Status
.
APPROVED
.
getCode
()))
{
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getLoadTare
().
compareTo
(
param
.
getLoadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
}
unLoadNet
=
param
.
getUnloadRough
().
subtract
(
param
.
getUnloadTare
());
}
BigDecimal
unLoadNet
=
param
.
getUnloadRough
().
subtract
(
param
.
getUnloadTare
());
if
(
OrderChildEnum
.
CANCEL_lIST
.
contains
(
orderChild
.
getStatus
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_CANCELED
);
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
15eb4e7d
...
...
@@ -872,14 +872,24 @@ public class OrderChildServiceImpl implements OrderChildService {
public
void
updateLoad
(
OrderChildLoadParam
param
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
Long
userNo
=
loginUserInfo
.
getUserNo
();
BigDecimal
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
String
childNo
=
param
.
getChildNo
();
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getLoadTare
().
compareTo
(
param
.
getLoadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
BigDecimal
loadNet
;
if
(
param
.
getLoadNet
()
==
null
)
{
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getLoadTare
().
compareTo
(
param
.
getLoadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
}
}
else
{
loadNet
=
param
.
getLoadNet
();
param
.
setLoadRough
(
null
);
param
.
setLoadTare
(
null
);
}
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
if
(
Objects
.
equals
(
orderChild
.
getDriverUserNo
(),
userNo
))
{
...
...
@@ -918,8 +928,7 @@ public class OrderChildServiceImpl implements OrderChildService {
if
(
orderChild
.
getLoadTime
()
==
null
&&
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
()))
{
//计算司机保证金
BigDecimal
net
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
PaymentDTO
paymentDTO
=
getPaymentDTO
(
net
,
orderChild
);
PaymentDTO
paymentDTO
=
getPaymentDTO
(
loadNet
,
orderChild
);
if
(
Objects
.
nonNull
(
paymentDTO
.
getPlatformServiceFeeNew
())
&&
paymentDTO
.
getPlatformServiceFeeNew
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
orderChild
.
setPlatformServiceFee
(
paymentDTO
.
getPlatformServiceFeeNew
());
...
...
@@ -936,8 +945,7 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
else
{
//计算司机保证金
BigDecimal
net
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
PaymentDTO
paymentDTO
=
getPaymentDTO
(
net
,
orderChild
);
PaymentDTO
paymentDTO
=
getPaymentDTO
(
loadNet
,
orderChild
);
if
(
Objects
.
nonNull
(
paymentDTO
.
getPlatformServiceFeeNew
())
&&
paymentDTO
.
getPlatformServiceFeeNew
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
orderChild
.
setPlatformServiceFee
(
paymentDTO
.
getPlatformServiceFeeNew
());
...
...
@@ -996,12 +1004,11 @@ public class OrderChildServiceImpl implements OrderChildService {
private
void
updateLoadFirst
(
OrderChildLoadParam
param
,
OrderChild
orderChild
,
OrderGoods
orderGoods
)
{
String
childNo
=
param
.
getChildNo
();
BigDecimal
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getLoadTare
().
compareTo
(
param
.
getLoadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
BigDecimal
loadNet
;
if
(
param
.
getLoadNet
()
==
null
)
{
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
}
else
{
loadNet
=
param
.
getLoadNet
();
}
// // 装车时间验证
...
...
@@ -1049,12 +1056,11 @@ 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
);
}
if
(
param
.
getLoadTare
().
compareTo
(
param
.
getLoadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
BigDecimal
loadNet
;
if
(
param
.
getLoadNet
()
==
null
)
{
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
}
else
{
loadNet
=
param
.
getLoadNet
();
}
List
<
OrderChildImage
>
imageList
=
new
ArrayList
<>();
...
...
@@ -1109,6 +1115,22 @@ public class OrderChildServiceImpl implements OrderChildService {
// throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_UNLOAD_WEIGHT_ERROR);
// }
BigDecimal
unLoadNet
;
if
(
param
.
getUnloadNet
()
==
null
)
{
unLoadNet
=
param
.
getUnloadRough
().
subtract
(
param
.
getUnloadTare
());
if
(
unLoadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getUnloadTare
().
compareTo
(
param
.
getUnloadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
}
}
else
{
unLoadNet
=
param
.
getUnloadNet
();
param
.
setUnloadRough
(
null
);
param
.
setUnloadTare
(
null
);
}
//交货时间不可早于到达目的地时间
LocalDateTime
unloadTime
=
StringUtils
.
isBlank
(
param
.
getUnloadTime
())
?
null
:
covertStringToDefaultLocalDateTime
(
param
.
getUnloadTime
());
if
(
unloadTime
!=
null
&&
unloadTime
.
isBefore
(
orderChild
.
getArriveReceiveTime
()))
{
...
...
@@ -1185,12 +1207,13 @@ public class OrderChildServiceImpl implements OrderChildService {
private
void
updateUnloadFirst
(
OrderChildUnloadParam
param
,
OrderChild
orderChild
)
{
String
childNo
=
param
.
getChildNo
();
BigDecimal
loadNet
=
param
.
getUnloadRough
().
subtract
(
param
.
getUnloadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
BigDecimal
unLoadNet
;
if
(
param
.
getUnloadNet
()
==
null
)
{
unLoadNet
=
param
.
getUnloadRough
().
subtract
(
param
.
getUnloadTare
());
}
if
(
param
.
getUnloadTare
().
compareTo
(
param
.
getUnloadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
else
{
unLoadNet
=
param
.
getUnloadNet
(
);
}
// // 装车时间验证
...
...
@@ -1216,7 +1239,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild
.
setUnloadRough
(
param
.
getUnloadRough
());
orderChild
.
setUnloadTare
(
param
.
getUnloadTare
());
orderChild
.
setUnloadNet
(
l
oadNet
);
orderChild
.
setUnloadNet
(
unL
oadNet
);
orderChild
.
setUnloadTime
(
StringUtils
.
isBlank
(
param
.
getUnloadTime
())?
LocalDateTime
.
now
():
covertStringToDefaultLocalDateTime
(
param
.
getUnloadTime
()));
orderChild
.
setWeight
(
orderChildWeightCalc
(
orderChild
));
orderChild
.
setStatus
(
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
());
...
...
@@ -1255,13 +1278,14 @@ public class OrderChildServiceImpl implements OrderChildService {
private
void
updateReUnload
(
OrderChildUnloadParam
param
,
OrderChild
orderChild
)
{
String
childNo
=
param
.
getChildNo
();
BigDecimal
loadNet
=
orderChild
.
getUnloadRough
().
subtract
(
orderChild
.
getUnloadTare
())
;
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
BigDecimal
unLoadNet
;
if
(
param
.
getUnloadNet
()
==
null
)
{
unLoadNet
=
param
.
getUnloadRough
().
subtract
(
param
.
getUnloadTare
()
);
}
if
(
param
.
getUnloadTare
().
compareTo
(
param
.
getUnloadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
else
{
unLoadNet
=
param
.
getUnloadNet
(
);
}
// 审核中
if
(
Objects
.
equals
(
orderChild
.
getPoundStatus
(),
OrderChildPoundAuditEnum
.
Status
.
AUDIT
.
getCode
()))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_POUND_AUDIT
);
...
...
@@ -1278,7 +1302,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild
.
setUnloadRough
(
param
.
getUnloadRough
());
orderChild
.
setUnloadTare
(
param
.
getUnloadTare
());
orderChild
.
setUnloadNet
(
l
oadNet
);
orderChild
.
setUnloadNet
(
unL
oadNet
);
orderChild
.
setUnloadTime
(
StringUtils
.
isBlank
(
param
.
getUnloadTime
())?
LocalDateTime
.
now
():
covertStringToDefaultLocalDateTime
(
param
.
getUnloadTime
()));
orderChild
.
setWeight
(
orderChildWeightCalc
(
orderChild
));
orderChild
.
setPoundStatus
(
OrderChildPoundAuditEnum
.
Status
.
AUDIT
.
getCode
());
...
...
@@ -1305,20 +1329,37 @@ public class OrderChildServiceImpl implements OrderChildService {
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
Long
userNo
=
loginUserInfo
.
getUserNo
();
String
childNo
=
param
.
getChildNo
();
BigDecimal
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getLoadTare
().
compareTo
(
param
.
getLoadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
BigDecimal
loadNet
;
if
(
param
.
getLoadNet
()
==
null
)
{
loadNet
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
());
if
(
loadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getLoadTare
().
compareTo
(
param
.
getLoadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
}
}
else
{
loadNet
=
param
.
getLoadNet
();
param
.
setLoadRough
(
null
);
param
.
setLoadTare
(
null
);
}
BigDecimal
unLoadNet
=
param
.
getUnloadRough
().
subtract
(
param
.
getUnloadTare
());
if
(
unLoadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
BigDecimal
unLoadNet
;
if
(
param
.
getUnloadNet
()
==
null
)
{
unLoadNet
=
param
.
getUnloadRough
().
subtract
(
param
.
getUnloadTare
());
if
(
unLoadNet
.
compareTo
(
new
BigDecimal
(
99
))
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_NET_ERROR
);
}
if
(
param
.
getUnloadTare
().
compareTo
(
param
.
getUnloadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
}
}
if
(
param
.
getUnloadTare
().
compareTo
(
param
.
getUnloadRough
())
>
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_TRACE_GT_ROUGH
);
else
{
unLoadNet
=
param
.
getUnloadNet
();
param
.
setUnloadRough
(
null
);
param
.
setUnloadTare
(
null
);
}
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
...
...
@@ -1416,7 +1457,7 @@ public class OrderChildServiceImpl implements OrderChildService {
audit
.
setLoadTare
(
orderChild
.
getLoadTare
());
//计算司机保证金
BigDecimal
net
=
param
.
getLoadRough
().
subtract
(
param
.
getLoadTare
())
;
BigDecimal
net
=
loadNet
;
PaymentDTO
paymentDTO
=
getPaymentDTO
(
net
,
orderChild
);
if
(
Objects
.
nonNull
(
paymentDTO
.
getPlatformServiceFeeNew
())
&&
paymentDTO
.
getPlatformServiceFeeNew
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
...
...
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerMqHandlerServiceImpl.java
浏览文件 @
15eb4e7d
...
...
@@ -18,6 +18,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
import
com.clx.performance.service.broker.OrderChildBrokerMqHandlerService
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.service.broker.OrderChildBrokerService
;
import
com.clx.performance.service.settle.SettlementPostService
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -51,6 +52,9 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired
private
SettlementOrderChildRiskDao
settlementOrderChildRiskDao
;
@Autowired
private
SettlementPostService
settlementPostService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
orderChildSync
(
BrokerOrderChildSyncMqParam
mq
)
{
...
...
@@ -77,6 +81,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
settlementOrderChildRisk
.
setRiskType
(
SettlementOrderChildRiskEnum
.
RiskType
.
SETTLE_FAIL
.
getCode
());
settlementOrderChildRisk
.
setRiskRemark
(
"同步无车承运异常"
);
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
settlementPostService
.
riskAdd
(
settlementOrderChildRisk
.
getId
());
}
}
public
void
doOrderChildSync
(
BrokerOrderChildSyncMqParam
mq
){
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
15eb4e7d
...
...
@@ -40,10 +40,7 @@ import com.clx.performance.utils.LocalDateTimeUtils;
import
com.clx.performance.utils.RedisUtil
;
import
com.clx.performance.utils.spring.ApplicationContextUtils
;
import
com.clx.performance.vo.mq.*
;
import
com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
import
com.clx.performance.vo.mq.settle.*
;
import
com.clx.performance.vo.pc.broker.TransportVO
;
import
com.clx.user.vo.feign.DriverInfoFeignVo
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
...
...
@@ -172,17 +169,17 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 拆单
if
(
Objects
.
equals
(
mq
.
getType
(),
SettlementStatisticsMqParam
.
Type
.
SEPARATE
.
getCode
())){
settlementStatisticsSeparate
(
settlementOwnerDetail
,
settlementDriverDetail
);
settlementStatisticsSeparate
(
settlementOwnerDetail
);
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
settlementOwnerDetail
.
getChildNo
());
return
;
}
log
.
info
(
"当前车主计费信息{},司机计费信息:{}"
,
JSONUtil
.
parse
(
settlementOwnerDetail
),
JSONUtil
.
parse
(
settlementDriverDetail
));
if
(
settlementOwnerDetail
.
getInvoiceFreight
()
==
null
)
{
log
.
info
(
"当前车主计费信息开票金额为空,需要重新处理计算开票金额"
);
settlementOwnerDetail
.
setInvoiceFreight
(
invoiceFreightCalc
(
orderChild
.
getSettlementWay
(),
orderGoods
.
getInvoiceServiceFeeRate
(),
settlementOwnerDetail
));
...
...
@@ -243,8 +240,69 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
}
//生成车主结算单
settlementDriverSave
(
settlementDriverDetail
,
settlementNo
);
// 更新结算单
settlementOwnerDetail
.
setSettlementNo
(
settlementNo
);
settlementOwnerDetailDao
.
updateSettlementNo
(
settlementOwnerDetail
);
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
settlementOwnerDetail
.
getChildNo
());
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
settlementDriverSettlement
(
SettlementDriverSettleMqParam
mq
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriver
settlementDriver
=
settlementDriverDao
.
findByChildNo
(
settlementDriverDetail
.
getChildNo
()).
orNull
();
if
(
settlementDriver
!=
null
)
{
return
;}
String
settlementNo
=
settlementNoGenerate
();
settlementDriver
=
new
SettlementDriver
();
settlementDriver
.
setDriverUserNo
(
settlementDriverDetail
.
getDriverUserNo
());
settlementDriver
.
setDriverName
(
settlementDriverDetail
.
getDriverName
());
settlementDriver
.
setSettlementNo
(
settlementNo
);
settlementDriver
.
setChildNo
(
settlementDriverDetail
.
getChildNo
());
settlementDriver
.
setOrderGoodsNo
(
settlementDriverDetail
.
getOrderGoodsNo
());
settlementDriver
.
setOrderNo
(
settlementDriverDetail
.
getOrderNo
());
settlementDriver
.
setGoodsId
(
settlementDriverDetail
.
getGoodsId
());
settlementDriver
.
setGoodsName
(
settlementDriverDetail
.
getGoodsName
());
settlementDriver
.
setTruckNo
(
settlementDriverDetail
.
getTruckNo
());
settlementDriver
.
setFreightPrice
(
settlementDriverDetail
.
getFreightPrice
());
settlementDriver
.
setWeight
(
settlementDriverDetail
.
getWeight
());
settlementDriver
.
setFreight
(
settlementDriverDetail
.
getFreight
());
settlementDriver
.
setLossPrice
(
settlementDriverDetail
.
getLossPrice
());
settlementDriver
.
setLossWeight
(
settlementDriverDetail
.
getLossWeight
());
settlementDriver
.
setLoanFlag
(
settlementDriverDetail
.
getLoanFlag
());
settlementDriver
.
setLossFreight
(
settlementDriverDetail
.
getLossFreight
());
settlementDriver
.
setPrepayFreightFlag
(
settlementDriverDetail
.
getPrepayFreightFlag
());
settlementDriver
.
setSettlementFreight
(
settlementDriverDetail
.
getSettlementFreight
());
settlementDriver
.
setInvoiceType
(
settlementDriverDetail
.
getInvoiceType
());
settlementDriver
.
setSettlementPlatform
(
settlementDriverDetail
.
getInvoiceType
()
==
1
?
String
.
valueOf
(
SettlementPlatformEnum
.
Platform
.
WY
.
getCode
()):
String
.
valueOf
(
SettlementPlatformEnum
.
Platform
.
MSL
.
getCode
()));
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
WAIT_SETTLEMENT
.
getCode
());
settlementDriver
.
setInvoicingCompanyId
(
settlementDriverDetail
.
getInvoicingCompanyId
());
settlementDriver
.
setInvoicingCompanyShorterName
(
settlementDriverDetail
.
getInvoicingCompanyShorterName
());
settlementDriver
.
setInvoicingCompanyGroupCode
(
settlementDriverDetail
.
getInvoicingCompanyGroupCode
());
settlementDriver
.
setPlatformServiceFeeRate
(
settlementDriverDetail
.
getPlatformServiceFeeRate
());
settlementDriver
.
setPlatformServiceFee
(
settlementDriverDetail
.
getPlatformServiceFee
());
settlementDriverDao
.
saveEntity
(
settlementDriver
);
settlementDriverDetail
.
setSettlementNo
(
settlementDriver
.
getSettlementNo
());
settlementDriverDetailDao
.
updateSettlementNo
(
settlementDriverDetail
);
//车主结算单自动支付
log
.
info
(
" 运单号 {}, 是否是普通单 {} "
,
settlementDriverDetail
.
getChildNo
(),
settlementDriverDetail
.
getInvoiceType
());
if
(!
settlementDriverDetail
.
getInvoiceType
().
equals
(
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
...
...
@@ -258,19 +316,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
childSyncTransportRecordService
.
addOrderChildSyncTransportRecord
(
settlementDriverDetail
);
}
else
if
(
settlementDriverDetail
.
getPrepayFreightFlag
().
equals
(
SettlementDriverEnum
.
PrepayFreightFlag
.
PAYED
.
getCode
())
&&
settlementDriverDetail
.
getPrepayFreight
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
&&
settlementDriverDetail
.
getPrepayFreight
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
settlementDriverDetail
.
setSettlementNo
(
settlementNo
);
//插入同步网络货运待支付记录
childSyncTransportRecordService
.
addOrderChildSyncTransportRecord
(
settlementDriverDetail
);
}
}
// 更新结算单
settlementOwnerDetail
.
setSettlementNo
(
settlementNo
);
settlementDriverDetail
.
setSettlementNo
(
settlementNo
);
settlementOwnerDetailDao
.
updateSettlementNo
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateSettlementNo
(
settlementDriverDetail
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -343,6 +395,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getSyncMsg
());
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
settlementPostService
.
riskAdd
(
settlementOrderChildRisk
.
getId
());
return
;
}
else
{
...
...
@@ -407,6 +461,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getSyncMsg
());
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
settlementPostService
.
riskAdd
(
settlementOrderChildRisk
.
getId
());
return
;
}
...
...
@@ -482,6 +538,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getSyncMsg
());
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
settlementPostService
.
riskAdd
(
settlementOrderChildRisk
.
getId
());
return
;
}
...
...
@@ -520,6 +578,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk
.
setRiskType
(
SettlementOrderChildRiskEnum
.
RiskType
.
SETTLE_FAIL
.
getCode
());
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getSettleMsg
());
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
settlementPostService
.
riskAdd
(
settlementOrderChildRisk
.
getId
());
}
}
...
...
@@ -858,7 +918,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
/**
* 月结更新
*/
private
void
settlementStatisticsSeparate
(
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
){
private
void
settlementStatisticsSeparate
(
SettlementOwnerDetail
settlementOwnerDetail
){
String
settlementNo
=
settlementOwnerDetail
.
getSettlementNo
();
SettlementOwner
settlementOwner
=
settlementOwnerDao
.
findBySettlementNo
(
settlementNo
).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
...
...
@@ -900,10 +960,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail
.
setSettlementNo
(
null
);
settlementOwnerDetail
.
setSeparateRemark
(
"系统自动拆单(原结算单号"
+
settlementNo
+
")"
);
settlementDriverDetail
.
setSettlementNo
(
null
);
settlementOwnerDetailDao
.
updateClearSettlementNo
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateClearSettlementNo
(
settlementDriverDetail
);
}
/**
...
...
@@ -914,6 +972,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return
uniqueOrderNumService
.
getUniqueOrderNum
(
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
convertLocalDateTimeToString
(
LocalDateTime
.
now
(),
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
DATE_DAY
));
}
@Override
public
void
riskAdd
(
SettlementOrderChildRiskAddMqParam
mq
)
{
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
riskProcess
(
SettlementOrderChildRiskProcessMqParam
mq
)
{
...
...
@@ -929,6 +992,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementMqService
.
settlementStatistics
(
childNo
,
SettlementStatisticsMqParam
.
Type
.
SEPARATE
.
getCode
());
}
// 发送mq (车主结算)
settlementMqService
.
settlementDriverSettle
(
childNo
);
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
childNo
);
}
...
...
@@ -954,7 +1020,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriver
settlementDriver
=
settlementDriverDao
.
getByChildNo
(
childNo
).
orNull
();
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
...
...
@@ -995,9 +1062,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceTypeAndPrepayFreightFlag
(
settlementDriverDetail
);
if
(
settlementDriver
!=
null
)
{
settlementDriver
.
setInvoicingCompanyId
(
settlementDriverDetail
.
getInvoicingCompanyId
());
settlementDriver
.
setInvoicingCompanyShorterName
(
settlementDriverDetail
.
getInvoicingCompanyShorterName
());
settlementDriver
.
setInvoicingCompanyGroupCode
(
settlementDriverDetail
.
getInvoicingCompanyGroupCode
());
}
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getReportFlag
(),
com
.
clx
.
order
.
enums
.
OrderEnum
.
ReportFlag
.
NO
.
getCode
())){
// 网运单转普通单
orderChildSyncTransportListener
.
extracted
(
orderChild
,
settlementOwnerDetail
,
settlementDriverDetail
,
settlementOwnerDetail
.
getInvoiceType
(),
null
);
if
(
settlementDriver
!=
null
)
{
settlementDriver
.
setPrepayFreightFlag
(
settlementDriverDetail
.
getPrepayFreightFlag
());
settlementDriverDao
.
updateInvoiceCompany
(
settlementDriver
);
}
return
;
}
...
...
@@ -1007,11 +1086,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 网运单转普通单
orderChildSyncTransportListener
.
extracted
(
orderChild
,
settlementOwnerDetail
,
settlementDriverDetail
,
settlementOwnerDetail
.
getInvoiceType
(),
settlementOrderChildRisk
.
getRiskRemark
());
if
(
settlementDriver
!=
null
)
{
settlementDriver
.
setPrepayFreightFlag
(
settlementDriverDetail
.
getPrepayFreightFlag
());
settlementDriverDao
.
updateInvoiceCompany
(
settlementDriver
);
}
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildUpdate
(
childNo
);
return
;
}
if
(
settlementDriver
!=
null
)
{
settlementDriver
.
setPrepayFreightFlag
(
settlementDriverDetail
.
getPrepayFreightFlag
());
settlementDriverDao
.
updateInvoiceCompany
(
settlementDriver
);
}
//普通单解冻
applicationEventPublisher
.
publishEvent
(
new
OwnerLoanThawEvent
(
this
,
childNo
));
// 发送mq 结算统计
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqServiceImpl.java
浏览文件 @
15eb4e7d
...
...
@@ -6,10 +6,7 @@ import com.clx.performance.common.MqWrapper;
import
com.clx.performance.constant.RabbitKeySettlementConstants
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.vo.mq.*
;
import
com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
import
com.clx.performance.vo.mq.settle.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
...
...
@@ -60,6 +57,19 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
settlementDriverSettle
(
String
childNo
)
{
SettlementDriverSettleMqParam
mq
=
new
SettlementDriverSettleMqParam
();
mq
.
setChildNo
(
childNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_SETTLE_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
invoiceTypeSync
(
String
childNo
)
{
...
...
@@ -114,6 +124,18 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
riskAdd
(
Integer
id
)
{
SettlementOrderChildRiskAddMqParam
mq
=
new
SettlementOrderChildRiskAddMqParam
();
mq
.
setId
(
id
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_ADD_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
riskProcess
(
Integer
id
)
{
SettlementOrderChildRiskProcessMqParam
mq
=
new
SettlementOrderChildRiskProcessMqParam
();
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOrderChildRiskServiceImpl.java
浏览文件 @
15eb4e7d
...
...
@@ -99,12 +99,17 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementOrderChildRisk
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
if
(
settlementDriver
!=
null
)
{
// 删除结算单
settlementDriverDao
.
deleteByKey
(
settlementDriver
.
getId
());
settlementDriver
.
setInvoiceType
(
settlementDriverDetail
.
getInvoiceType
());
settlementDriver
.
setInvoicingCompanyId
(
settlementDriverDetail
.
getInvoicingCompanyId
());
settlementDriver
.
setInvoicingCompanyShorterName
(
settlementDriverDetail
.
getInvoicingCompanyShorterName
());
settlementDriver
.
setInvoicingCompanyGroupCode
(
settlementDriverDetail
.
getInvoicingCompanyGroupCode
());
settlementDriver
.
setPrepayFreightFlag
(
settlementDriverDetail
.
getPrepayFreightFlag
());
settlementDriverDao
.
updateInvoiceCompany
(
settlementDriver
);
}
}
else
{
}
settlementOrderChildRiskDao
.
updateProcess
(
settlementOrderChildRisk
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementPostServiceImpl.java
浏览文件 @
15eb4e7d
...
...
@@ -60,4 +60,11 @@ public class SettlementPostServiceImpl implements SettlementPostService {
}
}
@Override
public
void
riskAdd
(
Integer
id
)
{
// 发送mq (风控新增)
settlementMqService
.
riskAdd
(
id
);
}
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqHandlerService.java
浏览文件 @
15eb4e7d
...
...
@@ -2,16 +2,14 @@ package com.clx.performance.service.settle;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.vo.mq.*
;
import
com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
import
com.clx.performance.vo.mq.settle.*
;
public
interface
SettlementMqHandlerService
{
void
settlementDetailAdd
(
SettlementDetailAddMqParam
mq
);
void
settlementStatistics
(
SettlementStatisticsMqParam
mq
);
void
settlementDriverSettlement
(
SettlementDriverSettleMqParam
mq
);
void
settle
(
SettlementSettleMqParam
mq
);
...
...
@@ -27,6 +25,7 @@ public interface SettlementMqHandlerService {
String
settlementNoGenerate
();
void
riskAdd
(
SettlementOrderChildRiskAddMqParam
mq
);
void
riskProcess
(
SettlementOrderChildRiskProcessMqParam
mq
);
void
invoiceCompanyUpdate
(
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
mq
);
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqService.java
浏览文件 @
15eb4e7d
...
...
@@ -6,6 +6,7 @@ public interface SettlementMqService {
void
settlementStatistics
(
String
childNo
);
void
settlementStatistics
(
String
childNo
,
Integer
type
);
void
settlementDriverSettle
(
String
childNo
);
void
invoiceTypeSync
(
String
childNo
);
...
...
@@ -15,6 +16,8 @@ public interface SettlementMqService {
void
payStatusSync
(
String
childNo
);
void
riskAdd
(
Integer
id
);
void
riskProcess
(
Integer
id
);
void
updateInvoiceCompany
(
Integer
id
);
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementPostService.java
浏览文件 @
15eb4e7d
...
...
@@ -15,4 +15,6 @@ public interface SettlementPostService {
void
updateInvoice
(
List
<
String
>
childNoList
);
void
riskAdd
(
Integer
id
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论