Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
777c4d56
提交
777c4d56
authored
8月 09, 2024
作者:
艾庆国
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'refs/remotes/origin/v20.9_settlement_20240805' into dev
上级
ea4201f5
2a22dd4d
显示空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
221 行增加
和
11 行删除
+221
-11
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+1
-0
SettlementPlatformAutoConfirmMqParam.java
...ce/vo/mq/settle/SettlementPlatformAutoConfirmMqParam.java
+16
-0
OwnerPageSettlementOwnerVO.java
...rmance/vo/pc/owner/settle/OwnerPageSettlementOwnerVO.java
+5
-0
RabbitSettlementConfig.java
...va/com/clx/performance/config/RabbitSettlementConfig.java
+13
-0
RabbitKeySettlementConstants.java
...lx/performance/constant/RabbitKeySettlementConstants.java
+6
-0
SettlementOwnerDaoImpl.java
...x/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
+26
-0
SettlementOwnerDetailDaoImpl.java
...ormance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
+1
-0
SettlementOwnerDao.java
...va/com/clx/performance/dao/settle/SettlementOwnerDao.java
+7
-1
SettlementOwnerDetailDao.java
.../clx/performance/dao/settle/SettlementOwnerDetailDao.java
+1
-0
SettlementJob.java
...ava/com/clx/performance/job/settlement/SettlementJob.java
+45
-2
SettlementPlatformAutoConfirmUpdateListener.java
...r/settle/SettlementPlatformAutoConfirmUpdateListener.java
+43
-0
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+23
-5
SettlementMqServiceImpl.java
...formance/service/impl/settle/SettlementMqServiceImpl.java
+13
-0
SettlementOwnerServiceImpl.java
...mance/service/impl/settle/SettlementOwnerServiceImpl.java
+15
-3
SettlementMqHandlerService.java
...erformance/service/settle/SettlementMqHandlerService.java
+4
-0
SettlementMqService.java
...m/clx/performance/service/settle/SettlementMqService.java
+2
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
777c4d56
...
...
@@ -189,6 +189,7 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_CHILD_RISK_PROCESS_ERROR
(
2111
,
"风控已处理"
),
SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR
(
2112
,
"所选数据存在状态”已处理“的数据,请核实后重新提交"
),
SETTLEMENT_OWNER_CONFIRM_SETTLEMENT_ERROR
(
2113
,
"运单需重新分配开票公司,请联系结算人员处理"
),
/**
...
...
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementPlatformAutoConfirmMqParam.java
0 → 100644
浏览文件 @
777c4d56
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
Integer
settlementId
;
//id
}
performance-api/src/main/java/com/clx/performance/vo/pc/owner/settle/OwnerPageSettlementOwnerVO.java
浏览文件 @
777c4d56
...
...
@@ -70,4 +70,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-web/src/main/java/com/clx/performance/config/RabbitSettlementConfig.java
浏览文件 @
777c4d56
...
...
@@ -149,4 +149,17 @@ public class RabbitSettlementConfig {
.
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/RabbitKeySettlementConstants.java
浏览文件 @
777c4d56
...
...
@@ -80,4 +80,10 @@ public class RabbitKeySettlementConstants {
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/dao/impl/settle/SettlementOwnerDaoImpl.java
浏览文件 @
777c4d56
...
...
@@ -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,14 @@ 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
()
...
...
@@ -304,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
浏览文件 @
777c4d56
...
...
@@ -288,6 +288,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
.
eq
(
SettlementOwnerDetail:
:
getInvoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
);
}
@Override
public
List
<
SettlementOwnerDetail
>
listPayStatusSync
()
{
return
list
(
lUdWrapper
()
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDao.java
浏览文件 @
777c4d56
...
...
@@ -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
);
...
...
@@ -30,6 +32,7 @@ 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
);
...
...
@@ -79,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
浏览文件 @
777c4d56
...
...
@@ -65,6 +65,7 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
List
<
SettlementOwnerDetail
>
listInvoiceStatusSync
();
List
<
SettlementOwnerDetail
>
listPayStatusSync
();
List
<
SettlementOwnerDetail
>
listInvoiceTypeSync
();
IPage
<
SettlementOwnerDetail
>
pagePendingSettlementOwnerDetail
(
PagePendingCarrierSettlementOwnerDetailParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/job/settlement/SettlementJob.java
浏览文件 @
777c4d56
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
.
getId
());
}
}
catch
(
Exception
e
)
{
log
.
warn
(
"结算单平台自动确认更新失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
JobLog
.
error
(
"结算单平台自动确认更新失败"
,
e
);
}
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementPlatformAutoConfirmUpdateListener.java
0 → 100644
浏览文件 @
777c4d56
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/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
777c4d56
...
...
@@ -42,6 +42,7 @@ 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
;
...
...
@@ -58,10 +59,7 @@ 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
...
...
@@ -413,7 +411,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
);
}
}
...
...
@@ -898,6 +896,26 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
@Override
public
void
settlementPlatformAutoConfirm
(
SettlementPlatformAutoConfirmMqParam
mq
)
{
SettlementOwner
settlementOwner
=
settlementOwnerDao
.
findById
(
mq
.
getSettlementId
()).
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
浏览文件 @
777c4d56
...
...
@@ -8,6 +8,7 @@ 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
;
...
...
@@ -136,4 +137,16 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
settlementPlatformAutoConfirmUpdate
(
Integer
settlementId
)
{
SettlementPlatformAutoConfirmMqParam
mq
=
new
SettlementPlatformAutoConfirmMqParam
();
mq
.
setSettlementId
(
settlementId
);
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/SettlementOwnerServiceImpl.java
浏览文件 @
777c4d56
...
...
@@ -27,7 +27,6 @@ import com.clx.performance.model.settle.SettlementLog;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.model.settle.SettlementPlatformAccount
;
import
com.clx.performance.param.pc.carrier.CarrierSettlementOwnerDetailCompanyUpdateParam
;
import
com.clx.performance.param.pc.owner.*
;
import
com.clx.performance.service.OwnerAccountService
;
import
com.clx.performance.service.PlatformAccountConfigService
;
...
...
@@ -61,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
...
...
@@ -129,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
();
//保存结算单日志----货主确认结算单
...
...
@@ -183,9 +190,14 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
}
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
);
settlementOwnerDao
.
updateStatusBySettlementNo
(
settlementNo
,
SettlementOwnerEnum
.
Status
.
PLATFORM_TO_BE_CONFIRMED
.
getCode
());
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
//保存结算单日志----
settlementLogService
.
saveSettlementLog
(
settlementNo
,
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqHandlerService.java
浏览文件 @
777c4d56
...
...
@@ -4,6 +4,7 @@ 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
{
...
...
@@ -28,4 +29,7 @@ public interface SettlementMqHandlerService {
void
riskProcess
(
SettlementOrderChildRiskProcessMqParam
mq
);
void
invoiceCompanyUpdate
(
SettlementOwnerDetialInvoiceCompanyUpdateMqParam
mq
);
void
settlementPlatformAutoConfirm
(
SettlementPlatformAutoConfirmMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqService.java
浏览文件 @
777c4d56
...
...
@@ -19,4 +19,6 @@ public interface SettlementMqService {
void
updateInvoiceCompany
(
Integer
id
);
void
settlementPlatformAutoConfirmUpdate
(
Integer
settlementId
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论