Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
3a78546d
提交
3a78546d
authored
6月 24, 2024
作者:
胡宁宁
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v17.5_order_child_sync_broker_20240617' into test
上级
f0635cb9
cf29369b
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
127 行增加
和
95 行删除
+127
-95
CarrierPageSettlementOwnerDetailVO.java
...pc/carrier/settle/CarrierPageSettlementOwnerDetailVO.java
+5
-0
PayNotifyController.java
...x/performance/controller/payment/PayNotifyController.java
+3
-8
OrderChildSyncTransportInvoiceRecordDao.java
...formance/dao/OrderChildSyncTransportInvoiceRecordDao.java
+1
-0
OrderChildSyncTransportInvoiceRecordDaoImpl.java
...dao/impl/OrderChildSyncTransportInvoiceRecordDaoImpl.java
+9
-0
OrderChildPaySyncTransportJob.java
...om/clx/performance/job/OrderChildPaySyncTransportJob.java
+22
-22
OrderChildSyncTransportInvoiceExceptionJob.java
...mance/job/OrderChildSyncTransportInvoiceExceptionJob.java
+61
-61
SettlementJob.java
...ava/com/clx/performance/job/settlement/SettlementJob.java
+6
-0
PaymentService.java
...main/java/com/clx/performance/service/PaymentService.java
+3
-0
PaymentServiceImpl.java
.../com/clx/performance/service/impl/PaymentServiceImpl.java
+17
-4
没有找到文件。
performance-api/src/main/java/com/clx/performance/vo/pc/carrier/settle/CarrierPageSettlementOwnerDetailVO.java
浏览文件 @
3a78546d
...
...
@@ -70,6 +70,11 @@ public class CarrierPageSettlementOwnerDetailVO {
@ApiModelProperty
(
value
=
"开票标识:1网运单 2普通单"
)
private
Integer
invoiceType
;
@MoneyOutConvert
@ApiModelProperty
(
value
=
"开票服务费"
)
private
BigDecimal
invoiceServiceFee
;
@ApiModelProperty
(
value
=
"开票服务率"
)
private
BigDecimal
invoiceServiceFeeRate
;
@MoneyOutConvert
@ApiModelProperty
(
value
=
"借款抵扣金额"
)
private
BigDecimal
loanFreight
;
@ApiModelProperty
(
"结算方式 1装车净重 2卸车净重"
)
...
...
performance-web/src/main/java/com/clx/performance/controller/payment/PayNotifyController.java
浏览文件 @
3a78546d
...
...
@@ -117,18 +117,13 @@ public class PayNotifyController {
if
(
Objects
.
isNull
(
notify
)
||
Objects
.
isNull
(
notify
.
getCode
())
||
Objects
.
isNull
(
notify
.
getAction
()))
{
return
new
Result
<>();
}
String
paymentItem
=
PayUnitTypeEnum
.
FREEZE_PLATFORM_FEE
.
getCode
()+
""
;
int
operation
=
PayOperationStatusEnum
.
ADJUSTMENT
.
getValue
();
if
(
notify
.
getCode
()
!=
0
)
{
paymentService
.
updateOrderPaymentFail
(
notify
.
getOrderNo
(),
notify
.
getMsg
(),
operation
,
paymentItem
);
paymentService
.
updateOrderPaymentStatusById
(
notify
.
getOrderNo
(),
PaymentStatusEnum
.
FAIL
.
getValue
());
// 支付失败处理
log
.
info
(
"支付失败处理 唯一id {}"
,
notify
.
getOrderNo
());
// 支付失败处理
}
else
{
paymentService
.
updateOrderPaymentSuccess
(
notify
.
getOrderNo
(),
operation
,
paymentItem
);
paymentService
.
updateOrderPaymentStatusById
(
notify
.
getOrderNo
(),
PaymentStatusEnum
.
SUCCESS
.
getValue
());
// 支付支付成功处理
log
.
info
(
" 支付支付成功处理 唯一id {}"
,
notify
.
getOrderNo
());
...
...
performance-web/src/main/java/com/clx/performance/dao/OrderChildSyncTransportInvoiceRecordDao.java
浏览文件 @
3a78546d
...
...
@@ -14,4 +14,5 @@ import java.util.List;
public
interface
OrderChildSyncTransportInvoiceRecordDao
extends
BaseDao
<
OrderChildSyncTransportInvoiceRecordMapper
,
OrderChildSyncTransportInvoiceRecord
,
Integer
>
{
List
<
OrderChildSyncTransportInvoiceRecord
>
selectListForJob
();
List
<
OrderChildSyncTransportInvoiceRecord
>
selectListForJobOfFirst
();
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildSyncTransportInvoiceRecordDaoImpl.java
浏览文件 @
3a78546d
package
com
.
clx
.
performance
.
dao
.
impl
;
import
com.clx.performance.dao.OrderChildSyncTransportInvoiceRecordDao
;
import
com.clx.performance.enums.TransportSyncTypeEnum
;
import
com.clx.performance.mapper.OrderChildSyncTransportInvoiceRecordMapper
;
import
com.clx.performance.model.OrderChildSyncTransportInvoiceRecord
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
...
...
@@ -23,4 +24,12 @@ public class OrderChildSyncTransportInvoiceRecordDaoImpl extends BaseDaoImpl<Ord
.
le
(
OrderChildSyncTransportInvoiceRecord:
:
getCreateTime
,
LocalDateTime
.
now
().
minusMinutes
(
10
))
);
}
@Override
public
List
<
OrderChildSyncTransportInvoiceRecord
>
selectListForJobOfFirst
()
{
return
list
(
lUdWrapper
()
.
eq
(
OrderChildSyncTransportInvoiceRecord:
:
getType
,
TransportSyncTypeEnum
.
Type
.
RESULT
.
getCode
())
.
le
(
OrderChildSyncTransportInvoiceRecord:
:
getCreateTime
,
LocalDateTime
.
now
().
minusMinutes
(
3
))
);
}
}
performance-web/src/main/java/com/clx/performance/job/OrderChildPaySyncTransportJob.java
浏览文件 @
3a78546d
...
...
@@ -52,28 +52,28 @@ public class OrderChildPaySyncTransportJob {
* 同步网络货运运单支付(禁用网络货运同步)
*/
// @XxlJob("orderChildPaySyncTransportJob")
public
void
orderChildPaySyncTransportJob
()
{
List
<
OrderChildSyncTransportRecord
>
recordList
=
orderChildSyncTransportRecordDao
.
selectListForJob
();
if
(
CollectionUtil
.
isEmpty
(
recordList
))
{
return
;
}
List
<
String
>
orderChilList
=
recordList
.
stream
().
map
(
OrderChildSyncTransportRecord:
:
getChildNo
).
collect
(
Collectors
.
toList
());
OrderChildPaySyncParam
param
=
new
OrderChildPaySyncParam
();
param
.
setChildNoList
(
orderChilList
);
HttpDTO
httpDTO
=
transportFeignService
.
orderChildPaySync
(
param
);
String
decrypt
=
ThirdComponent
.
decrypt
(
httpDTO
.
getData
());
OrderChildSyncDTO
bean
=
JSONUtil
.
toBean
(
decrypt
,
OrderChildSyncDTO
.
class
);
if
(
bean
.
getCode
()
==
0
)
{
for
(
OrderChildSyncTransportRecord
record
:
recordList
)
{
OrderChildSyncTransportRecord
update
=
new
OrderChildSyncTransportRecord
();
update
.
setId
(
record
.
getId
());
update
.
setStatus
(
1
);
orderChildSyncTransportRecordDao
.
updateEntityByKey
(
update
);
}
}
}
//
public void orderChildPaySyncTransportJob() {
//
List<OrderChildSyncTransportRecord> recordList = orderChildSyncTransportRecordDao.selectListForJob();
//
if (CollectionUtil.isEmpty(recordList)) {
//
return;
//
}
//
//
List<String> orderChilList = recordList.stream().map(OrderChildSyncTransportRecord::getChildNo).collect(Collectors.toList());
//
OrderChildPaySyncParam param = new OrderChildPaySyncParam();
//
param.setChildNoList(orderChilList);
//
HttpDTO httpDTO = transportFeignService.orderChildPaySync(param);
//
String decrypt = ThirdComponent.decrypt(httpDTO.getData());
//
OrderChildSyncDTO bean = JSONUtil.toBean(decrypt, OrderChildSyncDTO.class);
//
if (bean.getCode() == 0) {
//
for (OrderChildSyncTransportRecord record : recordList) {
//
OrderChildSyncTransportRecord update = new OrderChildSyncTransportRecord();
//
update.setId(record.getId());
//
update.setStatus(1);
//
orderChildSyncTransportRecordDao.updateEntityByKey(update);
//
}
//
}
//
//
}
/**
...
...
performance-web/src/main/java/com/clx/performance/job/OrderChildSyncTransportInvoiceExceptionJob.java
浏览文件 @
3a78546d
...
...
@@ -52,65 +52,65 @@ public class OrderChildSyncTransportInvoiceExceptionJob {
* 同步网络货运(禁用网络货运同步)
*/
// @XxlJob("orderChildSyncTransportInvoiceExceptionJob")
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
orderChildSyncTransportInvoiceExceptionJob
()
{
//只查询同步异常的网络货运任务
List
<
OrderChildSyncTransportInvoiceRecord
>
recordList
=
orderChildSyncTransportInvoiceRecordDao
.
selectListForJob
();
if
(
CollectionUtil
.
isEmpty
(
recordList
))
{
return
;
}
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderChildSyncTransportInvoiceRecord
record
:
recordList
)
{
log
.
info
(
"orderChildSyncTransportInvoiceExceptionJob执行:{}"
,
JSONUtil
.
parse
(
record
));
if
(
record
.
getCreateTime
().
plusMinutes
(
10
).
isBefore
(
LocalDateTime
.
now
()))
{
log
.
info
(
"当前记录运单号:{},生成不足10分钟,先不执行"
,
record
.
getChildNo
());
continue
;
}
String
data
=
transportFeignService
.
getRiskStatus
(
ThirdOrderChildRiskStatusParam
.
builder
().
childNo
(
record
.
getChildNo
()).
build
()).
getData
();
String
decrypt
=
ThirdComponent
.
decrypt
(
data
);
Result
result
=
JSONUtil
.
toBean
(
decrypt
,
Result
.
class
);
if
(
result
.
succeed
())
{
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
record
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
record
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
JSON
json
=
JSONUtil
.
parse
(
result
.
getData
());
Object
status
=
json
.
getByPath
(
"status"
);
ids
.
add
(
record
.
getId
());
OrderChildSyncDTO
bean
=
new
OrderChildSyncDTO
();
bean
.
setCode
(
0
);
OrderChildSyncResultDTO
dto
=
new
OrderChildSyncResultDTO
();
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
record
.
getChildNo
()).
get
();
log
.
info
(
"查询网络货运结果数据:{}"
,
JSONUtil
.
parse
(
result
));
if
(
ObjectUtil
.
equal
(
status
,
1
))
{
dto
.
setStatus
(
1
);
bean
.
setData
(
dto
);
orderChildPaySync
.
extracted
(
orderChild
,
bean
,
""
,
settlementOwnerDetail
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
(),
settlementDriverDetail
);
}
else
if
(
ObjectUtil
.
equal
(
status
,
0
)){
dto
.
setStatus
(
2
);
bean
.
setData
(
dto
);
orderChildPaySync
.
extracted
(
orderChild
,
bean
,
""
,
settlementOwnerDetail
,
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
(),
settlementDriverDetail
);
}
else
if
(
ObjectUtil
.
equal
(
status
,
2
)){
// orderChildPaySync.transportOrderChildProcess(orderChild);
dto
.
setStatus
(
2
);
bean
.
setData
(
dto
);
orderChildPaySync
.
extracted
(
orderChild
,
bean
,
""
,
settlementOwnerDetail
,
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
(),
settlementDriverDetail
);
}
else
{
Object
riskReason
=
json
.
getByPath
(
"riskReason"
);
OrderChildSyncTransportInvoiceRecord
entity
=
new
OrderChildSyncTransportInvoiceRecord
();
entity
.
setChildNo
(
json
.
getByPath
(
"childNo"
).
toString
());
entity
.
setType
(
TransportSyncTypeEnum
.
Type
.
NO_PASS
.
getCode
());
entity
.
setRemark
(
riskReason
==
null
?
""
:
riskReason
.
toString
());
orderChildSyncTransportInvoiceRecordDao
.
saveEntity
(
entity
);
}
}
}
orderChildSyncTransportInvoiceRecordDao
.
deleteByKeys
(
ids
);
}
//
@Transactional(rollbackFor = Exception.class)
//
public void orderChildSyncTransportInvoiceExceptionJob() {
//
//只查询同步异常的网络货运任务
//
List<OrderChildSyncTransportInvoiceRecord> recordList = orderChildSyncTransportInvoiceRecordDao.selectListForJob();
//
if (CollectionUtil.isEmpty(recordList)) {
//
return;
//
}
//
List<Integer> ids = new LinkedList<>();
//
//
for (OrderChildSyncTransportInvoiceRecord record : recordList) {
//
log.info("orderChildSyncTransportInvoiceExceptionJob执行:{}", JSONUtil.parse(record));
//
if (record.getCreateTime().plusMinutes(10).isBefore(LocalDateTime.now())) {
//
log.info("当前记录运单号:{},生成不足10分钟,先不执行", record.getChildNo());
//
continue;
//
}
//
//
String data = transportFeignService.getRiskStatus(ThirdOrderChildRiskStatusParam.builder().childNo(record.getChildNo()).build()).getData();
//
String decrypt = ThirdComponent.decrypt(data);
//
Result result = JSONUtil.toBean(decrypt, Result.class);
//
if (result.succeed()) {
//
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(record.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(record.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//
//
JSON json = JSONUtil.parse(result.getData());
//
Object status = json.getByPath("status");
//
ids.add(record.getId());
//
OrderChildSyncDTO bean = new OrderChildSyncDTO();
//
bean.setCode(0);
//
OrderChildSyncResultDTO dto = new OrderChildSyncResultDTO();
//
OrderChild orderChild = orderChildDao.getByChildNo(record.getChildNo()).get();
//
log.info("查询网络货运结果数据:{}", JSONUtil.parse(result));
//
if (ObjectUtil.equal(status, 1)) {
//
dto.setStatus(1);
//
bean.setData(dto);
//
orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail,
//
SettlementOwnerEnum.InvoiceType.ONLINE.getCode(), settlementDriverDetail);
//
} else if (ObjectUtil.equal(status, 0)){
//
dto.setStatus(2);
//
bean.setData(dto);
//
orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail,
//
SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail);
//
//
}else if (ObjectUtil.equal(status, 2)){
//
//
orderChildPaySync.transportOrderChildProcess(orderChild);
//
dto.setStatus(2);
//
bean.setData(dto);
//
orderChildPaySync.extracted(orderChild, bean, "", settlementOwnerDetail,
//
SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementDriverDetail);
//
} else {
//
Object riskReason = json.getByPath("riskReason");
//
OrderChildSyncTransportInvoiceRecord entity = new OrderChildSyncTransportInvoiceRecord();
//
entity.setChildNo(json.getByPath("childNo").toString());
//
entity.setType(TransportSyncTypeEnum.Type.NO_PASS.getCode());
//
entity.setRemark(riskReason == null ? "" : riskReason.toString());
//
orderChildSyncTransportInvoiceRecordDao.saveEntity(entity);
//
}
//
}
//
}
//
//
orderChildSyncTransportInvoiceRecordDao.deleteByKeys(ids);
//
}
}
performance-web/src/main/java/com/clx/performance/job/settlement/SettlementJob.java
浏览文件 @
3a78546d
...
...
@@ -33,8 +33,14 @@ public class SettlementJob {
*/
@XxlJob
(
"settlementInvoiceTypeSync"
)
public
void
settlementInvoiceTypeSync
()
{
// 首次
List
<
OrderChildSyncTransportInvoiceRecord
>
recordList
=
orderChildSyncTransportInvoiceRecordDao
.
selectListForJobOfFirst
();
// 异常
List
<
OrderChildSyncTransportInvoiceRecord
>
recordList1
=
orderChildSyncTransportInvoiceRecordDao
.
selectListForJob
();
recordList
.
addAll
(
recordList1
);
log
.
info
(
"待同步无车承运运单状态,size:{}"
,
recordList
.
size
());
if
(
recordList
.
isEmpty
())
{
return
;}
...
...
performance-web/src/main/java/com/clx/performance/service/PaymentService.java
浏览文件 @
3a78546d
...
...
@@ -23,6 +23,9 @@ public interface PaymentService {
void
updateOrderPaymentFail
(
String
orderNo
,
String
msg
,
Integer
operation
,
String
paymentItem
);
void
updateOrderPaymentSuccess
(
String
orderNo
,
Integer
operation
,
String
paymentItem
);
void
updateOrderPaymentStatusById
(
String
id
,
int
status
);
void
updateOrderPaymentSerialNoSuccess
(
String
orderNo
,
String
serialNo
,
Integer
operation
,
String
paymentItem
);
WalletResidueDTO
getWalletAndCard
(
Integer
userCode
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/PaymentServiceImpl.java
浏览文件 @
3a78546d
...
...
@@ -192,7 +192,7 @@ public class PaymentServiceImpl implements PaymentService {
OrderPayment
orderPayment
=
new
OrderPayment
()
.
setAmount
(
payDTO
.
getFigure
())
.
setOrderNo
(
payDTO
.
getTradeNo
())
.
setRelationNo
(
pay
OrderNoGenerate
())
.
setRelationNo
(
pay
DTO
.
getTradeNo
())
.
setPaymentItem
(
PayUnitTypeEnum
.
FREEZE_PLATFORM_FEE
.
getCode
()
+
""
)
.
setStatus
(
PaymentStatusEnum
.
CREATE
.
getValue
())
.
setOperation
(
PayOperationStatusEnum
.
FREEZE
.
getValue
());
...
...
@@ -243,7 +243,7 @@ public class PaymentServiceImpl implements PaymentService {
saveOrderPayment
(
orderPayment
);
/** 调整冻结记录 **/
FreezeBatchDTO
freezeBatchDTO
=
buildChangeFreezeBatchDTO
(
orderPaymentOptional
,
orderPayment
.
get
RelationNo
()
,
param
.
getFigure
());
FreezeBatchDTO
freezeBatchDTO
=
buildChangeFreezeBatchDTO
(
orderPaymentOptional
,
orderPayment
.
get
Id
()
,
param
.
getFigure
());
log
.
info
(
"发起支付请求日志 {}"
,
freezeBatchDTO
);
Result
<
Object
>
notify
=
(
Result
<
Object
>)
postRequest
(
mslPaymentConfig
.
getHost
()
+
...
...
@@ -391,6 +391,19 @@ public class PaymentServiceImpl implements PaymentService {
orderPaymentDao
.
updateEntityByKey
(
orderPaymentOptional
);
}
@Override
public
void
updateOrderPaymentStatusById
(
String
id
,
Integer
status
)
{
//查询冻结记录
OrderPayment
orderPaymentOptional
=
orderPaymentDao
.
getEntityByKey
(
Integer
.
valueOf
(
id
)).
orNull
();
if
(
null
==
orderPaymentOptional
){
log
.
error
(
"数据不存在 {}, {}"
,
id
);
}
orderPaymentOptional
.
setStatus
(
status
);
orderPaymentDao
.
updateEntityByKey
(
orderPaymentOptional
);
}
@Override
public
void
updateOrderPaymentSerialNoSuccess
(
String
orderNo
,
String
serialNo
,
Integer
operation
,
String
paymentItem
)
{
OrderPayment
orderPaymentOptional
=
...
...
@@ -492,7 +505,7 @@ public class PaymentServiceImpl implements PaymentService {
/**
* 构建 司机平台服务费冻结实体
*/
public
FreezeBatchDTO
buildChangeFreezeBatchDTO
(
OrderPayment
orderPaymentOptional
,
String
orderNo
,
Integer
figure
){
public
FreezeBatchDTO
buildChangeFreezeBatchDTO
(
OrderPayment
orderPaymentOptional
,
Integer
orderNo
,
Integer
figure
){
FreezeBatchDTO
freezeBatchDTO
=
new
FreezeBatchDTO
();
List
<
FreezeUnitDTO
>
FreezeUnitList
=
new
ArrayList
<
FreezeUnitDTO
>();
FreezeUnitDTO
freightPayUnitDTO
=
new
FreezeUnitDTO
();
...
...
@@ -508,7 +521,7 @@ public class PaymentServiceImpl implements PaymentService {
FreezeUnitList
.
add
(
freightPayUnitDTO
);
freezeBatchDTO
.
setFreezeUnitList
(
FreezeUnitList
);
freezeBatchDTO
.
setOrderNo
(
orderNo
);
freezeBatchDTO
.
setOrderNo
(
orderNo
+
""
);
freezeBatchDTO
.
setSystem
(
SystemCodeEnum
.
PERFORMANCE_SERVICE
.
getCode
());
//回调地址
freezeBatchDTO
.
setNotifyUrl
(
mslPaymentConfig
.
getNotifyhost
()
+
NOTIFY_ADJUST_PLATFORM_FEE_URL
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论