Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
df667e06
提交
df667e06
authored
8月 12, 2024
作者:
jiangwujie
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v20.9_settlement_20240805' of…
Merge branch 'v20.9_settlement_20240805' of
https://t.clxkj.cn/clx-java/clx-performance
into v20.9_settlement_20240805
上级
1c0acce7
1a33c0d9
隐藏空白字符变更
内嵌
并排
正在显示
90 个修改的文件
包含
2759 行增加
和
261 行删除
+2759
-261
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+9
-0
SettlementLogEnum.java
...a/com/clx/performance/enums/settle/SettlementLogEnum.java
+2
-1
SettlementOrderChildRiskEnum.java
...erformance/enums/settle/SettlementOrderChildRiskEnum.java
+1
-1
SettlementOwnerDetailEnum.java
...x/performance/enums/settle/SettlementOwnerDetailEnum.java
+20
-1
SettlementOwnerEnum.java
...com/clx/performance/enums/settle/SettlementOwnerEnum.java
+4
-0
PageCarrierOrderChildParam.java
.../clx/performance/param/pc/PageCarrierOrderChildParam.java
+2
-1
CarrierSettlementOwnerConfirmAccountParam.java
...pc/carrier/CarrierSettlementOwnerConfirmAccountParam.java
+21
-0
CarrierSettlementOwnerConfirmSettlementParam.java
...carrier/CarrierSettlementOwnerConfirmSettlementParam.java
+21
-0
CarrierSettlementOwnerDetailCompanyUpdateParam.java
...rrier/CarrierSettlementOwnerDetailCompanyUpdateParam.java
+35
-0
ConfirmBatchInvoiceParam.java
.../performance/param/pc/owner/ConfirmBatchInvoiceParam.java
+21
-0
PageInvoiceOwnerSettlementOwnerDetailParam.java
.../pc/owner/PageInvoiceOwnerSettlementOwnerDetailParam.java
+45
-0
OwnerSettlementOrderChildRiskProcessUpdateParam.java
...ttle/OwnerSettlementOrderChildRiskProcessUpdateParam.java
+24
-0
SettlementStatisticsMqParam.java
...om/clx/performance/vo/mq/SettlementStatisticsMqParam.java
+23
-5
BrokerOrderChildSyncMqParam.java
...performance/vo/mq/broker/BrokerOrderChildSyncMqParam.java
+16
-0
BrokerOrderChildUpdateMqParam.java
...rformance/vo/mq/broker/BrokerOrderChildUpdateMqParam.java
+17
-0
SettlementOrderChildRiskProcessMqParam.java
.../vo/mq/settle/SettlementOrderChildRiskProcessMqParam.java
+16
-0
SettlementOwnerDetialInvoiceCompanyUpdateMqParam.java
...tle/SettlementOwnerDetialInvoiceCompanyUpdateMqParam.java
+16
-0
SettlementPlatformAutoConfirmMqParam.java
...ce/vo/mq/settle/SettlementPlatformAutoConfirmMqParam.java
+16
-0
PageCarrierOrderChildVO.java
...va/com/clx/performance/vo/pc/PageCarrierOrderChildVO.java
+3
-0
OpenOrderChildDTO.java
...a/com/clx/performance/vo/pc/broker/OpenOrderChildDTO.java
+10
-0
TransportVO.java
...in/java/com/clx/performance/vo/pc/broker/TransportVO.java
+1
-1
CarrierPageSettlementOwnerDetailVO.java
...pc/carrier/settle/CarrierPageSettlementOwnerDetailVO.java
+4
-0
CarrierSettlementOwnerDetailVO.java
.../vo/pc/carrier/settle/CarrierSettlementOwnerDetailVO.java
+4
-0
CountOwnerSettlementOwnerDetailVO.java
...vo/pc/owner/settle/CountOwnerSettlementOwnerDetailVO.java
+29
-0
OwnerPageSettlementOwnerVO.java
...rmance/vo/pc/owner/settle/OwnerPageSettlementOwnerVO.java
+22
-0
PageOwnerSettlementOwnerDetailVO.java
.../vo/pc/owner/settle/PageOwnerSettlementOwnerDetailVO.java
+15
-0
UploadBatchInvoiceFileResultVO.java
...ce/vo/pc/owner/settle/UploadBatchInvoiceFileResultVO.java
+37
-0
OrderChildLoanComponent.java
...om/clx/performance/component/OrderChildLoanComponent.java
+5
-5
RabbitBrokerConfig.java
...n/java/com/clx/performance/config/RabbitBrokerConfig.java
+80
-0
RabbitSettlementConfig.java
...va/com/clx/performance/config/RabbitSettlementConfig.java
+38
-0
RabbitKeyBrokerConstants.java
...om/clx/performance/constant/RabbitKeyBrokerConstants.java
+48
-0
RabbitKeySettlementConstants.java
...lx/performance/constant/RabbitKeySettlementConstants.java
+18
-0
CarrierSettlementOwnerController.java
...ntroller/pc/carrier/CarrierSettlementOwnerController.java
+19
-1
CarrierSettlementOwnerDetailController.java
...er/pc/carrier/CarrierSettlementOwnerDetailController.java
+58
-7
OwnerSettlementOrderChildRiskController.java
...ler/pc/owner/OwnerSettlementOrderChildRiskController.java
+33
-0
OwnerSettlementOwnerController.java
...e/controller/pc/owner/OwnerSettlementOwnerController.java
+8
-1
TempSettlementController.java
...performance/controller/temp/TempSettlementController.java
+14
-4
SettlementDriverDaoImpl.java
.../performance/dao/impl/settle/SettlementDriverDaoImpl.java
+16
-0
SettlementDriverDetailDaoImpl.java
...rmance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
+44
-2
SettlementOrderChildRiskDaoImpl.java
...ance/dao/impl/settle/SettlementOrderChildRiskDaoImpl.java
+31
-0
SettlementOwnerDaoImpl.java
...x/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
+34
-0
SettlementOwnerDetailDaoImpl.java
...ormance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
+108
-11
SettlementDriverDao.java
...a/com/clx/performance/dao/settle/SettlementDriverDao.java
+9
-0
SettlementDriverDetailDao.java
...clx/performance/dao/settle/SettlementDriverDetailDao.java
+7
-3
SettlementOrderChildRiskDao.java
...x/performance/dao/settle/SettlementOrderChildRiskDao.java
+8
-0
SettlementOwnerDao.java
...va/com/clx/performance/dao/settle/SettlementOwnerDao.java
+10
-1
SettlementOwnerDetailDao.java
.../clx/performance/dao/settle/SettlementOwnerDetailDao.java
+18
-2
InvoiceData.java
.../main/java/com/clx/performance/dto/excel/InvoiceData.java
+28
-0
EventListenerComponent.java
...ava/com/clx/performance/event/EventListenerComponent.java
+16
-10
BrokerService.java
...va/com/clx/performance/extranal/broker/BrokerService.java
+1
-0
BrokerServiceImpl.java
...x/performance/extranal/broker/impl/BrokerServiceImpl.java
+17
-4
BrokerFeign.java
.../src/main/java/com/clx/performance/feign/BrokerFeign.java
+6
-0
SettlementJob.java
...ava/com/clx/performance/job/settlement/SettlementJob.java
+45
-2
OrderChildSyncTransportListener.java
...performance/listener/OrderChildSyncTransportListener.java
+64
-58
BrokerDelayListener.java
.../clx/performance/listener/broker/BrokerDelayListener.java
+43
-0
BrokerOrderChildSyncListener.java
...ormance/listener/broker/BrokerOrderChildSyncListener.java
+45
-0
BrokerOrderChildUpdateListener.java
...mance/listener/broker/BrokerOrderChildUpdateListener.java
+45
-0
InvoiceDataListener.java
...m/clx/performance/listener/excel/InvoiceDataListener.java
+53
-0
SettlementDelayListener.java
.../performance/listener/settle/SettlementDelayListener.java
+1
-1
SettlementInvoiceCompanyUpdateListener.java
...stener/settle/SettlementInvoiceCompanyUpdateListener.java
+44
-0
SettlementPlatformAutoConfirmUpdateListener.java
...r/settle/SettlementPlatformAutoConfirmUpdateListener.java
+43
-0
SettlementRiskProcessListener.java
...rmance/listener/settle/SettlementRiskProcessListener.java
+44
-0
SettlementOwnerDetail.java
...m/clx/performance/model/settle/SettlementOwnerDetail.java
+3
-0
OrderChildBrokerMqHandlerService.java
...ance/service/broker/OrderChildBrokerMqHandlerService.java
+10
-0
OrderChildBrokerMqService.java
...performance/service/broker/OrderChildBrokerMqService.java
+12
-0
OrderChildBrokerService.java
...x/performance/service/broker/OrderChildBrokerService.java
+2
-0
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+13
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+4
-2
OrderChildBrokerMqHandlerServiceImpl.java
...ice/impl/broker/OrderChildBrokerMqHandlerServiceImpl.java
+93
-0
OrderChildBrokerMqServiceImpl.java
...ce/service/impl/broker/OrderChildBrokerMqServiceImpl.java
+61
-0
OrderChildBrokerServiceImpl.java
...ance/service/impl/broker/OrderChildBrokerServiceImpl.java
+30
-1
OrderChildSyncTransportRecordServiceImpl.java
...impl/settle/OrderChildSyncTransportRecordServiceImpl.java
+12
-3
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+315
-28
SettlementMqServiceImpl.java
...formance/service/impl/settle/SettlementMqServiceImpl.java
+46
-3
SettlementOrderChildRiskServiceImpl.java
...vice/impl/settle/SettlementOrderChildRiskServiceImpl.java
+72
-6
SettlementOwnerDetailServiceImpl.java
...service/impl/settle/SettlementOwnerDetailServiceImpl.java
+212
-11
SettlementOwnerExportServiceImpl.java
...service/impl/settle/SettlementOwnerExportServiceImpl.java
+92
-0
SettlementOwnerServiceImpl.java
...mance/service/impl/settle/SettlementOwnerServiceImpl.java
+58
-0
SettlementPostServiceImpl.java
...rmance/service/impl/settle/SettlementPostServiceImpl.java
+29
-0
SettlementServiceImpl.java
...erformance/service/impl/settle/SettlementServiceImpl.java
+72
-80
SettlementMqHandlerService.java
...erformance/service/settle/SettlementMqHandlerService.java
+9
-0
SettlementMqService.java
...m/clx/performance/service/settle/SettlementMqService.java
+9
-1
SettlementOrderChildRiskService.java
...mance/service/settle/SettlementOrderChildRiskService.java
+3
-0
SettlementOwnerDetailService.java
...formance/service/settle/SettlementOwnerDetailService.java
+18
-0
SettlementOwnerExportService.java
...formance/service/settle/SettlementOwnerExportService.java
+9
-0
SettlementOwnerService.java
...lx/performance/service/settle/SettlementOwnerService.java
+2
-0
SettlementPostService.java
...clx/performance/service/settle/SettlementPostService.java
+10
-0
OrderChildSqlProvider.java
...om/clx/performance/sqlProvider/OrderChildSqlProvider.java
+12
-3
SettlementOwnerDetailStruct.java
...erformance/struct/settle/SettlementOwnerDetailStruct.java
+3
-1
ExcelData.java
.../main/java/com/clx/performance/utils/excel/ExcelData.java
+13
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
df667e06
...
...
@@ -169,6 +169,15 @@ public enum PerformanceResultEnum implements ResultEnum {
UNLOAD_TIME_BEFORE_ARRIVE_RECEIVE_TIME
(
2106
,
"交货时间不可早于到达目的地时间"
),
UNLOAD_TIME_AFTER_NOW
(
2107
,
"交货时间不可晚于当前时间"
),
UNLOAD_TIME_AFTER_FIRST_UNLOAD_TIME
(
2108
,
"交货时间不可晚于首次提交时间"
),
SETTLEMENT_NO_NULL_ERROR
(
2109
,
"请选择需要下载的数据"
),
ORDER_CHILD_RISK_PROCESS_ERROR
(
2111
,
"风控已处理"
),
SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR
(
2112
,
"所选数据存在状态”已处理“的数据,请核实后重新提交"
),
SETTLEMENT_OWNER_CONFIRM_SETTLEMENT_ERROR
(
2113
,
"运单需重新分配开票公司,请联系结算人员处理"
),
;
private
final
int
code
;
private
final
String
msg
;
...
...
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementLogEnum.java
浏览文件 @
df667e06
...
...
@@ -23,7 +23,8 @@ public enum SettlementLogEnum {
OWNER_CONFIRMED_PLATFORM_PAYMENT
(
7
,
"货主确认付款"
),
INVOICE_TO_BE_MAILED
(
8
,
"邮寄发票"
),
COMPLETED
(
9
,
"已完结"
),
PLATFORM_CONFIRM_ACCOUNT
(
10
,
"平台确认对账"
),
PLATFORM_TO_BE_CONFIRMED
(
11
,
"平台确认结算单"
),
;
private
final
Integer
code
;
...
...
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementOrderChildRiskEnum.java
浏览文件 @
df667e06
...
...
@@ -32,7 +32,7 @@ public enum SettlementOrderChildRiskEnum {
@AllArgsConstructor
public
enum
ProcessMethod
{
SYNC_RETRY
(
1
,
"重新同步"
),
CONVERT_
NORMAL
(
2
,
"转普通单"
),
CONVERT_
ORDINARY
(
2
,
"转普通单"
),
;
private
final
Integer
code
;
...
...
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementOwnerDetailEnum.java
浏览文件 @
df667e06
...
...
@@ -11,6 +11,26 @@ import java.util.Optional;
public
enum
SettlementOwnerDetailEnum
{
;
@Getter
@AllArgsConstructor
public
enum
InvoiceTypeStatus
{
INIT
(
0
,
"初始化"
),
PROCESSING
(
1
,
"获取中"
),
SUCCESS
(
2
,
"获取成功"
),
FAIL
(
3
,
"获取失败"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
InvoiceTypeStatus
>
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
(
InvoiceTypeStatus:
:
getMsg
).
orElse
(
null
);
}
}
@Getter
@AllArgsConstructor
public
enum
InvoiceStatus
{
...
...
@@ -30,7 +50,6 @@ public enum SettlementOwnerDetailEnum {
}
}
@Getter
@AllArgsConstructor
public
enum
FinalPaymentStatus
{
...
...
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementOwnerEnum.java
浏览文件 @
df667e06
...
...
@@ -54,12 +54,16 @@ public enum SettlementOwnerEnum {
public
enum
Status
{
TO_BE_LOCKED
(
10
,
"待锁定"
),
TO_BE_ACCOUNT
(
20
,
"待对账"
),
PLATFORM_TO_BE_CONFIRMED
(
21
,
"待平台确认"
),
OWNER_TO_BE_CONFIRMED
(
30
,
"待货主确认"
),
SHIPPER_TO_PAYMENT
(
40
,
"待货主付款"
),
PLATFORM_CONFIRMED_OWNER_PAYMENT
(
50
,
"待平台确认付款"
),
PLATFORM_TO_PAYMENT
(
60
,
"待平台付款"
),
OWNER_CONFIRMED_PLATFORM_PAYMENT
(
70
,
"待货主确认付款"
),
@Deprecated
INVOICE_TO_BE_MAILED
(
80
,
"待邮寄发票"
),
COMPLETED
(
90
,
"已完结"
),
;
...
...
performance-api/src/main/java/com/clx/performance/param/pc/PageCarrierOrderChildParam.java
浏览文件 @
df667e06
...
...
@@ -53,6 +53,7 @@ public class PageCarrierOrderChildParam extends PageParam {
@ApiModelProperty
(
value
=
"运单状态集合"
)
private
List
<
Integer
>
statusList
;
@ApiModelProperty
(
value
=
"时间筛选类型,1:接单时间,2:磅单审核通过时间,3:完成时间"
)
private
Integer
timeType
;
}
performance-api/src/main/java/com/clx/performance/param/pc/carrier/CarrierSettlementOwnerConfirmAccountParam.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
param
.
pc
.
carrier
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
@Getter
@Setter
@NoArgsConstructor
@ToString
public
class
CarrierSettlementOwnerConfirmAccountParam
{
@NotNull
(
message
=
"id不能为空"
)
@ApiModelProperty
(
value
=
"列表id"
,
example
=
"10"
)
private
Integer
id
;
}
performance-api/src/main/java/com/clx/performance/param/pc/carrier/CarrierSettlementOwnerConfirmSettlementParam.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
param
.
pc
.
carrier
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
@Getter
@Setter
@NoArgsConstructor
@ToString
public
class
CarrierSettlementOwnerConfirmSettlementParam
{
@NotNull
(
message
=
"id不能为空"
)
@ApiModelProperty
(
value
=
"列表id"
,
example
=
"10"
)
private
Integer
id
;
}
performance-api/src/main/java/com/clx/performance/param/pc/carrier/CarrierSettlementOwnerDetailCompanyUpdateParam.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
param
.
pc
.
carrier
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Getter
@Setter
@NoArgsConstructor
@ToString
public
class
CarrierSettlementOwnerDetailCompanyUpdateParam
{
@NotNull
(
message
=
"id列表不能为空"
)
@ApiModelProperty
(
value
=
"id列表"
)
private
List
<
Integer
>
idList
;
@NotNull
(
message
=
"开票公司id不能为空"
)
@ApiModelProperty
(
value
=
"开票公司id"
)
private
Integer
companyId
;
@NotBlank
(
message
=
"开票公司简称不能为空"
)
@ApiModelProperty
(
value
=
"开票公司简称"
)
private
String
companyShorterName
;
@NotBlank
(
message
=
"开票公司统一社会信用代码不能为空"
)
@ApiModelProperty
(
value
=
"开票公司统一社会信用代码"
)
private
String
companyGroupCode
;
}
performance-api/src/main/java/com/clx/performance/param/pc/owner/ConfirmBatchInvoiceParam.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
param
.
pc
.
owner
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
@Getter
@Setter
@NoArgsConstructor
@ToString
public
class
ConfirmBatchInvoiceParam
{
@NotEmpty
(
message
=
"运单号不能为空"
)
@ApiModelProperty
(
value
=
"运单号"
)
private
List
<
String
>
childNoList
;
}
performance-api/src/main/java/com/clx/performance/param/pc/owner/PageInvoiceOwnerSettlementOwnerDetailParam.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
param
.
pc
.
owner
;
import
com.msl.common.base.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
@Getter
@Setter
@NoArgsConstructor
@ToString
public
class
PageInvoiceOwnerSettlementOwnerDetailParam
extends
PageParam
{
@NotNull
(
message
=
"是否已开票不能为空"
)
@ApiModelProperty
(
value
=
"是否已开票,0:否,1:是"
)
private
Integer
invoiceStatus
;
@ApiModelProperty
(
value
=
"货主用户编号"
)
private
Long
ownerUserNo
;
@ApiModelProperty
(
value
=
"货主名称"
)
private
String
ownerName
;
@ApiModelProperty
(
value
=
"结算单编号"
)
private
String
settlementNo
;
@ApiModelProperty
(
value
=
"运单编号"
)
private
String
childNo
;
@ApiModelProperty
(
value
=
"开票公司"
)
private
String
invoicingCompanyShorterName
;
@ApiModelProperty
(
value
=
"开票标识:1网运单 2普通单"
)
private
Integer
invoiceType
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
endTime
;
}
performance-api/src/main/java/com/clx/performance/param/pc/owner/settle/OwnerSettlementOrderChildRiskProcessUpdateParam.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
param
.
pc
.
owner
.
settle
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
@Getter
@Setter
@NoArgsConstructor
public
class
OwnerSettlementOrderChildRiskProcessUpdateParam
{
@NotNull
(
message
=
"id不能为空"
)
@ApiModelProperty
(
value
=
"id"
,
example
=
"10"
)
private
Integer
id
;
@NotNull
(
message
=
"处理方式不能为空"
)
@ApiModelProperty
(
value
=
"处理方式:1重新同步 2转普通单"
)
private
Integer
processMethod
;
}
performance-api/src/main/java/com/clx/performance/vo/mq/SettlementStatisticsMqParam.java
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
vo
.
mq
;
import
lombok.
Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
lombok.
*
;
import
java.util.Arrays
;
import
java.util.Optional
;
/**
* @Author: aiqingguo
...
...
@@ -18,6 +18,24 @@ import lombok.ToString;
public
class
SettlementStatisticsMqParam
{
private
String
childNo
;
//运单编号
private
Integer
InvoiceType
;
//司机计费明细id
private
Integer
type
;
//类型: 1统计 2拆单
@Getter
@AllArgsConstructor
public
enum
Type
{
STATISTICS
(
1
,
"统计"
),
SEPARATE
(
2
,
"拆单"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
Type
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
Type:
:
getMsg
).
orElse
(
null
);
}
}
}
performance-api/src/main/java/com/clx/performance/vo/mq/broker/BrokerOrderChildSyncMqParam.java
0 → 100644
浏览文件 @
df667e06
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
BrokerOrderChildSyncMqParam
{
private
String
childNo
;
//运单编号
private
Integer
invoiceType
;
//开票标识:1网运单 2普通单
}
performance-api/src/main/java/com/clx/performance/vo/mq/broker/BrokerOrderChildUpdateMqParam.java
0 → 100644
浏览文件 @
df667e06
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
BrokerOrderChildUpdateMqParam
{
private
String
childNo
;
//运单编号
private
Integer
invoiceType
;
//开票标识:1网运单 2普通单
}
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementOrderChildRiskProcessMqParam.java
0 → 100644
浏览文件 @
df667e06
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
SettlementOrderChildRiskProcessMqParam
{
private
Integer
id
;
//id
}
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementOwnerDetialInvoiceCompanyUpdateMqParam.java
0 → 100644
浏览文件 @
df667e06
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
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
{
private
Integer
id
;
//id
}
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementPlatformAutoConfirmMqParam.java
0 → 100644
浏览文件 @
df667e06
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
SettlementPlatformAutoConfirmMqParam
{
private
String
settlementNo
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/PageCarrierOrderChildVO.java
浏览文件 @
df667e06
...
...
@@ -61,6 +61,9 @@ public class PageCarrierOrderChildVO {
@ApiModelProperty
(
value
=
"完成时间"
,
example
=
"2020-01-01 10:10:10"
)
private
String
finishTime
;
@ApiModelProperty
(
value
=
"磅单审核通过时间"
,
example
=
"2020-01-01 10:10:10"
)
private
String
poundAuditTime
;
@ApiModelProperty
(
value
=
"发货地址"
,
example
=
"吉林"
)
private
String
sendAddress
;
...
...
performance-api/src/main/java/com/clx/performance/vo/pc/broker/OpenOrderChildDTO.java
浏览文件 @
df667e06
...
...
@@ -52,6 +52,8 @@ public class OpenOrderChildDTO {
private
String
unloadTime
;
@ApiModelProperty
(
value
=
"运单完成时间"
,
example
=
"2020-02-02 10:10:10"
,
required
=
true
,
dataType
=
"String"
)
private
String
payFinishedTime
;
@ApiModelProperty
(
value
=
"磅单审核时间"
,
example
=
"2020-02-02 10:10:10"
,
required
=
true
,
dataType
=
"String"
)
private
String
poundTime
;
@ApiModelProperty
(
value
=
"收货皮重(吨)"
)
private
BigDecimal
receiveTare
;
...
...
@@ -63,4 +65,12 @@ public class OpenOrderChildDTO {
@ApiModelProperty
(
value
=
"备注"
,
example
=
""
,
required
=
true
,
dataType
=
"String"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"1 普通单 2 网运单"
,
example
=
"1"
,
required
=
true
,
dataType
=
"Integer"
)
private
Integer
invoiceFlag
;
@ApiModelProperty
(
value
=
"线下平台"
,
example
=
"华祥"
,
required
=
true
,
dataType
=
"String"
)
private
String
invoicePlatform
;
@ApiModelProperty
(
value
=
"开票状态 0 未开票 1 已开票 "
,
example
=
"1"
)
private
Integer
invoiceStatus
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/broker/TransportVO.java
浏览文件 @
df667e06
...
...
@@ -27,7 +27,7 @@ public class TransportVO {
@ApiModelProperty
(
value
=
"同步失败原因"
,
example
=
"1"
,
dataType
=
"String"
)
private
String
syncMsg
;
@ApiModelProperty
(
value
=
"结算状态 0 未结算 1 已结算 2结算中 "
,
example
=
"1234124"
,
dataType
=
"String"
)
@ApiModelProperty
(
value
=
"结算状态 0 未结算 1 已结算 2结算中
3结算失败
"
,
example
=
"1234124"
,
dataType
=
"String"
)
private
Integer
settleStatus
;
@ApiModelProperty
(
value
=
"结算方"
,
example
=
"1"
,
dataType
=
"String"
)
private
Integer
settleOrg
;
...
...
performance-api/src/main/java/com/clx/performance/vo/pc/carrier/settle/CarrierPageSettlementOwnerDetailVO.java
浏览文件 @
df667e06
...
...
@@ -83,6 +83,10 @@ public class CarrierPageSettlementOwnerDetailVO {
private
Integer
invoicingCompanyId
;
@ApiModelProperty
(
"开票公司简称"
)
private
String
invoicingCompanyShorterName
;
@ApiModelProperty
(
"拆单备注"
)
private
String
separateRemark
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
String
createTime
;
...
...
performance-api/src/main/java/com/clx/performance/vo/pc/carrier/settle/CarrierSettlementOwnerDetailVO.java
浏览文件 @
df667e06
...
...
@@ -45,6 +45,10 @@ public class CarrierSettlementOwnerDetailVO {
@ApiModelProperty
(
value
=
"实际净重(吨)"
,
example
=
"1.23"
)
private
BigDecimal
weight
;
@ApiModelProperty
(
value
=
"装货净重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
loadNet
;
@ApiModelProperty
(
value
=
"卸货净重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
unloadNet
;
@ApiModelProperty
(
value
=
"实际运费(元)"
,
example
=
"1.23"
)
@MoneyOutConvert
...
...
performance-api/src/main/java/com/clx/performance/vo/pc/owner/settle/CountOwnerSettlementOwnerDetailVO.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
vo
.
pc
.
owner
.
settle
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.math.BigDecimal
;
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
CountOwnerSettlementOwnerDetailVO
{
@ApiModelProperty
(
value
=
"运单数"
)
private
Long
orderChildSum
;
@ApiModelProperty
(
value
=
"装车净重"
)
private
BigDecimal
loadNetSum
;
@MoneyOutConvert
@ApiModelProperty
(
value
=
"开票金额"
)
private
BigDecimal
invoiceFreightSum
;
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/pc/owner/settle/OwnerPageSettlementOwnerVO.java
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
vo
.
pc
.
owner
.
settle
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
...
...
@@ -23,6 +25,11 @@ public class OwnerPageSettlementOwnerVO {
private
String
settlementNo
;
@ApiModelProperty
(
value
=
"开票标识:1网运单 2普通单"
)
private
Integer
invoiceType
;
private
String
invoiceTypeMsg
;
public
String
getInvoiceTypeMsg
()
{
return
SettlementOwnerEnum
.
InvoiceType
.
getMsgByCode
(
invoiceType
);
}
@ApiModelProperty
(
value
=
"货主编码"
)
private
Long
ownerUserNo
;
@ApiModelProperty
(
value
=
"货主姓名"
)
...
...
@@ -58,8 +65,18 @@ public class OwnerPageSettlementOwnerVO {
private
String
createTime
;
@ApiModelProperty
(
value
=
"状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结"
)
private
Integer
status
;
private
String
statusMsg
;
public
String
getStatusMsg
()
{
return
SettlementOwnerEnum
.
Status
.
getMsgByCode
(
status
);
}
@ApiModelProperty
(
value
=
"结算方式 1装车净重 2卸车净重"
)
private
Integer
settlementWay
;
private
String
settlementWayMsg
;
public
String
getSettlementWayMsg
()
{
return
SettlementWayEnum
.
WayType
.
getMsgByCode
(
settlementWay
);
}
@ApiModelProperty
(
value
=
"开票公司id"
,
example
=
"1"
)
private
Integer
invoicingCompanyId
;
//开票公司id
...
...
@@ -70,4 +87,9 @@ public class OwnerPageSettlementOwnerVO {
@ApiModelProperty
(
value
=
"是否上报 0-否;1-是"
,
example
=
"1"
)
private
Integer
reportFlag
;
//是否上报 0-否;1-是
@ApiModelProperty
(
value
=
"装货净重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
loadNet
;
@ApiModelProperty
(
value
=
"卸货净重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
unloadNet
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/owner/settle/PageOwnerSettlementOwnerDetailVO.java
浏览文件 @
df667e06
...
...
@@ -95,6 +95,9 @@ public class PageOwnerSettlementOwnerDetailVO {
@ApiModelProperty
(
value
=
"开票金额"
,
example
=
"2.1"
)
private
BigDecimal
invoiceFreight
;
@ApiModelProperty
(
value
=
"开票标识:1网运单 2普通单"
,
example
=
"2"
)
private
Integer
invoiceType
;
@ApiModelProperty
(
value
=
"开票标识:1网运单 2普通单"
,
example
=
"普通单"
)
private
String
invoiceTypeMsg
;
...
...
@@ -113,6 +116,8 @@ public class PageOwnerSettlementOwnerDetailVO {
@ApiModelProperty
(
value
=
"结算方式 1装车净重 2卸车净重 3卸车净重(减货损)"
,
example
=
"1"
)
private
Integer
settlementWay
;
@ApiModelProperty
(
value
=
"结算方式"
)
private
String
settlementWayMsg
;
@ApiModelProperty
(
value
=
"开票公司id"
,
example
=
"1"
)
private
Integer
invoicingCompanyId
;
//开票公司id
...
...
@@ -123,9 +128,18 @@ public class PageOwnerSettlementOwnerDetailVO {
@ApiModelProperty
(
value
=
"是否上报 0-否;1-是"
,
example
=
"1"
)
private
Integer
reportFlag
;
//是否上报 0-否;1-是
@ApiModelProperty
(
value
=
"开票时间"
)
private
String
invoiceTime
;
@ApiModelProperty
(
value
=
"拆单备注"
)
private
String
separateRemark
;
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
"2013-01-01 00:00:00"
)
private
String
createTime
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"磅单审核通过时间"
)
private
String
poundAuditTime
;
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/pc/owner/settle/UploadBatchInvoiceFileResultVO.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
vo
.
pc
.
owner
.
settle
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
UploadBatchInvoiceFileResultVO
{
@ApiModelProperty
(
value
=
"校验结果,true:数据无误,false:数据有误"
)
private
Boolean
verifyResult
;
@ApiModelProperty
(
value
=
"错误文件地址"
)
private
String
errorFileUrl
;
@ApiModelProperty
(
value
=
"运单数"
)
private
Integer
orderChildSum
;
@ApiModelProperty
(
"装车吨数"
)
private
BigDecimal
loadWeightSum
;
@ApiModelProperty
(
value
=
"开票金额"
)
private
BigDecimal
invoiceFreightSum
;
@ApiModelProperty
(
value
=
"运单号"
)
private
List
<
String
>
childNoList
;
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/component/OrderChildLoanComponent.java
浏览文件 @
df667e06
...
...
@@ -237,11 +237,11 @@ public class OrderChildLoanComponent {
log
.
info
(
"1.1百分百预付不需要考虑借款账户"
);
return
;
}
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
settlementDriverDetail
.
getInvoiceType
()))
{
log
.
info
(
"2.当前不是网运单,不需要处理借款标识,是否接单冻结的借款金额"
);
applicationEventPublisher
.
publishEvent
(
new
OwnerLoanThawEvent
(
this
,
orderChild
.
getChildNo
()));
return
;
}
//
if (SettlementOwnerEnum.InvoiceType.ORDINARY.getCode().equals(settlementDriverDetail.getInvoiceType())) {
//
log.info("2.当前不是网运单,不需要处理借款标识,是否接单冻结的借款金额");
//
applicationEventPublisher.publishEvent(new OwnerLoanThawEvent(this, orderChild.getChildNo()));
//
return;
//
}
if
(
settlementOwnerDetail
.
getPrepayFreight
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
log
.
info
(
"3.当前是网运单,但预付运费不为0,说明已经处理"
);
...
...
performance-web/src/main/java/com/clx/performance/config/RabbitBrokerConfig.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
config
;
import
com.clx.performance.constant.RabbitKeyBrokerConstants
;
import
org.springframework.amqp.core.Binding
;
import
org.springframework.amqp.core.BindingBuilder
;
import
org.springframework.amqp.core.DirectExchange
;
import
org.springframework.amqp.core.Queue
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author: aiqingguo
* @Description: 无车承运 MQ
* @Date: 2023-10-12 16:27:30
* @Version: 1.0
*/
@Configuration
public
class
RabbitBrokerConfig
{
@Bean
public
DirectExchange
brokerDefaultExchange
()
{
return
new
DirectExchange
(
RabbitKeyBrokerConstants
.
DEFAULT_EXCHANGE
);
}
@Bean
public
Queue
brokerDefaultDelayQueue
()
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>(
8
);
params
.
put
(
"x-message-ttl"
,
15
*
60
*
1000
);
params
.
put
(
"x-max-length"
,
5000000
);
params
.
put
(
"x-dead-letter-exchange"
,
RabbitKeyBrokerConstants
.
DEFAULT_EXCHANGE
);
params
.
put
(
"x-dead-letter-routing-key"
,
RabbitKeyBrokerConstants
.
DEFAULT_DEAD_ROUTING_KEY
);
return
new
Queue
(
RabbitKeyBrokerConstants
.
DEFAULT_DELAY_QUEUE
,
true
,
false
,
false
,
params
);
}
@Bean
public
Binding
brokerDefaultDelayQueueBinding
()
{
return
BindingBuilder
.
bind
(
brokerDefaultDelayQueue
()).
to
(
brokerDefaultExchange
())
.
with
(
RabbitKeyBrokerConstants
.
DEFAULT_DELAY_ROUTING_KEY
);
}
@Bean
public
Queue
brokerDefaultDeadQueue
()
{
return
new
Queue
(
RabbitKeyBrokerConstants
.
DEFAULT_DEAD_QUEUE
);
}
@Bean
public
Binding
brokerDefaultDeadQueueBinding
()
{
return
BindingBuilder
.
bind
(
brokerDefaultDeadQueue
()).
to
(
brokerDefaultExchange
())
.
with
(
RabbitKeyBrokerConstants
.
DEFAULT_DEAD_ROUTING_KEY
);
}
/**
* 运单同步
*/
@Bean
public
Queue
brokerOrderChildSyncQueue
()
{
return
new
Queue
(
RabbitKeyBrokerConstants
.
ORDER_CHILD_SYNC_QUEUE
);
}
@Bean
public
Binding
brokerOrderChildSyncQueueBinding
()
{
return
BindingBuilder
.
bind
(
brokerOrderChildSyncQueue
()).
to
(
brokerDefaultExchange
())
.
with
(
RabbitKeyBrokerConstants
.
ORDER_CHILD_SYNC_ROUTING_KEY
);
}
/**
* 运单更新
*/
@Bean
public
Queue
brokerOrderChildUpdateQueue
()
{
return
new
Queue
(
RabbitKeyBrokerConstants
.
ORDER_CHILD_UPDATE_QUEUE
);
}
@Bean
public
Binding
brokerOrderChildUpdateQueueBinding
()
{
return
BindingBuilder
.
bind
(
brokerOrderChildUpdateQueue
()).
to
(
brokerDefaultExchange
())
.
with
(
RabbitKeyBrokerConstants
.
ORDER_CHILD_UPDATE_ROUTING_KEY
);
}
}
performance-web/src/main/java/com/clx/performance/config/RabbitSettlementConfig.java
浏览文件 @
df667e06
...
...
@@ -123,5 +123,43 @@ public class RabbitSettlementConfig {
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_STATUS_SYNC_ROUTING_KEY
);
}
/**
* 风控处理
*/
@Bean
public
Queue
settlementRiskProcessQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_PROCESS_QUEUE
);
}
@Bean
public
Binding
settlementRiskProcessQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementRiskProcessQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_PROCESS_ROUTING_KEY
);
}
/**
* 开票公司新增
*/
@Bean
public
Queue
settlementInvoiceCompanyUpdateQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_COMPANY_UPDATE_QUEUE
);
}
@Bean
public
Binding
settlementInvoiceCompanyUpdateQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementInvoiceCompanyUpdateQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_COMPANY_UPDATE_ROUTING_KEY
);
}
/**
* 平台自动确认
*/
@Bean
public
Queue
settlementPlatformAutoConfirmUpdateQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_QUEUE
);
}
@Bean
public
Binding
settlementPlatformAutoConfirmUpdateQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementPlatformAutoConfirmUpdateQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_ROUTING_KEY
);
}
}
performance-web/src/main/java/com/clx/performance/constant/RabbitKeyBrokerConstants.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
constant
;
/**
* @Author: aiqingguo
* @Description: 无车承运-mq
* @Date: 2023-10-19 15:13:06
* @Version: 1.0
*/
public
class
RabbitKeyBrokerConstants
{
private
static
final
String
PREFIX
=
"clx-performance.broker."
;
private
static
final
String
EXCHANGE
=
".exchange"
;
private
static
final
String
QUEUE
=
".queue"
;
private
static
final
String
QUEUE_ROUTING_KEY
=
".routing.key"
;
private
static
final
String
DELAY_QUEUE
=
".delay.queue"
;
private
static
final
String
DELAY_ROUTING_KEY
=
".delay.routing.key"
;
private
static
final
String
DEAD_QUEUE
=
".dead.queue"
;
private
static
final
String
DEAD_ROUTING_KEY
=
".dead.routing.key"
;
private
RabbitKeyBrokerConstants
()
{
}
/**
* 缺省交换机
*/
public
static
final
String
DEFAULT_EXCHANGE
=
PREFIX
+
"default"
+
EXCHANGE
;
/**
* 缺省延迟队列
*/
public
static
final
String
DEFAULT_DELAY_QUEUE
=
PREFIX
+
"default"
+
DELAY_QUEUE
;
public
static
final
String
DEFAULT_DELAY_ROUTING_KEY
=
PREFIX
+
"default"
+
DELAY_ROUTING_KEY
;
public
static
final
String
DEFAULT_DEAD_QUEUE
=
PREFIX
+
"default"
+
DEAD_QUEUE
;
public
static
final
String
DEFAULT_DEAD_ROUTING_KEY
=
PREFIX
+
"default"
+
DEAD_ROUTING_KEY
;
/**
* 运单同步
*/
public
static
final
String
ORDER_CHILD_SYNC_QUEUE
=
PREFIX
+
"orderChild.sync"
+
QUEUE
;
public
static
final
String
ORDER_CHILD_SYNC_ROUTING_KEY
=
PREFIX
+
"orderChild.sync"
+
QUEUE_ROUTING_KEY
;
/**
* 运单更新
*/
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
;
}
performance-web/src/main/java/com/clx/performance/constant/RabbitKeySettlementConstants.java
浏览文件 @
df667e06
...
...
@@ -68,4 +68,22 @@ 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_PROCESS_QUEUE
=
PREFIX
+
"settlementRisk.process"
+
QUEUE
;
public
static
final
String
SETTLEMENT_RISK_PROCESS_ROUTING_KEY
=
PREFIX
+
"settlementRisk.process"
+
QUEUE_ROUTING_KEY
;
/**
* 开票公司新增
*/
public
static
final
String
SETTLEMENT_INVOICE_COMPANY_UPDATE_QUEUE
=
PREFIX
+
"settlementInvoiceCompany.update"
+
QUEUE
;
public
static
final
String
SETTLEMENT_INVOICE_COMPANY_UPDATE_ROUTING_KEY
=
PREFIX
+
"settlementInvoiceCompany.update"
+
QUEUE_ROUTING_KEY
;
/**
* 平台自动确认
*/
public
static
final
String
SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_QUEUE
=
PREFIX
+
"settlementPlatformAutoConfirm.update"
+
QUEUE
;
public
static
final
String
SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_ROUTING_KEY
=
PREFIX
+
"settlementPlatformAutoConfirm.update"
+
QUEUE_ROUTING_KEY
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/carrier/CarrierSettlementOwnerController.java
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
controller
.
pc
.
carrier
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.carrier.CarrierSettlementOwnerConfirmAccountParam
;
import
com.clx.performance.param.pc.carrier.CarrierSettlementOwnerConfirmSettlementParam
;
import
com.clx.performance.param.pc.owner.*
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.vo.pc.carrier.settle.*
;
...
...
@@ -132,4 +133,21 @@ public class CarrierSettlementOwnerController {
settlementOwnerService
.
mergeOwnerSettlement
(
param
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"确认对账"
,
notes
=
"<br>By:艾庆国"
)
@PostMapping
(
"/updateConfirmAccount"
)
public
Result
updateConfirmAccount
(
@RequestBody
@Validated
CarrierSettlementOwnerConfirmAccountParam
param
)
{
settlementOwnerService
.
updateConfirmAccount
(
param
.
getId
());
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"确认结算单"
,
notes
=
"<br>By:艾庆国"
)
@PostMapping
(
"/updateConfirmSettlement"
)
public
Result
updateConfirmSettlement
(
@RequestBody
@Validated
CarrierSettlementOwnerConfirmSettlementParam
param
)
{
settlementOwnerService
.
updateCarrierConfirmSettlement
(
param
.
getId
());
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/carrier/CarrierSettlementOwnerDetailController.java
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
controller
.
pc
.
carrier
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.param.pc.carrier.CarrierSettlementOwnerDetailCompanyUpdateParam
;
import
com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.*
;
import
com.clx.performance.service.settle.SettlementOwnerDetailService
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPagePendingSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.CountOwnerSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.UploadBatchInvoiceFileResultVO
;
import
com.msl.common.base.PageData
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -20,12 +24,11 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
@Slf4j
@RestController
...
...
@@ -54,6 +57,43 @@ public class CarrierSettlementOwnerDetailController {
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"开票管理待开票、已开票列表"
,
notes
=
"<br>By:杨启发"
)
@PostMapping
(
"/pageInvoiceOwnerSettlementOrderDetailList"
)
@UnitCovert
(
param
=
false
)
public
Result
<
PageData
<
PageOwnerSettlementOwnerDetailVO
>>
pageInvoiceOwnerSettlementOrderDetailList
(
@RequestBody
@Validated
PageInvoiceOwnerSettlementOwnerDetailParam
param
)
{
IPage
<
PageOwnerSettlementOwnerDetailVO
>
page
=
settlementOwnerDetailService
.
pageInvoiceOwnerSettlementOrderDetailList
(
param
);
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"开票管理待开票、已开票列表统计"
,
notes
=
"<br>By:杨启发"
)
@PostMapping
(
"/countInvoiceOwnerSettlementOrderDetailList"
)
public
Result
<
CountOwnerSettlementOwnerDetailVO
>
countInvoiceOwnerSettlementOrderDetailList
(
@RequestBody
@Validated
PageInvoiceOwnerSettlementOwnerDetailParam
param
)
{
CountOwnerSettlementOwnerDetailVO
vo
=
settlementOwnerDetailService
.
countInvoiceOwnerSettlementOrderDetailList
(
param
);
return
Result
.
ok
(
vo
);
}
@ApiOperation
(
value
=
"导出开票管理待开票、已开票"
,
notes
=
"<br>By:杨启发"
)
@PostMapping
(
"/exportInvoiceOwnerSettlementOrderDetail"
)
public
void
exportInvoiceOwnerSettlementOrderDetail
(
@RequestBody
@Validated
PageInvoiceOwnerSettlementOwnerDetailParam
param
,
HttpServletResponse
response
)
throws
Exception
{
try
(
SXSSFWorkbook
workbook
=
settlementOwnerDetailService
.
exportInvoiceOwnerSettlementOrderDetail
(
param
))
{
response
.
setHeader
(
HttpHeaders
.
CONTENT_TYPE
,
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
);
workbook
.
write
(
response
.
getOutputStream
());
}
}
@ApiOperation
(
value
=
"上传批量开票文件"
,
notes
=
"<br>By:杨启发"
)
@PostMapping
(
"/uploadBatchInvoiceFile"
)
public
Result
<
UploadBatchInvoiceFileResultVO
>
uploadBatchInvoiceFile
(
@RequestParam
(
"file"
)
MultipartFile
file
)
throws
IOException
{
return
Result
.
ok
(
settlementOwnerDetailService
.
uploadBatchInvoiceFile
(
file
));
}
@ApiOperation
(
value
=
"确认批量开票"
,
notes
=
"<br>By:杨启发"
)
@PostMapping
(
"/confirmBatchInvoice"
)
public
Result
<
Object
>
confirmBatchInvoice
(
@RequestBody
@Validated
ConfirmBatchInvoiceParam
param
)
{
settlementOwnerDetailService
.
confirmBatchInvoice
(
param
.
getChildNoList
());
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"导出货主结算单运单明细"
,
notes
=
"<br>By:姜文业"
)
@PostMapping
(
"/exportOwnerSettlementOrderDetailList"
)
public
void
exportCarrierSettlementOwnerPageList
(
@RequestBody
@Validated
PageOwnerSettlementOwnerDetailParam
param
,
HttpServletResponse
response
)
throws
Exception
{
...
...
@@ -83,9 +123,20 @@ public class CarrierSettlementOwnerDetailController {
@ApiOperation
(
value
=
"批量下载结算运单明细"
,
notes
=
"<br>By:liruixin"
)
@PostMapping
(
"/exportBatchSettlementOwnerDetail"
)
public
void
exportBatchSettlementOwnerDetail
(
@RequestBody
@Validated
ExportBatchOwnerSettlementDetailParam
param
,
HttpServletResponse
response
)
throws
Exception
{
if
(
CollectionUtil
.
isEmpty
(
param
.
getSettlementNos
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
SETTLEMENT_NO_NULL_ERROR
);
}
SXSSFWorkbook
workbook
=
settlementOwnerDetailService
.
exportBatchSettlementOwnerDetail
(
param
);
response
.
setHeader
(
HttpHeaders
.
CONTENT_TYPE
,
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
);
workbook
.
write
(
response
.
getOutputStream
());
}
@ApiOperation
(
value
=
"更新开票公司"
,
notes
=
"<br>By:艾庆国"
)
@PostMapping
(
"/updateInvoiceCompany"
)
public
Result
updateInvoiceCompany
(
@RequestBody
@Validated
CarrierSettlementOwnerDetailCompanyUpdateParam
param
)
{
settlementOwnerDetailService
.
updateInvoiceCompany
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/owner/OwnerSettlementOrderChildRiskController.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
controller
.
pc
.
owner
;
import
com.clx.performance.param.pc.owner.settle.OwnerSettlementOrderChildRiskProcessUpdateParam
;
import
com.clx.performance.service.settle.SettlementOrderChildRiskService
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@Slf4j
@RestController
@RequestMapping
(
value
=
"/pc/owner/settlementOrderChildRisk"
)
@Validated
@Api
(
tags
=
"货主端-货主结算"
)
@AllArgsConstructor
public
class
OwnerSettlementOrderChildRiskController
{
private
final
SettlementOrderChildRiskService
settlementOrderChildRiskService
;
@ApiOperation
(
value
=
"风控处理"
,
notes
=
"<br>By:李瑞新"
)
@PostMapping
(
"/updateProcessRisk"
)
public
Result
updateRiskProcess
(
@RequestBody
@Validated
OwnerSettlementOrderChildRiskProcessUpdateParam
param
)
{
settlementOrderChildRiskService
.
updateRiskProcess
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/owner/OwnerSettlementOwnerController.java
浏览文件 @
df667e06
...
...
@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
import
com.clx.performance.service.settle.SettlementOwnerDetailService
;
import
com.clx.performance.service.settle.SettlementOwnerExportService
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO
;
...
...
@@ -39,7 +40,7 @@ public class OwnerSettlementOwnerController {
private
final
SettlementOwnerDetailService
settlementOwnerDetailService
;
private
final
SettlementOwnerExportService
settlementOwnerExportService
;
@ApiOperation
(
value
=
"结算单详情"
,
notes
=
"<br>By:李瑞新"
)
@GetMapping
(
"/getOwnerSettlementOwnerDetail"
)
...
...
@@ -114,5 +115,11 @@ public class OwnerSettlementOwnerController {
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"货主端-导出结算单列表"
,
notes
=
"<br>By:艾庆国"
)
@PostMapping
(
"/exportSettlementOwner"
)
public
void
exportSettlementOwner
(
@RequestBody
@Validated
PageOwnerSettlementParam
param
)
{
settlementOwnerExportService
.
exportSettlementOwner
(
param
);
}
}
performance-web/src/main/java/com/clx/performance/controller/temp/TempSettlementController.java
浏览文件 @
df667e06
...
...
@@ -3,6 +3,7 @@ package com.clx.performance.controller.temp;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.listener.OrderChildSyncTransportListener
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.vo.mq.SettlementStatisticsMqParam
;
...
...
@@ -33,6 +34,8 @@ public class TempSettlementController {
private
OrderChildSyncTransportListener
orderChildSyncTransportListener
;
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@Autowired
private
OrderChildBrokerMqService
orderChildBrokerMqService
;
@ApiOperation
(
value
=
"settlementStatistics"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/settlementStatistics"
,
method
=
RequestMethod
.
GET
)
...
...
@@ -40,7 +43,6 @@ public class TempSettlementController {
SettlementStatisticsMqParam
mq
=
new
SettlementStatisticsMqParam
();
mq
.
setChildNo
(
childNo
);
mq
.
setInvoiceType
(
1
);
settlementMqHandlerService
.
settlementStatistics
(
mq
);
return
Result
.
ok
();
...
...
@@ -49,10 +51,18 @@ public class TempSettlementController {
@ApiOperation
(
value
=
"运单同步broker"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/orderChildSync"
,
method
=
RequestMethod
.
GET
)
public
Result
orderChildSync
(
String
childNo
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
get
();
// 同步broker
orderChildSyncTransportListener
.
transportOrderChildProcess
(
orderChild
);
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildSync
(
childNo
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"运单更新broker"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/orderChildUpdate"
,
method
=
RequestMethod
.
GET
)
public
Result
orderChildUpdate
(
String
childNo
)
{
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildUpdate
(
childNo
);
return
Result
.
ok
();
}
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDaoImpl.java
浏览文件 @
df667e06
...
...
@@ -9,6 +9,7 @@ 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
;
...
...
@@ -29,6 +30,21 @@ import java.util.Set;
public
class
SettlementDriverDaoImpl
extends
BaseDaoImpl
<
SettlementDriverMapper
,
SettlementDriver
,
Integer
>
implements
SettlementDriverDao
{
@Override
public
boolean
updatePayStatus
(
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
()
.
eq
(
SettlementDriver:
:
getSettlementNo
,
settlementNo
)
)
.
map
(
super
::
getOne
);
}
@Override
public
IPage
<
SettlementDriver
>
pageCarrierSettlementDriver
(
PageCarrierSettlementDriverParam
param
)
{
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
浏览文件 @
df667e06
...
...
@@ -28,6 +28,23 @@ import java.util.Objects;
*/
@Repository
public
class
SettlementDriverDetailDaoImpl
extends
BaseDaoImpl
<
SettlementDriverDetailMapper
,
SettlementDriverDetail
,
Integer
>
implements
SettlementDriverDetailDao
{
@Override
public
boolean
updateSettlementNo
(
SettlementDriverDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
);
}
@Override
public
boolean
updateClearSettlementNo
(
SettlementDriverDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
);
}
@Override
public
boolean
updateInvoiceTypeAndPrepayFreightFlag
(
SettlementDriverDetail
item
)
{
return
update
(
lUdWrapper
()
...
...
@@ -44,14 +61,32 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
);
}
@Override
public
boolean
update
SettlementNo
(
SettlementDriverDetail
item
)
{
public
boolean
update
ConvertOrdinary
(
SettlementDriverDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
.
set
(
SettlementDriverDetail:
:
getInvoiceType
,
item
.
getInvoiceType
())
.
set
(
SettlementDriverDetail:
:
getInvoicingCompanyId
,
item
.
getInvoicingCompanyId
())
.
set
(
SettlementDriverDetail:
:
getInvoicingCompanyShorterName
,
item
.
getInvoicingCompanyShorterName
())
.
set
(
SettlementDriverDetail:
:
getInvoicingCompanyGroupCode
,
item
.
getInvoicingCompanyGroupCode
())
);
}
@Override
public
boolean
updatePreFreight
(
SettlementDriverDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getInvoiceType
,
item
.
getInvoiceType
())
.
set
(
SettlementDriverDetail:
:
getPrepayFreightFlag
,
item
.
getPrepayFreightFlag
())
.
set
(
SettlementDriverDetail:
:
getInvoicingCompanyId
,
item
.
getInvoicingCompanyId
())
.
set
(
SettlementDriverDetail:
:
getInvoicingCompanyShorterName
,
item
.
getInvoicingCompanyShorterName
())
.
set
(
SettlementDriverDetail:
:
getInvoicingCompanyGroupCode
,
item
.
getInvoicingCompanyGroupCode
())
);
}
@Override
public
Optional
<
SettlementDriverDetail
>
getByChildNo
(
String
childNo
)
{
return
Optional
.
of
(
childNo
)
...
...
@@ -129,4 +164,11 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
return
baseMapper
.
selectList
(
lQrWrapper
().
eq
(
SettlementDriverDetail:
:
getLoanFlag
,
code
));
}
@Override
public
List
<
SettlementDriverDetail
>
findListByIdList
(
List
<
Integer
>
idList
)
{
return
list
(
lQrWrapper
()
.
in
(
SettlementDriverDetail:
:
getId
,
idList
)
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOrderChildRiskDaoImpl.java
浏览文件 @
df667e06
...
...
@@ -8,6 +8,7 @@ import com.clx.performance.dao.settle.SettlementOrderChildRiskDao;
import
com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper
;
import
com.clx.performance.model.settle.SettlementOrderChildRisk
;
import
com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -19,6 +20,36 @@ public class SettlementOrderChildRiskDaoImpl
extends
BaseDaoImpl
<
SettlementOrderChildRiskMapper
,
SettlementOrderChildRisk
,
Integer
>
implements
SettlementOrderChildRiskDao
{
@Override
public
boolean
updateProcess
(
SettlementOrderChildRisk
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOrderChildRisk:
:
getId
,
item
.
getId
())
.
set
(
SettlementOrderChildRisk:
:
getStatus
,
item
.
getStatus
())
.
set
(
SettlementOrderChildRisk:
:
getProcessMethod
,
item
.
getProcessMethod
())
.
set
(
SettlementOrderChildRisk:
:
getProcessBy
,
item
.
getProcessBy
())
.
set
(
SettlementOrderChildRisk:
:
getProcessTime
,
item
.
getProcessTime
())
);
}
@Override
public
Optional
<
SettlementOrderChildRisk
>
getById
(
Integer
id
)
{
return
Optional
.
of
(
id
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
SettlementOrderChildRisk:
:
getId
,
item
)
)
.
map
(
super
::
getOne
);
}
@Override
public
Optional
<
SettlementOrderChildRisk
>
findLastByChildNo
(
String
childNo
)
{
return
Optional
.
of
(
childNo
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
SettlementOrderChildRisk:
:
getChildNo
,
childNo
)
.
orderByDesc
(
SettlementOrderChildRisk:
:
getId
)
)
.
map
(
super
::
getOne
);
}
@Override
public
IPage
<
SettlementOrderChildRisk
>
pageSettlementOrderChildRisk
(
PageSettlementOrderChildRiskParam
param
)
{
LambdaQueryWrapper
<
SettlementOrderChildRisk
>
query
=
new
LambdaQueryWrapper
<>();
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
浏览文件 @
df667e06
...
...
@@ -28,6 +28,14 @@ import java.util.Objects;
@Repository
public
class
SettlementOwnerDaoImpl
extends
BaseDaoImpl
<
SettlementOwnerMapper
,
SettlementOwner
,
Integer
>
implements
SettlementOwnerDao
{
@Override
public
boolean
updateStatus
(
SettlementOwner
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getId
,
item
.
getId
())
.
eq
(
SettlementOwner:
:
getStatus
,
item
.
getStatus
())
);
}
@Override
public
boolean
updateSettlementPeriodMonth
(
SettlementOwner
item
)
{
return
update
(
lUdWrapper
()
...
...
@@ -97,6 +105,22 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
);
}
@Override
public
Optional
<
SettlementOwner
>
findById
(
Integer
id
)
{
return
Optional
.
of
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getId
,
id
)
)
.
map
(
super
::
getOne
);
}
@Override
public
Optional
<
SettlementOwner
>
findBySettlementNo
(
String
settlementNo
)
{
return
Optional
.
of
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getSettlementNo
,
settlementNo
)
)
.
map
(
super
::
getOne
);
}
@Override
public
IPage
<
SettlementOwner
>
pageCarrierSettlementOwner
(
PageCarrierSettlementOwnerParam
param
)
{
LambdaQueryWrapper
<
SettlementOwner
>
query
=
new
LambdaQueryWrapper
<>();
...
...
@@ -296,4 +320,14 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
.
set
(
SettlementOwner:
:
getMergeTime
,
mergeTime
)
);
}
@Override
public
List
<
SettlementOwner
>
listPlatformToBeConfirmed
(
LocalDateTime
time
)
{
return
list
(
lUdWrapper
()
.
ge
(
SettlementOwner:
:
getCreateTime
,
time
)
.
eq
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
PLATFORM_TO_BE_CONFIRMED
.
getCode
())
.
eq
(
SettlementOwner:
:
getInvoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
浏览文件 @
df667e06
...
...
@@ -8,10 +8,10 @@ import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.mapper.settle.SettlementOwnerDetailMapper
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam
;
import
com.msl.common.base.Optional
;
...
...
@@ -36,6 +36,51 @@ import static com.clx.performance.enums.settle.SettlementOwnerEnum.InvoiceType.O
@Repository
public
class
SettlementOwnerDetailDaoImpl
extends
BaseDaoImpl
<
SettlementOwnerDetailMapper
,
SettlementOwnerDetail
,
Integer
>
implements
SettlementOwnerDetailDao
{
@Override
public
boolean
updateInvoiceTypeStatus
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getInvoiceTypeStatus
,
item
.
getInvoiceTypeStatus
())
);
}
@Override
public
boolean
updatePayStatus
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getPayStatus
,
item
.
getPayStatus
())
);
}
@Override
public
boolean
updateSettlementNo
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
);
}
@Override
public
boolean
updateClearSettlementNo
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
.
set
(
SettlementOwnerDetail:
:
getSeparateRemark
,
item
.
getSeparateRemark
())
);
}
@Override
public
boolean
updateConvertOrdinary
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getInvoiceType
,
item
.
getInvoiceType
())
.
set
(
SettlementOwnerDetail:
:
getInvoiceStatus
,
item
.
getInvoiceStatus
())
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyId
,
item
.
getInvoicingCompanyId
())
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyShorterName
,
item
.
getInvoicingCompanyShorterName
())
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyGroupCode
,
item
.
getInvoicingCompanyGroupCode
())
);
}
@Override
public
boolean
updateInvoiceType
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
...
...
@@ -57,18 +102,14 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
}
@Override
public
boolean
updateP
ayStatus
(
SettlementOwnerDetail
item
)
{
public
boolean
updateP
reFreight
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getPayStatus
,
item
.
getPayStatus
())
);
}
@Override
public
boolean
updateSettlementNo
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
.
set
(
SettlementOwnerDetail:
:
getInvoiceType
,
item
.
getInvoiceType
())
.
set
(
SettlementOwnerDetail:
:
getPrepayFreight
,
item
.
getPrepayFreight
())
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyId
,
item
.
getInvoicingCompanyId
())
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyShorterName
,
item
.
getInvoicingCompanyShorterName
())
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyGroupCode
,
item
.
getInvoicingCompanyGroupCode
())
);
}
...
...
@@ -88,6 +129,25 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
);
}
@Override
public
boolean
updateInvoiceCompany
(
List
<
Integer
>
idList
,
Integer
companyId
,
String
companyShorterName
,
String
companyGroupCode
)
{
return
update
(
lUdWrapper
()
.
in
(
SettlementOwnerDetail:
:
getId
,
idList
)
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyId
,
companyId
)
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyShorterName
,
companyShorterName
)
.
set
(
SettlementOwnerDetail:
:
getInvoicingCompanyGroupCode
,
companyGroupCode
)
);
}
@Override
public
Optional
<
SettlementOwnerDetail
>
findById
(
Integer
id
)
{
return
Optional
.
of
(
id
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
id
)
)
.
map
(
super
::
getOne
);
}
@Override
public
Optional
<
SettlementOwnerDetail
>
getByChildNo
(
String
childNo
)
{
return
Optional
.
of
(
childNo
)
...
...
@@ -180,6 +240,35 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
return
baseMapper
.
selectPage
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
query
);
}
@Override
public
IPage
<
SettlementOwnerDetail
>
pageInvoiceOwnerSettlementOrderDetailList
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
)
{
LambdaQueryWrapper
<
SettlementOwnerDetail
>
query
=
new
LambdaQueryWrapper
<>();
query
.
in
(
SettlementOwnerDetail
::
getFinalPaymentStatus
,
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
YES
.
getCode
(),
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO_REQUIRE
.
getCode
());
query
.
eq
(
SettlementOwnerDetail:
:
getInvoiceStatus
,
param
.
getInvoiceStatus
());
query
.
eq
(
Objects
.
nonNull
(
param
.
getOwnerUserNo
()),
SettlementOwnerDetail:
:
getOwnerUserNo
,
param
.
getOwnerUserNo
());
query
.
like
(
StringUtils
.
isNotBlank
(
param
.
getOwnerName
()),
SettlementOwnerDetail
::
getOwnerName
,
param
.
getOwnerName
());
query
.
eq
(
StringUtils
.
isNotBlank
(
param
.
getSettlementNo
()),
SettlementOwnerDetail
::
getSettlementNo
,
param
.
getSettlementNo
());
query
.
eq
(
StringUtils
.
isNotBlank
(
param
.
getChildNo
()),
SettlementOwnerDetail
::
getChildNo
,
param
.
getChildNo
());
query
.
like
(
StringUtils
.
isNotBlank
(
param
.
getInvoicingCompanyShorterName
()),
SettlementOwnerDetail
::
getInvoicingCompanyShorterName
,
param
.
getInvoicingCompanyShorterName
());
query
.
eq
(
Objects
.
nonNull
(
param
.
getInvoiceType
()),
SettlementOwnerDetail
::
getInvoiceType
,
param
.
getInvoiceType
());
//待开票列表根据创建时间查找
if
(
param
.
getInvoiceStatus
().
equals
(
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
()))
{
query
.
between
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
())
&&
StringUtils
.
isNotBlank
(
param
.
getEndTime
()),
SettlementOwnerDetail:
:
getCreateTime
,
param
.
getBeginTime
(),
param
.
getEndTime
());
query
.
between
(
StringUtils
.
isBlank
(
param
.
getBeginTime
())
||
StringUtils
.
isBlank
(
param
.
getEndTime
()),
SettlementOwnerDetail:
:
getCreateTime
,
LocalDateTime
.
now
().
minusMonths
(
3
),
LocalDateTime
.
now
());
//已开票列表根据开票时间查找
}
else
{
query
.
between
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
())
&&
StringUtils
.
isNotBlank
(
param
.
getEndTime
()),
SettlementOwnerDetail:
:
getInvoiceTime
,
param
.
getBeginTime
(),
param
.
getEndTime
());
query
.
between
(
StringUtils
.
isBlank
(
param
.
getBeginTime
())
||
StringUtils
.
isBlank
(
param
.
getEndTime
()),
SettlementOwnerDetail:
:
getInvoiceTime
,
LocalDateTime
.
now
().
minusMonths
(
3
),
LocalDateTime
.
now
());
}
//待开票列表根据创建时间正序排,已开票列表根据开票时间倒序排
query
.
orderByAsc
(
param
.
getInvoiceStatus
().
equals
(
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
()),
SettlementOwnerDetail:
:
getCreateTime
);
query
.
orderByDesc
(
param
.
getInvoiceStatus
().
equals
(
SettlementOwnerDetailEnum
.
InvoiceStatus
.
YES
.
getCode
()),
SettlementOwnerDetail:
:
getInvoiceTime
);
return
baseMapper
.
selectPage
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
query
);
}
@Override
public
void
updateSettlementMerge
(
String
settlementNo
,
List
<
String
>
settlementNos
)
{
update
(
lUdWrapper
()
...
...
@@ -199,6 +288,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
.
eq
(
SettlementOwnerDetail:
:
getInvoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
);
}
@Override
public
List
<
SettlementOwnerDetail
>
listPayStatusSync
()
{
return
list
(
lUdWrapper
()
...
...
@@ -239,4 +329,11 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
.
in
(
SettlementOwnerDetail:
:
getSettlementNo
,
param
.
getSettlementNos
())
);
}
@Override
public
List
<
SettlementOwnerDetail
>
findListByIdList
(
List
<
Integer
>
idList
)
{
return
list
(
lQrWrapper
()
.
in
(
SettlementOwnerDetail:
:
getId
,
idList
)
);
}
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDao.java
浏览文件 @
df667e06
...
...
@@ -3,6 +3,8 @@ package com.clx.performance.dao.settle;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.mapper.settle.SettlementDriverMapper
;
import
com.clx.performance.model.settle.SettlementDriver
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
...
...
@@ -17,6 +19,13 @@ import java.util.Set;
* @Version: 1.0
*/
public
interface
SettlementDriverDao
extends
BaseDao
<
SettlementDriverMapper
,
SettlementDriver
,
Integer
>
{
boolean
updatePayStatus
(
SettlementDriver
item
);
Optional
<
SettlementDriver
>
findBySettlementNo
(
String
settlementNo
);
IPage
<
SettlementDriver
>
pageCarrierSettlementDriver
(
PageCarrierSettlementDriverParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDetailDao.java
浏览文件 @
df667e06
...
...
@@ -9,7 +9,6 @@ import com.msl.common.dao.BaseDao;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Set
;
/**
* @Author: aiqinguo
...
...
@@ -19,12 +18,15 @@ import java.util.Set;
*/
public
interface
SettlementDriverDetailDao
extends
BaseDao
<
SettlementDriverDetailMapper
,
SettlementDriverDetail
,
Integer
>
{
boolean
updateInvoiceTypeAndPrepayFreightFlag
(
SettlementDriverDetail
item
);
boolean
updateSettlementNo
(
SettlementDriverDetail
item
);
boolean
updateClearSettlementNo
(
SettlementDriverDetail
item
);
boolean
updateInvoiceTypeAndPrepayFreightFlag
(
SettlementDriverDetail
item
);
boolean
updateConvertOrdinary
(
SettlementDriverDetail
item
);
boolean
updatePreFreight
(
SettlementDriverDetail
item
);
Optional
<
SettlementDriverDetail
>
getByChildNo
(
String
childNo
);
Optional
<
SettlementDriverDetail
>
getByChildNo
(
String
childNo
);
IPage
<
SettlementDriverDetail
>
pageSettlementDriverDetail
(
PageCarrierSettlementDriverDetailParam
param
);
...
...
@@ -39,4 +41,6 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
SettlementDriverDetail
selectLoanTypeFlag
(
String
orderNo
);
List
<
SettlementDriverDetail
>
selectListByLoanFlag
(
Integer
code
);
List
<
SettlementDriverDetail
>
findListByIdList
(
List
<
Integer
>
idList
);
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOrderChildRiskDao.java
浏览文件 @
df667e06
...
...
@@ -4,11 +4,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper
;
import
com.clx.performance.model.settle.SettlementOrderChildRisk
;
import
com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
public
interface
SettlementOrderChildRiskDao
extends
BaseDao
<
SettlementOrderChildRiskMapper
,
SettlementOrderChildRisk
,
Integer
>
{
boolean
updateProcess
(
SettlementOrderChildRisk
item
);
Optional
<
SettlementOrderChildRisk
>
getById
(
Integer
id
);
Optional
<
SettlementOrderChildRisk
>
findLastByChildNo
(
String
childNo
);
IPage
<
SettlementOrderChildRisk
>
pageSettlementOrderChildRisk
(
PageSettlementOrderChildRiskParam
param
);
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDao.java
浏览文件 @
df667e06
...
...
@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.clx.performance.mapper.settle.SettlementOwnerMapper
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam
;
import
com.msl.common.base.Optional
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -14,6 +14,8 @@ import java.util.List;
public
interface
SettlementOwnerDao
extends
BaseDao
<
SettlementOwnerMapper
,
SettlementOwner
,
Integer
>
{
boolean
updateStatus
(
SettlementOwner
item
);
boolean
updateSettlementPeriodMonth
(
SettlementOwner
item
);
boolean
updateLock
(
SettlementOwner
item
);
...
...
@@ -29,6 +31,10 @@ public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, Settl
boolean
updatePayment
(
SettlementOwner
settlementOwner
);
Optional
<
SettlementOwner
>
findById
(
Integer
id
);
Optional
<
SettlementOwner
>
findBySettlementNo
(
String
settlementNo
);
IPage
<
SettlementOwner
>
pageCarrierSettlementOwner
(
PageCarrierSettlementOwnerParam
param
);
Optional
<
SettlementOwner
>
selectBySettlementNo
(
@Param
(
"settlementNo"
)
String
settlementNo
);
...
...
@@ -76,4 +82,7 @@ public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, Settl
@Param
(
"settlementNos"
)
List
<
String
>
settlementNos
,
@Param
(
"mergedBy"
)
String
mergedBy
,
@Param
(
"mergeTime"
)
LocalDateTime
mergeTime
);
List
<
SettlementOwner
>
listPlatformToBeConfirmed
(
LocalDateTime
time
);
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDetailDao.java
浏览文件 @
df667e06
...
...
@@ -5,6 +5,7 @@ import com.clx.performance.mapper.settle.SettlementOwnerDetailMapper;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam
;
import
com.msl.common.base.Optional
;
...
...
@@ -22,22 +23,33 @@ import java.util.List;
*/
public
interface
SettlementOwnerDetailDao
extends
BaseDao
<
SettlementOwnerDetailMapper
,
SettlementOwnerDetail
,
Integer
>
{
boolean
updateInvoiceType
(
SettlementOwnerDetail
item
);
boolean
updateInvoiceType
Status
(
SettlementOwnerDetail
item
);
boolean
updatePayStatus
(
SettlementOwnerDetail
item
);
boolean
updateSettlementNo
(
SettlementOwnerDetail
item
);
boolean
updateClearSettlementNo
(
SettlementOwnerDetail
item
);
boolean
updateConvertOrdinary
(
SettlementOwnerDetail
item
);
boolean
updateInvoiceType
(
SettlementOwnerDetail
item
);
boolean
updatePreFreight
(
SettlementOwnerDetail
item
);
boolean
updateInvoiceStatusBySettlementNo
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"invoiceStatus"
)
Integer
invoiceStatus
);
boolean
updateFinalPaymentStatusBySettlementNo
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"finalPaymentStatus"
)
Integer
finalPaymentStatus
);
boolean
updateInvoiceCompany
(
List
<
Integer
>
idList
,
Integer
companyId
,
String
companyShorterName
,
String
companyGroupCode
);
Optional
<
SettlementOwnerDetail
>
findById
(
Integer
id
);
Optional
<
SettlementOwnerDetail
>
getByChildNo
(
String
childNo
);
List
<
SettlementOwnerDetail
>
getBySettlementNo
(
String
settlementNo
);
List
<
SettlementOwnerDetail
>
getBySettlementNoAndInvoiceType
(
String
settlementNo
,
Integer
invoiceType
,
Integer
invoiceStatus
);
IPage
<
SettlementOwnerDetail
>
pageOwnerSettlementOrderDetailList
(
PageOwnerSettlementOwnerDetailParam
param
);
IPage
<
SettlementOwnerDetail
>
pageInvoiceOwnerSettlementOrderDetailList
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
);
IPage
<
SettlementOwnerDetail
>
pageSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
);
Integer
getInvoiceType
(
String
orderNo
);
...
...
@@ -53,9 +65,13 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
List
<
SettlementOwnerDetail
>
listInvoiceStatusSync
();
List
<
SettlementOwnerDetail
>
listPayStatusSync
();
List
<
SettlementOwnerDetail
>
listInvoiceTypeSync
();
IPage
<
SettlementOwnerDetail
>
pagePendingSettlementOwnerDetail
(
PagePendingCarrierSettlementOwnerDetailParam
param
);
List
<
SettlementOwnerDetail
>
listSettlementOwnerDetailBySettlementNos
(
ExportBatchOwnerSettlementDetailParam
param
);
List
<
SettlementOwnerDetail
>
findListByIdList
(
List
<
Integer
>
idList
);
}
performance-web/src/main/java/com/clx/performance/dto/excel/InvoiceData.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
dto
.
excel
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
InvoiceData
{
@ExcelProperty
(
"运单编号"
)
private
String
childNo
;
@ExcelProperty
(
"开票标识"
)
private
String
invoiceType
;
@ExcelProperty
(
"开票金额"
)
private
BigDecimal
invoiceFreight
;
@ExcelProperty
(
"备注"
)
private
String
remark
;
/**
* 装货净重(单位吨)
*/
private
BigDecimal
loadNet
;
}
performance-web/src/main/java/com/clx/performance/event/EventListenerComponent.java
浏览文件 @
df667e06
...
...
@@ -16,6 +16,7 @@ import com.clx.performance.dto.OwnerLoanMqDTO;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.enums.loan.OwnerRePaymentEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
import
com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord
;
...
...
@@ -124,15 +125,20 @@ public class EventListenerComponent {
SettlementDriverDetail
settlementDriverDetail
=
param
.
getSettlementDriverDetail
();
OrderChild
orderChild
=
param
.
getOrderChild
();
try
{
//生成借款标识
orderChildLoanComponent
.
childLoanConfirmAfterProcess
(
settlementDriverDetail
,
settlementOwnerDetail
,
orderChild
);
}
catch
(
Exception
e
)
{
//未借款
settlementDriverDetail
.
setLoanFlag
(
OwnerLoanRecordEnum
.
LoanFlag
.
NO_LOAN
.
getCode
());
applicationEventPublisher
.
publishEvent
(
new
SettlementUpdateEvent
(
this
,
settlementDriverDetail
,
settlementOwnerDetail
));
log
.
error
(
"处理货主借款监听器执行异常,数据为{},异常信息{}"
,
JSONUtil
.
parse
(
param
),
ExceptionUtil
.
getMessage
(
e
));
throw
e
;
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
settlementDriverDetail
.
getInvoiceType
()))
{
applicationEventPublisher
.
publishEvent
(
new
OwnerLoanThawEvent
(
this
,
orderChild
.
getChildNo
()));
}
else
{
try
{
//生成借款标识
orderChildLoanComponent
.
childLoanConfirmAfterProcess
(
settlementDriverDetail
,
settlementOwnerDetail
,
orderChild
);
}
catch
(
Exception
e
)
{
//未借款
settlementDriverDetail
.
setLoanFlag
(
OwnerLoanRecordEnum
.
LoanFlag
.
NO_LOAN
.
getCode
());
applicationEventPublisher
.
publishEvent
(
new
SettlementUpdateEvent
(
this
,
settlementDriverDetail
,
settlementOwnerDetail
));
log
.
error
(
"处理货主借款监听器执行异常,数据为{},异常信息{}"
,
JSONUtil
.
parse
(
param
),
ExceptionUtil
.
getMessage
(
e
));
throw
e
;
}
}
log
.
info
(
"处理货主借款监听器执行成功"
);
...
...
@@ -140,7 +146,7 @@ public class EventListenerComponent {
settlementDriverDetailDao
.
updateInvoiceTypeAndPrepayFreightFlag
(
settlementDriverDetail
);
// 发送mq 结算统计
settlementMqService
.
settlementStatistics
(
settlementDriverDetail
.
getChildNo
()
,
settlementDriverDetail
.
getInvoiceType
()
);
settlementMqService
.
settlementStatistics
(
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
浏览文件 @
df667e06
...
...
@@ -6,6 +6,7 @@ import com.clx.performance.vo.pc.broker.TransportVO;
public
interface
BrokerService
{
void
orderChildSync
(
TransportParam
param
);
void
orderChildUpdate
(
TransportParam
param
);
TransportVO
getOrderChildStatus
(
String
childNo
);
...
...
performance-web/src/main/java/com/clx/performance/extranal/broker/impl/BrokerServiceImpl.java
浏览文件 @
df667e06
...
...
@@ -27,11 +27,24 @@ public class BrokerServiceImpl implements BrokerService {
Result
<
Object
>
result
=
brokerFeign
.
saveTransport
(
param
);
if
(
result
.
getCode
()
!=
0
)
{
log
.
info
(
"运单同步网络货运失败,
msg:{}"
,
result
.
getMsg
());
log
.
info
(
"运单同步网络货运失败,
childNo:{}, msg:{}"
,
param
.
getOrderChild
().
getSourceChildNo
()
,
result
.
getMsg
());
throw
new
ServiceSystemException
(
ResultEnum
.
FEIGN_ERROR
,
result
.
getMsg
());
}
log
.
info
(
"运单同步网络货运,
result:{}"
,
JSON
.
toJSONString
(
result
));
log
.
info
(
"运单同步网络货运,
childNo:{}, result:{}"
,
param
.
getOrderChild
().
getSourceChildNo
()
,
JSON
.
toJSONString
(
result
));
}
@Override
public
void
orderChildUpdate
(
TransportParam
param
)
{
param
.
setUserCode
(
settlementConfig
.
getBrokerUserCode
());
Result
<
Object
>
result
=
brokerFeign
.
modifyTransport
(
param
);
if
(
result
.
getCode
()
!=
0
)
{
log
.
info
(
"运单更新网络货运失败, childNo:{}, msg:{}"
,
param
.
getOrderChild
().
getSourceChildNo
(),
result
.
getMsg
());
throw
new
ServiceSystemException
(
ResultEnum
.
FEIGN_ERROR
,
result
.
getMsg
());
}
log
.
info
(
"运单更新网络货运, childNo:{}, result:{}"
,
param
.
getOrderChild
().
getSourceChildNo
(),
JSON
.
toJSONString
(
result
));
}
@Override
public
TransportVO
getOrderChildStatus
(
String
childNo
)
{
...
...
@@ -43,9 +56,9 @@ public class BrokerServiceImpl implements BrokerService {
Result
<
TransportVO
>
result
=
brokerFeign
.
getTransportByChildNo
(
childNo
,
settlementConfig
.
getBrokerUserCode
(),
settlementNo
);
if
(
result
.
getCode
()
!=
0
)
{
log
.
info
(
"
运单同步网络货运失败, msg:{}"
,
result
.
getMsg
());
log
.
info
(
"
获取网络货运运单状态, childNo:{}, msg:{}"
,
childNo
,
result
.
getMsg
());
}
log
.
info
(
"
运单同步网络货运, result:{}"
,
JSON
.
toJSONString
(
result
));
log
.
info
(
"
获取网络货运运单状态, childNo:{}, result:{}"
,
childNo
,
JSON
.
toJSONString
(
result
));
return
result
.
getData
();
}
...
...
performance-web/src/main/java/com/clx/performance/feign/BrokerFeign.java
浏览文件 @
df667e06
...
...
@@ -21,6 +21,12 @@ public interface BrokerFeign {
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/broker-service/open/transport/saveTransport"
)
Result
<
Object
>
saveTransport
(
@RequestBody
TransportParam
param
);
/**
* 运单更新
*/
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/broker-service/open/transport/modifyTransport"
)
Result
<
Object
>
modifyTransport
(
@RequestBody
TransportParam
param
);
@RequestMapping
(
value
=
"/broker-service/open/transport/getTransportByChildNo"
,
method
=
RequestMethod
.
GET
)
Result
<
TransportVO
>
getTransportByChildNo
(
@RequestParam
@NotBlank
(
message
=
"运单编号不能为空"
)
String
orderCode
,
@RequestParam
@NotNull
(
message
=
"userCode不能为空"
)
String
userCode
,
...
...
performance-web/src/main/java/com/clx/performance/job/settlement/SettlementJob.java
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
job
.
settlement
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
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.OrderChildSyncTransportInvoiceRecord
;
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.service.settle.SettlementMqService
;
import
com.msl.common.job.JobLog
;
import
com.xxl.job.core.context.XxlJobHelper
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.exception.ExceptionUtils
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
@AllArgsConstructor
public
class
SettlementJob
{
// 默认30天
private
static
final
Integer
EFFECT_TIME
=
30
;
private
final
OrderChildSyncTransportInvoiceRecordDao
orderChildSyncTransportInvoiceRecordDao
;
private
final
SettlementMqService
settlementMqService
;
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementOwnerDao
settlementOwnerDao
;
private
final
OrderChildSyncTransportRecordDao
orderChildSyncTransportRecordDao
;
/**
...
...
@@ -86,4 +95,38 @@ public class SettlementJob {
}
}
/**
* 结算单平台自动确认更新
*/
@XxlJob
(
"settlementPlatformAutoConfirmUpdate"
)
public
void
settlementPlatformAutoConfirmUpdate
()
{
try
{
Integer
effectTime
=
null
;
String
jobParam
=
XxlJobHelper
.
getJobParam
();
log
.
info
(
"结算单平台自动确认更新, param:{}"
,
jobParam
);
if
(
StringUtils
.
isNotBlank
(
jobParam
))
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
jobParam
);
effectTime
=
jsonObject
.
getInteger
(
"effectTime"
);
}
if
(
effectTime
==
null
)
{
effectTime
=
EFFECT_TIME
;
}
LocalDateTime
time
=
LocalDateTime
.
now
().
minusDays
(
effectTime
);
List
<
SettlementOwner
>
list
=
settlementOwnerDao
.
listPlatformToBeConfirmed
(
time
);
log
.
info
(
"结算单平台自动确认更新, size:{}"
,
list
.
size
());
if
(
list
.
isEmpty
())
{
return
;}
for
(
SettlementOwner
item
:
list
)
{
settlementMqService
.
settlementPlatformAutoConfirmUpdate
(
item
.
getSettlementNo
());
}
}
catch
(
Exception
e
)
{
log
.
warn
(
"结算单平台自动确认更新失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
JobLog
.
error
(
"结算单平台自动确认更新失败"
,
e
);
}
}
}
performance-web/src/main/java/com/clx/performance/listener/OrderChildSyncTransportListener.java
浏览文件 @
df667e06
...
...
@@ -8,16 +8,14 @@ import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.config.SettlementConfig
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildSyncTransportInvoiceRecordDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OwnerAccountDao
;
import
com.clx.performance.dao.OwnerRunningWaterRecordDao
;
import
com.clx.performance.dao.*
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.OrderChildSyncDTO
;
import
com.clx.performance.dto.OwnerLoanMqDTO
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.enums.IdTypeEnum
;
import
com.clx.performance.enums.NetworkDriverAccountEnum
;
import
com.clx.performance.enums.OwnerAccountEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
...
...
@@ -25,10 +23,14 @@ import com.clx.performance.enums.settle.SettlementWayEnum;
import
com.clx.performance.event.OwnerLoanEvent
;
import
com.clx.performance.extranal.order.InvoicingCompanyService
;
import
com.clx.performance.feign.TransportFeignService
;
import
com.clx.performance.model.*
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OwnerAccount
;
import
com.clx.performance.model.OwnerRunningWaterRecord
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.TransportSyncService
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.service.broker.OrderChildBrokerService
;
import
com.clx.performance.service.settle.NetworkDriverRunningWaterRecordService
;
import
com.clx.performance.service.settle.SettlementCommonService
;
...
...
@@ -40,7 +42,6 @@ import org.springframework.context.ApplicationEventPublisher;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -79,6 +80,7 @@ public class OrderChildSyncTransportListener {
private
final
OrderChildDao
orderChildDao
;
private
final
SettlementCommonService
settlementCommonService
;
private
final
OrderChildBrokerMqService
orderChildBrokerMqService
;
/**
* 承运同步网络货运运单
*/
...
...
@@ -98,48 +100,51 @@ public class OrderChildSyncTransportListener {
}
}
@Deprecated
public
void
transportOrderChildProcess
(
OrderChild
orderChild
)
{
Integer
invoiceType
=
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
();
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
get
();
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// // 同步网络货运(禁用网络货运同步)
// ThirdOrderChildBrokerParam param = transportSyncService.generateOrderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
// HttpDTO httpDTOResult = transportFeignService.orderChildSync(param);
// String decrypt = ThirdComponent.decrypt(httpDTOResult.getData());
// OrderChildSyncDTO bean = JSONUtil.toBean(decrypt, OrderChildSyncDTO.class);
// extracted(orderChild, bean, JSONUtil.parse(bean).toString(), settlementOwnerDetail, invoiceType, settlementDriverDetail);
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getReportFlag
(),
OrderEnum
.
ReportFlag
.
NO
.
getCode
())){
// 不上报走普通单
extracted
(
orderChild
,
settlementOwnerDetail
,
settlementDriverDetail
,
invoiceType
,
null
);
}
else
{
try
{
// 同步broker
orderChildBrokerService
.
orderChildSync
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
);
}
catch
(
Exception
e
)
{
log
.
info
(
"当前OrderChildSyncTransportListener监听同步网络货运失败,运单号{}, 错误信息{}"
,
orderChild
.
getChildNo
(),
ExceptionUtils
.
getStackTrace
(
e
));
}
}
// Integer invoiceType = SettlementOwnerEnum.InvoiceType.ORDINARY.getCode();
//
// OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).get();
//
// SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//
//// // 同步网络货运(禁用网络货运同步)
//// ThirdOrderChildBrokerParam param = transportSyncService.generateOrderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
//// HttpDTO httpDTOResult = transportFeignService.orderChildSync(param);
//// String decrypt = ThirdComponent.decrypt(httpDTOResult.getData());
//// OrderChildSyncDTO bean = JSONUtil.toBean(decrypt, OrderChildSyncDTO.class);
//// extracted(orderChild, bean, JSONUtil.parse(bean).toString(), settlementOwnerDetail, invoiceType, settlementDriverDetail);
//
// if (Objects.equals(settlementOwnerDetail.getReportFlag(), OrderEnum.ReportFlag.NO.getCode())){
// // 不上报走普通单
// extracted(orderChild, settlementOwnerDetail, settlementDriverDetail, invoiceType, null);
// }
// else{
//
// settlementOwnerDetail.setInvoiceType(SettlementOwnerEnum.InvoiceType.ONLINE.getCode());
// try{
// // 同步broker
// orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
// } catch (Exception e) {
// log.info("当前OrderChildSyncTransportListener监听同步网络货运失败,运单号{}, 错误信息{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e));
//
// }
//
// }
}
public
void
extracted
(
OrderChild
orderChild
,
OrderChildSyncDTO
bean
,
String
remark
,
SettlementOwnerDetail
settlementOwnerDetail
,
Integer
invoiceType
,
SettlementDriverDetail
settlementDriverDetail
)
{
// public void extracted(OrderChild orderChild, OrderChildSyncDTO bean, String remark,
// SettlementOwnerDetail settlementOwnerDetail,
// Integer invoiceType, SettlementDriverDetail settlementDriverDetail) {
//
// if (null != bean && bean.getCode() == 0 && null != bean.getData() && bean.getData().getStatus() == 1){
// invoiceType = SettlementOwnerEnum.InvoiceType.ONLINE.getCode();
// }
// extracted(orderChild, settlementOwnerDetail, settlementDriverDetail, invoiceType, remark);
// }
if
(
null
!=
bean
&&
bean
.
getCode
()
==
0
&&
null
!=
bean
.
getData
()
&&
bean
.
getData
().
getStatus
()
==
1
){
invoiceType
=
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
();
}
extracted
(
orderChild
,
settlementOwnerDetail
,
settlementDriverDetail
,
invoiceType
,
remark
);
}
public
void
extracted
(
OrderChild
orderChild
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
,
...
...
@@ -148,18 +153,19 @@ public class OrderChildSyncTransportListener {
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
get
();
// 未税 卸车减货损不用生成扣除相关流水逻辑
if
(
Objects
.
equals
(
invoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
&&
Objects
.
equals
(
orderGoods
.
getPlatformFreightQuotationTaxType
(),
QuotationEnum
.
PlatformFreightQuotationTaxType
.
NO
.
getCode
())
&&
Objects
.
equals
(
orderGoods
.
getSettlementWay
(),
SettlementWayEnum
.
WayType
.
UNLOAD_LOSS
.
getCode
()))
{
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
());
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO
.
getCode
());
//生成提现记录
networkDriverRunningWaterRecordService
.
generateNetworkCaseOutRecord
(
settlementDriverDetail
);
}
else
if
(
Objects
.
equals
(
invoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
// // 未税 卸车减货损不用生成扣除相关流水逻辑
// if (Objects.equals(invoiceType, SettlementOwnerEnum.InvoiceType.ONLINE.getCode())
// && Objects.equals(orderGoods.getPlatformFreightQuotationTaxType(),QuotationEnum.PlatformFreightQuotationTaxType.NO.getCode())
// && Objects.equals(orderGoods.getSettlementWay(), SettlementWayEnum.WayType.UNLOAD_LOSS.getCode())) {
// settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
// settlementDriverDetail.setPrepayFreightFlag(SettlementDriverEnum.PrepayFreightFlag.NO_PAY.getCode());
// settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO.getCode());
//
// //生成提现记录
// networkDriverRunningWaterRecordService.generateNetworkCaseOutRecord(settlementDriverDetail);
// }
// else
if
(
Objects
.
equals
(
invoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
//通过风控
List
<
OwnerRunningWaterRecord
>
runningWaterRecordList
=
ownerRunningWaterRecordDao
.
getOwnerRunningWaterRecord
(
orderChild
.
getOrderNo
());
...
...
performance-web/src/main/java/com/clx/performance/listener/broker/BrokerDelayListener.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
listener
.
broker
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqDelay
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyBrokerConstants
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 无车承运 mq
* @Date: 2023-10-20 16:14:30
* @Version: 1.0
*/
@Slf4j
@Component
public
class
BrokerDelayListener
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@RabbitListener
(
queues
=
RabbitKeyBrokerConstants
.
DEFAULT_DEAD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"无车承运-延迟, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
MqDelay
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"无车承运-延迟 失败"
,
e
);
}
}
void
process
(
MqDelay
mq
){
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
mq
.
getData
()).
getBytes
()).
build
();
rabbitTemplate
.
send
(
mq
.
getExchange
(),
mq
.
getRouterKey
(),
message
);
}
}
performance-web/src/main/java/com/clx/performance/listener/broker/BrokerOrderChildSyncListener.java
0 → 100644
浏览文件 @
df667e06
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.BrokerOrderChildSyncMqParam
;
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
BrokerOrderChildSyncListener
{
@Autowired
private
OrderChildBrokerMqHandlerService
orderChildBrokerMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeyBrokerConstants
.
ORDER_CHILD_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
<
BrokerOrderChildSyncMqParam
>>(){}).
getData
());
log
.
info
(
"无车承运-运单同步成功, message:{}"
,
new
String
(
message
.
getBody
()));
}
catch
(
Exception
e
){
log
.
info
(
"无车承运-运单同步 失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
private
void
process
(
BrokerOrderChildSyncMqParam
mq
){
orderChildBrokerMqHandlerService
.
orderChildSync
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/broker/BrokerOrderChildUpdateListener.java
0 → 100644
浏览文件 @
df667e06
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.BrokerOrderChildUpdateMqParam
;
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
BrokerOrderChildUpdateListener
{
@Autowired
private
OrderChildBrokerMqHandlerService
orderChildBrokerMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeyBrokerConstants
.
ORDER_CHILD_UPDATE_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"无车承运-运单更新, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
BrokerOrderChildUpdateMqParam
>>(){}).
getData
());
log
.
info
(
"无车承运-运单更新成功, message:{}"
,
new
String
(
message
.
getBody
()));
}
catch
(
Exception
e
){
log
.
info
(
"无车承运-运单同步 失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
private
void
process
(
BrokerOrderChildUpdateMqParam
mq
){
orderChildBrokerMqHandlerService
.
orderChildUpdate
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/excel/InvoiceDataListener.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
listener
.
excel
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.excel.InvoiceData
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam
;
import
lombok.AllArgsConstructor
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
static
com
.
clx
.
performance
.
enums
.
settle
.
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
;
import
static
com
.
clx
.
performance
.
enums
.
settle
.
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
;
@AllArgsConstructor
public
class
InvoiceDataListener
extends
AnalysisEventListener
<
InvoiceData
>
{
private
final
List
<
InvoiceData
>
invoiceDataList
;
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;;
@Override
public
void
invoke
(
InvoiceData
invoiceData
,
AnalysisContext
context
)
{
// 每解析一行都会调用一次,逐行校验数据
PageInvoiceOwnerSettlementOwnerDetailParam
param
=
new
PageInvoiceOwnerSettlementOwnerDetailParam
();
param
.
setInvoiceStatus
(
NO
.
getCode
());
param
.
setChildNo
(
invoiceData
.
getChildNo
());
//param.setInvoiceType(ORDINARY.getCode());
IPage
<
SettlementOwnerDetail
>
page
=
settlementOwnerDetailDao
.
pageInvoiceOwnerSettlementOrderDetailList
(
param
);
List
<
SettlementOwnerDetail
>
records
=
page
.
getRecords
();
if
(
CollectionUtils
.
isEmpty
(
records
))
{
invoiceData
.
setRemark
(
"校验失败(运单编号不匹配)"
);
}
else
if
(!
ORDINARY
.
getCode
().
equals
(
records
.
get
(
0
).
getInvoiceType
())){
invoiceData
.
setRemark
(
"校验失败(开票标识非普通单)"
);
}
else
if
(
records
.
get
(
0
).
getInvoiceFreight
().
compareTo
(
invoiceData
.
getInvoiceFreight
().
multiply
(
new
BigDecimal
(
100
)))
!=
0
){
invoiceData
.
setRemark
(
"校验失败(开票金额不匹配)"
);
}
else
{
invoiceData
.
setRemark
(
"校验通过"
);
invoiceData
.
setLoadNet
(
records
.
get
(
0
).
getLoadNet
());
}
invoiceDataList
.
add
(
invoiceData
);
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
// 解析完成后调用
// 可在此进行后续操作,如保存数据到数据库
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementDelayListener.java
浏览文件 @
df667e06
...
...
@@ -28,7 +28,7 @@ public class SettlementDelayListener {
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
DEFAULT_DEAD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-延迟, message:{}"
,
message
);
log
.
info
(
"结算-延迟, message:{}"
,
new
String
(
message
.
getBody
())
);
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
MqDelay
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-延迟 失败"
,
e
);
...
...
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementInvoiceCompanyUpdateListener.java
0 → 100644
浏览文件 @
df667e06
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.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
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
SettlementInvoiceCompanyUpdateListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_PROCESS_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-开票公司更新, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-开票公司更新 失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
private
void
process
(
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
mq
){
settlementMqHandlerService
.
invoiceCompanyUpdate
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementPlatformAutoConfirmUpdateListener.java
0 → 100644
浏览文件 @
df667e06
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.SettlementPlatformAutoConfirmMqParam
;
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
SettlementPlatformAutoConfirmUpdateListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-平台自动确认更新, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementPlatformAutoConfirmMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-平台自动确认更新 失败"
,
e
);
}
}
private
void
process
(
SettlementPlatformAutoConfirmMqParam
mq
){
settlementMqHandlerService
.
settlementPlatformAutoConfirm
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementRiskProcessListener.java
0 → 100644
浏览文件 @
df667e06
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.SettlementOrderChildRiskProcessMqParam
;
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
SettlementRiskProcessListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_PROCESS_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-风控处理, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementOrderChildRiskProcessMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-风控处理 失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
private
void
process
(
SettlementOrderChildRiskProcessMqParam
mq
){
settlementMqHandlerService
.
riskProcess
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/model/settle/SettlementOwnerDetail.java
浏览文件 @
df667e06
...
...
@@ -63,17 +63,20 @@ public class SettlementOwnerDetail implements HasKey<Integer> {
private
BigDecimal
invoiceServiceFee
;
//开票服务费(分)
private
BigDecimal
invoiceServiceFeeRate
;
//开票服务率
private
Integer
finalPaymentStatus
;
//尾款状态 0-否,1-是,2-无需支付
private
Integer
invoiceTypeStatus
;
// 开票标识状态:0未获取 1获取中 2获取成功 3获取失败
private
Integer
invoiceStatus
;
//开票状态 0-否,1-是,2-无需开票
private
Integer
invoicingCompanyId
;
//开票公司id
private
String
invoicingCompanyShorterName
;
//开票公司简称
private
String
invoicingCompanyGroupCode
;
//开票公司统一社会信用代码
private
Integer
reportFlag
;
//是否上报 0-否;1-是
private
Integer
invoiceChannel
;
//开票渠道:1无车承运
private
LocalDateTime
invoiceTime
;
//开票时间
private
String
remark
;
//备注
private
Integer
payStatus
;
//支付状态:0未支付 1已支付(网络货运是否支付)
private
LocalDateTime
poundAuditTime
;
//磅单审核通过时间
private
String
invoicingCompanyModifiedBy
;
//开票公司修改人
private
LocalDateTime
invoicingCompanyModifiedTime
;
//开票公司修改时间
private
String
separateRemark
;
//拆单备注
private
Integer
status
;
//状态
private
LocalDateTime
createTime
;
//创建时间
private
LocalDateTime
modifiedTime
;
//修改时间
...
...
performance-web/src/main/java/com/clx/performance/service/broker/OrderChildBrokerMqHandlerService.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
broker
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam
;
public
interface
OrderChildBrokerMqHandlerService
{
void
orderChildSync
(
BrokerOrderChildSyncMqParam
mq
);
void
orderChildUpdate
(
BrokerOrderChildUpdateMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/broker/OrderChildBrokerMqService.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
broker
;
import
java.util.List
;
public
interface
OrderChildBrokerMqService
{
void
orderChildSync
(
String
childNo
);
void
orderChildUpdate
(
String
childNo
);
void
orderChildUpdate
(
List
<
String
>
childNoList
);
}
performance-web/src/main/java/com/clx/performance/service/broker/OrderChildBrokerService.java
浏览文件 @
df667e06
...
...
@@ -9,4 +9,6 @@ public interface OrderChildBrokerService {
void
orderChildSync
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
);
void
orderChildUpdate
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
df667e06
...
...
@@ -16,12 +16,14 @@ import com.clx.performance.component.OrderCancelComponent;
import
com.clx.performance.component.OwnerAccountComponent
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildPoundAuditDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dto.OrderCancelDTO
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildPoundAudit
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
...
...
@@ -51,6 +53,9 @@ import java.time.LocalDateTime;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
clx
.
performance
.
enums
.
OrderChildPoundAuditEnum
.
Status
.
APPROVED
;
import
static
com
.
clx
.
performance
.
enums
.
ResultEnum
.
DATA_ERROR
;
@Slf4j
@Service
@AllArgsConstructor
...
...
@@ -85,6 +90,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private
final
OwnerAccountComponent
ownerAccountComponent
;
private
final
OrderChildPoundAuditDao
orderChildPoundAuditDao
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -734,6 +741,12 @@ public class OrderCancelServiceImpl implements OrderCancelService {
*/
@Override
public
void
artificialCancelOrder
(
String
orderChildNo
,
String
remark
)
{
//磅单如果审核通过,该运单不允许取消
List
<
OrderChildPoundAudit
>
poundAuditList
=
orderChildPoundAuditDao
.
getPoundAuditList
(
orderChildNo
);
if
(
poundAuditList
.
stream
().
anyMatch
(
item
->
APPROVED
.
getCode
().
equals
(
item
.
getStatus
())))
{
throw
new
ServiceSystemException
(
DATA_ERROR
,
"该运单磅单已审核通过,不允许取消"
);
}
LocalDateTime
now
=
LocalDateTime
.
now
();
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
orderChildNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderChild
update
=
new
OrderChild
();
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
df667e06
...
...
@@ -2254,8 +2254,9 @@ public class OrderChildServiceImpl implements OrderChildService {
fieldList
.
add
(
new
ExcelField
(
15
,
"接单时间"
,
"payTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
16
,
"完成时间"
,
"finishTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"发货地址"
,
"sendAddress"
,
10000
));
fieldList
.
add
(
new
ExcelField
(
18
,
"收货地址"
,
"receiveAddress"
,
10000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"磅单审核通过时间"
,
"poundAuditTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
18
,
"发货地址"
,
"sendAddress"
,
10000
));
fieldList
.
add
(
new
ExcelField
(
19
,
"收货地址"
,
"receiveAddress"
,
10000
));
// 组装数据
List
<
List
<
ExcelData
>>
dataList
=
new
ArrayList
<>();
...
...
@@ -2288,6 +2289,7 @@ public class OrderChildServiceImpl implements OrderChildService {
rowData
.
add
(
new
ExcelData
(
dto
.
getPayTime
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getFinishTime
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getPoundAuditTime
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getSendAddress
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getReceiveAddress
()));
...
...
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerMqHandlerServiceImpl.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
impl
.
broker
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.broker.OrderChildBrokerMqHandlerService
;
import
com.clx.performance.service.broker.OrderChildBrokerService
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
@Slf4j
@Service
public
class
OrderChildBrokerMqHandlerServiceImpl
implements
OrderChildBrokerMqHandlerService
{
@Autowired
private
OrderGoodsDao
orderGoodsDao
;
@Autowired
private
OrderChildDao
orderChildDao
;
@Autowired
private
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
@Autowired
private
SettlementDriverDetailDao
settlementDriverDetailDao
;
@Autowired
private
OrderChildBrokerService
orderChildBrokerService
;
@Override
public
void
orderChildSync
(
BrokerOrderChildSyncMqParam
mq
)
{
String
childNo
=
mq
.
getChildNo
();
Integer
invoiceType
=
mq
.
getInvoiceType
();
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 更新状态
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
PROCESSING
.
getCode
());
settlementOwnerDetailDao
.
updateInvoiceTypeStatus
(
settlementOwnerDetail
);
settlementOwnerDetail
.
setInvoiceType
(
invoiceType
);
try
{
// 同步broker
orderChildBrokerService
.
orderChildSync
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
);
}
catch
(
Exception
e
)
{
log
.
info
(
"同步无车承运失败, child:{}, msg:{}"
,
orderChild
.
getChildNo
(),
ExceptionUtils
.
getStackTrace
(
e
));
}
}
@Override
public
void
orderChildUpdate
(
BrokerOrderChildUpdateMqParam
mq
)
{
String
childNo
=
mq
.
getChildNo
();
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getReportFlag
(),
com
.
clx
.
order
.
enums
.
OrderEnum
.
ReportFlag
.
NO
.
getCode
())){
return
;
}
try
{
// 更新broker
orderChildBrokerService
.
orderChildUpdate
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
);
}
catch
(
Exception
e
)
{
log
.
info
(
"更新无车承运失败, child:{}, msg:{}"
,
orderChild
.
getChildNo
(),
ExceptionUtils
.
getStackTrace
(
e
));
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerMqServiceImpl.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
impl
.
broker
;
import
com.alibaba.fastjson.JSON
;
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.BrokerOrderChildSyncMqParam
;
import
com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Slf4j
@Service
public
class
OrderChildBrokerMqServiceImpl
implements
OrderChildBrokerMqService
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@Override
public
void
orderChildSync
(
String
childNo
)
{
BrokerOrderChildSyncMqParam
mq
=
new
BrokerOrderChildSyncMqParam
();
mq
.
setChildNo
(
childNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeyBrokerConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyBrokerConstants
.
ORDER_CHILD_SYNC_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
);
}
@Override
public
void
orderChildUpdate
(
String
childNo
)
{
BrokerOrderChildUpdateMqParam
mq
=
new
BrokerOrderChildUpdateMqParam
();
mq
.
setChildNo
(
childNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeyBrokerConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyBrokerConstants
.
ORDER_CHILD_SYNC_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
);
}
@Override
public
void
orderChildUpdate
(
List
<
String
>
childNoList
)
{
for
(
String
childNo
:
childNoList
)
{
orderChildUpdate
(
childNo
);
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerServiceImpl.java
浏览文件 @
df667e06
...
...
@@ -6,7 +6,9 @@ import com.clx.order.vo.feign.FeignAddressVO;
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.PowerTypeEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.extranal.broker.BrokerService
;
import
com.clx.performance.extranal.order.InvoicingCompanyService
;
import
com.clx.performance.model.OrderChild
;
...
...
@@ -54,12 +56,33 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
private
OrderChildImageDao
orderChildImageDao
;
@Autowired
private
InvoicingCompanyService
invoicingCompanyService
;
@Autowired
private
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
@Override
public
void
orderChildSync
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
)
{
TransportParam
transportParam
=
buildParam
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
);
// 运单同步
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
PROCESSING
.
getCode
());
settlementOwnerDetailDao
.
updateInvoiceTypeStatus
(
settlementOwnerDetail
);
brokerService
.
orderChildSync
(
transportParam
);
}
@Override
public
void
orderChildUpdate
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
)
{
TransportParam
transportParam
=
buildParam
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
);
// 运单更新
brokerService
.
orderChildUpdate
(
transportParam
);
}
private
TransportParam
buildParam
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
){
String
host
=
documentFeign
.
getHost
().
getData
();
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderGoods
.
getOrderNo
());
...
...
@@ -244,10 +267,15 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo
.
setLoadTime
(
DateUtils
.
formatDateTime
(
orderChild
.
getLoadTime
()).
get
());
orderChildInfo
.
setUnloadTime
(
DateUtils
.
formatDateTime
(
orderChild
.
getUnloadTime
()).
get
());
orderChildInfo
.
setPayFinishedTime
(
DateUtils
.
formatDateTime
(
orderChild
.
getConfirmTime
()).
get
());
orderChildInfo
.
setPoundTime
(
DateUtils
.
formatDateTime
(
settlementOwnerDetail
.
getPoundAuditTime
()).
get
());
orderChildInfo
.
setReceiveTare
(
orderChild
.
getUnloadTare
());
orderChildInfo
.
setReceiveRough
(
orderChild
.
getUnloadRough
());
orderChildInfo
.
setReceiveNet
(
orderChild
.
getUnloadNet
());
orderChildInfo
.
setInvoiceFlag
(
settlementOwnerDetail
.
getInvoiceType
());
orderChildInfo
.
setInvoicePlatform
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
orderChildInfo
.
setInvoiceStatus
(
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceStatus
(),
SettlementOwnerDetailEnum
.
InvoiceStatus
.
YES
.
getCode
())?
1
:
0
);
transportParam
.
setOrder
(
orderInfo
);
transportParam
.
setOrderChildImage
(
imageList
);
...
...
@@ -256,6 +284,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
transportParam
.
setOrderChildTruck
(
truckInfo
);
transportParam
.
setOrderChild
(
orderChildInfo
);
brokerService
.
orderChildSync
(
transportParam
);
return
transportParam
;
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/OrderChildSyncTransportRecordServiceImpl.java
浏览文件 @
df667e06
...
...
@@ -4,18 +4,18 @@ package com.clx.performance.service.impl.settle;
import
com.clx.order.enums.QuotationEnum
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.settle.NetworkCaseOutRecordDao
;
import
com.clx.performance.dao.settle.OrderChildSyncTransportRecordDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dao.settle.*
;
import
com.clx.performance.dto.PayStatusNotifyDTO
;
import
com.clx.performance.enums.NetworkDriverAccountEnum
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.settle.OrderChildSyncTransportRecord
;
import
com.clx.performance.model.settle.SettlementDriver
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.payment.PayPlatformFeeParam
;
...
...
@@ -62,6 +62,7 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementDriverDao
settlementDriverDao
;
@Override
public
void
addOrderChildSyncTransportRecord
(
SettlementDriverDetail
detail
)
{
...
...
@@ -82,13 +83,21 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriver
settlementDriver
=
settlementDriverDao
.
findBySettlementNo
(
settlementOwnerDetail
.
getSettlementNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
SETTLED
.
getCode
());
settlementDriverDao
.
updatePayStatus
(
settlementDriver
);
settlementOwnerDetail
.
setPayStatus
(
SettlementOwnerDetailEnum
.
PayStatus
.
YES
.
getCode
());
settlementOwnerDetailDao
.
updatePayStatus
(
settlementOwnerDetail
);
orderChildSyncTransportRecordDao
.
updateStatus
(
childNo
);
networkCaseOutRecordDao
.
updateStatus
(
payStatusNotifyDTO
.
getChildNo
(),
NetworkDriverAccountEnum
.
CaseOutRecordStatus
.
PAYED
.
getCode
(),
NetworkDriverAccountEnum
.
CaseOutRecordStatus
.
PAYED
.
getMsg
()
);
SettlementDriverDetail
driverDetail
=
settlementDriverDetailService
.
selectOneByChildNo
(
childNo
);
orderChild
.
setStatus
(
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
());
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.order.enums.InvoicingCompanyEnum
;
import
com.clx.order.enums.QuotationEnum
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
import
com.clx.order.vo.pc.carrier.InvoicingCompanyVO
;
import
com.clx.performance.config.MslPaymentConfig
;
import
com.clx.performance.constant.RedissonConstants
;
import
com.clx.performance.dao.OrderChildDao
;
...
...
@@ -15,7 +17,9 @@ import com.clx.performance.dto.PayStatusNotifyDTO;
import
com.clx.performance.enums.*
;
import
com.clx.performance.enums.settle.SettlementOrderChildRiskEnum
;
import
com.clx.performance.enums.settle.*
;
import
com.clx.performance.event.OwnerLoanThawEvent
;
import
com.clx.performance.extranal.broker.BrokerService
;
import
com.clx.performance.extranal.order.InvoicingCompanyService
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.OrderService
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
...
...
@@ -28,12 +32,17 @@ import com.clx.performance.param.pc.payment.PayParam;
import
com.clx.performance.param.pc.payment.PayPlatformFeeParam
;
import
com.clx.performance.service.OrderChildLogService
;
import
com.clx.performance.service.PaymentService
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.service.broker.OrderChildBrokerService
;
import
com.clx.performance.service.impl.UniqueOrderNumService
;
import
com.clx.performance.service.settle.*
;
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.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
import
com.clx.performance.vo.pc.broker.TransportVO
;
import
com.clx.user.vo.feign.DriverInfoFeignVo
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
...
...
@@ -41,17 +50,16 @@ import com.msl.common.enums.ResultCodeEnum;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.UUID
;
import
java.util.*
;
@Slf4j
@Service
...
...
@@ -130,14 +138,44 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired
private
SettlementOrderChildRiskDao
settlementOrderChildRiskDao
;
@Autowired
private
OrderChildBrokerService
orderChildBrokerService
;
@Autowired
private
InvoicingCompanyService
invoicingCompanyService
;
@Autowired
private
SettlementCommonService
settlementCommonService
;
@Autowired
private
ApplicationEventPublisher
applicationEventPublisher
;
@Autowired
private
OrderChildBrokerMqService
orderChildBrokerMqService
;
@Autowired
private
NetworkDriverRunningWaterRecordService
networkDriverRunningWaterRecordService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
settlementStatistics
(
SettlementStatisticsMqParam
mq
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
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
);
return
;
}
log
.
info
(
"当前车主计费信息{},司机计费信息:{}"
,
JSONUtil
.
parse
(
settlementOwnerDetail
),
JSONUtil
.
parse
(
settlementDriverDetail
));
if
(
settlementOwnerDetail
.
getInvoiceFreight
()
==
null
)
{
...
...
@@ -238,6 +276,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 网运单
orderChildSyncTransportListener
.
extracted
(
orderChild
,
settlementOwnerDetail
,
settlementDriverDetail
,
mq
.
getInvoiceType
(),
mq
.
getRemark
());
}
...
...
@@ -251,6 +290,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return
;
}
if
(
settlementOwnerDetail
.
getInvoiceType
()
!=
null
)
{
return
;}
if
(!
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceTypeStatus
(),
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
PROCESSING
.
getCode
())){
return
;
}
try
{
// 获取状态
...
...
@@ -267,10 +309,17 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// remark += result.getRiskReason();
// }
if
(
Objects
.
equals
(
result
.
getSyncStatus
(),
0
))
{
return
;
}
// 同步失败
if
(
Objects
.
equals
(
result
.
getSyncStatus
(),
2
))
{
invoiceType
=
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
();
remark
+=
result
.
getSyncMsg
();
// 更新状态
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
FAIL
.
getCode
());
settlementOwnerDetailDao
.
updateInvoiceTypeStatus
(
settlementOwnerDetail
);
SettlementOrderChildRisk
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
settlementOrderChildRisk
.
setChildNo
(
orderChild
.
getChildNo
());
...
...
@@ -285,10 +334,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
}
if
(
Objects
.
equals
(
result
.
getSyncStatus
(),
0
))
{
return
;
}
// 更新状态
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
SUCCESS
.
getCode
());
settlementOwnerDetailDao
.
updateInvoiceTypeStatus
(
settlementOwnerDetail
);
// 发送mq (结算)
settlementMqService
.
settle
(
orderChild
.
getChildNo
(),
invoiceType
,
remark
);
...
...
@@ -330,13 +378,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
payStatusSync
(
SettlementPayStatusSyncMqParam
mq
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
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
;
}
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderChildSyncTransportRecord
orderChildSyncTransportRecord
=
orderChildSyncTransportRecordDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(!
Objects
.
equals
(
orderChildSyncTransportRecord
.
getStatus
(),
...
...
@@ -352,11 +408,26 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
if
(
Objects
.
equals
(
result
.
getSettleStatus
(),
1
)
)
{
if
(
Objects
.
equals
(
orderGoods
.
getPlatformFreightQuotationTaxType
(),
QuotationEnum
.
PlatformFreightQuotationTaxType
.
NO
.
getCode
())
&&
Objects
.
equals
(
orderGoods
.
getSettlementWay
(),
SettlementWayEnum
.
WayType
.
UNLOAD_LOSS
.
getCode
()))
{
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
());
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO
.
getCode
());
//生成提现记录
networkDriverRunningWaterRecordService
.
generateNetworkCaseOutRecord
(
settlementDriverDetail
);
}
PayStatusNotifyDTO
payStatusNotifyDTO
=
new
PayStatusNotifyDTO
();
payStatusNotifyDTO
.
setChildNo
(
mq
.
getChildNo
());
orderChildSyncTransportRecordService
.
updateStatus
(
payStatusNotifyDTO
);
// 发送mq (结算单平台自动确认)
settlementMqService
.
settlementPlatformAutoConfirmUpdate
(
settlementOwnerDetail
.
getSettlementNo
());
}
else
{
else
if
(
Objects
.
equals
(
result
.
getSettleStatus
(),
3
)
)
{
SettlementOrderChildRisk
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
settlementOrderChildRisk
.
setChildNo
(
orderChild
.
getChildNo
());
settlementOrderChildRisk
.
setTruckNo
(
orderChild
.
getTruckNo
());
...
...
@@ -366,7 +437,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementOrderChildRisk
.
setPoundAuditTime
(
settlementOwnerDetail
.
getPoundAuditTime
());
settlementOrderChildRisk
.
setRiskType
(
SettlementOrderChildRiskEnum
.
RiskType
.
SETTLE_FAIL
.
getCode
());
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getS
ync
Msg
());
settlementOrderChildRisk
.
setRiskRemark
(
result
.
getS
ettle
Msg
());
settlementOrderChildRiskDao
.
saveEntity
(
settlementOrderChildRisk
);
}
}
...
...
@@ -374,10 +445,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
settlementDetailAdd
(
SettlementDetailAddMqParam
mq
)
{
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getEntityByKey
(
mq
.
getSettlementOwnerDetailId
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getEntityByKey
(
mq
.
getSettlementDriverDetailId
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getEntityByKey
(
mq
.
getSettlementOwnerDetailId
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getEntityByKey
(
mq
.
getSettlementDriverDetailId
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
settlementDriverDetail
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
settlementDriverDetail
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementPlatformServiceFee
settlementPlatformServiceFee
=
null
;
if
(
settlementDriverDetail
.
getPlatformServiceFee
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
...
...
@@ -403,9 +477,57 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
if
(
settlementPlatformServiceFee
!=
null
)
{
settlementPlatformServiceFeeDao
.
saveEntity
(
settlementPlatformServiceFee
);
}
log
.
info
(
"更新网络标识 {} "
,
orderChild
.
getChildNo
());
// 更新网络标识
settlementService
.
updateSettlementDetailInvoiceType
(
settlementOwnerDetail
.
getChildNo
(),
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
());
// 预付运费判断
if
(
settlementDriverDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
// // 转普通单
// settlementOwnerDetail.setInvoiceType(SettlementOwnerEnum.InvoiceType.ORDINARY.getCode());
settlementOwnerDetail
.
setInvoicingCompanyId
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyGroupCode
(
null
);
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementDriverDetail
.
setInvoicingCompanyId
(
settlementOwnerDetail
.
getInvoicingCompanyId
());
settlementDriverDetail
.
setInvoicingCompanyShorterName
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
settlementDriverDetail
.
setInvoicingCompanyGroupCode
(
settlementOwnerDetail
.
getInvoicingCompanyGroupCode
());
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
());
settlementOwnerDetailDao
.
updatePreFreight
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updatePreFreight
(
settlementDriverDetail
);
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildSync
(
orderChild
.
getChildNo
());
}
else
{
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getReportFlag
(),
com
.
clx
.
order
.
enums
.
OrderEnum
.
ReportFlag
.
NO
.
getCode
())){
// 转普通单
settlementOwnerDetail
.
setInvoiceType
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
());
settlementOwnerDetail
.
setInvoicingCompanyId
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyGroupCode
(
null
);
settlementDriverDetail
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementDriverDetail
.
setInvoicingCompanyId
(
settlementOwnerDetail
.
getInvoicingCompanyId
());
settlementDriverDetail
.
setInvoicingCompanyShorterName
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
settlementDriverDetail
.
setInvoicingCompanyGroupCode
(
settlementOwnerDetail
.
getInvoicingCompanyGroupCode
());
settlementOwnerDetailDao
.
updatePreFreight
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updatePreFreight
(
settlementDriverDetail
);
}
else
{
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildSync
(
orderChild
.
getChildNo
());
}
}
//
// log.info("更新网络标识 {} ",orderChild.getChildNo());
// // 更新网络标识
// settlementService.updateSettlementDetailInvoiceType(settlementOwnerDetail.getChildNo(), SettlementOwnerEnum.InvoiceType.ORDINARY.getCode());
}
private
void
settlementDriverSave
(
SettlementDriverDetail
detail
,
String
settlementNo
){
...
...
@@ -432,11 +554,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriver
.
setSettlementPlatform
(
detail
.
getInvoiceType
()
==
1
?
String
.
valueOf
(
SettlementPlatformEnum
.
Platform
.
WY
.
getCode
()):
String
.
valueOf
(
SettlementPlatformEnum
.
Platform
.
MSL
.
getCode
()));
if
(
settlementDriver
.
getInvoiceType
().
equals
(
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
SETTLED
.
getCode
());
}
else
{
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
WAIT_SETTLEMENT
.
getCode
());
}
settlementDriver
.
setStatus
(
SettlementDriverEnum
.
Status
.
WAIT_SETTLEMENT
.
getCode
());
settlementDriver
.
setInvoicingCompanyId
(
detail
.
getInvoicingCompanyId
());
settlementDriver
.
setInvoicingCompanyShorterName
(
detail
.
getInvoicingCompanyShorterName
());
...
...
@@ -649,6 +768,57 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDao
.
updateSettlementPeriodMonth
(
settlementOwner
);
}
/**
* 月结更新
*/
private
void
settlementStatisticsSeparate
(
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
){
String
settlementNo
=
settlementOwnerDetail
.
getSettlementNo
();
SettlementOwner
settlementOwner
=
settlementOwnerDao
.
findBySettlementNo
(
settlementNo
).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
SettlementDriver
settlementDriver
=
settlementDriverDao
.
findBySettlementNo
(
settlementNo
).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
settlementOwner
.
setWeight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setLossWeight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setLossFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setSettlementFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setLoanFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setInvoiceFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setInvoiceServiceFee
(
BigDecimal
.
ZERO
);
settlementOwner
.
setDriverFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setLoadNet
(
BigDecimal
.
ZERO
);
settlementOwner
.
setUnloadNet
(
BigDecimal
.
ZERO
);
List
<
SettlementOwnerDetail
>
details
=
settlementOwnerDetailDao
.
getBySettlementNo
(
settlementOwner
.
getSettlementNo
());
details
.
forEach
(
item
->{
settlementOwner
.
setWeight
(
settlementOwner
.
getWeight
().
add
(
item
.
getWeight
()));
settlementOwner
.
setFreight
(
settlementOwner
.
getFreight
().
add
(
item
.
getFreight
()));
settlementOwner
.
setLossWeight
(
settlementOwner
.
getLossWeight
().
add
(
item
.
getLossWeight
()));
settlementOwner
.
setLossFreight
(
settlementOwner
.
getLossFreight
().
add
(
item
.
getLossFreight
()));
settlementOwner
.
setLoanFreight
(
settlementOwner
.
getLoanFreight
().
add
(
item
.
getLoanFreight
()));
settlementOwner
.
setPrepayFreight
(
settlementOwner
.
getPrepayFreight
().
add
(
item
.
getPrepayFreight
()));
settlementOwner
.
setSettlementFreight
(
settlementOwner
.
getSettlementFreight
().
add
(
item
.
getSettlementFreight
()));
settlementOwner
.
setInvoiceFreight
(
settlementOwner
.
getInvoiceFreight
().
add
(
item
.
getInvoiceFreight
()));
settlementOwner
.
setInvoiceServiceFee
(
settlementOwner
.
getInvoiceServiceFee
().
add
(
item
.
getInvoiceServiceFee
()));
settlementOwner
.
setDriverFreight
(
settlementOwner
.
getDriverFreight
().
add
(
item
.
getDriverFreight
()));
settlementOwner
.
setLoadNet
(
settlementOwner
.
getLoadNet
().
add
(
item
.
getLoadNet
()));
settlementOwner
.
setUnloadNet
(
settlementOwner
.
getUnloadNet
().
add
(
item
.
getUnloadNet
()));
});
settlementOwnerDao
.
updateSettlementPeriodMonth
(
settlementOwner
);
settlementOwnerDetail
.
setSettlementNo
(
null
);
settlementOwnerDetail
.
setSeparateRemark
(
"系统自动拆单(原结算单号"
+
settlementNo
+
")"
);
settlementDriverDetail
.
setSettlementNo
(
null
);
settlementOwnerDetailDao
.
updateClearSettlementNo
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateClearSettlementNo
(
settlementDriverDetail
);
}
/**
* 创建结算单号
...
...
@@ -658,6 +828,123 @@ 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
riskProcess
(
SettlementOrderChildRiskProcessMqParam
mq
)
{
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
getById
(
mq
.
getId
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
String
childNo
=
settlementOrderChildRisk
.
getChildNo
();
if
(
Objects
.
equals
(
settlementOrderChildRisk
.
getProcessMethod
(),
SettlementOrderChildRiskEnum
.
ProcessMethod
.
CONVERT_ORDINARY
.
getCode
())){
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
childNo
).
orNull
();
// 已进结算单需拆单
if
(
settlementOwnerDetail
!=
null
&&
StringUtils
.
isNotBlank
(
settlementOwnerDetail
.
getSettlementNo
()))
{
// 发送mq 结算统计
settlementMqService
.
settlementStatistics
(
childNo
,
SettlementStatisticsMqParam
.
Type
.
SEPARATE
.
getCode
());
}
}
else
if
(
Objects
.
equals
(
settlementOrderChildRisk
.
getProcessMethod
(),
SettlementOrderChildRiskEnum
.
ProcessMethod
.
SYNC_RETRY
.
getCode
())){
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildSync
(
childNo
);
}
}
@Override
public
void
invoiceCompanyUpdate
(
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
mq
)
{
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
findById
(
mq
.
getId
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 只处理普通单
if
(!
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceType
(),
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
())){
return
;
}
String
childNo
=
settlementOwnerDetail
.
getChildNo
();
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 查询开票公司
InvoicingCompanyVO
invoiceCompany
=
invoicingCompanyService
.
getInvoicingCompany
(
settlementOwnerDetail
.
getInvoicingCompanyId
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 开票服务率
settlementOwnerDetail
.
setInvoiceServiceFeeRate
(
BigDecimal
.
ZERO
);
if
(
Objects
.
equals
(
invoiceCompany
.
getQuotationType
(),
InvoicingCompanyEnum
.
TaxType
.
TAX_EXCLUDED
.
getCode
()))
{
settlementOwnerDetail
.
setInvoiceServiceFeeRate
(
invoiceCompany
.
getServiceFeeRate
()
==
null
?
BigDecimal
.
ZERO
:
invoiceCompany
.
getServiceFeeRate
());
}
// 开票服务费
settlementOwnerDetail
.
setInvoiceServiceFee
(
settlementCommonService
.
invoiceServiceFeeCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
// 开票金额
settlementOwnerDetail
.
setInvoiceFreight
(
settlementCommonService
.
invoiceFreightCalc
(
orderChild
.
getSettlementWay
(),
orderGoods
.
getInvoiceServiceFeeRate
(),
settlementOwnerDetail
));
// 结算金额
settlementOwnerDetail
.
setSettlementFreight
(
settlementCommonService
.
settlementFreightCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
if
(
settlementOwnerDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO_REQUIRE
.
getCode
());
}
settlementDriverDetail
.
setInvoicingCompanyId
(
settlementOwnerDetail
.
getInvoicingCompanyId
());
settlementDriverDetail
.
setInvoicingCompanyShorterName
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
settlementDriverDetail
.
setInvoicingCompanyGroupCode
(
settlementOwnerDetail
.
getInvoicingCompanyGroupCode
());
log
.
info
(
"当前货主结算信息{},车主结算信息:{}"
,
JSONUtil
.
parse
(
settlementOwnerDetail
),
JSONUtil
.
parse
(
settlementDriverDetail
));
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceTypeAndPrepayFreightFlag
(
settlementDriverDetail
);
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getReportFlag
(),
com
.
clx
.
order
.
enums
.
OrderEnum
.
ReportFlag
.
NO
.
getCode
())){
// 网运单转普通单
orderChildSyncTransportListener
.
extracted
(
orderChild
,
settlementOwnerDetail
,
settlementDriverDetail
,
settlementOwnerDetail
.
getInvoiceType
(),
null
);
return
;
}
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
findLastByChildNo
(
childNo
).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
if
(
settlementOrderChildRisk
!=
null
){
// 网运单转普通单
orderChildSyncTransportListener
.
extracted
(
orderChild
,
settlementOwnerDetail
,
settlementDriverDetail
,
settlementOwnerDetail
.
getInvoiceType
(),
settlementOrderChildRisk
.
getRiskRemark
());
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildUpdate
(
childNo
);
return
;
}
//普通单解冻
applicationEventPublisher
.
publishEvent
(
new
OwnerLoanThawEvent
(
this
,
childNo
));
// 发送mq 结算统计
settlementMqService
.
settlementStatistics
(
childNo
);
}
@Override
public
void
settlementPlatformAutoConfirm
(
SettlementPlatformAutoConfirmMqParam
mq
)
{
SettlementOwner
settlementOwner
=
settlementOwnerDao
.
findBySettlementNo
(
mq
.
getSettlementNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
if
(!
Objects
.
equals
(
settlementOwner
.
getStatus
(),
SettlementOwnerEnum
.
Status
.
PLATFORM_TO_BE_CONFIRMED
.
getCode
())){
return
;
}
// 所有运单支付完成,修改状态待货主确认
List
<
SettlementOwnerDetail
>
list
=
settlementOwnerDetailDao
.
getBySettlementNo
(
settlementOwner
.
getSettlementNo
());
if
(
list
.
isEmpty
())
{
return
;}
Optional
<
SettlementOwnerDetail
>
optional
=
list
.
stream
()
.
filter
(
item
->
Objects
.
equals
(
item
.
getPayStatus
(),
SettlementOwnerDetailEnum
.
PayStatus
.
NO
.
getCode
())).
findFirst
();
if
(
optional
.
isPresent
())
{
return
;}
settlementOwner
.
setStatus
(
SettlementOwnerEnum
.
Status
.
OWNER_TO_BE_CONFIRMED
.
getCode
());
settlementOwnerDao
.
updateStatus
(
settlementOwner
);
}
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
浏览文件 @
df667e06
...
...
@@ -6,6 +6,9 @@ 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.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
...
...
@@ -37,12 +40,16 @@ public class SettlementMqServiceImpl implements SettlementMqService {
}
@Override
public
void
settlementStatistics
(
String
childNo
,
Integer
invoiceType
)
{
public
void
settlementStatistics
(
String
childNo
)
{
settlementStatistics
(
childNo
,
SettlementStatisticsMqParam
.
Type
.
STATISTICS
.
getCode
());
}
@Override
public
void
settlementStatistics
(
String
childNo
,
Integer
type
)
{
SettlementStatisticsMqParam
mq
=
new
SettlementStatisticsMqParam
();
mq
.
setChildNo
(
childNo
);
mq
.
setInvoiceType
(
invoiceType
);
log
.
info
(
"运单号 {} 开票标识 {} "
,
childNo
,
invoiceType
);
mq
.
setType
(
type
);
MqDelay
<
MqWrapper
<
SettlementStatisticsMqParam
>>
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_INVOICE_TYPE_SYC_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
...
...
@@ -106,4 +113,40 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
riskProcess
(
Integer
id
)
{
SettlementOrderChildRiskProcessMqParam
mq
=
new
SettlementOrderChildRiskProcessMqParam
();
mq
.
setId
(
id
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_RISK_PROCESS_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
updateInvoiceCompany
(
Integer
id
)
{
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
mq
=
new
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
();
mq
.
setId
(
id
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_COMPANY_UPDATE_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
settlementPlatformAutoConfirmUpdate
(
String
settlementNo
)
{
SettlementPlatformAutoConfirmMqParam
mq
=
new
SettlementPlatformAutoConfirmMqParam
();
mq
.
setSettlementNo
(
settlementNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_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
浏览文件 @
df667e06
...
...
@@ -2,34 +2,100 @@ package com.clx.performance.service.impl.settle;
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.dao.settle.SettlementOrderChildRiskDao
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
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.SettlementOrderChildRiskEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOrderChildRisk
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam
;
import
com.clx.performance.param.pc.owner.settle.OwnerSettlementOrderChildRiskProcessUpdateParam
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.service.settle.SettlementOrderChildRiskService
;
import
com.clx.performance.struct.settle.SettlementOrderChildRiskStruct
;
import
com.clx.performance.utils.excel.ExcelData
;
import
com.clx.performance.utils.excel.ExcelField
;
import
com.clx.performance.utils.excel.ExcelSheet
;
import
com.clx.performance.utils.excel.ExcelUtil
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverDetailVO
;
import
com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO
;
import
lombok.AllArgsConstructor
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.user.data.UserSessionData
;
import
com.msl.user.utils.TokenUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
@Service
@Slf4j
@AllArgsConstructor
public
class
SettlementOrderChildRiskServiceImpl
implements
SettlementOrderChildRiskService
{
private
final
SettlementOrderChildRiskDao
settlementOrderChildRiskDao
;
private
final
SettlementOrderChildRiskStruct
settlementOrderChildRiskStruct
;
@Autowired
private
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
@Autowired
private
SettlementDriverDetailDao
settlementDriverDetailDao
;
@Autowired
private
SettlementOrderChildRiskDao
settlementOrderChildRiskDao
;
@Autowired
private
SettlementOrderChildRiskStruct
settlementOrderChildRiskStruct
;
@Autowired
private
SettlementMqService
settlementMqService
;
@Override
public
void
updateRiskProcess
(
OwnerSettlementOrderChildRiskProcessUpdateParam
param
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
getById
(
param
.
getId
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
settlementOrderChildRisk
.
getStatus
(),
SettlementOrderChildRiskEnum
.
Status
.
PROCESSED
.
getCode
()))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_RISK_PROCESS_ERROR
);
}
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
(
param
.
getProcessMethod
());
settlementOrderChildRisk
.
setProcessBy
(
loginUserInfo
.
getUserName
());
settlementOrderChildRisk
.
setProcessTime
(
LocalDateTime
.
now
());
settlementOrderChildRiskDao
.
updateProcess
(
settlementOrderChildRisk
);
// 转普通单
if
(
Objects
.
equals
(
param
.
getProcessMethod
(),
SettlementOrderChildRiskEnum
.
ProcessMethod
.
CONVERT_ORDINARY
.
getCode
()))
{
settlementOwnerDetail
.
setInvoiceType
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
());
settlementOwnerDetail
.
setInvoicingCompanyId
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
null
);
settlementOwnerDetail
.
setInvoicingCompanyGroupCode
(
null
);
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
SUCCESS
.
getCode
());
settlementOwnerDetailDao
.
updateConvertOrdinary
(
settlementOwnerDetail
);
settlementDriverDetail
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementDriverDetail
.
setInvoicingCompanyId
(
settlementOwnerDetail
.
getInvoicingCompanyId
());
settlementDriverDetail
.
setInvoicingCompanyShorterName
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
settlementDriverDetail
.
setInvoicingCompanyGroupCode
(
settlementOwnerDetail
.
getInvoicingCompanyGroupCode
());
settlementDriverDetailDao
.
updateConvertOrdinary
(
settlementDriverDetail
);
}
else
{
}
// 发送mq (风控处理)
settlementMqService
.
riskProcess
(
settlementOrderChildRisk
.
getId
());
}
@Override
public
IPage
<
SettlementOrderChildRiskVO
>
pageSettlementOrderChildRisk
(
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerDetailServiceImpl.java
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.excel.InvoiceData
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
import
com.clx.performance.listener.excel.InvoiceDataListener
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.carrier.CarrierSettlementOwnerDetailCompanyUpdateParam
;
import
com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.service.settle.SettlementCommonService
;
import
com.clx.performance.service.settle.SettlementOwnerDetailService
;
import
com.clx.performance.service.settle.SettlementPostService
;
import
com.clx.performance.struct.settle.SettlementOwnerDetailStruct
;
import
com.clx.performance.utils.excel.ExcelData
;
import
com.clx.performance.utils.excel.ExcelField
;
...
...
@@ -26,12 +34,13 @@ import com.clx.performance.utils.excel.ExcelSheet;
import
com.clx.performance.utils.excel.ExcelUtil
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPagePendingSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.CountOwnerSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.springframework.stereotype.Service
;
import
com.clx.performance.vo.pc.owner.settle.UploadBatchInvoiceFileResultVO
;
import
com.msl.common.exception.ServiceSystemException
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDateTime
;
...
...
@@ -39,6 +48,17 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
com.msl.common.result.Result
;
import
com.msl.document.api.feign.FileUploadFeign
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* @author liruixin
...
...
@@ -47,14 +67,30 @@ import java.util.Optional;
*/
@Service
@Slf4j
@AllArgsConstructor
public
class
SettlementOwnerDetailServiceImpl
implements
SettlementOwnerDetailService
{
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementOwnerDetailStruct
settlementOwnerDetailStruct
;
private
final
OrderChildDao
orderChildDao
;
private
final
SettlementDriverDetailDao
settlementDriverDetailDao
;
private
final
SettlementCommonService
settlementCommonService
;
@Autowired
private
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
@Autowired
private
SettlementOwnerDetailStruct
settlementOwnerDetailStruct
;
@Autowired
private
OrderChildDao
orderChildDao
;
@Autowired
private
SettlementDriverDetailDao
settlementDriverDetailDao
;
@Autowired
private
SettlementCommonService
settlementCommonService
;
@Autowired
private
SettlementPostService
settlementPostService
;
@Autowired
private
OrderChildBrokerMqService
orderChildBrokerMqService
;
@Autowired
private
FileUploadFeign
fileUploadFeign
;
@Override
public
Integer
saveSettlementDetail
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementDriverDetail
settlementDriverDetail
)
{
...
...
@@ -132,6 +168,23 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
return
settlementOwnerDetail
.
getId
();
}
@Override
public
void
updateInvoiceCompany
(
CarrierSettlementOwnerDetailCompanyUpdateParam
param
)
{
List
<
SettlementOwnerDetail
>
list
=
settlementOwnerDetailDao
.
findListByIdList
(
param
.
getIdList
());
for
(
SettlementOwnerDetail
item
:
list
)
{
if
(
item
.
getInvoicingCompanyId
()
!=
null
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR
);
}
}
settlementOwnerDetailDao
.
updateInvoiceCompany
(
param
.
getIdList
(),
param
.
getCompanyId
(),
param
.
getCompanyShorterName
(),
param
.
getCompanyGroupCode
());
// 更新开票公司
settlementPostService
.
updateInvoiceCompany
(
list
);
}
/**
* 吨数计算
*/
...
...
@@ -176,13 +229,32 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
@Override
public
IPage
<
PageOwnerSettlementOwnerDetailVO
>
pageOwnerSettlementOrderDetailList
(
PageOwnerSettlementOwnerDetailParam
param
)
{
IPage
<
SettlementOwnerDetail
>
settlementOwnerDetail
=
settlementOwnerDetailDao
.
pageOwnerSettlementOrderDetailList
(
param
);
List
<
PageOwnerSettlementOwnerDetailVO
>
list
=
settlementOwnerDetailStruct
.
covertToOwnerList
(
settlementOwnerDetail
.
getRecords
());
return
new
Page
<
PageOwnerSettlementOwnerDetailVO
>().
setRecords
(
list
).
setTotal
(
settlementOwnerDetail
.
getTotal
()).
setPages
(
settlementOwnerDetail
.
getPages
());
}
@Override
public
IPage
<
PageOwnerSettlementOwnerDetailVO
>
pageInvoiceOwnerSettlementOrderDetailList
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
)
{
IPage
<
SettlementOwnerDetail
>
settlementOwnerDetail
=
settlementOwnerDetailDao
.
pageInvoiceOwnerSettlementOrderDetailList
(
param
);
List
<
PageOwnerSettlementOwnerDetailVO
>
list
=
settlementOwnerDetailStruct
.
covertToOwnerList
(
settlementOwnerDetail
.
getRecords
());
return
new
Page
<
PageOwnerSettlementOwnerDetailVO
>().
setRecords
(
list
).
setTotal
(
settlementOwnerDetail
.
getTotal
()).
setPages
(
settlementOwnerDetail
.
getPages
());
}
@Override
public
CountOwnerSettlementOwnerDetailVO
countInvoiceOwnerSettlementOrderDetailList
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
)
{
param
.
setPage
(
1
);
param
.
setPageSize
(
1000000
);
IPage
<
SettlementOwnerDetail
>
page
=
settlementOwnerDetailDao
.
pageInvoiceOwnerSettlementOrderDetailList
(
param
);
CountOwnerSettlementOwnerDetailVO
vo
=
new
CountOwnerSettlementOwnerDetailVO
();
vo
.
setOrderChildSum
(
page
.
getTotal
());
vo
.
setLoadNetSum
(
page
.
getRecords
().
stream
().
map
(
SettlementOwnerDetail:
:
getLoadNet
).
filter
(
Objects:
:
nonNull
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
vo
.
setInvoiceFreightSum
(
page
.
getRecords
().
stream
().
map
(
SettlementOwnerDetail:
:
getInvoiceFreight
).
filter
(
Objects:
:
nonNull
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
return
vo
;
}
@Override
public
SXSSFWorkbook
exportOwnerSettlementOrderDetail
(
PageOwnerSettlementOwnerDetailParam
param
)
{
param
.
setPage
(
1
);
...
...
@@ -515,4 +587,133 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
//创建excel
return
ExcelUtil
.
create
(
excelSheet
);
}
@Override
public
SXSSFWorkbook
exportInvoiceOwnerSettlementOrderDetail
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
)
{
param
.
setPage
(
1
);
param
.
setPageSize
(
1000000
);
IPage
<
PageOwnerSettlementOwnerDetailVO
>
settlementOwnerDetailPage
=
pageInvoiceOwnerSettlementOrderDetailList
(
param
);
List
<
PageOwnerSettlementOwnerDetailVO
>
list
=
settlementOwnerDetailPage
.
getRecords
();
// 组装表头
List
<
ExcelField
>
fieldList
=
new
ArrayList
<>();
fieldList
.
add
(
new
ExcelField
(
0
,
"运单编号"
,
"childNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
1
,
"货主名称"
,
"ownerName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
,
"结算方式"
,
"settlementWayMsg"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
3
,
"开票公司"
,
"invoicingCompanyShorterName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
4
,
"开票标识"
,
"invoiceTypeMsg"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
5
,
"货物名称"
,
"goodsName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
6
,
"装车净重(吨)"
,
"loadNet"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
7
,
"卸车净重(吨)"
,
"unloadNet"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
8
,
"实际净重(吨)"
,
"weight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
9
,
"平台运费报价"
,
"freightPrice"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
10
,
"应付运费"
,
"freight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
11
,
"货损吨数"
,
"lossWeight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
12
,
"货损单价"
,
"lossPrice"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
13
,
"货损金额"
,
"lossFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
14
,
"管理费率(%)"
,
"invoiceServiceFeeRate"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
15
,
"管理费"
,
"invoiceServiceFee"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
16
,
"预付运费金额"
,
"prepayFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"借款抵扣金额"
,
"loanFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
18
,
"结算金额"
,
"settlementFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
19
,
"开票金额"
,
"invoiceFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
20
,
"订单编号"
,
"orderNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
21
,
"结算单号"
,
"settlementNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
22
,
"结算子单号"
,
"settlementSubNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
23
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
24
,
"是否已付尾款"
,
"finalPaymentStatusMsg"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
25
,
"是否已开票"
,
"invoiceStatusMsg"
,
5000
));
if
(
param
.
getInvoiceStatus
().
equals
(
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
()))
{
fieldList
.
add
(
new
ExcelField
(
26
,
"备注"
,
"separateRemark"
,
5000
));
}
else
{
fieldList
.
add
(
new
ExcelField
(
26
,
"开票时间"
,
"invoiceTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
27
,
"备注"
,
"separateRemark"
,
5000
));
}
// 组装数据
List
<
List
<
ExcelData
>>
dataList
=
new
ArrayList
<>();
for
(
PageOwnerSettlementOwnerDetailVO
vo
:
list
)
{
List
<
ExcelData
>
rowData
=
new
ArrayList
<>();
rowData
.
add
(
new
ExcelData
(
vo
.
getChildNo
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getOwnerName
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getSettlementWayMsg
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getInvoicingCompanyShorterName
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getInvoiceTypeMsg
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getGoodsName
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getLoadNet
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getUnloadNet
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getWeight
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getFreightPrice
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getFreight
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getLossWeight
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getLossPrice
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getLossFreight
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getInvoiceServiceFeeRate
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getInvoiceServiceFee
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getPrepayFreight
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getLoanFreight
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getSettlementFreight
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getInvoiceFreight
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getOrderNo
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getSettlementNo
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getSettlementSubNo
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getCreateTime
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getFinalPaymentStatusMsg
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getInvoiceStatusMsg
()));
if
(
param
.
getInvoiceStatus
().
equals
(
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
()))
{
rowData
.
add
(
new
ExcelData
(
vo
.
getSeparateRemark
()));
}
else
{
rowData
.
add
(
new
ExcelData
(
vo
.
getInvoiceTime
()));
rowData
.
add
(
new
ExcelData
(
vo
.
getSeparateRemark
()));
}
dataList
.
add
(
rowData
);
}
String
name
=
"已开票列表"
;
if
(
param
.
getInvoiceStatus
().
equals
(
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
()))
{
name
=
"待开票列表"
;;
}
ExcelSheet
excelSheet
=
new
ExcelSheet
(
name
,
name
,
fieldList
,
dataList
);
//创建excel
return
ExcelUtil
.
create
(
excelSheet
);
}
@Override
public
UploadBatchInvoiceFileResultVO
uploadBatchInvoiceFile
(
MultipartFile
file
)
throws
IOException
{
List
<
InvoiceData
>
invoiceDataList
=
new
ArrayList
<>();
// 解析上传的Excel文件
EasyExcel
.
read
(
file
.
getInputStream
(),
InvoiceData
.
class
,
new
InvoiceDataListener
(
invoiceDataList
,
settlementOwnerDetailDao
)).
sheet
().
doRead
();
boolean
verifyResult
=
invoiceDataList
.
stream
().
allMatch
(
item
->
"校验通过"
.
equals
(
item
.
getRemark
()));
Result
<
String
>
uploadResult
=
null
;
if
(!
verifyResult
)
{
// 将校验后的数据写入新的Excel文件
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
EasyExcel
.
write
(
outputStream
,
InvoiceData
.
class
).
sheet
(
"校验结果"
).
doWrite
(
invoiceDataList
);
// 将文件上传到OSS
uploadResult
=
fileUploadFeign
.
uploadBytes
(
outputStream
.
toByteArray
(),
null
,
null
);
}
UploadBatchInvoiceFileResultVO
vo
=
new
UploadBatchInvoiceFileResultVO
();
vo
.
setVerifyResult
(
verifyResult
);
vo
.
setErrorFileUrl
(
uploadResult
==
null
?
null
:
uploadResult
.
getData
());
vo
.
setOrderChildSum
(
invoiceDataList
.
size
());
vo
.
setLoadWeightSum
(
invoiceDataList
.
stream
().
map
(
InvoiceData:
:
getLoadNet
).
filter
(
Objects:
:
nonNull
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
vo
.
setInvoiceFreightSum
(
invoiceDataList
.
stream
().
map
(
InvoiceData:
:
getInvoiceFreight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
vo
.
setChildNoList
(
invoiceDataList
.
stream
().
map
(
InvoiceData:
:
getChildNo
).
collect
(
Collectors
.
toList
()));
return
vo
;
}
@Override
public
void
confirmBatchInvoice
(
List
<
String
>
childNoList
)
{
settlementOwnerDetailDao
.
updateSettlementByChildNoList
(
childNoList
);
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
childNoList
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerExportServiceImpl.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
import
com.clx.performance.service.settle.SettlementOwnerExportService
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.utils.excel.ExcelData
;
import
com.clx.performance.utils.excel.ExcelField
;
import
com.clx.performance.utils.excel.ExcelSheet
;
import
com.clx.performance.utils.excel.ExcelUtil
;
import
com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.List
;
@Slf4j
@Service
public
class
SettlementOwnerExportServiceImpl
implements
SettlementOwnerExportService
{
@Autowired
private
SettlementOwnerService
settlementOwnerService
;
@Override
public
void
exportSettlementOwner
(
PageOwnerSettlementParam
param
)
{
param
.
setPage
(
1
);
param
.
setPageSize
(
1000000
);
List
<
OwnerPageSettlementOwnerVO
>
list
=
settlementOwnerService
.
pageSettlementOwner
(
param
).
getRecords
();
// 组装表头
List
<
ExcelField
>
fieldList
=
new
ArrayList
<>();
fieldList
.
add
(
new
ExcelField
(
0
,
"序号"
,
"index"
,
2000
));
fieldList
.
add
(
new
ExcelField
(
1
,
"结算单号"
,
"settlementNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
,
"订单编号"
,
"orderNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
3
,
"开票标识"
,
"invoiceType"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
4
,
"货主编码"
,
"ownerUserNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
5
,
"结算方式"
,
"settlementWay"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
6
,
"装车净重"
,
"loadNet"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
7
,
"卸车净重"
,
"unloadNet"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
8
,
"实际净重(吨)"
,
"weight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
9
,
"应付运费"
,
"freight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
10
,
"预付运费金额"
,
"prepayFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
11
,
"货损吨数"
,
"lossWeight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
12
,
"管理费"
,
"invoiceServiceFee"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
13
,
"借款抵扣金额"
,
"loanFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
14
,
"结算金额"
,
"settlementFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
15
,
"开票金额"
,
"invoiceFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
16
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"状态"
,
"status"
,
5000
));
// 组装数据
List
<
List
<
ExcelData
>>
dataList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
OwnerPageSettlementOwnerVO
dto
=
list
.
get
(
i
);
List
<
ExcelData
>
rowData
=
new
ArrayList
<>();
rowData
.
add
(
new
ExcelData
(
i
+
1
));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getOrderNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceTypeMsg
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getOwnerUserNo
().
toString
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementWayMsg
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getLoadNet
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getUnloadNet
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getWeight
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getPrepayFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLossWeight
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceServiceFee
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLoanFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getCreateTime
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getStatusMsg
()));
dataList
.
add
(
rowData
);
}
ExcelSheet
excelSheet
=
new
ExcelSheet
(
"货主结算单"
,
"货主结算单"
,
fieldList
,
dataList
);
// 导出
ExcelUtil
.
export
(
excelSheet
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerServiceImpl.java
浏览文件 @
df667e06
...
...
@@ -60,6 +60,7 @@ import java.time.LocalDateTime;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
/**
* @author liruixin
...
...
@@ -128,6 +129,13 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
SETTLEMENT_ORDER_STATUS_CHANGED
);
}
List
<
SettlementOwnerDetail
>
settlementOwnerDetails
=
settlementOwnerDetailDao
.
getBySettlementNo
(
settlementOwner
.
getSettlementNo
());
Optional
<
SettlementOwnerDetail
>
optional
=
settlementOwnerDetails
.
stream
().
filter
(
item
->
item
.
getInvoicingCompanyId
()
==
null
).
findFirst
();
if
(
optional
.
isPresent
()){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
SETTLEMENT_OWNER_CONFIRM_SETTLEMENT_ERROR
,
"运单"
+
optional
.
get
().
getChildNo
()+
"需重新分配开票公司,请联系结算人员处理"
);
}
String
settlementNo
=
settlementOwner
.
getSettlementNo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
//保存结算单日志----货主确认结算单
...
...
@@ -171,6 +179,56 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
settlementOwnerDao
.
updateStatusBySettlementNo
(
settlementNo
,
status
);
}
@Override
public
void
updateConfirmAccount
(
Integer
id
)
{
//结算单详情
SettlementOwner
settlementOwner
=
settlementOwnerDao
.
getEntityByKey
(
id
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
//状态判断
if
(!
Objects
.
equals
(
settlementOwner
.
getStatus
(),
SettlementOwnerEnum
.
Status
.
TO_BE_ACCOUNT
.
getCode
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
SETTLEMENT_ORDER_STATUS_CHANGED
);
}
String
settlementNo
=
settlementOwner
.
getSettlementNo
();
if
(
Objects
.
equals
(
settlementOwner
.
getInvoiceType
(),
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
()))
{
settlementOwner
.
setStatus
(
SettlementOwnerEnum
.
Status
.
OWNER_TO_BE_CONFIRMED
.
getCode
());
}
else
{
settlementOwner
.
setStatus
(
SettlementOwnerEnum
.
Status
.
PLATFORM_TO_BE_CONFIRMED
.
getCode
());
}
settlementOwnerDao
.
updateStatus
(
settlementOwner
);
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
//保存结算单日志----
settlementLogService
.
saveSettlementLog
(
settlementNo
,
SettlementLogEnum
.
Type
.
PLATFORM_CONFIRM_ACCOUNT
.
getCode
(),
SettlementLogEnum
.
Type
.
PLATFORM_CONFIRM_ACCOUNT
.
getMsg
(),
OrderChildLogEnum
.
CreateType
.
PLATFORM
.
getCode
(),
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
());
}
@Override
public
void
updateCarrierConfirmSettlement
(
Integer
id
)
{
//结算单详情
SettlementOwner
settlementOwner
=
settlementOwnerDao
.
getEntityByKey
(
id
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
//状态判断
if
(!
Objects
.
equals
(
settlementOwner
.
getStatus
(),
SettlementOwnerEnum
.
Status
.
PLATFORM_TO_BE_CONFIRMED
.
getCode
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
SETTLEMENT_ORDER_STATUS_CHANGED
);
}
String
settlementNo
=
settlementOwner
.
getSettlementNo
();
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
//保存结算单日志----平台确认结算单
settlementLogService
.
saveSettlementLog
(
settlementNo
,
SettlementLogEnum
.
Type
.
PLATFORM_TO_BE_CONFIRMED
.
getCode
(),
SettlementLogEnum
.
Type
.
PLATFORM_TO_BE_CONFIRMED
.
getMsg
(),
OrderChildLogEnum
.
CreateType
.
PLATFORM
.
getCode
(),
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
());
int
status
=
SettlementOwnerEnum
.
Status
.
OWNER_TO_BE_CONFIRMED
.
getCode
();
//更新状态
settlementOwnerDao
.
updateStatusBySettlementNo
(
settlementNo
,
status
);
}
@Override
public
SettlementPlatformAccountVO
getSettlementPlatformAccount
()
{
//平台账号
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementPostServiceImpl.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.service.settle.SettlementPostService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Slf4j
@Service
public
class
SettlementPostServiceImpl
implements
SettlementPostService
{
@Autowired
private
SettlementMqService
settlementMqService
;
@Override
public
void
updateInvoiceCompany
(
List
<
SettlementOwnerDetail
>
list
){
for
(
SettlementOwnerDetail
item
:
list
)
{
// 发送mq (开票公司更新)
settlementMqService
.
updateInvoiceCompany
(
item
.
getId
());
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementServiceImpl.java
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.order.enums.InvoicingCompanyEnum
;
import
com.clx.order.vo.pc.carrier.InvoicingCompanyVO
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.config.SettlementConfig
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OwnerAccountDao
;
...
...
@@ -14,25 +10,20 @@ import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.IdTypeEnum
;
import
com.clx.performance.enums.OwnerAccountEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
import
com.clx.performance.event.OwnerLoanThawEvent
;
import
com.clx.performance.extranal.order.InvoicingCompanyService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OwnerAccount
;
import
com.clx.performance.model.OwnerRunningWaterRecord
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.service.settle.SettlementCommonService
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.service.settle.SettlementService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationEventPublisher
;
...
...
@@ -40,7 +31,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Objects
;
@Slf4j
...
...
@@ -74,79 +64,81 @@ public class SettlementServiceImpl implements SettlementService {
private
SettlementConfig
settlementConfig
;
@Autowired
private
SettlementCommonService
settlementCommonService
;
@Autowired
private
OrderChildBrokerMqService
orderChildBrokerMqService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateSettlementDetailInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
log
.
info
(
"开始 更新网络标识 {} , {}"
,
orderChild
.
getChildNo
()
,
settlementDriverDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
));
if
(
settlementDriverDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
());
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
}
else
{
// 发mq (同步网络货运)
Message
message
=
MessageBuilder
.
withBody
(
JSONUtil
.
parse
(
orderChild
).
toString
().
getBytes
()).
build
();
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_CHILD_SYNC_TRANSPORT_EXCHANGE
,
RabbitKeyConstants
.
ORDER_CHILD_SYNC_TRANSPORT_ROUTE_KEY
,
message
);
return
;
}
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
invoiceType
))
{
if
(
settlementOwnerDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO_REQUIRE
.
getCode
());
}
// 设置开票公司信息
// 如果开票标识为“普通单”时,开票公司“五寨华祥”
InvoicingCompanyVO
invoiceCompany
=
invoicingCompanyService
.
getInvoicingCompanyByGroupCode
(
settlementConfig
.
getOrdinaryInvoiceCompanyGroupCode
());
settlementOwnerDetail
.
setInvoicingCompanyId
(
invoiceCompany
.
getId
());
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
invoiceCompany
.
getCompanyShorterName
());
settlementOwnerDetail
.
setInvoicingCompanyGroupCode
(
invoiceCompany
.
getCompanyGroupCode
());
settlementOwnerDetail
.
setInvoiceServiceFeeRate
(
BigDecimal
.
ZERO
);
if
(
Objects
.
equals
(
invoiceCompany
.
getQuotationType
(),
InvoicingCompanyEnum
.
TaxType
.
TAX_EXCLUDED
.
getCode
()))
{
settlementOwnerDetail
.
setInvoiceServiceFeeRate
(
invoiceCompany
.
getServiceFeeRate
()
==
null
?
BigDecimal
.
ZERO
:
invoiceCompany
.
getServiceFeeRate
());
}
settlementDriverDetail
.
setInvoicingCompanyId
(
invoiceCompany
.
getId
());
settlementDriverDetail
.
setInvoicingCompanyShorterName
(
invoiceCompany
.
getCompanyShorterName
());
settlementDriverDetail
.
setInvoicingCompanyGroupCode
(
invoiceCompany
.
getCompanyGroupCode
());
}
else
{
if
(
settlementDriverDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO_REQUIRE
.
getCode
());
}
}
settlementOwnerDetail
.
setInvoiceType
(
invoiceType
);
settlementDriverDetail
.
setInvoiceType
(
invoiceType
);
// 开票服务费
settlementOwnerDetail
.
setInvoiceServiceFee
(
settlementCommonService
.
invoiceServiceFeeCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
// 开票金额
settlementOwnerDetail
.
setInvoiceFreight
(
settlementCommonService
.
invoiceFreightCalc
(
orderChild
.
getSettlementWay
(),
orderGoods
.
getInvoiceServiceFeeRate
(),
settlementOwnerDetail
));
// 结算金额
settlementOwnerDetail
.
setSettlementFreight
(
settlementCommonService
.
settlementFreightCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
log
.
info
(
"当前货主结算信息{},车主结算信息:{}"
,
JSONUtil
.
parse
(
settlementOwnerDetail
),
JSONUtil
.
parse
(
settlementDriverDetail
));
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceTypeAndPrepayFreightFlag
(
settlementDriverDetail
);
//普通单解冻
applicationEventPublisher
.
publishEvent
(
new
OwnerLoanThawEvent
(
this
,
childNo
));
// 发送mq 结算统计
settlementMqService
.
settlementStatistics
(
childNo
,
invoiceType
);
//
OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
//
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//
//
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//
log.info("开始 更新网络标识 {} , {}",orderChild.getChildNo() ,settlementDriverDetail.getSettlementFreight().compareTo(BigDecimal.ZERO));
//
if (settlementDriverDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) <= 0) {
//
settlementDriverDetail.setPrepayFreightFlag(SettlementDriverEnum.PrepayFreightFlag.NO_PAY.getCode());
//
settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
//
} else {
//
//
// 发mq (同步网络货运)
//
Message message = MessageBuilder.withBody(JSONUtil.parse(orderChild).toString().getBytes()).build();
//
rabbitTemplate.send(
//
RabbitKeyConstants.ORDER_CHILD_SYNC_TRANSPORT_EXCHANGE, RabbitKeyConstants.ORDER_CHILD_SYNC_TRANSPORT_ROUTE_KEY, message
//
);
//
return;
//
}
//
//
if (SettlementOwnerEnum.InvoiceType.ORDINARY.getCode().equals(invoiceType)) {
//
if (settlementOwnerDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0) {
//
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
//
}
//
//
// 设置开票公司信息
//
// 如果开票标识为“普通单”时,开票公司“五寨华祥”
//
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompanyByGroupCode(
//
settlementConfig.getOrdinaryInvoiceCompanyGroupCode());
//
settlementOwnerDetail.setInvoicingCompanyId(invoiceCompany.getId());
//
settlementOwnerDetail.setInvoicingCompanyShorterName(invoiceCompany.getCompanyShorterName());
//
settlementOwnerDetail.setInvoicingCompanyGroupCode(invoiceCompany.getCompanyGroupCode());
//
//
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
//
if (Objects.equals(invoiceCompany.getQuotationType(), InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
//
settlementOwnerDetail.setInvoiceServiceFeeRate(
//
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
//
}
//
//
settlementDriverDetail.setInvoicingCompanyId(invoiceCompany.getId());
//
settlementDriverDetail.setInvoicingCompanyShorterName(invoiceCompany.getCompanyShorterName());
//
settlementDriverDetail.setInvoicingCompanyGroupCode(invoiceCompany.getCompanyGroupCode());
//
} else {
//
if (settlementDriverDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0) {
//
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
//
}
//
//
}
//
settlementOwnerDetail.setInvoiceType(invoiceType);
//
settlementDriverDetail.setInvoiceType(invoiceType);
//
//
// 开票服务费
//
settlementOwnerDetail.setInvoiceServiceFee(
//
settlementCommonService.invoiceServiceFeeCalc(orderChild.getSettlementWay(), settlementOwnerDetail));
//
// 开票金额
//
settlementOwnerDetail.setInvoiceFreight(
//
settlementCommonService.invoiceFreightCalc(orderChild.getSettlementWay(),
//
orderGoods.getInvoiceServiceFeeRate(), settlementOwnerDetail));
//
//
// 结算金额
//
settlementOwnerDetail.setSettlementFreight(settlementCommonService.settlementFreightCalc(orderChild.getSettlementWay(), settlementOwnerDetail));
//
//
log.info("当前货主结算信息{},车主结算信息:{}", JSONUtil.parse(settlementOwnerDetail), JSONUtil.parse(settlementDriverDetail));
//
settlementOwnerDetailDao.updateInvoiceType(settlementOwnerDetail);
//
settlementDriverDetailDao.updateInvoiceTypeAndPrepayFreightFlag(settlementDriverDetail);
//
//
//普通单解冻
//
applicationEventPublisher.publishEvent(new OwnerLoanThawEvent(this, childNo));
//
// 发送mq 结算统计
//
settlementMqService.settlementStatistics(childNo, invoiceType);
}
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqHandlerService.java
浏览文件 @
df667e06
...
...
@@ -2,6 +2,9 @@ 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.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
public
interface
SettlementMqHandlerService
{
...
...
@@ -23,4 +26,10 @@ public interface SettlementMqHandlerService {
String
settlementNoGenerate
();
void
riskProcess
(
SettlementOrderChildRiskProcessMqParam
mq
);
void
invoiceCompanyUpdate
(
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
mq
);
void
settlementPlatformAutoConfirm
(
SettlementPlatformAutoConfirmMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqService.java
浏览文件 @
df667e06
...
...
@@ -4,7 +4,8 @@ public interface SettlementMqService {
void
settlementDetailAdd
(
Integer
settlementOwnerDetailId
,
Integer
settlementDriverDetailId
);
void
settlementStatistics
(
String
childNo
,
Integer
invoiceType
);
void
settlementStatistics
(
String
childNo
);
void
settlementStatistics
(
String
childNo
,
Integer
type
);
void
invoiceTypeSync
(
String
childNo
);
...
...
@@ -13,4 +14,11 @@ public interface SettlementMqService {
void
invoiceStatusSync
(
String
childNo
);
void
payStatusSync
(
String
childNo
);
void
riskProcess
(
Integer
id
);
void
updateInvoiceCompany
(
Integer
id
);
void
settlementPlatformAutoConfirmUpdate
(
String
settlementNo
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOrderChildRiskService.java
浏览文件 @
df667e06
...
...
@@ -2,11 +2,14 @@ package com.clx.performance.service.settle;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam
;
import
com.clx.performance.param.pc.owner.settle.OwnerSettlementOrderChildRiskProcessUpdateParam
;
import
com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
public
interface
SettlementOrderChildRiskService
{
void
updateRiskProcess
(
OwnerSettlementOrderChildRiskProcessUpdateParam
param
);
IPage
<
SettlementOrderChildRiskVO
>
pageSettlementOrderChildRisk
(
PageSettlementOrderChildRiskParam
param
);
SXSSFWorkbook
exportSettlementOrderChildRisk
(
PageSettlementOrderChildRiskParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerDetailService.java
浏览文件 @
df667e06
...
...
@@ -5,14 +5,22 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.param.pc.carrier.CarrierSettlementOwnerDetailCompanyUpdateParam
;
import
com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPagePendingSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.CountOwnerSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.UploadBatchInvoiceFileResultVO
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.util.List
;
/**
* @author liruixin
...
...
@@ -23,8 +31,14 @@ public interface SettlementOwnerDetailService {
Integer
saveSettlementDetail
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementDriverDetail
settlementDriverDetail
);
void
updateInvoiceCompany
(
CarrierSettlementOwnerDetailCompanyUpdateParam
param
);
IPage
<
PageOwnerSettlementOwnerDetailVO
>
pageOwnerSettlementOrderDetailList
(
PageOwnerSettlementOwnerDetailParam
param
);
IPage
<
PageOwnerSettlementOwnerDetailVO
>
pageInvoiceOwnerSettlementOrderDetailList
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
);
CountOwnerSettlementOwnerDetailVO
countInvoiceOwnerSettlementOrderDetailList
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
);
IPage
<
CarrierPageSettlementOwnerDetailVO
>
pageSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
);
SXSSFWorkbook
exportOwnerSettlementOrderDetail
(
PageOwnerSettlementOwnerDetailParam
param
);
...
...
@@ -39,5 +53,9 @@ public interface SettlementOwnerDetailService {
SXSSFWorkbook
exportBatchSettlementOwnerDetail
(
ExportBatchOwnerSettlementDetailParam
param
);
SXSSFWorkbook
exportInvoiceOwnerSettlementOrderDetail
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
);
UploadBatchInvoiceFileResultVO
uploadBatchInvoiceFile
(
MultipartFile
file
)
throws
IOException
;
void
confirmBatchInvoice
(
List
<
String
>
childNoList
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerExportService.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
settle
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
public
interface
SettlementOwnerExportService
{
void
exportSettlementOwner
(
PageOwnerSettlementParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerService.java
浏览文件 @
df667e06
...
...
@@ -18,6 +18,8 @@ public interface SettlementOwnerService {
CarrierSettlementOwnerDetailVO
getCarrierSettlementOwnerDetail
(
Integer
id
);
void
updateConfirmSettlement
(
Integer
id
);
void
updateConfirmAccount
(
Integer
id
);
void
updateCarrierConfirmSettlement
(
Integer
id
);
SettlementPlatformAccountVO
getSettlementPlatformAccount
();
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementPostService.java
0 → 100644
浏览文件 @
df667e06
package
com
.
clx
.
performance
.
service
.
settle
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
java.util.List
;
public
interface
SettlementPostService
{
void
updateInvoiceCompany
(
List
<
SettlementOwnerDetail
>
list
);
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderChildSqlProvider.java
浏览文件 @
df667e06
...
...
@@ -115,10 +115,19 @@ public class OrderChildSqlProvider {
"freight_price,send_address,receive_address,load_rough,load_tare,unload_rough,unload_tare,"
+
"driver_name,driver_mobile,load_net,unload_net,"
+
"date_format(pay_time, '%Y-%m-%d %H:%i:%s') as payTime,"
+
"date_format(finish_time, '%Y-%m-%d %H:%i:%s') as finishTime"
);
"date_format(finish_time, '%Y-%m-%d %H:%i:%s') as finishTime,"
+
"date_format(pound_audit_time, '%Y-%m-%d %H:%i:%s') as poundAuditTime"
);
FROM
(
"order_child "
);
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"pay_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"pay_time <= #{param.endTime}"
);}
if
(
Objects
.
equals
(
param
.
getTimeType
(),
1
))
{
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"pay_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"pay_time <= #{param.endTime}"
);}
}
else
if
(
Objects
.
equals
(
param
.
getTimeType
(),
2
))
{
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"pound_audit_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"pound_audit_time <= #{param.endTime}"
);}
}
else
if
(
Objects
.
equals
(
param
.
getTimeType
(),
3
))
{
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"finish_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"finish_time <= #{param.endTime}"
);}
}
if
(
StringUtils
.
isNotBlank
(
param
.
getOrderGoodsNo
()))
{
WHERE
(
"order_goods_no = #{param.orderGoodsNo}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getChildNo
()))
{
WHERE
(
"child_no = #{param.childNo}"
);}
...
...
performance-web/src/main/java/com/clx/performance/struct/settle/SettlementOwnerDetailStruct.java
浏览文件 @
df667e06
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.struct.settle;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPagePendingSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO
;
...
...
@@ -15,7 +16,7 @@ import org.mapstruct.Named;
import
java.util.List
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
DateStructUtil
.
class
,
imports
=
{
SettlementOwnerDetailEnum
.
class
,
SettlementOwnerEnum
.
class
,
DateUtils
.
class
})
@Mapper
(
componentModel
=
"spring"
,
uses
=
DateStructUtil
.
class
,
imports
=
{
SettlementOwnerDetailEnum
.
class
,
SettlementOwnerEnum
.
class
,
SettlementWayEnum
.
class
,
DateUtils
.
class
})
public
interface
SettlementOwnerDetailStruct
{
...
...
@@ -27,6 +28,7 @@ public interface SettlementOwnerDetailStruct {
@Mapping
(
target
=
"invoiceTypeMsg"
,
expression
=
"java(SettlementOwnerEnum.InvoiceType.getMsgByCode(settlementOwner.getInvoiceType()))"
)
@Mapping
(
target
=
"finalPaymentStatusMsg"
,
expression
=
"java(SettlementOwnerDetailEnum.FinalPaymentStatus.getMsgByCode(settlementOwner.getFinalPaymentStatus()))"
)
@Mapping
(
target
=
"invoiceStatusMsg"
,
expression
=
"java(SettlementOwnerDetailEnum.InvoiceStatus.getMsgByCode(settlementOwner.getInvoiceStatus()))"
)
@Mapping
(
target
=
"settlementWayMsg"
,
expression
=
"java(SettlementWayEnum.WayType.getMsgByCode(settlementOwner.getSettlementWay()))"
)
PageOwnerSettlementOwnerDetailVO
convert
(
SettlementOwnerDetail
settlementOwner
);
@IterableMapping
(
qualifiedByName
=
"toBaseVo"
)
...
...
performance-web/src/main/java/com/clx/performance/utils/excel/ExcelData.java
浏览文件 @
df667e06
...
...
@@ -69,6 +69,19 @@ public class ExcelData {
this
.
dataType
=
DataType
.
STRING
.
value
;
}
}
public
ExcelData
(
Long
value
)
{
this
(
value
,
null
);
}
public
ExcelData
(
Long
value
,
String
defaultValue
)
{
if
(
null
!=
value
)
{
this
.
doubleValue
=
value
;
this
.
dataType
=
DataType
.
NUMERIC
.
value
;
}
else
{
this
.
value
=
defaultValue
;
this
.
dataType
=
DataType
.
STRING
.
value
;
}
}
public
ExcelData
(
BigDecimal
value
)
{
this
(
value
,
null
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论