Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
2f318d97
提交
2f318d97
authored
8月 16, 2024
作者:
李瑞鑫
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v20.9_settlement_20240805' into dev
上级
61fe6a5c
fc57a317
隐藏空白字符变更
内嵌
并排
正在显示
27 个修改的文件
包含
470 行增加
和
52 行删除
+470
-52
SettlementInvoiceStatusUpdateMqParam.java
...ce/vo/mq/settle/SettlementInvoiceStatusUpdateMqParam.java
+16
-0
OpenOrderChildDTO.java
...a/com/clx/performance/vo/pc/broker/OpenOrderChildDTO.java
+3
-0
RabbitSettlementConfig.java
...va/com/clx/performance/config/RabbitSettlementConfig.java
+13
-0
RabbitKeySettlementConstants.java
...lx/performance/constant/RabbitKeySettlementConstants.java
+6
-0
CarrierSettlementOwnerDetailController.java
...er/pc/carrier/CarrierSettlementOwnerDetailController.java
+8
-1
SettlementOrderChildRiskDaoImpl.java
...ance/dao/impl/settle/SettlementOrderChildRiskDaoImpl.java
+1
-0
SettlementOwnerDaoImpl.java
...x/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
+7
-0
SettlementOwnerDetailDaoImpl.java
...ormance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
+17
-1
SettlementOwnerDao.java
...va/com/clx/performance/dao/settle/SettlementOwnerDao.java
+2
-0
SettlementOwnerDetailDao.java
.../clx/performance/dao/settle/SettlementOwnerDetailDao.java
+3
-0
OrderChildSyncTransportListener.java
...performance/listener/OrderChildSyncTransportListener.java
+3
-0
SettlementInvoiceStatusUpdateListener.java
...istener/settle/SettlementInvoiceStatusUpdateListener.java
+44
-0
OrderChildBrokerService.java
...x/performance/service/broker/OrderChildBrokerService.java
+2
-1
OrderChildBrokerMqHandlerServiceImpl.java
...ice/impl/broker/OrderChildBrokerMqHandlerServiceImpl.java
+8
-1
OrderChildBrokerServiceImpl.java
...ance/service/impl/broker/OrderChildBrokerServiceImpl.java
+11
-4
OrderChildSyncTransportRecordServiceImpl.java
...impl/settle/OrderChildSyncTransportRecordServiceImpl.java
+5
-5
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+120
-6
SettlementMqServiceImpl.java
...formance/service/impl/settle/SettlementMqServiceImpl.java
+13
-0
SettlementOrderChildRiskServiceImpl.java
...vice/impl/settle/SettlementOrderChildRiskServiceImpl.java
+12
-0
SettlementOwnerDetailServiceImpl.java
...service/impl/settle/SettlementOwnerDetailServiceImpl.java
+103
-15
SettlementOwnerExportServiceImpl.java
...service/impl/settle/SettlementOwnerExportServiceImpl.java
+11
-7
SettlementOwnerServiceImpl.java
...mance/service/impl/settle/SettlementOwnerServiceImpl.java
+13
-11
SettlementPostServiceImpl.java
...rmance/service/impl/settle/SettlementPostServiceImpl.java
+34
-0
SettlementMqHandlerService.java
...erformance/service/settle/SettlementMqHandlerService.java
+3
-0
SettlementMqService.java
...m/clx/performance/service/settle/SettlementMqService.java
+2
-0
SettlementOwnerDetailService.java
...formance/service/settle/SettlementOwnerDetailService.java
+2
-0
SettlementPostService.java
...clx/performance/service/settle/SettlementPostService.java
+8
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementInvoiceStatusUpdateMqParam.java
0 → 100644
浏览文件 @
2f318d97
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
SettlementInvoiceStatusUpdateMqParam
{
private
String
settlementNo
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/broker/OpenOrderChildDTO.java
浏览文件 @
2f318d97
...
...
@@ -73,4 +73,7 @@ public class OpenOrderChildDTO {
@ApiModelProperty
(
value
=
"开票状态 0 未开票 1 已开票 "
,
example
=
"1"
)
private
Integer
invoiceStatus
;
@ApiModelProperty
(
value
=
"结算状态 1 已结算 "
,
example
=
"1234124"
,
dataType
=
"String"
)
private
Integer
settleStatus
;
}
performance-web/src/main/java/com/clx/performance/config/RabbitSettlementConfig.java
浏览文件 @
2f318d97
...
...
@@ -162,4 +162,17 @@ public class RabbitSettlementConfig {
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_ROUTING_KEY
);
}
/**
* 结算单开票状态更新
*/
@Bean
public
Queue
settlementInvoiceStatusUpdateQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_STATUS_UPDATE_QUEUE
);
}
@Bean
public
Binding
settlementInvoiceStatusUpdateQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementInvoiceStatusUpdateQueue
()).
to
(
settlementDefaultExchange
())
.
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_STATUS_UPDATE_ROUTING_KEY
);
}
}
performance-web/src/main/java/com/clx/performance/constant/RabbitKeySettlementConstants.java
浏览文件 @
2f318d97
...
...
@@ -86,4 +86,10 @@ public class RabbitKeySettlementConstants {
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
;
/**
* 结算单开票状态更新
*/
public
static
final
String
SETTLEMENT_INVOICE_STATUS_UPDATE_QUEUE
=
PREFIX
+
"settlementInvoice.update"
+
QUEUE
;
public
static
final
String
SETTLEMENT_INVOICE_STATUS_UPDATE_ROUTING_KEY
=
PREFIX
+
"settlementInvoice.update"
+
QUEUE_ROUTING_KEY
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/carrier/CarrierSettlementOwnerDetailController.java
浏览文件 @
2f318d97
...
...
@@ -40,7 +40,6 @@ public class CarrierSettlementOwnerDetailController {
private
final
SettlementOwnerDetailService
settlementOwnerDetailService
;
@ApiOperation
(
value
=
"运单计费列表(货主)"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/pageSettlementOwnerDetail"
)
@UnitCovert
(
param
=
false
)
...
...
@@ -119,6 +118,14 @@ public class CarrierSettlementOwnerDetailController {
}
}
@ApiOperation
(
value
=
"导出货主运单计费"
,
notes
=
"<br>By:杨启发"
)
@PostMapping
(
"/exportSettlementOwnerDetail"
)
public
void
exportSettlementOwnerDetail
(
@RequestBody
@Validated
PageCarrierSettlementOwnerDetailParam
param
,
HttpServletResponse
response
)
throws
Exception
{
try
(
SXSSFWorkbook
workbook
=
settlementOwnerDetailService
.
exportSettlementOwnerDetail
(
param
))
{
response
.
setHeader
(
HttpHeaders
.
CONTENT_TYPE
,
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
);
workbook
.
write
(
response
.
getOutputStream
());
}
}
@ApiOperation
(
value
=
"批量下载结算运单明细"
,
notes
=
"<br>By:liruixin"
)
@PostMapping
(
"/exportBatchSettlementOwnerDetail"
)
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOrderChildRiskDaoImpl.java
浏览文件 @
2f318d97
...
...
@@ -24,6 +24,7 @@ public class SettlementOrderChildRiskDaoImpl
public
boolean
updateProcess
(
SettlementOrderChildRisk
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOrderChildRisk:
:
getId
,
item
.
getId
())
.
set
(
SettlementOrderChildRisk:
:
getInvoiceType
,
item
.
getInvoiceType
())
.
set
(
SettlementOrderChildRisk:
:
getStatus
,
item
.
getStatus
())
.
set
(
SettlementOrderChildRisk:
:
getProcessMethod
,
item
.
getProcessMethod
())
.
set
(
SettlementOrderChildRisk:
:
getProcessBy
,
item
.
getProcessBy
())
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
浏览文件 @
2f318d97
...
...
@@ -35,6 +35,13 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
.
set
(
SettlementOwner:
:
getStatus
,
item
.
getStatus
())
);
}
@Override
public
boolean
updateInvoiceStatus
(
SettlementOwner
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwner:
:
getInvoiceStatus
,
item
.
getInvoiceStatus
())
);
}
@Override
public
boolean
updateSettlementPeriodMonth
(
SettlementOwner
item
)
{
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
浏览文件 @
2f318d97
...
...
@@ -19,7 +19,6 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -116,6 +115,16 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
);
}
@Override
public
void
updateInvoiceStatusByIdList
(
List
<
Integer
>
idList
,
Integer
invoiceStatus
)
{
update
(
lUdWrapper
()
.
in
(
SettlementOwnerDetail:
:
getId
,
idList
)
.
set
(
SettlementOwnerDetail:
:
getInvoiceStatus
,
invoiceStatus
)
.
set
(
SettlementOwnerDetail:
:
getInvoiceTime
,
LocalDateTime
.
now
())
);
}
@Override
public
boolean
updateInvoiceStatusBySettlementNo
(
String
settlementNo
,
Integer
invoiceStatus
){
return
update
(
lUdWrapper
()
...
...
@@ -163,6 +172,13 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
)
.
map
(
super
::
getOne
);
}
@Override
public
List
<
SettlementOwnerDetail
>
getListByChildNoList
(
List
<
String
>
childNoList
)
{
return
list
(
lQrWrapper
()
.
in
(
SettlementOwnerDetail:
:
getChildNo
,
childNoList
));
}
@Override
public
List
<
SettlementOwnerDetail
>
getBySettlementNo
(
String
settlementNo
)
{
return
list
(
lQrWrapper
().
eq
(
SettlementOwnerDetail:
:
getSettlementNo
,
settlementNo
));
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDao.java
浏览文件 @
2f318d97
...
...
@@ -16,6 +16,8 @@ import java.util.List;
public
interface
SettlementOwnerDao
extends
BaseDao
<
SettlementOwnerMapper
,
SettlementOwner
,
Integer
>
{
boolean
updateStatus
(
SettlementOwner
item
);
boolean
updateInvoiceStatus
(
SettlementOwner
item
);
boolean
updateSettlementPeriodMonth
(
SettlementOwner
item
);
boolean
updateLock
(
SettlementOwner
item
);
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDetailDao.java
浏览文件 @
2f318d97
...
...
@@ -33,6 +33,8 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
boolean
updateInvoiceType
(
SettlementOwnerDetail
item
);
boolean
updatePreFreight
(
SettlementOwnerDetail
item
);
void
updateInvoiceStatusByIdList
(
List
<
Integer
>
idList
,
Integer
invoiceStatus
);
boolean
updateInvoiceStatusBySettlementNo
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"invoiceStatus"
)
Integer
invoiceStatus
);
boolean
updateFinalPaymentStatusBySettlementNo
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"finalPaymentStatus"
)
Integer
finalPaymentStatus
);
...
...
@@ -45,6 +47,7 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
Optional
<
SettlementOwnerDetail
>
findById
(
Integer
id
);
Optional
<
SettlementOwnerDetail
>
getByChildNo
(
String
childNo
);
List
<
SettlementOwnerDetail
>
getListByChildNoList
(
List
<
String
>
childNoList
);
List
<
SettlementOwnerDetail
>
getBySettlementNo
(
String
settlementNo
);
List
<
SettlementOwnerDetail
>
getBySettlementNoAndInvoiceType
(
String
settlementNo
,
Integer
invoiceType
,
Integer
invoiceStatus
);
...
...
performance-web/src/main/java/com/clx/performance/listener/OrderChildSyncTransportListener.java
浏览文件 @
2f318d97
...
...
@@ -249,6 +249,9 @@ public class OrderChildSyncTransportListener {
dto
.
setOrderChild
(
orderChild
);
applicationEventPublisher
.
publishEvent
(
new
OwnerLoanEvent
(
this
,
dto
));
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
settlementOwnerDetail
.
getChildNo
());
}
private
void
generateTakeOutRunningWatter
(
OrderChild
orderChild
,
BigDecimal
ans
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
)
{
...
...
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementInvoiceStatusUpdateListener.java
0 → 100644
浏览文件 @
2f318d97
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.SettlementSettleMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam
;
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
SettlementInvoiceStatusUpdateListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_STATUS_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
<
SettlementInvoiceStatusUpdateMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-开票状态更新 失败"
,
e
);
}
}
private
void
process
(
SettlementInvoiceStatusUpdateMqParam
mq
){
settlementMqHandlerService
.
settlementInvoiceStatusUpdate
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/service/broker/OrderChildBrokerService.java
浏览文件 @
2f318d97
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.service.broker;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.settle.SettlementDriver
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
...
...
@@ -10,5 +11,5 @@ public interface OrderChildBrokerService {
void
orderChildSync
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
);
void
orderChildUpdate
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
);
SettlementDriverDetail
settlementDriverDetail
,
SettlementDriver
settlementDriver
);
}
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerMqHandlerServiceImpl.java
浏览文件 @
2f318d97
...
...
@@ -2,6 +2,7 @@ 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.SettlementDriverDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOrderChildRiskDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
...
...
@@ -10,6 +11,7 @@ import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum;
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.SettlementDriver
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOrderChildRisk
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
...
...
@@ -41,6 +43,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired
private
SettlementDriverDetailDao
settlementDriverDetailDao
;
@Autowired
private
SettlementDriverDao
settlementDriverDao
;
@Autowired
private
OrderChildBrokerService
orderChildBrokerService
;
@Autowired
private
OrderChildBrokerMqService
orderChildBrokerMqService
;
...
...
@@ -115,6 +119,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriver
settlementDriver
=
settlementDriverDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orNull
();
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getReportFlag
(),
com
.
clx
.
order
.
enums
.
OrderEnum
.
ReportFlag
.
NO
.
getCode
())){
return
;
...
...
@@ -129,7 +135,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
try
{
// 更新broker
orderChildBrokerService
.
orderChildUpdate
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
);
orderChildBrokerService
.
orderChildUpdate
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
,
settlementDriver
);
}
catch
(
Exception
e
)
{
log
.
info
(
"更新无车承运失败, child:{}, msg:{}"
,
orderChild
.
getChildNo
(),
ExceptionUtils
.
getStackTrace
(
e
));
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/broker/OrderChildBrokerServiceImpl.java
浏览文件 @
2f318d97
...
...
@@ -8,6 +8,7 @@ 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.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.extranal.broker.BrokerService
;
...
...
@@ -15,6 +16,7 @@ import com.clx.performance.extranal.order.InvoicingCompanyService;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildImage
;
import
com.clx.performance.model.OrderGoods
;
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.service.broker.OrderChildBrokerService
;
...
...
@@ -66,21 +68,24 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
public
void
orderChildSync
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
)
{
TransportParam
transportParam
=
buildParam
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
);
TransportParam
transportParam
=
buildParam
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
,
null
);
brokerService
.
orderChildSync
(
transportParam
);
}
@Override
public
void
orderChildUpdate
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
)
{
TransportParam
transportParam
=
buildParam
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
);
public
void
orderChildUpdate
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
,
SettlementDriver
settlementDriver
)
{
TransportParam
transportParam
=
buildParam
(
orderChild
,
orderGoods
,
settlementOwnerDetail
,
settlementDriverDetail
,
settlementDriver
);
// 运单更新
brokerService
.
orderChildUpdate
(
transportParam
);
}
private
TransportParam
buildParam
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
){
SettlementDriverDetail
settlementDriverDetail
,
SettlementDriver
settlementDriver
){
String
host
=
documentFeign
.
getHost
().
getData
();
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderGoods
.
getOrderNo
());
...
...
@@ -278,6 +283,8 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo
.
setInvoicePlatform
(
settlementOwnerDetail
.
getInvoicingCompanyShorterName
());
orderChildInfo
.
setInvoiceStatus
(
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceStatus
(),
SettlementOwnerDetailEnum
.
InvoiceStatus
.
YES
.
getCode
())?
1
:
0
);
orderChildInfo
.
setSettleStatus
(
settlementDriver
!=
null
&&
Objects
.
equals
(
settlementDriver
.
getStatus
(),
SettlementDriverEnum
.
Status
.
SETTLED
.
getCode
())?
1
:
0
);
transportParam
.
setOrder
(
orderInfo
);
transportParam
.
setOrderChildImage
(
imageList
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/OrderChildSyncTransportRecordServiceImpl.java
浏览文件 @
2f318d97
...
...
@@ -20,15 +20,11 @@ import com.clx.performance.model.settle.SettlementDriverDetail;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.payment.PayPlatformFeeParam
;
import
com.clx.performance.service.PaymentService
;
import
com.clx.performance.service.settle.NetworkDriverRunningWaterRecordService
;
import
com.clx.performance.service.settle.OrderChildSyncTransportRecordService
;
import
com.clx.performance.service.settle.SettlementDriverDetailService
;
import
com.clx.performance.service.settle.SettlementDriverService
;
import
com.clx.performance.service.settle.*
;
import
com.clx.performance.struct.settle.SettlementDriverDetailStruct
;
import
com.msl.common.result.Result
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -64,6 +60,8 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementDriverDao
settlementDriverDao
;
private
final
SettlementPostService
settlementPostService
;
@Override
public
void
addOrderChildSyncTransportRecord
(
SettlementDriverDetail
detail
)
{
OrderChildSyncTransportRecord
record
=
struct
.
convertRecord
(
detail
);
...
...
@@ -130,5 +128,7 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
}
catch
(
Exception
e
){
log
.
error
(
"支付平台服务费异常 {}"
,
e
);
}
settlementPostService
.
updateDriverPaySuccess
(
orderChild
.
getChildNo
());
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
2f318d97
...
...
@@ -40,6 +40,7 @@ import com.clx.performance.utils.LocalDateTimeUtils;
import
com.clx.performance.utils.RedisUtil
;
import
com.clx.performance.utils.spring.ApplicationContextUtils
;
import
com.clx.performance.vo.mq.*
;
import
com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
...
...
@@ -157,6 +158,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired
private
NetworkDriverRunningWaterRecordService
networkDriverRunningWaterRecordService
;
@Autowired
private
SettlementPostService
settlementPostService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -321,7 +325,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
FAIL
.
getCode
());
settlementOwnerDetailDao
.
updateInvoiceTypeStatus
(
settlementOwnerDetail
);
SettlementOrderChildRisk
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
findLastByChildNo
(
mq
.
getChildNo
()).
orNull
();
if
(
settlementOrderChildRisk
!=
null
&&
Objects
.
equals
(
settlementOrderChildRisk
.
getStatus
(),
SettlementOrderChildRiskEnum
.
Status
.
INIT
.
getCode
())){
return
;
}
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
settlementOrderChildRisk
.
setChildNo
(
orderChild
.
getChildNo
());
settlementOrderChildRisk
.
setTruckNo
(
orderChild
.
getTruckNo
());
settlementOrderChildRisk
.
setDriverName
(
orderChild
.
getDriverName
());
...
...
@@ -340,9 +350,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
SUCCESS
.
getCode
());
settlementOwnerDetailDao
.
updateInvoiceTypeStatus
(
settlementOwnerDetail
);
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
settlementOwnerDetail
.
getChildNo
());
// 发送mq (结算)
settlementMqService
.
settle
(
orderChild
.
getChildNo
(),
invoiceType
,
remark
);
}
...
...
@@ -360,6 +367,10 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
if
(!
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceChannel
(),
SettlementOwnerDetailEnum
.
InvoiceChannel
.
BROKER
.
getCode
())){
return
;
}
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceType
(),
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
())){
// 普通单不同步状态
return
;
}
if
(!
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceStatus
(),
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
())){
return
;
...
...
@@ -379,7 +390,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
FAIL
.
getCode
());
settlementOwnerDetailDao
.
updateInvoiceTypeStatus
(
settlementOwnerDetail
);
SettlementOrderChildRisk
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
findLastByChildNo
(
mq
.
getChildNo
()).
orNull
();
if
(
settlementOrderChildRisk
!=
null
&&
Objects
.
equals
(
settlementOrderChildRisk
.
getStatus
(),
SettlementOrderChildRiskEnum
.
Status
.
INIT
.
getCode
())){
return
;
}
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
settlementOrderChildRisk
.
setChildNo
(
orderChild
.
getChildNo
());
settlementOrderChildRisk
.
setTruckNo
(
orderChild
.
getTruckNo
());
settlementOrderChildRisk
.
setDriverName
(
orderChild
.
getDriverName
());
...
...
@@ -419,6 +435,10 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
if
(!
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceChannel
(),
SettlementOwnerDetailEnum
.
InvoiceChannel
.
BROKER
.
getCode
())){
return
;
}
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceType
(),
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
())){
// 普通单不同步状态
return
;
}
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
...
...
@@ -445,7 +465,12 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail
.
setInvoiceTypeStatus
(
SettlementOwnerDetailEnum
.
InvoiceTypeStatus
.
FAIL
.
getCode
());
settlementOwnerDetailDao
.
updateInvoiceTypeStatus
(
settlementOwnerDetail
);
SettlementOrderChildRisk
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
SettlementOrderChildRisk
settlementOrderChildRisk
=
settlementOrderChildRiskDao
.
findLastByChildNo
(
mq
.
getChildNo
()).
orNull
();
if
(
settlementOrderChildRisk
!=
null
&&
Objects
.
equals
(
settlementOrderChildRisk
.
getStatus
(),
SettlementOrderChildRiskEnum
.
Status
.
INIT
.
getCode
())){
return
;
}
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
settlementOrderChildRisk
.
setChildNo
(
orderChild
.
getChildNo
());
settlementOrderChildRisk
.
setTruckNo
(
orderChild
.
getTruckNo
());
settlementOrderChildRisk
.
setDriverName
(
orderChild
.
getDriverName
());
...
...
@@ -639,6 +664,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 日志
orderChildLogService
.
saveDriverOrderChildLog
(
childNo
,
OrderChildLogEnum
.
Type
.
COMPLETE
.
getCode
(),
OrderChildLogEnum
.
Type
.
COMPLETE
.
getMsg
(),
0L
,
"系统"
);
settlementPostService
.
updateDriverPaySuccess
(
childNo
);
}
else
{
settlementDriverDao
.
updatePayErrorMsg
(
settlementDriver
.
getId
(),
payErrorMsg
);
}
...
...
@@ -901,6 +928,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 发送mq 结算统计
settlementMqService
.
settlementStatistics
(
childNo
,
SettlementStatisticsMqParam
.
Type
.
SEPARATE
.
getCode
());
}
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
childNo
);
}
else
if
(
Objects
.
equals
(
settlementOrderChildRisk
.
getProcessMethod
(),
SettlementOrderChildRiskEnum
.
ProcessMethod
.
SYNC_RETRY
.
getCode
())){
...
...
@@ -987,6 +1017,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 发送mq 结算统计
settlementMqService
.
settlementStatistics
(
childNo
);
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildUpdate
(
settlementOwnerDetail
.
getChildNo
());
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -1010,6 +1043,87 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDao
.
updateStatus
(
settlementOwner
);
}
@Override
public
void
settlementInvoiceStatusUpdate
(
SettlementInvoiceStatusUpdateMqParam
mq
)
{
SettlementOwner
settlementOwner
=
settlementOwnerDao
.
findBySettlementNo
(
mq
.
getSettlementNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
if
(!
Objects
.
equals
(
settlementOwner
.
getStatus
(),
SettlementOwnerEnum
.
Status
.
COMPLETED
.
getCode
())){
return
;
}
if
(
Objects
.
equals
(
settlementOwner
.
getInvoiceStatus
(),
SettlementOwnerEnum
.
InvoiceStatus
.
INVOICED
.
getCode
())){
return
;
}
List
<
SettlementOwnerDetail
>
list
=
settlementOwnerDetailDao
.
getBySettlementNo
(
settlementOwner
.
getSettlementNo
());
// 无需开票运单
List
<
SettlementOwnerDetail
>
list1
=
list
.
stream
()
.
filter
(
item
->
Objects
.
equals
(
item
.
getInvoiceStatus
(),
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
())
&&
item
.
getInvoiceFreight
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
).
collect
(
Collectors
.
toList
());
// 需要开票运单
List
<
SettlementOwnerDetail
>
list2
=
list
.
stream
()
.
filter
(
item
->
Objects
.
equals
(
item
.
getInvoiceStatus
(),
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
())
&&
item
.
getInvoiceFreight
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
).
collect
(
Collectors
.
toList
());
// 已开票运单
List
<
SettlementOwnerDetail
>
list3
=
list
.
stream
()
.
filter
(
item
->
Objects
.
equals
(
item
.
getInvoiceStatus
(),
SettlementOwnerDetailEnum
.
InvoiceStatus
.
YES
.
getCode
()))
.
collect
(
Collectors
.
toList
());
if
(!
list1
.
isEmpty
())
{
settlementOwnerDetailDao
.
updateInvoiceStatusByIdList
(
list1
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toList
()),
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO_INVOICE
.
getCode
());
}
/**
* 无需开票+否:未开票
* 全部为否:未开票
* 无需开票+是 :部分开票
* 无需开票+是+否 :部分开票
* 全部为是:已开票
* 全部为无需开票:无需开票
*/
if
(
list1
.
isEmpty
()){
if
(
list2
.
isEmpty
()){
if
(
list3
.
isEmpty
())
{
settlementOwner
.
setInvoiceStatus
(
settlementOwner
.
getInvoiceStatus
());
}
else
{
settlementOwner
.
setInvoiceStatus
(
SettlementOwnerEnum
.
InvoiceStatus
.
INVOICED
.
getCode
());
}
}
else
{
if
(
list3
.
isEmpty
())
{
settlementOwner
.
setInvoiceStatus
(
SettlementOwnerEnum
.
InvoiceStatus
.
NOT_INVOICE
.
getCode
());
}
else
{
settlementOwner
.
setInvoiceStatus
(
SettlementOwnerEnum
.
InvoiceStatus
.
PART_INVOICE
.
getCode
());
}
}
}
else
{
if
(
list2
.
isEmpty
()){
if
(
list3
.
isEmpty
())
{
settlementOwner
.
setInvoiceStatus
(
SettlementOwnerEnum
.
InvoiceStatus
.
NO_NEED_INVOICE
.
getCode
());
}
else
{
settlementOwner
.
setInvoiceStatus
(
SettlementOwnerEnum
.
InvoiceStatus
.
PART_INVOICE
.
getCode
());
}
}
else
{
if
(
list3
.
isEmpty
())
{
settlementOwner
.
setInvoiceStatus
(
SettlementOwnerEnum
.
InvoiceStatus
.
NOT_INVOICE
.
getCode
());
}
else
{
settlementOwner
.
setInvoiceStatus
(
SettlementOwnerEnum
.
InvoiceStatus
.
PART_INVOICE
.
getCode
());
}
}
}
settlementOwnerDao
.
updateInvoiceStatus
(
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
浏览文件 @
2f318d97
...
...
@@ -6,6 +6,7 @@ import com.clx.performance.common.MqWrapper;
import
com.clx.performance.constant.RabbitKeySettlementConstants
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.vo.mq.*
;
import
com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
...
...
@@ -149,4 +150,16 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
settlementInvoiceStatusUpdate
(
String
settlementNo
)
{
SettlementInvoiceStatusUpdateMqParam
mq
=
new
SettlementInvoiceStatusUpdateMqParam
();
mq
.
setSettlementNo
(
settlementNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_INVOICE_STATUS_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
浏览文件 @
2f318d97
...
...
@@ -2,14 +2,17 @@ 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.SettlementDriverDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOrderChildRiskDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.ResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOrderChildRiskEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.model.settle.SettlementDriver
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOrderChildRisk
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
...
...
@@ -48,6 +51,8 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
@Autowired
private
SettlementOrderChildRiskDao
settlementOrderChildRiskDao
;
@Autowired
private
SettlementDriverDao
settlementDriverDao
;
@Autowired
private
SettlementOrderChildRiskStruct
settlementOrderChildRiskStruct
;
@Autowired
...
...
@@ -68,6 +73,8 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriver
settlementDriver
=
settlementDriverDao
.
findByChildNo
(
settlementOrderChildRisk
.
getChildNo
()).
orNull
();
settlementOrderChildRisk
.
setStatus
(
SettlementOrderChildRiskEnum
.
Status
.
PROCESSED
.
getCode
());
settlementOrderChildRisk
.
setProcessMethod
(
param
.
getProcessMethod
());
settlementOrderChildRisk
.
setProcessBy
(
loginUserInfo
.
getUserName
());
...
...
@@ -90,6 +97,11 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementDriverDetailDao
.
updateConvertOrdinary
(
settlementDriverDetail
);
settlementOrderChildRisk
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
if
(
settlementDriver
!=
null
)
{
// 删除结算单
settlementDriverDao
.
deleteByKey
(
settlementDriver
.
getId
());
}
}
else
{
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerDetailServiceImpl.java
浏览文件 @
2f318d97
...
...
@@ -4,6 +4,8 @@ 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.order.enums.InvoicingCompanyEnum
;
import
com.clx.order.vo.pc.carrier.InvoicingCompanyVO
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
...
...
@@ -12,6 +14,7 @@ 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.extranal.order.InvoicingCompanyService
;
import
com.clx.performance.listener.excel.InvoiceDataListener
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
...
...
@@ -96,6 +99,9 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
@Autowired
private
FileUploadFeign
fileUploadFeign
;
@Autowired
private
InvoicingCompanyService
invoicingCompanyService
;
@Override
public
Integer
saveSettlementDetail
(
OrderChild
orderChild
,
OrderGoods
orderGoods
,
SettlementDriverDetail
settlementDriverDetail
)
{
...
...
@@ -141,9 +147,21 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
//借款抵扣金额初始化
settlementOwnerDetail
.
setLoanFreight
(
BigDecimal
.
ZERO
);
// 开票服务费
settlementOwnerDetail
.
setInvoiceServiceFeeRate
(
orderGoods
.
getInvoiceServiceFeeRate
()==
null
?
BigDecimal
.
ZERO
:
orderGoods
.
getInvoiceServiceFeeRate
());
//设置开票公司信息
settlementOwnerDetail
.
setInvoicingCompanyId
(
orderChild
.
getInvoicingCompanyId
());
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
orderChild
.
getInvoicingCompanyShorterName
());
settlementOwnerDetail
.
setInvoicingCompanyGroupCode
(
orderChild
.
getInvoicingCompanyGroupCode
());
// 查询开票公司
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
(
...
...
@@ -158,10 +176,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
settlementCommonService
.
settlementFreightCalc
(
orderGoods
.
getSettlementWay
(),
settlementOwnerDetail
));
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO
.
getCode
());
//设置开票公司信息
settlementOwnerDetail
.
setInvoicingCompanyId
(
orderChild
.
getInvoicingCompanyId
());
settlementOwnerDetail
.
setInvoicingCompanyShorterName
(
orderChild
.
getInvoicingCompanyShorterName
());
settlementOwnerDetail
.
setInvoicingCompanyGroupCode
(
orderChild
.
getInvoicingCompanyGroupCode
());
settlementOwnerDetail
.
setReportFlag
(
orderChild
.
getReportFlag
());
settlementOwnerDetail
.
setInvoiceChannel
(
SettlementOwnerDetailEnum
.
InvoiceChannel
.
BROKER
.
getCode
());
...
...
@@ -494,6 +509,78 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
return
ExcelUtil
.
create
(
excelSheet
);
}
@Override
public
SXSSFWorkbook
exportSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
)
{
param
.
setPage
(
1
);
param
.
setPageSize
(
1000000
);
IPage
<
CarrierPageSettlementOwnerDetailVO
>
settlementOwnerDetailPage
=
pageSettlementOwnerDetail
(
param
);
List
<
CarrierPageSettlementOwnerDetailVO
>
list
=
settlementOwnerDetailPage
.
getRecords
();
// 组装表头
List
<
ExcelField
>
fieldList
=
new
ArrayList
<>();
fieldList
.
add
(
new
ExcelField
(
0
,
"运单编号"
,
"childNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
1
,
"货主编码"
,
"ownerUserNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
,
"货主名称"
,
"ownerName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
3
,
"结算方式"
,
"settlementWay"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
4
,
"货物名称"
,
"goodsName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
5
,
"实际净重(吨)"
,
"weight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
6
,
"平台运费报价"
,
"freightPrice"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
7
,
"应付运费"
,
"freight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
8
,
"货损吨数"
,
"lossWeight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
9
,
"货损单价"
,
"lossPrice"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
10
,
"货损金额"
,
"lossFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
11
,
"管理费率(%)"
,
"invoiceServiceFeeRate"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
12
,
"管理费"
,
"invoiceServiceFee"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
13
,
"预付运费金额"
,
"prepayFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
14
,
"借款抵扣金额"
,
"loanFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
15
,
"结算金额"
,
"settlementFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
16
,
"开票金额"
,
"invoiceFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"开票公司"
,
"invoicingCompanyShorterName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
18
,
"开票标识"
,
"invoiceType"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
19
,
"订单编号"
,
"orderNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
20
,
"结算单号"
,
"settlementNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
21
,
"创建时间"
,
"createTime"
,
5000
));
// 组装数据
List
<
List
<
ExcelData
>>
dataList
=
new
ArrayList
<>();
for
(
CarrierPageSettlementOwnerDetailVO
dto
:
list
)
{
List
<
ExcelData
>
rowData
=
new
ArrayList
<>();
rowData
.
add
(
new
ExcelData
(
dto
.
getChildNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getOwnerUserNo
()+
""
));
rowData
.
add
(
new
ExcelData
(
dto
.
getOwnerName
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementWay
()==
null
?
null
:
SettlementWayEnum
.
WayType
.
getMsgByCode
(
dto
.
getSettlementWay
())));
rowData
.
add
(
new
ExcelData
(
dto
.
getGoodsName
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getWeight
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getFreightPrice
()==
null
?
null
:
dto
.
getFreightPrice
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getFreight
()==
null
?
null
:
dto
.
getFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLossWeight
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getLossPrice
()==
null
?
null
:
dto
.
getLossPrice
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLossFreight
()==
null
?
null
:
dto
.
getLossFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceServiceFeeRate
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceServiceFee
()==
null
?
null
:
dto
.
getInvoiceServiceFee
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getPrepayFreight
()==
null
?
null
:
dto
.
getPrepayFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLoanFreight
()==
null
?
null
:
dto
.
getLoanFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementFreight
()==
null
?
null
:
dto
.
getSettlementFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceFreight
()==
null
?
null
:
dto
.
getInvoiceFreight
().
movePointLeft
(
2
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoicingCompanyShorterName
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceType
()==
null
?
null
:
SettlementOwnerEnum
.
InvoiceType
.
getMsgByCode
(
dto
.
getInvoiceType
())));
rowData
.
add
(
new
ExcelData
(
dto
.
getOrderNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getCreateTime
()));
dataList
.
add
(
rowData
);
}
ExcelSheet
excelSheet
=
new
ExcelSheet
(
"货主运单计费"
,
"货主运单计费"
,
fieldList
,
dataList
);
//创建excel
return
ExcelUtil
.
create
(
excelSheet
);
}
@Override
public
SXSSFWorkbook
exportBatchSettlementOwnerDetail
(
ExportBatchOwnerSettlementDetailParam
param
)
{
//通过结算单号查询结算运单明细
...
...
@@ -622,15 +709,14 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
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
));
fieldList
.
add
(
new
ExcelField
(
22
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
23
,
"是否已付尾款"
,
"finalPaymentStatusMsg"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
24
,
"是否已开票"
,
"invoiceStatusMsg"
,
5000
));
if
(
param
.
getInvoiceStatus
().
equals
(
SettlementOwnerDetailEnum
.
InvoiceStatus
.
NO
.
getCode
()))
{
fieldList
.
add
(
new
ExcelField
(
2
6
,
"备注"
,
"separateRemark"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
5
,
"备注"
,
"separateRemark"
,
5000
));
}
else
{
fieldList
.
add
(
new
ExcelField
(
2
6
,
"开票时间"
,
"invoiceTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
7
,
"备注"
,
"separateRemark"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
5
,
"开票时间"
,
"invoiceTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
6
,
"备注"
,
"separateRemark"
,
5000
));
}
// 组装数据
...
...
@@ -662,7 +748,6 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
rowData
.
add
(
new
ExcelData
(
vo
.
getInvoiceFreight
()==
null
?
null
:
vo
.
getInvoiceFreight
().
movePointLeft
(
2
)));
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
()));
...
...
@@ -721,5 +806,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
settlementOwnerDetailDao
.
updateSettlementByChildNoList
(
childNoList
);
// 发送mq (运单更新)
orderChildBrokerMqService
.
orderChildUpdate
(
childNoList
);
settlementPostService
.
updateInvoice
(
childNoList
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerExportServiceImpl.java
浏览文件 @
2f318d97
...
...
@@ -44,13 +44,15 @@ public class SettlementOwnerExportServiceImpl implements SettlementOwnerExportSe
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
,
"
结算金额"
,
"settlement
Freight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
12
,
"
货损金额"
,
"lossFreight
"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
13
,
"
管理费"
,
"invoiceServiceFee
"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
14
,
"
借款抵扣金额"
,
"loan
Freight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
15
,
"开票金额"
,
"invoiceFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
16
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"状态"
,
"status"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
15
,
"结算金额"
,
"settlementFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
16
,
"开票金额"
,
"invoiceFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"开票公司"
,
"invoicingCompanyShorterName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
18
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
19
,
"状态"
,
"status"
,
5000
));
// 组装数据
List
<
List
<
ExcelData
>>
dataList
=
new
ArrayList
<>();
...
...
@@ -73,11 +75,13 @@ public class SettlementOwnerExportServiceImpl implements SettlementOwnerExportSe
rowData
.
add
(
new
ExcelData
(
dto
.
getPrepayFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLossWeight
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getLossFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
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
.
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
.
getInvoicingCompanyShorterName
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getCreateTime
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getStatusMsg
()));
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerServiceImpl.java
浏览文件 @
2f318d97
...
...
@@ -33,6 +33,7 @@ import com.clx.performance.service.PlatformAccountConfigService;
import
com.clx.performance.service.settle.SettlementLogService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.service.settle.SettlementPostService
;
import
com.clx.performance.struct.settle.SettlementLogStruct
;
import
com.clx.performance.struct.settle.SettlementOwnerStruct
;
import
com.clx.performance.utils.MyMD5Util
;
...
...
@@ -89,6 +90,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private
final
OwnerAccountService
ownerAccountService
;
private
final
OwnerAccountPasswordDao
ownerAccountPasswordDao
;
private
final
SettlementPostService
settlementPostService
;
private
final
NetworkSyncComponent
networkSyncComponent
;
private
final
SettlementMqHandlerService
settlementMqHandlerService
;
...
...
@@ -572,8 +574,6 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
String
settlementNo
=
param
.
getSettlementNo
();
settlementOwnerDao
.
uploadInvoiceImg
(
settlementNo
,
param
.
getInvoiceImg
());
settlementOwnerDao
.
updateStatusBySettlementNo
(
settlementNo
,
SettlementOwnerEnum
.
Status
.
OWNER_TO_BE_CONFIRMED
.
getCode
());
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
//保存结算单日志----上传结算凭证
settlementLogService
.
saveSettlementLog
(
settlementNo
,
...
...
@@ -689,12 +689,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
networkSyncComponent
.
ownerSettlementSync
(
settlementOwner
,
settlementOwnerDetailList
);
}
else
{
// 小于0不开票
if
(
settlementOwner
.
getInvoiceFreight
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
settlementOwner
.
setInvoiceStatus
(
SettlementOwnerEnum
.
InvoiceStatus
.
NO_NEED_INVOICE
.
getCode
());
}
settlementOwner
.
setStatus
(
SettlementOwnerEnum
.
Status
.
COMPLETED
.
getCode
());
settlementOwnerDao
.
updateInvoiceStatusAndStatus
(
settlementOwner
);
settlementOwnerDao
.
updateStatusBySettlementNo
(
settlementNo
,
SettlementOwnerEnum
.
Status
.
COMPLETED
.
getCode
());
}
}
...
...
@@ -710,6 +705,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
SettlementLogEnum
.
Type
.
COMPLETED
.
getCode
(),
SettlementLogEnum
.
Type
.
COMPLETED
.
getMsg
(),
OrderChildLogEnum
.
CreateType
.
PLATFORM
.
getCode
(),
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
());
}
settlementPostService
.
updatePayConfirm
(
settlementOwner
);
}
@Override
...
...
@@ -763,7 +761,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
Integer
invoicingCompanyId
=
null
;
//开票公司上报标识
Integer
reportFlag
=
null
;
String
tip
=
"结算单状态“待对账”且同一货主,同一开票标识,同一结算方式,同一开票公司,同一上报标识 支持合并"
;
String
tip
=
"结算单状态“待对账
或待货主确认
”且同一货主,同一开票标识,同一结算方式,同一开票公司,同一上报标识 支持合并"
;
SettlementOwner
merge
=
null
;
String
settlementNo
=
settlementMqHandlerService
.
settlementNoGenerate
();
...
...
@@ -773,8 +771,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
log
.
warn
(
"货主结算单号:{} 结算单不允许二次合并"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
"结算单不允许二次合并"
);
}
if
(!
Objects
.
equals
(
SettlementOwnerEnum
.
Status
.
TO_BE_ACCOUNT
.
getCode
(),
item
.
getStatus
())){
log
.
warn
(
"货主结算单号:{} 的结算状态非待对账"
,
item
.
getSettlementNo
());
if
(!
Objects
.
equals
(
SettlementOwnerEnum
.
Status
.
TO_BE_ACCOUNT
.
getCode
(),
item
.
getStatus
())
&&
!
Objects
.
equals
(
SettlementOwnerEnum
.
Status
.
OWNER_TO_BE_CONFIRMED
.
getCode
(),
item
.
getStatus
())){
log
.
warn
(
"货主结算单号:{} 的结算状态非待对账或待货主确认"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
if
(
Objects
.
nonNull
(
ownerUserNo
)
&&
!
Objects
.
equals
(
ownerUserNo
,
item
.
getOwnerUserNo
())){
...
...
@@ -813,6 +812,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
merge
.
setPrepayFreight
(
merge
.
getPrepayFreight
().
add
(
item
.
getPrepayFreight
()));
merge
.
setSettlementFreight
(
merge
.
getSettlementFreight
().
add
(
item
.
getSettlementFreight
()));
merge
.
setInvoiceFreight
(
merge
.
getInvoiceFreight
().
add
(
item
.
getInvoiceFreight
()));
merge
.
setLoadNet
(
merge
.
getLoadNet
().
add
(
item
.
getLoadNet
()));
merge
.
setUnloadNet
(
merge
.
getUnloadNet
().
add
(
item
.
getUnloadNet
()));
merge
.
setDriverFreight
(
merge
.
getDriverFreight
().
add
(
item
.
getDriverFreight
()));
}
else
{
merge
=
item
;
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementPostServiceImpl.java
浏览文件 @
2f318d97
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.broker.OrderChildBrokerMqService
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.service.settle.SettlementPostService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -8,14 +11,22 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
public
class
SettlementPostServiceImpl
implements
SettlementPostService
{
@Autowired
private
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
@Autowired
private
SettlementMqService
settlementMqService
;
@Autowired
private
OrderChildBrokerMqService
orderChildBrokerMqService
;
@Override
public
void
updateInvoiceCompany
(
List
<
SettlementOwnerDetail
>
list
){
...
...
@@ -26,4 +37,27 @@ public class SettlementPostServiceImpl implements SettlementPostService {
}
}
@Override
public
void
updateDriverPaySuccess
(
String
childNo
)
{
// 发送mq (更新无车承运)
orderChildBrokerMqService
.
orderChildUpdate
(
childNo
);
}
@Override
public
void
updatePayConfirm
(
SettlementOwner
settlementOwner
)
{
settlementMqService
.
settlementInvoiceStatusUpdate
(
settlementOwner
.
getSettlementNo
());
}
@Override
public
void
updateInvoice
(
List
<
String
>
childNoList
)
{
List
<
SettlementOwnerDetail
>
settlementOwnerDetailList
=
settlementOwnerDetailDao
.
getListByChildNoList
(
childNoList
);
Set
<
String
>
set
=
settlementOwnerDetailList
.
stream
().
map
(
item
->
item
.
getSettlementNo
()).
collect
(
Collectors
.
toSet
());
for
(
String
item
:
set
)
{
// 发送mq (更新无车承运)
settlementMqService
.
settlementInvoiceStatusUpdate
(
item
);
}
}
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqHandlerService.java
浏览文件 @
2f318d97
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.service.settle;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.vo.mq.*
;
import
com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam
;
import
com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam
;
...
...
@@ -32,4 +33,6 @@ public interface SettlementMqHandlerService {
void
settlementPlatformAutoConfirm
(
SettlementPlatformAutoConfirmMqParam
mq
);
void
settlementInvoiceStatusUpdate
(
SettlementInvoiceStatusUpdateMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqService.java
浏览文件 @
2f318d97
...
...
@@ -21,4 +21,6 @@ public interface SettlementMqService {
void
settlementPlatformAutoConfirmUpdate
(
String
settlementNo
);
void
settlementInvoiceStatusUpdate
(
String
settlementNo
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerDetailService.java
浏览文件 @
2f318d97
...
...
@@ -51,6 +51,8 @@ public interface SettlementOwnerDetailService {
SXSSFWorkbook
exportPendingSettlementOwnerDetail
(
PagePendingCarrierSettlementOwnerDetailParam
param
);
SXSSFWorkbook
exportSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
);
SXSSFWorkbook
exportBatchSettlementOwnerDetail
(
ExportBatchOwnerSettlementDetailParam
param
);
SXSSFWorkbook
exportInvoiceOwnerSettlementOrderDetail
(
PageInvoiceOwnerSettlementOwnerDetailParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementPostService.java
浏览文件 @
2f318d97
package
com
.
clx
.
performance
.
service
.
settle
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
java.util.List
;
...
...
@@ -7,4 +8,11 @@ import java.util.List;
public
interface
SettlementPostService
{
void
updateInvoiceCompany
(
List
<
SettlementOwnerDetail
>
list
);
void
updateDriverPaySuccess
(
String
childNo
);
void
updatePayConfirm
(
SettlementOwner
settlementOwner
);
void
updateInvoice
(
List
<
String
>
childNoList
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论