Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
dfb730d9
提交
dfb730d9
authored
11月 11, 2023
作者:
aiqingguo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
违约结算单支付
上级
8f60e4ee
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
182 行增加
和
5 行删除
+182
-5
PayNotifyController.java
...x/performance/controller/payment/PayNotifyController.java
+10
-1
BreakContractSettlementDriverDao.java
...e/dao/breakcontract/BreakContractSettlementDriverDao.java
+8
-0
BreakContractSettlementDriverDaoImpl.java
...l/breakcontract/BreakContractSettlementDriverDaoImpl.java
+20
-0
BreakContractSettlementJob.java
...a/com/clx/performance/job/BreakContractSettlementJob.java
+49
-0
BreakContractJobHandlerService.java
...service/breakcontract/BreakContractJobHandlerService.java
+7
-0
BreakContractMqHandlerService.java
.../service/breakcontract/BreakContractMqHandlerService.java
+3
-0
BreakContractJobHandlerServiceImpl.java
...mpl/breakcontract/BreakContractJobHandlerServiceImpl.java
+55
-0
BreakContractMqHandlerServiceImpl.java
...impl/breakcontract/BreakContractMqHandlerServiceImpl.java
+30
-4
没有找到文件。
performance-web/src/main/java/com/clx/performance/controller/payment/PayNotifyController.java
浏览文件 @
dfb730d9
package
com
.
clx
.
performance
.
controller
.
payment
;
package
com
.
clx
.
performance
.
controller
.
payment
;
import
com.clx.performance.param.pay.NotifyString
;
import
com.clx.performance.param.pay.NotifyString
;
import
com.clx.performance.service.breakcontract.BreakContractMqHandlerService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.msl.common.result.Result
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Objects
;
import
java.util.Objects
;
...
@@ -19,8 +21,11 @@ import java.util.Objects;
...
@@ -19,8 +21,11 @@ import java.util.Objects;
@Api
(
tags
=
"承运端-支付回调"
)
@Api
(
tags
=
"承运端-支付回调"
)
@AllArgsConstructor
@AllArgsConstructor
public
class
PayNotifyController
{
public
class
PayNotifyController
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
private
final
SettlementMqHandlerService
settlementMqHandlerService
;
@Autowired
private
BreakContractMqHandlerService
breakContractMqHandlerService
;
@ApiOperation
(
value
=
"用户支付完成回调接口"
,
notes
=
" <br>By:胡宁宁"
)
@ApiOperation
(
value
=
"用户支付完成回调接口"
,
notes
=
" <br>By:胡宁宁"
)
@RequestMapping
(
value
=
"/userPayNotify"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/userPayNotify"
,
method
=
RequestMethod
.
POST
)
...
@@ -51,9 +56,13 @@ public class PayNotifyController {
...
@@ -51,9 +56,13 @@ public class PayNotifyController {
return
new
Result
<>();
return
new
Result
<>();
}
}
if
(
notify
.
getCode
()
!=
0
)
{
if
(
notify
.
getCode
()
!=
0
)
{
breakContractMqHandlerService
.
paySuccess
(
notify
.
getOrderNo
());
// 支付失败处理
// 支付失败处理
log
.
info
(
"支付失败处理 唯一id {}"
,
notify
.
getOrderNo
());
log
.
info
(
"支付失败处理 唯一id {}"
,
notify
.
getOrderNo
());
}
else
{
}
else
{
breakContractMqHandlerService
.
payFail
(
notify
.
getOrderNo
());
// 支付支付成功处理
// 支付支付成功处理
log
.
info
(
" 支付支付成功处理 唯一id {}"
,
notify
.
getOrderNo
());
log
.
info
(
" 支付支付成功处理 唯一id {}"
,
notify
.
getOrderNo
());
}
}
...
...
performance-web/src/main/java/com/clx/performance/dao/breakcontract/BreakContractSettlementDriverDao.java
浏览文件 @
dfb730d9
...
@@ -8,6 +8,9 @@ import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContra
...
@@ -8,6 +8,9 @@ import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContra
import
com.msl.common.base.Optional
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
import
com.msl.common.dao.BaseDao
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
/**
* @author liruixin
* @author liruixin
* Date 2023-10-24
* Date 2023-10-24
...
@@ -15,8 +18,13 @@ import com.msl.common.dao.BaseDao;
...
@@ -15,8 +18,13 @@ import com.msl.common.dao.BaseDao;
*/
*/
public
interface
BreakContractSettlementDriverDao
extends
BaseDao
<
BreakContractSettlementDriverMapper
,
BreakContractSettlementDriver
,
Integer
>
{
public
interface
BreakContractSettlementDriverDao
extends
BaseDao
<
BreakContractSettlementDriverMapper
,
BreakContractSettlementDriver
,
Integer
>
{
boolean
updateSettlementStatus
(
BreakContractSettlementDriver
item
);
Optional
<
BreakContractSettlementDriver
>
selectBySettlementNo
(
String
settlementNo
);
Optional
<
BreakContractSettlementDriver
>
selectBySettlementNo
(
String
settlementNo
);
IPage
<
BreakContractSettlementDriver
>
pageCarrierBreakContractSettlementDriverList
(
PageCarrierBreakContractSettlementDriverParam
param
);
IPage
<
BreakContractSettlementDriver
>
pageCarrierBreakContractSettlementDriverList
(
PageCarrierBreakContractSettlementDriverParam
param
);
List
<
BreakContractSettlementDriver
>
listUnpay
(
LocalDateTime
beginTime
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/breakcontract/BreakContractSettlementDriverDaoImpl.java
浏览文件 @
dfb730d9
...
@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...
@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.breakcontract.BreakContractSettlementDriverDao
;
import
com.clx.performance.dao.breakcontract.BreakContractSettlementDriverDao
;
import
com.clx.performance.enums.BreakContractSettlementDriverEnum
;
import
com.clx.performance.mapper.breakcontract.BreakContractSettlementDriverMapper
;
import
com.clx.performance.mapper.breakcontract.BreakContractSettlementDriverMapper
;
import
com.clx.performance.model.breakcontract.BreakContractDriverRecord
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementDriver
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementDriver
;
import
com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam
;
import
com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam
;
import
com.msl.common.base.Optional
;
import
com.msl.common.base.Optional
;
...
@@ -13,6 +15,8 @@ import com.msl.common.dao.impl.BaseDaoImpl;
...
@@ -13,6 +15,8 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
/**
/**
...
@@ -22,6 +26,14 @@ import java.util.Objects;
...
@@ -22,6 +26,14 @@ import java.util.Objects;
*/
*/
@Repository
@Repository
public
class
BreakContractSettlementDriverDaoImpl
extends
BaseDaoImpl
<
BreakContractSettlementDriverMapper
,
BreakContractSettlementDriver
,
Integer
>
implements
BreakContractSettlementDriverDao
{
public
class
BreakContractSettlementDriverDaoImpl
extends
BaseDaoImpl
<
BreakContractSettlementDriverMapper
,
BreakContractSettlementDriver
,
Integer
>
implements
BreakContractSettlementDriverDao
{
@Override
public
boolean
updateSettlementStatus
(
BreakContractSettlementDriver
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
BreakContractSettlementDriver:
:
getId
,
item
.
getId
())
.
set
(
BreakContractSettlementDriver:
:
getSettleStatus
,
item
.
getSettleStatus
())
);
}
@Override
@Override
public
Optional
<
BreakContractSettlementDriver
>
selectBySettlementNo
(
String
settlementNo
)
{
public
Optional
<
BreakContractSettlementDriver
>
selectBySettlementNo
(
String
settlementNo
)
{
return
Optional
.
of
(
settlementNo
)
return
Optional
.
of
(
settlementNo
)
...
@@ -47,4 +59,12 @@ public class BreakContractSettlementDriverDaoImpl extends BaseDaoImpl<BreakContr
...
@@ -47,4 +59,12 @@ public class BreakContractSettlementDriverDaoImpl extends BaseDaoImpl<BreakContr
return
baseMapper
.
selectPage
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
query
);
return
baseMapper
.
selectPage
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
query
);
}
}
@Override
public
List
<
BreakContractSettlementDriver
>
listUnpay
(
LocalDateTime
beginTime
)
{
return
list
(
lQrWrapper
()
.
eq
(
BreakContractSettlementDriver:
:
getSettleStatus
,
BreakContractSettlementDriverEnum
.
SettleStatus
.
NO
.
getCode
())
.
gt
(
BreakContractSettlementDriver:
:
getCreateTime
,
beginTime
)
);
}
}
}
performance-web/src/main/java/com/clx/performance/job/BreakContractSettlementJob.java
0 → 100644
浏览文件 @
dfb730d9
package
com
.
clx
.
performance
.
job
;
import
com.clx.performance.dao.breakcontract.BreakContractSettlementDriverDao
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementDriver
;
import
com.clx.performance.service.breakcontract.BreakContractJobHandlerService
;
import
com.clx.performance.utils.JobHandlerService
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Slf4j
@Component
public
class
BreakContractSettlementJob
{
@Autowired
private
JobHandlerService
jobHandlerService
;
@Autowired
private
BreakContractSettlementDriverDao
breakContractSettlementDriverDao
;
@Autowired
private
BreakContractJobHandlerService
breakContractJobHandlerService
;
/**
* 违约结算单支付 (每10分钟)
* @Scheduled(cron = "0 0/10 * * * ?")
*/
@XxlJob
(
"breakContractSettlementPay"
)
public
void
breakContractSettlementPay
()
{
LocalDateTime
beginTime
=
LocalDateTime
.
now
().
minusHours
(
1
);
jobHandlerService
.
handler
(
"违约结算单-支付"
,
()->{
List
<
BreakContractSettlementDriver
>
list
=
breakContractSettlementDriverDao
.
listUnpay
(
beginTime
);
log
.
info
(
"违约结算单支付,数量:{}"
,
list
.
size
());
for
(
BreakContractSettlementDriver
item
:
list
)
{
jobHandlerService
.
subHandler
(
"违约结算单-支付"
,
item
.
getId
(),
breakContractJobHandlerService:
:
pay
);
}
});
}
}
performance-web/src/main/java/com/clx/performance/service/breakcontract/BreakContractJobHandlerService.java
0 → 100644
浏览文件 @
dfb730d9
package
com
.
clx
.
performance
.
service
.
breakcontract
;
public
interface
BreakContractJobHandlerService
{
void
pay
(
Integer
settlementId
);
}
performance-web/src/main/java/com/clx/performance/service/breakcontract/BreakContractMqHandlerService.java
浏览文件 @
dfb730d9
...
@@ -9,4 +9,7 @@ public interface BreakContractMqHandlerService {
...
@@ -9,4 +9,7 @@ public interface BreakContractMqHandlerService {
void
driverRecordAdd
(
BreakContractDriverRecordAddMqParam
mq
);
void
driverRecordAdd
(
BreakContractDriverRecordAddMqParam
mq
);
void
paySuccess
(
String
settlementNo
);
void
payFail
(
String
settlementNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractJobHandlerServiceImpl.java
0 → 100644
浏览文件 @
dfb730d9
package
com
.
clx
.
performance
.
service
.
impl
.
breakcontract
;
import
com.clx.performance.dao.breakcontract.BreakContractSettlementDriverDao
;
import
com.clx.performance.enums.BreakContractSettlementDriverEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.breakcontract.BreakContractSettlementDriver
;
import
com.clx.performance.service.breakcontract.BreakContractJobHandlerService
;
import
com.clx.performance.service.payment.PayService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
@Slf4j
@Service
public
class
BreakContractJobHandlerServiceImpl
implements
BreakContractJobHandlerService
{
@Autowired
private
BreakContractSettlementDriverDao
breakContractSettlementDriverDao
;
@Autowired
private
PayService
payService
;
@Override
public
void
pay
(
Integer
settlementId
){
BreakContractSettlementDriver
breakContractSettlementDriver
=
breakContractSettlementDriverDao
.
getEntityByKey
(
settlementId
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
breakContractSettlementDriver
.
getSettleStatus
(),
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
)){
return
;
}
pay
(
breakContractSettlementDriver
);
}
/**
* 支付
*/
private
void
pay
(
BreakContractSettlementDriver
settlement
){
// 车主
if
(
Objects
.
equals
(
settlement
.
getBreakContractPartyType
(),
BreakContractSettlementDriverEnum
.
BreakContractPartyType
.
DRIVER
.
getCode
())){
payService
.
driverPay
(
settlement
.
getSettlementNo
(),
settlement
.
getTruckOwnUserNo
(),
settlement
.
getFigure
().
intValue
());
}
// 平台
else
if
(
Objects
.
equals
(
settlement
.
getBreakContractPartyType
(),
BreakContractSettlementDriverEnum
.
BreakContractPartyType
.
PLATFORM
.
getCode
()))
{
payService
.
payDriver
(
settlement
.
getSettlementNo
(),
settlement
.
getTruckOwnUserNo
(),
settlement
.
getFigure
().
intValue
());
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractMqHandlerServiceImpl.java
浏览文件 @
dfb730d9
...
@@ -113,7 +113,7 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
...
@@ -113,7 +113,7 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
settlement
.
setChildNo
(
detail
.
getChildNo
());
settlement
.
setChildNo
(
detail
.
getChildNo
());
settlement
.
setFigure
(
detail
.
getFigure
());
settlement
.
setFigure
(
detail
.
getFigure
());
settlement
.
setBreakContractRemark
(
detail
.
getBreakContractRemark
());
settlement
.
setBreakContractRemark
(
detail
.
getBreakContractRemark
());
settlement
.
setSettleStatus
(
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
.
getCode
());
settlement
.
setSettleStatus
(
BreakContractSettlementDriverEnum
.
SettleStatus
.
NO
.
getCode
());
settlement
.
setCreateBy
(
detail
.
getCreateBy
());
settlement
.
setCreateBy
(
detail
.
getCreateBy
());
settlement
.
setCreateName
(
detail
.
getCreateName
());
settlement
.
setCreateName
(
detail
.
getCreateName
());
settlement
.
setSettlePlatform
(
BreakContractSettlementDriverEnum
.
SettlePlatform
.
MSL
.
getCode
());
settlement
.
setSettlePlatform
(
BreakContractSettlementDriverEnum
.
SettlePlatform
.
MSL
.
getCode
());
...
@@ -124,9 +124,6 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
...
@@ -124,9 +124,6 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
breakContractSettlementDriverDao
.
saveEntity
(
settlement
);
breakContractSettlementDriverDao
.
saveEntity
(
settlement
);
// 支付
pay
(
settlement
);
//保存结算单日志----创建结算单
//保存结算单日志----创建结算单
breakContractSettlementLogService
.
saveBreakSettlementLog
(
settlementNo
,
breakContractSettlementLogService
.
saveBreakSettlementLog
(
settlementNo
,
BreakContractSettlementLogEnum
.
Type
.
CREATE_SETTLEMENT
.
getCode
(),
BreakContractSettlementLogEnum
.
Type
.
CREATE_SETTLEMENT
.
getMsg
(),
BreakContractSettlementLogEnum
.
Type
.
CREATE_SETTLEMENT
.
getCode
(),
BreakContractSettlementLogEnum
.
Type
.
CREATE_SETTLEMENT
.
getMsg
(),
...
@@ -151,7 +148,36 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
...
@@ -151,7 +148,36 @@ public class BreakContractMqHandlerServiceImpl implements BreakContractMqHandler
// 平台
// 平台
else
if
(
Objects
.
equals
(
settlement
.
getBreakContractPartyType
(),
BreakContractSettlementDriverEnum
.
BreakContractPartyType
.
PLATFORM
.
getCode
()))
{
else
if
(
Objects
.
equals
(
settlement
.
getBreakContractPartyType
(),
BreakContractSettlementDriverEnum
.
BreakContractPartyType
.
PLATFORM
.
getCode
()))
{
payService
.
payDriver
(
settlement
.
getSettlementNo
(),
settlement
.
getTruckOwnUserNo
(),
settlement
.
getFigure
().
intValue
());
payService
.
payDriver
(
settlement
.
getSettlementNo
(),
settlement
.
getTruckOwnUserNo
(),
settlement
.
getFigure
().
intValue
());
}
}
@Override
public
void
paySuccess
(
String
settlementNo
){
log
.
info
(
"违约结算单支付回调, settlementNo:{}"
,
settlementNo
);
BreakContractSettlementDriver
breakContractSettlementDriver
=
breakContractSettlementDriverDao
.
selectBySettlementNo
(
settlementNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
breakContractSettlementDriver
.
getSettleStatus
(),
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
.
getCode
())){
log
.
info
(
"违约结算单支付回调, 结算单已支付, settlementNo:{}"
,
settlementNo
);
return
;
}
breakContractSettlementDriver
.
setSettleStatus
(
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
.
getCode
());
breakContractSettlementDriverDao
.
updateSettlementStatus
(
breakContractSettlementDriver
);
//保存结算单日志
breakContractSettlementLogService
.
saveBreakSettlementLog
(
settlementNo
,
BreakContractSettlementLogEnum
.
Type
.
COMPLETED
.
getCode
(),
BreakContractSettlementLogEnum
.
Type
.
COMPLETED
.
getMsg
(),
OrderChildLogEnum
.
CreateType
.
PLATFORM
.
getCode
(),
0L
,
"系统"
);
}
@Override
public
void
payFail
(
String
settlementNo
)
{
log
.
info
(
"违约结算单支付失败回调, settlementNo:{}"
,
settlementNo
);
BreakContractSettlementDriver
breakContractSettlementDriver
=
breakContractSettlementDriverDao
.
selectBySettlementNo
(
settlementNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
Objects
.
equals
(
breakContractSettlementDriver
.
getSettleStatus
(),
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
.
getCode
())){
log
.
info
(
"违约结算单支付失败回调, 结算单已支付, settlementNo:{}"
,
settlementNo
);
return
;
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论