Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
dbbad988
提交
dbbad988
authored
9月 23, 2024
作者:
艾庆国
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'refs/heads/v26.2-jdk17springboot3-20240912' into dev_jdk17
上级
4ab92c08
bf0259c8
隐藏空白字符变更
内嵌
并排
正在显示
48 个修改的文件
包含
1024 行增加
和
107 行删除
+1024
-107
SettlementDriverDetailEnum.java
.../performance/enums/settle/SettlementDriverDetailEnum.java
+32
-0
SettlementDriverEnum.java
...om/clx/performance/enums/settle/SettlementDriverEnum.java
+1
-0
OrderChildLoadAndUnloadAgainParam.java
...formance/param/app/OrderChildLoadAndUnloadAgainParam.java
+0
-2
OrderChildLoadParam.java
...va/com/clx/performance/param/app/OrderChildLoadParam.java
+0
-2
BrokerOrderChildDriverPayMqParam.java
...rmance/vo/mq/broker/BrokerOrderChildDriverPayMqParam.java
+16
-0
SettlementDriverConfirmMqParam.java
...formance/vo/mq/settle/SettlementDriverConfirmMqParam.java
+16
-0
SettlementDriverPayAcceptSyncMqParam.java
...ce/vo/mq/settle/SettlementDriverPayAcceptSyncMqParam.java
+22
-0
SettlementDriverSettleMqParam.java
...rformance/vo/mq/settle/SettlementDriverSettleMqParam.java
+13
-0
SettlementOrderChildRiskAddMqParam.java
...ance/vo/mq/settle/SettlementOrderChildRiskAddMqParam.java
+16
-0
TransportVO.java
...in/java/com/clx/performance/vo/pc/broker/TransportVO.java
+2
-0
CarrierPageSettlementDriverVO.java
...e/vo/pc/carrier/settle/CarrierPageSettlementDriverVO.java
+5
-0
RabbitBrokerConfig.java
...n/java/com/clx/performance/config/RabbitBrokerConfig.java
+13
-0
RabbitSettlementConfig.java
...va/com/clx/performance/config/RabbitSettlementConfig.java
+53
-1
RabbitKeyBrokerConstants.java
...om/clx/performance/constant/RabbitKeyBrokerConstants.java
+6
-0
RabbitKeySettlementConstants.java
...lx/performance/constant/RabbitKeySettlementConstants.java
+26
-1
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+3
-0
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+9
-0
SettlementDriverDaoImpl.java
.../performance/dao/impl/settle/SettlementDriverDaoImpl.java
+28
-3
SettlementDriverDetailDaoImpl.java
...rmance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
+25
-0
SettlementDriverDao.java
...a/com/clx/performance/dao/settle/SettlementDriverDao.java
+6
-0
SettlementDriverDetailDao.java
...clx/performance/dao/settle/SettlementDriverDetailDao.java
+5
-0
EventListenerComponent.java
...ava/com/clx/performance/event/EventListenerComponent.java
+4
-0
BrokerService.java
...va/com/clx/performance/extranal/broker/BrokerService.java
+1
-0
BrokerServiceImpl.java
...x/performance/extranal/broker/impl/BrokerServiceImpl.java
+11
-0
BrokerFeign.java
.../src/main/java/com/clx/performance/feign/BrokerFeign.java
+8
-4
SettlementJob.java
...ava/com/clx/performance/job/settlement/SettlementJob.java
+75
-6
BrokerOrderChildDriverPayListener.java
...ce/listener/broker/BrokerOrderChildDriverPayListener.java
+45
-0
SettlementDriverConfirmListener.java
...ance/listener/settle/SettlementDriverConfirmListener.java
+43
-0
SettlementDriverPayAcceptSyncListener.java
...istener/settle/SettlementDriverPayAcceptSyncListener.java
+43
-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
SettlementDriverDetail.java
.../clx/performance/model/settle/SettlementDriverDetail.java
+1
-0
OrderChildBrokerMqHandlerService.java
...ance/service/broker/OrderChildBrokerMqHandlerService.java
+4
-0
OrderChildBrokerMqService.java
...performance/service/broker/OrderChildBrokerMqService.java
+2
-0
OrderChildBrokerService.java
...x/performance/service/broker/OrderChildBrokerService.java
+3
-0
OrderChildBrokerMqHandlerServiceImpl.java
...ice/impl/broker/OrderChildBrokerMqHandlerServiceImpl.java
+21
-0
OrderChildBrokerMqServiceImpl.java
...ce/service/impl/broker/OrderChildBrokerMqServiceImpl.java
+15
-0
OrderChildBrokerServiceImpl.java
...ance/service/impl/broker/OrderChildBrokerServiceImpl.java
+8
-0
OrderChildPostServiceImpl.java
...ormance/service/impl/child/OrderChildPostServiceImpl.java
+3
-0
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+248
-60
SettlementMqServiceImpl.java
...formance/service/impl/settle/SettlementMqServiceImpl.java
+51
-4
SettlementOrderChildRiskServiceImpl.java
...vice/impl/settle/SettlementOrderChildRiskServiceImpl.java
+8
-10
SettlementOwnerDetailServiceImpl.java
...service/impl/settle/SettlementOwnerDetailServiceImpl.java
+14
-7
SettlementPostServiceImpl.java
...rmance/service/impl/settle/SettlementPostServiceImpl.java
+13
-0
SettlementMqHandlerService.java
...erformance/service/settle/SettlementMqHandlerService.java
+6
-4
SettlementMqService.java
...m/clx/performance/service/settle/SettlementMqService.java
+7
-0
SettlementPostService.java
...clx/performance/service/settle/SettlementPostService.java
+3
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementDriverDetailEnum.java
0 → 100644
浏览文件 @
dbbad988
package
com
.
clx
.
performance
.
enums
.
settle
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Objects
;
import
java.util.Optional
;
public
enum
SettlementDriverDetailEnum
{
;
@Getter
@AllArgsConstructor
public
enum
PayAcceptStatus
{
INIT
(
0
,
"未受理支付"
),
ACCEPTING
(
1
,
"支付受理中"
),
ACCEPTED
(
2
,
"已受理支付"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
PayAcceptStatus
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
Objects
.
equals
(
e
.
getCode
(),
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
PayAcceptStatus:
:
getMsg
).
orElse
(
null
);
}
}
}
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementDriverEnum.java
浏览文件 @
dbbad988
...
...
@@ -31,6 +31,7 @@ public enum SettlementDriverEnum {
@Getter
@AllArgsConstructor
public
enum
Status
{
DRIVER_UNCONFIRMED
(
0
,
"待司机确认交货"
),
WAIT_SETTLEMENT
(
1
,
"待结算"
),
SETTLED
(
2
,
"已结算"
),
;
...
...
performance-api/src/main/java/com/clx/performance/param/app/OrderChildLoadAndUnloadAgainParam.java
浏览文件 @
dbbad988
...
...
@@ -22,11 +22,9 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam {
private
String
childNo
;
@Schema
(
description
=
"装货毛重(单位吨)"
,
example
=
"2.46"
)
@NotNull
private
BigDecimal
loadRough
;
@Schema
(
description
=
"装货皮重(单位吨)"
,
example
=
"1.23"
)
@NotNull
private
BigDecimal
loadTare
;
@Schema
(
description
=
"装货净重(单位吨)"
,
example
=
"1.23"
)
...
...
performance-api/src/main/java/com/clx/performance/param/app/OrderChildLoadParam.java
浏览文件 @
dbbad988
...
...
@@ -21,11 +21,9 @@ public class OrderChildLoadParam extends PositionParam {
private
String
childNo
;
@Schema
(
description
=
"装货毛重(单位吨)"
,
example
=
"2.46"
)
@NotNull
private
BigDecimal
loadRough
;
@Schema
(
description
=
"装货皮重(单位吨)"
,
example
=
"1.23"
)
@NotNull
private
BigDecimal
loadTare
;
@Schema
(
description
=
"装货净重(单位吨)"
,
example
=
"1.23"
)
...
...
performance-api/src/main/java/com/clx/performance/vo/mq/broker/BrokerOrderChildDriverPayMqParam.java
0 → 100644
浏览文件 @
dbbad988
package
com
.
clx
.
performance
.
vo
.
mq
.
broker
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
BrokerOrderChildDriverPayMqParam
{
private
String
childNo
;
//运单编号
}
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementDriverConfirmMqParam.java
0 → 100644
浏览文件 @
dbbad988
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
SettlementDriverConfirmMqParam
{
private
String
childNo
;
}
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementDriverPayAcceptSyncMqParam.java
0 → 100644
浏览文件 @
dbbad988
package
com
.
clx
.
performance
.
vo
.
mq
.
settle
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 支付受理
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
SettlementDriverPayAcceptSyncMqParam
{
private
String
childNo
;
//运单编号
}
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementDriverSettleMqParam.java
0 → 100644
浏览文件 @
dbbad988
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
浏览文件 @
dbbad988
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-api/src/main/java/com/clx/performance/vo/pc/broker/TransportVO.java
浏览文件 @
dbbad988
...
...
@@ -37,5 +37,7 @@ public class TransportVO {
@Schema
(
description
=
"开票状态 0 未开票 1 已开票 "
,
example
=
"1234124"
)
private
Integer
invoiceStatus
;
@Schema
(
description
=
"第三方运单状态 20-已卸货,30-已创建支付单"
,
example
=
"1234124"
)
private
Integer
thirdPartyChildStatus
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/carrier/settle/CarrierPageSettlementDriverVO.java
浏览文件 @
dbbad988
package
com
.
clx
.
performance
.
vo
.
pc
.
carrier
.
settle
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
...
...
@@ -81,6 +82,10 @@ public class CarrierPageSettlementDriverVO {
private
BigDecimal
settlementFreight
;
@Schema
(
description
=
"状态"
)
private
Integer
status
;
private
String
statusMsg
;
public
String
getStatusMsg
()
{
return
SettlementDriverEnum
.
Status
.
getMsgByCode
(
status
);
}
@Schema
(
description
=
"创建时间"
)
private
String
createTime
;
@Schema
(
description
=
"结算平台 1:马上来 2:网运平台"
)
...
...
performance-web/src/main/java/com/clx/performance/config/RabbitBrokerConfig.java
浏览文件 @
dbbad988
...
...
@@ -77,4 +77,17 @@ public class RabbitBrokerConfig {
.
with
(
RabbitKeyBrokerConstants
.
ORDER_CHILD_UPDATE_ROUTING_KEY
);
}
/**
* 运单司机确认收货
*/
@Bean
public
Queue
brokerOrderChildDriverConfirmQueue
()
{
return
new
Queue
(
RabbitKeyBrokerConstants
.
ORDER_CHILD_DRIVER_PAY_QUEUE
);
}
@Bean
public
Binding
brokerOrderChildDriverConfirmQueueBinding
()
{
return
BindingBuilder
.
bind
(
brokerOrderChildDriverConfirmQueue
()).
to
(
brokerDefaultExchange
())
.
with
(
RabbitKeyBrokerConstants
.
ORDER_CHILD_DRIVER_PAY_ROUTING_KEY
);
}
}
performance-web/src/main/java/com/clx/performance/config/RabbitSettlementConfig.java
浏览文件 @
dbbad988
...
...
@@ -87,7 +87,20 @@ public class RabbitSettlementConfig {
}
/**
* 结算
* 开票方式同步
*/
@Bean
public
Queue
settlementDriverPayAcceptSyncQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_PAY_ACCEPT_SYNC_QUEUE
);
}
@Bean
public
Binding
settlementDriverPayAcceptSyncQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementDriverPayAcceptSyncQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_PAY_ACCEPT_SYNC_ROUTING_KEY
);
}
/**
* 货主结算
*/
@Bean
public
Queue
settlementSettleQueue
()
{
...
...
@@ -98,6 +111,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 +150,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
);
}
/**
* 风控处理
*/
...
...
@@ -175,4 +214,17 @@ public class RabbitSettlementConfig {
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_STATUS_UPDATE_ROUTING_KEY
);
}
/**
* 司机确认收货
*/
@Bean
public
Queue
settlementDriverConfirmQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_CONFIRM_QUEUE
);
}
@Bean
public
Binding
settlementDriverConfirmQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementDriverConfirmQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_CONFIRM_ROUTING_KEY
);
}
}
performance-web/src/main/java/com/clx/performance/constant/RabbitKeyBrokerConstants.java
浏览文件 @
dbbad988
...
...
@@ -45,4 +45,10 @@ public class RabbitKeyBrokerConstants {
public
static
final
String
ORDER_CHILD_UPDATE_QUEUE
=
PREFIX
+
"orderChild.update"
+
QUEUE
;
public
static
final
String
ORDER_CHILD_UPDATE_ROUTING_KEY
=
PREFIX
+
"orderChild.update"
+
QUEUE_ROUTING_KEY
;
/**
* 司机支付
*/
public
static
final
String
ORDER_CHILD_DRIVER_PAY_QUEUE
=
PREFIX
+
"orderChildDriver.pay"
+
QUEUE
;
public
static
final
String
ORDER_CHILD_DRIVER_PAY_ROUTING_KEY
=
PREFIX
+
"orderChildDriver.pay"
+
QUEUE_ROUTING_KEY
;
}
performance-web/src/main/java/com/clx/performance/constant/RabbitKeySettlementConstants.java
浏览文件 @
dbbad988
...
...
@@ -52,10 +52,23 @@ public class RabbitKeySettlementConstants {
public
static
final
String
SETTLEMENT_INVOICE_TYPE_SYNC_ROUTING_KEY
=
PREFIX
+
"settlementInvoiceType.sync"
+
QUEUE_ROUTING_KEY
;
/**
* 结算
* 同步支付受理
*/
public
static
final
String
SETTLEMENT_DRIVER_PAY_ACCEPT_SYNC_QUEUE
=
PREFIX
+
"settlementDriverPayAccept.sync"
+
QUEUE
;
public
static
final
String
SETTLEMENT_DRIVER_PAY_ACCEPT_SYNC_ROUTING_KEY
=
PREFIX
+
"settlementDriverPayAccept.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 +81,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
;
/**
* 风控处理
*/
...
...
@@ -92,4 +111,10 @@ public class RabbitKeySettlementConstants {
public
static
final
String
SETTLEMENT_INVOICE_STATUS_UPDATE_QUEUE
=
PREFIX
+
"settlementInvoice.update"
+
QUEUE
;
public
static
final
String
SETTLEMENT_INVOICE_STATUS_UPDATE_ROUTING_KEY
=
PREFIX
+
"settlementInvoice.update"
+
QUEUE_ROUTING_KEY
;
/**
* 司机确认收货
*/
public
static
final
String
SETTLEMENT_DRIVER_CONFIRM_QUEUE
=
PREFIX
+
"settlementDriver.confirm"
+
QUEUE
;
public
static
final
String
SETTLEMENT_DRIVER_CONFIRM_ROUTING_KEY
=
PREFIX
+
"settlementDriver.confirm"
+
QUEUE_ROUTING_KEY
;
}
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
dbbad988
...
...
@@ -219,4 +219,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
int
countTakeByOrderGoodsNo
(
String
orderGoodsNo
);
int
countLoadByOrderGoodsNo
(
String
orderGoodsNo
);
List
<
OrderChild
>
findListByChildNoList
(
List
<
String
>
childNoList
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
dbbad988
...
...
@@ -720,4 +720,13 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public
int
countLoadByOrderGoodsNo
(
String
orderGoodsNo
)
{
return
baseMapper
.
countLoadByOrderGoodsNo
(
orderGoodsNo
);
}
@Override
public
List
<
OrderChild
>
findListByChildNoList
(
List
<
String
>
childNoList
)
{
return
list
(
lQrWrapper
()
.
in
(
OrderChild
::
getChildNo
,
childNoList
)
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDaoImpl.java
浏览文件 @
dbbad988
...
...
@@ -6,10 +6,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.settle.SettlementDriverDao
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
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 +18,6 @@ import org.springframework.stereotype.Repository;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Set
;
/**
* @Author: aiqinguo
...
...
@@ -38,6 +37,24 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
);
}
@Override
public
boolean
updateInvoiceCompany
(
SettlementDriver
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriver:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriver:
:
getInvoicingCompanyId
,
item
.
getInvoicingCompanyId
())
.
set
(
SettlementDriver:
:
getInvoicingCompanyShorterName
,
item
.
getInvoicingCompanyShorterName
())
.
set
(
SettlementDriver:
:
getInvoicingCompanyGroupCode
,
item
.
getInvoicingCompanyGroupCode
())
);
}
@Override
public
boolean
updateSettleStatus
(
SettlementDriver
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriver:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriver:
:
getStatus
,
item
.
getStatus
())
);
}
@Override
public
Optional
<
SettlementDriver
>
findBySettlementNo
(
String
settlementNo
)
{
return
Optional
.
of
(
lQrWrapper
()
...
...
@@ -54,6 +71,14 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
.
map
(
super
::
getOne
);
}
@Override
public
List
<
SettlementDriver
>
listDriverConfirmSync
()
{
return
list
(
lUdWrapper
()
.
eq
(
SettlementDriver:
:
getInvoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
.
eq
(
SettlementDriver:
:
getStatus
,
SettlementDriverEnum
.
Status
.
DRIVER_UNCONFIRMED
.
getCode
())
);
}
@Override
public
IPage
<
SettlementDriver
>
pageCarrierSettlementDriver
(
PageCarrierSettlementDriverParam
param
)
{
LambdaQueryWrapper
<
SettlementDriver
>
query
=
new
LambdaQueryWrapper
<>();
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
浏览文件 @
dbbad988
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.enums.settle.SettlementDriverDetailEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.mapper.settle.SettlementDriverDetailMapper
;
...
...
@@ -85,6 +86,13 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
);
}
@Override
public
boolean
updatePayAcceptStatus
(
SettlementDriverDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getPayAcceptStatus
,
item
.
getPayAcceptStatus
())
);
}
@Override
...
...
@@ -96,6 +104,23 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
.
map
(
super
::
getOne
);
}
@Override
public
List
<
SettlementDriverDetail
>
listDriverPaySync
(
LocalDateTime
time
)
{
return
list
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getInvoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
.
eq
(
SettlementDriverDetail:
:
getPayAcceptStatus
,
SettlementDriverDetailEnum
.
PayAcceptStatus
.
INIT
.
getCode
())
.
ge
(
SettlementDriverDetail:
:
getCreateTime
,
time
)
);
}
@Override
public
List
<
SettlementDriverDetail
>
listDriverPayAcceptSync
()
{
return
list
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getInvoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
.
eq
(
SettlementDriverDetail:
:
getPayAcceptStatus
,
SettlementDriverDetailEnum
.
PayAcceptStatus
.
ACCEPTING
.
getCode
())
);
}
@Override
public
IPage
<
SettlementDriverDetail
>
pageSettlementDriverDetail
(
PageCarrierSettlementDriverDetailParam
param
)
{
LambdaQueryWrapper
<
SettlementDriverDetail
>
query
=
new
LambdaQueryWrapper
<>();
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDao.java
浏览文件 @
dbbad988
...
...
@@ -20,10 +20,16 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set
boolean
updatePayStatus
(
SettlementDriver
item
);
boolean
updateInvoiceCompany
(
SettlementDriver
item
);
boolean
updateSettleStatus
(
SettlementDriver
item
);
Optional
<
SettlementDriver
>
findBySettlementNo
(
String
settlementNo
);
Optional
<
SettlementDriver
>
findByChildNo
(
String
childNo
);
List
<
SettlementDriver
>
listDriverConfirmSync
();
IPage
<
SettlementDriver
>
pageCarrierSettlementDriver
(
PageCarrierSettlementDriverParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDetailDao.java
浏览文件 @
dbbad988
...
...
@@ -24,10 +24,15 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
boolean
updateInvoiceTypeAndPrepayFreightFlag
(
SettlementDriverDetail
item
);
boolean
updateConvertOrdinary
(
SettlementDriverDetail
item
);
boolean
updatePreFreight
(
SettlementDriverDetail
item
);
boolean
updatePayAcceptStatus
(
SettlementDriverDetail
item
);
Optional
<
SettlementDriverDetail
>
getByChildNo
(
String
childNo
);
List
<
SettlementDriverDetail
>
listDriverPaySync
(
LocalDateTime
time
);
List
<
SettlementDriverDetail
>
listDriverPayAcceptSync
();
IPage
<
SettlementDriverDetail
>
pageSettlementDriverDetail
(
PageCarrierSettlementDriverDetailParam
param
);
List
<
SettlementDriverDetail
>
listUnPay
(
LocalDateTime
beginTime
);
...
...
performance-web/src/main/java/com/clx/performance/event/EventListenerComponent.java
浏览文件 @
dbbad988
...
...
@@ -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/extranal/broker/BrokerService.java
浏览文件 @
dbbad988
...
...
@@ -7,6 +7,7 @@ public interface BrokerService {
void
orderChildSync
(
TransportParam
param
);
void
orderChildUpdate
(
TransportParam
param
);
void
orderChildPay
(
String
childNo
);
TransportVO
getOrderChildStatus
(
String
childNo
);
...
...
performance-web/src/main/java/com/clx/performance/extranal/broker/impl/BrokerServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -45,6 +45,17 @@ public class BrokerServiceImpl implements BrokerService {
log
.
info
(
"运单更新网络货运, childNo:{}, result:{}"
,
param
.
getOrderChild
().
getSourceChildNo
(),
JSON
.
toJSONString
(
result
));
}
@Override
public
void
orderChildPay
(
String
childNo
)
{
Result
<
Object
>
result
=
brokerFeign
.
payConfirm
(
childNo
,
settlementConfig
.
getBrokerUserCode
());
if
(
result
.
getCode
()
!=
0
)
{
log
.
info
(
"司机支付, childNo:{}, msg:{}"
,
childNo
,
result
.
getMsg
());
}
log
.
info
(
"司机支付, childNo:{}, result:{}"
,
childNo
,
JSON
.
toJSONString
(
result
));
}
@Override
public
TransportVO
getOrderChildStatus
(
String
childNo
)
{
...
...
performance-web/src/main/java/com/clx/performance/feign/BrokerFeign.java
浏览文件 @
dbbad988
...
...
@@ -6,10 +6,7 @@ import com.msl.common.result.Result;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.*
;
@FeignClient
(
name
=
"broker-service"
,
configuration
=
PerformanceClientConfiguration
.
class
,
url
=
"${settlement.brokerHost}"
)
public
interface
BrokerFeign
{
...
...
@@ -31,4 +28,11 @@ public interface BrokerFeign {
@RequestParam
@NotNull
(
message
=
"userCode不能为空"
)
String
userCode
,
@RequestParam
String
settlementNo
);
/**
* 司机支付
*/
@RequestMapping
(
value
=
"/broker-service/open/transport/payConfirm"
,
method
=
RequestMethod
.
POST
)
Result
<
Object
>
payConfirm
(
@RequestParam
@NotBlank
(
message
=
"运单编号不能为空"
)
String
orderCode
,
@RequestParam
@NotNull
(
message
=
"userCode不能为空"
)
String
userCode
);
}
performance-web/src/main/java/com/clx/performance/job/settlement/SettlementJob.java
浏览文件 @
dbbad988
...
...
@@ -2,13 +2,11 @@ package com.clx.performance.job.settlement;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildSyncTransportInvoiceRecordDao
;
import
com.clx.performance.dao.settle.OrderChildSyncTransportRecordDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.model.settle.OrderChildSyncTransportRecord
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.dao.settle.*
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.settle.*
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.msl.common.job.JobLog
;
...
...
@@ -22,6 +20,7 @@ import org.springframework.stereotype.Service;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
...
...
@@ -35,9 +34,12 @@ public class SettlementJob {
private
final
SettlementMqService
settlementMqService
;
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementDriverDetailDao
settlementDriverDetailDao
;
private
final
SettlementDriverDao
settlementDriverDao
;
private
final
SettlementOwnerDao
settlementOwnerDao
;
private
final
OrderChildSyncTransportRecordDao
orderChildSyncTransportRecordDao
;
private
final
OrderChildBrokerMqService
orderChildBrokerMqService
;
private
final
OrderChildDao
orderChildDao
;
/**
* 同步无车承运运单开票类型
...
...
@@ -57,6 +59,45 @@ public class SettlementJob {
}
}
/**
* 司机确认收货同步
*/
@XxlJob
(
"settlementDriverConfirmSync"
)
public
void
settlementDriverConfirmSync
()
{
List
<
SettlementDriver
>
recordList
=
settlementDriverDao
.
listDriverConfirmSync
();
log
.
info
(
"待司机确认收货同步,size:{}"
,
recordList
.
size
());
if
(
recordList
.
isEmpty
())
{
return
;}
List
<
OrderChild
>
childList
=
orderChildDao
.
findListByChildNoList
(
recordList
.
stream
().
map
(
SettlementDriver:
:
getChildNo
).
collect
(
Collectors
.
toList
()));
childList
=
childList
.
stream
().
filter
(
item
->
item
.
getConfirmTime
()
!=
null
).
collect
(
Collectors
.
toList
());
log
.
info
(
"待司机确认收货同步,size:{}"
,
childList
.
size
());
for
(
OrderChild
item
:
childList
)
{
settlementMqService
.
settlementDriverConfirm
(
item
.
getChildNo
());
}
}
/**
* 同步无车承运运单支付受理
*/
@XxlJob
(
"settlementDriverPayAcceptSync"
)
public
void
settlementDriverPayAcceptSync
()
{
List
<
SettlementDriverDetail
>
recordList
=
settlementDriverDetailDao
.
listDriverPayAcceptSync
();
log
.
info
(
"待同步无车承运运单支付受理,size:{}"
,
recordList
.
size
());
if
(
recordList
.
isEmpty
())
{
return
;}
for
(
SettlementDriverDetail
item
:
recordList
)
{
settlementMqService
.
driverPayAcceptSync
(
item
.
getChildNo
());
}
}
/**
* 同步无车承运运单开票状态
*/
...
...
@@ -188,4 +229,32 @@ public class SettlementJob {
}
}
/**
* 网络货运运单支付同步(测试)
*/
@XxlJob
(
"settlementDriverPayTest"
)
public
void
settlementDriverPayTest
()
{
try
{
List
<
String
>
childNoList
=
null
;
String
jobParam
=
XxlJobHelper
.
getJobParam
();
log
.
info
(
"网络货运运单支付同步, param:{}"
,
jobParam
);
if
(
StringUtils
.
isNotBlank
(
jobParam
))
{
childNoList
=
JSON
.
parseArray
(
jobParam
,
String
.
class
);
}
if
(
childNoList
==
null
||
childNoList
.
isEmpty
())
{
return
;
}
for
(
String
childNo
:
childNoList
)
{
// 发送mq (运单司机支付)
orderChildBrokerMqService
.
orderChildDriverPay
(
childNo
);
}
}
catch
(
Exception
e
)
{
log
.
warn
(
"网络货运运单支付同步 失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
JobLog
.
error
(
"网络货运运单支付同步 失败"
,
e
);
}
}
}
performance-web/src/main/java/com/clx/performance/listener/broker/BrokerOrderChildDriverPayListener.java
0 → 100644
浏览文件 @
dbbad988
package
com
.
clx
.
performance
.
listener
.
broker
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyBrokerConstants
;
import
com.clx.performance.service.broker.OrderChildBrokerMqHandlerService
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam
;
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
BrokerOrderChildDriverPayListener
{
@Autowired
private
OrderChildBrokerMqHandlerService
orderChildBrokerMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeyBrokerConstants
.
ORDER_CHILD_DRIVER_PAY_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"无车承运-司机支付, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
BrokerOrderChildDriverPayMqParam
>>(){}).
getData
());
log
.
info
(
"无车承运-司机支付 成功, message:{}"
,
new
String
(
message
.
getBody
()));
}
catch
(
Exception
e
){
log
.
info
(
"无车承运-司机支付 失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
private
void
process
(
BrokerOrderChildDriverPayMqParam
mq
){
orderChildBrokerMqHandlerService
.
orderChildDriverPay
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementDriverConfirmListener.java
0 → 100644
浏览文件 @
dbbad988
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.SettlementDriverConfirmMqParam
;
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
SettlementDriverConfirmListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_CONFIRM_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-司机确认收货, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementDriverConfirmMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-司机确认收货 失败"
,
e
);
}
}
private
void
process
(
SettlementDriverConfirmMqParam
mq
){
settlementMqHandlerService
.
settlementDriverConfirm
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementDriverPayAcceptSyncListener.java
0 → 100644
浏览文件 @
dbbad988
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.SettlementDriverPayAcceptSyncMqParam
;
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
SettlementDriverPayAcceptSyncListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_PAY_ACCEPT_SYNC_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-司机支付受理同步, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementDriverPayAcceptSyncMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-司机支付受理同步 失败"
,
e
);
}
}
private
void
process
(
SettlementDriverPayAcceptSyncMqParam
mq
){
settlementMqHandlerService
.
driverPayAcceptSync
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementDriverSettlementListener.java
0 → 100644
浏览文件 @
dbbad988
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
浏览文件 @
dbbad988
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
浏览文件 @
dbbad988
...
...
@@ -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/model/settle/SettlementDriverDetail.java
浏览文件 @
dbbad988
...
...
@@ -53,6 +53,7 @@ public class SettlementDriverDetail implements HasKey<Integer> {
private
String
invoicingCompanyGroupCode
;
//开票公司统一社会信用代码
private
BigDecimal
platformServiceFee
;
//平台服务费(分)
private
BigDecimal
platformServiceFeeRate
;
//平台服务费费率%
private
Integer
payAcceptStatus
;
//支付受理状态:0未受理支付 1支付受理中 2已受理支付
private
Integer
status
;
//状态
private
LocalDateTime
createTime
;
//创建时间
private
LocalDateTime
modifiedTime
;
//修改时间
...
...
performance-web/src/main/java/com/clx/performance/service/broker/OrderChildBrokerMqHandlerService.java
浏览文件 @
dbbad988
package
com
.
clx
.
performance
.
service
.
broker
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam
;
...
...
@@ -7,4 +8,7 @@ public interface OrderChildBrokerMqHandlerService {
void
orderChildSync
(
BrokerOrderChildSyncMqParam
mq
);
void
orderChildUpdate
(
BrokerOrderChildUpdateMqParam
mq
);
void
orderChildDriverPay
(
BrokerOrderChildDriverPayMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/broker/OrderChildBrokerMqService.java
浏览文件 @
dbbad988
...
...
@@ -9,4 +9,6 @@ public interface OrderChildBrokerMqService {
void
orderChildUpdate
(
List
<
String
>
childNoList
);
void
orderChildDriverPay
(
String
childNo
);
}
performance-web/src/main/java/com/clx/performance/service/broker/OrderChildBrokerService.java
浏览文件 @
dbbad988
...
...
@@ -12,4 +12,7 @@ public interface OrderChildBrokerService {
SettlementDriverDetail
settlementDriverDetail
);
void
orderChildUpdate
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
,
SettlementDriver
settlementDriver
);
void
orderChildDriverPay
(
SettlementDriverDetail
settlementDriverDetail
);
}
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerMqHandlerServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -7,6 +7,7 @@ import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import
com.clx.performance.dao.settle.SettlementOrderChildRiskDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOrderChildRiskEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.model.OrderChild
;
...
...
@@ -18,6 +19,8 @@ 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.BrokerOrderChildDriverPayMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -51,6 +54,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 +83,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
){
...
...
@@ -141,4 +149,17 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
}
@Override
public
void
orderChildDriverPay
(
BrokerOrderChildDriverPayMqParam
mq
)
{
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
settlementDriverDetail
.
setPayAcceptStatus
(
SettlementDriverDetailEnum
.
PayAcceptStatus
.
ACCEPTING
.
getCode
());
settlementDriverDetailDao
.
updatePayAcceptStatus
(
settlementDriverDetail
);
// 司机支付
orderChildBrokerService
.
orderChildDriverPay
(
settlementDriverDetail
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerMqServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -5,6 +5,7 @@ import com.clx.performance.common.MqDelay;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyBrokerConstants
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -58,4 +59,18 @@ public class OrderChildBrokerMqServiceImpl implements OrderChildBrokerMqService
}
}
@Override
public
void
orderChildDriverPay
(
String
childNo
)
{
BrokerOrderChildDriverPayMqParam
mq
=
new
BrokerOrderChildDriverPayMqParam
();
mq
.
setChildNo
(
childNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeyBrokerConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyBrokerConstants
.
ORDER_CHILD_DRIVER_PAY_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeyBrokerConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyBrokerConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -7,6 +7,7 @@ import com.clx.order.vo.feign.FeignOrderVO;
import
com.clx.order.vo.pc.carrier.InvoicingCompanyVO
;
import
com.clx.performance.dao.OrderChildImageDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.PowerTypeEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
...
...
@@ -84,6 +85,13 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
brokerService
.
orderChildUpdate
(
transportParam
);
}
@Override
public
void
orderChildDriverPay
(
SettlementDriverDetail
settlementDriverDetail
)
{
// 运单支付
brokerService
.
orderChildPay
(
settlementDriverDetail
.
getChildNo
());
}
private
TransportParam
buildParam
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
,
SettlementDriver
settlementDriver
){
String
host
=
documentFeign
.
getHost
().
getData
();
...
...
performance-web/src/main/java/com/clx/performance/service/impl/child/OrderChildPostServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -90,6 +90,9 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
// 发送mq 司机确认收货
orderChildMqService
.
orderChildDriverConfirm
(
orderChild
.
getChildNo
());
// 发送mq (司机付款同步网络货运)
settlementMqService
.
settlementDriverConfirm
(
orderChild
.
getChildNo
());
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildUpdate
(
orderChild
.
getChildNo
());
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -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
{
...
...
@@ -358,6 +412,49 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
}
@Override
public
void
driverPayAcceptSync
(
SettlementDriverPayAcceptSyncMqParam
mq
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(!
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceChannel
(),
SettlementOwnerDetailEnum
.
InvoiceChannel
.
BROKER
.
getCode
())){
return
;
}
if
(
settlementOwnerDetail
.
getInvoiceType
()
==
null
)
{
return
;}
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(!
Objects
.
equals
(
settlementDriverDetail
.
getPayAcceptStatus
(),
SettlementDriverDetailEnum
.
PayAcceptStatus
.
ACCEPTING
.
getCode
())){
return
;
}
SettlementDriver
settlementDriver
=
settlementDriverDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
try
{
// 获取状态
TransportVO
result
=
brokerService
.
getOrderChildStatus
(
mq
.
getChildNo
());
if
(
result
==
null
){
log
.
info
(
"运单号 {} 未找到运单信息"
,
mq
.
getChildNo
());
return
;
}
if
(
Objects
.
equals
(
result
.
getSyncStatus
(),
0
))
{
return
;
}
else
if
(
Objects
.
equals
(
result
.
getThirdPartyChildStatus
(),
30
))
{
// 更新状态
settlementDriverDetail
.
setPayAcceptStatus
(
SettlementDriverDetailEnum
.
PayAcceptStatus
.
ACCEPTED
.
getCode
());
settlementDriverDetailDao
.
updatePayAcceptStatus
(
settlementDriverDetail
);
}
}
catch
(
Exception
e
){
log
.
info
(
"结算获取支付受理状态失败, 运单号 {}"
,
mq
.
getChildNo
(),
e
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
invoiceStatusSync
(
SettlementInvoiceStatusSyncMqParam
mq
)
{
...
...
@@ -407,6 +504,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getSyncMsg
());
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
settlementPostService
.
riskAdd
(
settlementOrderChildRisk
.
getId
());
return
;
}
...
...
@@ -482,6 +581,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getSyncMsg
());
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
settlementPostService
.
riskAdd
(
settlementOrderChildRisk
.
getId
());
return
;
}
...
...
@@ -520,6 +621,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk
.
setRiskType
(
SettlementOrderChildRiskEnum
.
RiskType
.
SETTLE_FAIL
.
getCode
());
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getSettleMsg
());
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
settlementPostService
.
riskAdd
(
settlementOrderChildRisk
.
getId
());
}
}
...
...
@@ -606,45 +709,45 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// settlementService.updateSettlementDetailInvoiceType(settlementOwnerDetail.getChildNo(), SettlementOwnerEnum.InvoiceType.ORDINARY.getCode());
}
private
void
settlementDriverSave
(
SettlementDriverDetail
detail
,
String
settlementNo
){
SettlementDriver
settlementDriver
=
settlementDriverDao
.
findByChildNo
(
detail
.
getChildNo
()).
orElse
(
new
SettlementDriver
());
settlementDriver
.
setDriverUserNo
(
detail
.
getDriverUserNo
());
settlementDriver
.
setDriverName
(
detail
.
getDriverName
());
settlementDriver
.
setSettlementNo
(
settlementNo
);
settlementDriver
.
setChildNo
(
detail
.
getChildNo
());
settlementDriver
.
setOrderGoodsNo
(
detail
.
getOrderGoodsNo
());
settlementDriver
.
setOrderNo
(
detail
.
getOrderNo
());
settlementDriver
.
setGoodsId
(
detail
.
getGoodsId
());
settlementDriver
.
setGoodsName
(
detail
.
getGoodsName
());
settlementDriver
.
setTruckNo
(
detail
.
getTruckNo
());
settlementDriver
.
setFreightPrice
(
detail
.
getFreightPrice
());
settlementDriver
.
setWeight
(
detail
.
getWeight
());
settlementDriver
.
setFreight
(
detail
.
getFreight
());
settlementDriver
.
setLossPrice
(
detail
.
getLossPrice
());
settlementDriver
.
setLossWeight
(
detail
.
getLossWeight
());
settlementDriver
.
setLoanFlag
(
detail
.
getLoanFlag
());
settlementDriver
.
setLossFreight
(
detail
.
getLossFreight
());
settlementDriver
.
setPrepayFreightFlag
(
detail
.
getPrepayFreightFlag
());
settlementDriver
.
setSettlementFreight
(
detail
.
getSettlementFreight
());
settlementDriver
.
setInvoiceType
(
detail
.
getInvoiceType
());
settlementDriver
.
setSettlementPlatform
(
detail
.
getInvoiceType
()
==
1
?
String
.
valueOf
(
SettlementPlatformEnum
.
Platform
.
WY
.
getCode
()):
String
.
valueOf
(
SettlementPlatformEnum
.
Platform
.
MSL
.
getCode
()));
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
WAIT_SETTLEMENT
.
getCode
());
settlementDriver
.
setInvoicingCompanyId
(
detail
.
getInvoicingCompanyId
());
settlementDriver
.
setInvoicingCompanyShorterName
(
detail
.
getInvoicingCompanyShorterName
());
settlementDriver
.
setInvoicingCompanyGroupCode
(
detail
.
getInvoicingCompanyGroupCode
());
settlementDriver
.
setPlatformServiceFeeRate
(
detail
.
getPlatformServiceFeeRate
());
settlementDriver
.
setPlatformServiceFee
(
detail
.
getPlatformServiceFee
());
if
(
settlementDriver
.
getId
()
==
null
)
{
settlementDriverDao
.
saveEntity
(
settlementDriver
);
}
else
{
settlementDriverDao
.
updateEntityByKey
(
settlementDriver
);
}
}
//
private void settlementDriverSave(SettlementDriverDetail detail,String settlementNo){
//
SettlementDriver settlementDriver = settlementDriverDao.findByChildNo(detail.getChildNo()).orElse(new SettlementDriver());
//
settlementDriver.setDriverUserNo(detail.getDriverUserNo());
//
settlementDriver.setDriverName(detail.getDriverName());
//
settlementDriver.setSettlementNo(settlementNo);
//
settlementDriver.setChildNo(detail.getChildNo());
//
settlementDriver.setOrderGoodsNo(detail.getOrderGoodsNo());
//
settlementDriver.setOrderNo(detail.getOrderNo());
//
settlementDriver.setGoodsId(detail.getGoodsId());
//
settlementDriver.setGoodsName(detail.getGoodsName());
//
settlementDriver.setTruckNo(detail.getTruckNo());
//
settlementDriver.setFreightPrice(detail.getFreightPrice());
//
settlementDriver.setWeight(detail.getWeight());
//
settlementDriver.setFreight(detail.getFreight());
//
settlementDriver.setLossPrice(detail.getLossPrice());
//
settlementDriver.setLossWeight(detail.getLossWeight());
//
settlementDriver.setLoanFlag(detail.getLoanFlag());
//
settlementDriver.setLossFreight(detail.getLossFreight());
//
settlementDriver.setPrepayFreightFlag(detail.getPrepayFreightFlag());
//
settlementDriver.setSettlementFreight(detail.getSettlementFreight());
//
settlementDriver.setInvoiceType(detail.getInvoiceType());
//
settlementDriver.setSettlementPlatform(detail.getInvoiceType() == 1 ?
//
String.valueOf(SettlementPlatformEnum.Platform.WY.getCode()):
//
String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
//
//
settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
//
//
settlementDriver.setInvoicingCompanyId(detail.getInvoicingCompanyId());
//
settlementDriver.setInvoicingCompanyShorterName(detail.getInvoicingCompanyShorterName());
//
settlementDriver.setInvoicingCompanyGroupCode(detail.getInvoicingCompanyGroupCode());
//
settlementDriver.setPlatformServiceFeeRate(detail.getPlatformServiceFeeRate());
//
settlementDriver.setPlatformServiceFee(detail.getPlatformServiceFee());
//
//
if (settlementDriver.getId() == null) {
//
settlementDriverDao.saveEntity(settlementDriver);
//
}else {
//
settlementDriverDao.updateEntityByKey(settlementDriver);
//
}
//
}
@Override
public
void
settlementDriverNotify
(
String
childNo
,
Integer
payType
,
String
payErrorMsg
){
...
...
@@ -858,7 +961,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 +1003,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail
.
setSettlementNo
(
null
);
settlementOwnerDetail
.
setSeparateRemark
(
"系统自动拆单(原结算单号"
+
settlementNo
+
")"
);
settlementDriverDetail
.
setSettlementNo
(
null
);
settlementOwnerDetailDao
.
updateClearSettlementNo
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateClearSettlementNo
(
settlementDriverDetail
);
}
/**
...
...
@@ -914,6 +1015,57 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return
uniqueOrderNumService
.
getUniqueOrderNum
(
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
convertLocalDateTimeToString
(
LocalDateTime
.
now
(),
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
DATE_DAY
));
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
riskAdd
(
SettlementOrderChildRiskAddMqParam
mq
)
{
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
getById
(
mq
.
getId
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
settlementOrderChildRisk
.
getStatus
(),
SettlementOrderChildRiskEnum
.
Status
.
PROCESSED
.
getCode
()))
{
return
;
}
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
InvoicingCompanyVO
invoicingCompanyByGroupCode
=
invoicingCompanyService
.
getInvoicingCompanyByGroupCode
(
orderChild
.
getInvoicingCompanyGroupCode
());
if
(!
Objects
.
equals
(
invoicingCompanyByGroupCode
.
getRiskProcessType
(),
InvoicingCompanyEnum
.
RiskProcessType
.
AUTO
.
getCode
()))
{
return
;
}
// 转普通单
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
settlementOrderChildRisk
.
setStatus
(
SettlementOrderChildRiskEnum
.
Status
.
PROCESSED
.
getCode
());
settlementOrderChildRisk
.
setProcessMethod
(
SettlementOrderChildRiskEnum
.
ProcessMethod
.
CONVERT_ORDINARY
.
getCode
());
settlementOrderChildRisk
.
setProcessBy
(
"系统"
);
settlementOrderChildRisk
.
setProcessTime
(
LocalDateTime
.
now
());
settlementOwnerDetail
.
setInvoiceType
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
());
settlementOwnerDetail
.
setInvoicingCompanyId
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyGroupCode
(
null
);
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
SUCCESS
.
getCode
());
settlementOwnerDetail
.
setInvoiceTypeModifiedTime
(
LocalDateTime
.
now
());
settlementOwnerDetailDao
.
updateConvertOrdinary
(
settlementOwnerDetail
);
settlementDriverDetail
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementDriverDetail
.
setInvoicingCompanyId
(
settlementOwnerDetail
.
getInvoicingCompanyId
());
settlementDriverDetail
.
setInvoicingCompanyShorterName
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
settlementDriverDetail
.
setInvoicingCompanyGroupCode
(
settlementOwnerDetail
.
getInvoicingCompanyGroupCode
());
settlementDriverDetailDao
.
updateConvertOrdinary
(
settlementDriverDetail
);
settlementOrderChildRisk
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementOrderChildRiskDao
.
updateProcess
(
settlementOrderChildRisk
);
// 发送mq (风控处理)
settlementMqService
.
riskProcess
(
settlementOrderChildRisk
.
getId
());
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
riskProcess
(
SettlementOrderChildRiskProcessMqParam
mq
)
{
...
...
@@ -929,6 +1081,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementMqService
.
settlementStatistics
(
childNo
,
SettlementStatisticsMqParam
.
Type
.
SEPARATE
.
getCode
());
}
// 发送mq (车主结算)
settlementMqService
.
settlementDriverSettle
(
childNo
);
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
childNo
);
}
...
...
@@ -954,7 +1109,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,6 +1151,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceTypeAndPrepayFreightFlag
(
settlementDriverDetail
);
if
(
settlementDriver
!=
null
)
{
settlementDriver
.
setInvoicingCompanyId
(
settlementOwnerDetail
.
getInvoicingCompanyId
());
settlementDriver
.
setInvoicingCompanyShorterName
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
settlementDriver
.
setInvoicingCompanyGroupCode
(
settlementOwnerDetail
.
getInvoicingCompanyGroupCode
());
settlementDriverDao
.
updateInvoiceCompany
(
settlementDriver
);
}
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getReportFlag
(),
com
.
clx
.
order
.
enums
.
OrderEnum
.
ReportFlag
.
NO
.
getCode
())){
// 网运单转普通单
orderChildSyncTransportListener
.
extracted
(
orderChild
,
settlementOwnerDetail
,
settlementDriverDetail
,
settlementOwnerDetail
.
getInvoiceType
(),
null
);
...
...
@@ -1124,6 +1287,31 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
@Override
public
void
settlementDriverConfirm
(
SettlementDriverConfirmMqParam
mq
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
if
(
orderChild
.
getConfirmTime
()
==
null
)
{
return
;}
SettlementDriver
settlementDriver
=
settlementDriverDao
.
findByChildNo
(
orderChild
.
getChildNo
()).
orNull
();
if
(
settlementDriver
==
null
||
!
Objects
.
equals
(
settlementDriver
.
getStatus
(),
SettlementDriverEnum
.
Status
.
DRIVER_UNCONFIRMED
.
getCode
())
)
{
return
;
}
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
WAIT_SETTLEMENT
.
getCode
());
settlementDriverDao
.
updateSettleStatus
(
settlementDriver
);
if
(!
Objects
.
equals
(
settlementDriver
.
getInvoiceType
(),
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())){
return
;
}
// 发送mq (运单司机支付)
orderChildBrokerMqService
.
orderChildDriverPay
(
orderChild
.
getChildNo
());
}
private
BigDecimal
invoiceFreightCalc
(
Integer
settlementWay
,
BigDecimal
invoiceServiceFeeRate
,
SettlementOwnerDetail
settlementOwnerDetail
)
{
if
(
Objects
.
equals
(
settlementWay
,
SettlementWayEnum
.
WayType
.
LOAD
.
getCode
()))
{
//订单结算方式为“装车净重”时,开票金额=实际净重*平台运费报价-货损金额。
return
settlementOwnerDetail
.
getWeight
().
multiply
(
settlementOwnerDetail
.
getFreightPrice
())
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -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
)
{
...
...
@@ -75,6 +85,19 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
driverPayAcceptSync
(
String
childNo
)
{
SettlementDriverPayAcceptSyncMqParam
mq
=
new
SettlementDriverPayAcceptSyncMqParam
();
mq
.
setChildNo
(
childNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_PAY_ACCEPT_SYNC_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
settle
(
String
childNo
,
Integer
invoiceType
,
String
remark
)
{
...
...
@@ -114,6 +137,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
();
...
...
@@ -162,4 +197,16 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
settlementDriverConfirm
(
String
childNo
)
{
SettlementDriverConfirmMqParam
mq
=
new
SettlementDriverConfirmMqParam
();
mq
.
setChildNo
(
childNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_DRIVER_CONFIRM_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
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOrderChildRiskServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -8,10 +8,7 @@ import com.clx.performance.dao.settle.SettlementOrderChildRiskDao;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.ResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOrderChildRiskEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.*
;
import
com.clx.performance.model.settle.SettlementDriver
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOrderChildRisk
;
...
...
@@ -97,14 +94,15 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementDriverDetailDao
.
updateConvertOrdinary
(
settlementDriverDetail
);
settlementOrderChildRisk
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
if
(
settlementDriver
!=
null
)
{
// 删除结算单
settlementDriverDao
.
deleteByKey
(
settlementDriver
.
getId
());
}
}
else
{
// 状态回滚
if
(
settlementDriver
!=
null
){
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
DRIVER_UNCONFIRMED
.
getCode
());
settlementDriverDao
.
updatePayStatus
(
settlementDriver
);
}
settlementDriverDetail
.
setPayAcceptStatus
(
SettlementDriverDetailEnum
.
PayAcceptStatus
.
INIT
.
getCode
());
settlementDriverDetailDao
.
updatePayAcceptStatus
(
settlementDriverDetail
);
}
settlementOrderChildRiskDao
.
updateProcess
(
settlementOrderChildRisk
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerDetailServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -456,16 +456,20 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
fieldList
.
add
(
new
ExcelField
(
12
,
"管理费"
,
"invoiceServiceFee"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
13
,
"预付运费金额"
,
"prepayFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
14
,
"借款抵扣金额"
,
"loanFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
15
,
"结算金额"
,
"settlementFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
16
,
"开票金额"
,
"invoiceFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"开票标识"
,
"invoiceType"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
18
,
"状态"
,
"handleStatus"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
19
,
"订单编号"
,
"orderNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
20
,
"结算单号"
,
"settlementNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
21
,
"磅单审核通过时间"
,
"poundAuditTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
22
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
23
,
"操作人"
,
"invoicingCompanyModifiedBy"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
24
,
"操作时间"
,
"invoicingCompanyModifiedTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
18
,
"开票公司"
,
"invoicingCompanyShorterName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
19
,
"状态"
,
"handleStatus"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
20
,
"订单编号"
,
"orderNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
21
,
"结算单号"
,
"settlementNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
22
,
"磅单审核通过时间"
,
"poundAuditTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
23
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
24
,
"操作人"
,
"invoicingCompanyModifiedBy"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
25
,
"操作时间"
,
"invoicingCompanyModifiedTime"
,
5000
));
// 组装数据
List
<
List
<
ExcelData
>>
dataList
=
new
ArrayList
<>();
...
...
@@ -489,10 +493,13 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceServiceFee
()==
null
?
null
:
dto
.
getInvoiceServiceFee
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getPrepayFreight
()==
null
?
null
:
dto
.
getPrepayFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLoanFreight
()==
null
?
null
:
dto
.
getLoanFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementFreight
()==
null
?
null
:
dto
.
getSettlementFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceFreight
()==
null
?
null
:
dto
.
getInvoiceFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
SettlementOwnerEnum
.
InvoiceType
.
getMsgByCode
(
dto
.
getInvoiceType
())));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoicingCompanyShorterName
(),
"-"
));
rowData
.
add
(
new
ExcelData
(
SettlementOwnerDetailEnum
.
HandleStatus
.
getMsgByCode
(
dto
.
getHandleStatus
())));
rowData
.
add
(
new
ExcelData
(
dto
.
getOrderNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getPoundAuditTime
()));
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementPostServiceImpl.java
浏览文件 @
dbbad988
...
...
@@ -60,4 +60,17 @@ public class SettlementPostServiceImpl implements SettlementPostService {
}
}
@Override
public
void
riskAdd
(
Integer
id
)
{
// 发送mq (风控新增)
settlementMqService
.
riskAdd
(
id
);
}
@Override
public
void
driverSettle
(
String
childNo
)
{
// 发送mq (司机确认收货)
settlementMqService
.
settlementDriverConfirm
(
childNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqHandlerService.java
浏览文件 @
dbbad988
...
...
@@ -2,20 +2,19 @@ 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
);
void
invoiceTypeSync
(
SettlementInvoiceTypeSyncMqParam
mq
);
void
driverPayAcceptSync
(
SettlementDriverPayAcceptSyncMqParam
mq
);
void
invoiceStatusSync
(
SettlementInvoiceStatusSyncMqParam
mq
);
...
...
@@ -27,6 +26,7 @@ public interface SettlementMqHandlerService {
String
settlementNoGenerate
();
void
riskAdd
(
SettlementOrderChildRiskAddMqParam
mq
);
void
riskProcess
(
SettlementOrderChildRiskProcessMqParam
mq
);
void
invoiceCompanyUpdate
(
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
mq
);
...
...
@@ -35,4 +35,6 @@ public interface SettlementMqHandlerService {
void
settlementInvoiceStatusUpdate
(
SettlementInvoiceStatusUpdateMqParam
mq
);
void
settlementDriverConfirm
(
SettlementDriverConfirmMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqService.java
浏览文件 @
dbbad988
...
...
@@ -6,15 +6,20 @@ public interface SettlementMqService {
void
settlementStatistics
(
String
childNo
);
void
settlementStatistics
(
String
childNo
,
Integer
type
);
void
settlementDriverSettle
(
String
childNo
);
void
invoiceTypeSync
(
String
childNo
);
void
driverPayAcceptSync
(
String
childNo
);
void
settle
(
String
childNo
,
Integer
invoiceType
,
String
remark
);
void
invoiceStatusSync
(
String
childNo
);
void
payStatusSync
(
String
childNo
);
void
riskAdd
(
Integer
id
);
void
riskProcess
(
Integer
id
);
void
updateInvoiceCompany
(
Integer
id
);
...
...
@@ -23,4 +28,6 @@ public interface SettlementMqService {
void
settlementInvoiceStatusUpdate
(
String
settlementNo
);
void
settlementDriverConfirm
(
String
childNo
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementPostService.java
浏览文件 @
dbbad988
...
...
@@ -15,4 +15,7 @@ public interface SettlementPostService {
void
updateInvoice
(
List
<
String
>
childNoList
);
void
riskAdd
(
Integer
id
);
void
driverSettle
(
String
childNo
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论