Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
d92a69d0
提交
d92a69d0
authored
12月 22, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
APP司机账户
上级
7dc98e68
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
183 行增加
和
106 行删除
+183
-106
NetworkDriverAccountEnum.java
...a/com/clx/performance/enums/NetworkDriverAccountEnum.java
+21
-0
NetworkCaseOutRecordVO.java
...ava/com/clx/performance/vo/pc/NetworkCaseOutRecordVO.java
+6
-21
NetworkCaseOutRecordDaoImpl.java
...formance/dao/impl/settle/NetworkCaseOutRecordDaoImpl.java
+8
-0
NetworkCaseOutRecordDao.java
...m/clx/performance/dao/settle/NetworkCaseOutRecordDao.java
+2
-0
NetworkCaseOutRecord.java
...om/clx/performance/model/settle/NetworkCaseOutRecord.java
+11
-29
NetworkDriverRunningWaterRecordServiceImpl.java
...pl/settle/NetworkDriverRunningWaterRecordServiceImpl.java
+56
-6
OrderChildSyncTransportRecordServiceImpl.java
...impl/settle/OrderChildSyncTransportRecordServiceImpl.java
+8
-0
SettlementServiceImpl.java
...erformance/service/impl/settle/SettlementServiceImpl.java
+61
-43
NetworkDriverRunningWaterRecordService.java
...ervice/settle/NetworkDriverRunningWaterRecordService.java
+7
-4
NetworkCaseOutRecordProvider.java
...ance/sqlProvider/settle/NetworkCaseOutRecordProvider.java
+3
-3
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/NetworkDriverAccountEnum.java
浏览文件 @
d92a69d0
...
@@ -58,4 +58,25 @@ public enum NetworkDriverAccountEnum {
...
@@ -58,4 +58,25 @@ public enum NetworkDriverAccountEnum {
return
this
.
msg
;
return
this
.
msg
;
}
}
}
}
@Getter
@AllArgsConstructor
public
enum
CaseOutRecordStatus
{
WAIT_PLATFORM_PAY
(
10
,
"待平台付款"
),
PAYED
(
20
,
"已付款"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
CaseOutRecordStatus
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
Integer
getCode
()
{
return
this
.
code
;
}
public
String
getMsg
()
{
return
this
.
msg
;
}
}
}
}
performance-api/src/main/java/com/clx/performance/vo/pc/NetworkCaseOutRecordVO.java
浏览文件 @
d92a69d0
...
@@ -44,39 +44,24 @@ public class NetworkCaseOutRecordVO {
...
@@ -44,39 +44,24 @@ public class NetworkCaseOutRecordVO {
@ApiModelProperty
(
"状态 10:待平台付款 20:已付款"
)
@ApiModelProperty
(
"状态 10:待平台付款 20:已付款"
)
private
Integer
status
;
private
Integer
status
;
@ApiModelProperty
(
"状态简介"
)
private
String
statusMsg
;
@ApiModelProperty
(
"平台"
)
@ApiModelProperty
(
"平台"
)
private
String
platform
;
private
String
platform
;
@ApiModelProperty
(
""
)
private
Long
relationId
;
@ApiModelProperty
(
"订单ID"
)
private
Integer
orderId
;
@ApiModelProperty
(
"订单编号"
)
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
private
String
orderNo
;
@ApiModelProperty
(
"
运单ID
"
)
@ApiModelProperty
(
"
货单编号
"
)
private
Integer
orderChildId
;
private
String
orderGoodsNo
;
@ApiModelProperty
(
"运单编号"
)
@ApiModelProperty
(
"运单编号"
)
private
String
orderC
hildNo
;
private
String
c
hildNo
;
@ApiModelProperty
(
"变动金额"
)
@ApiModelProperty
(
"变动金额"
)
private
BigDecimal
alterationBalance
;
private
BigDecimal
alterationBalance
;
@ApiModelProperty
(
"冻结金额"
)
private
BigDecimal
frozenBalance
;
@ApiModelProperty
(
"可用余额"
)
private
BigDecimal
usableBalance
;
@ApiModelProperty
(
"账户余额"
)
private
BigDecimal
accountBalance
;
@ApiModelProperty
(
"扣除金额"
)
private
BigDecimal
takeOutBalance
;
@ApiModelProperty
(
"操作人"
)
@ApiModelProperty
(
"操作人"
)
private
String
createBy
;
private
String
createBy
;
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/NetworkCaseOutRecordDaoImpl.java
浏览文件 @
d92a69d0
...
@@ -25,4 +25,12 @@ public class NetworkCaseOutRecordDaoImpl extends BaseDaoImpl<NetworkCaseOutRecor
...
@@ -25,4 +25,12 @@ public class NetworkCaseOutRecordDaoImpl extends BaseDaoImpl<NetworkCaseOutRecor
Page
<
OwnerAccountVO
>
page
=
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
());
Page
<
OwnerAccountVO
>
page
=
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
());
return
baseMapper
.
networkCaseOutRecord
(
page
,
param
);
return
baseMapper
.
networkCaseOutRecord
(
page
,
param
);
}
}
@Override
public
void
updateStatus
(
String
childNo
,
Integer
code
,
String
msg
)
{
update
(
lUdWrapper
().
eq
(
NetworkCaseOutRecord:
:
getChildNo
,
childNo
)
.
set
(
NetworkCaseOutRecord:
:
getStatus
,
code
)
.
set
(
NetworkCaseOutRecord:
:
getStatusMsg
,
msg
)
);
}
}
}
performance-web/src/main/java/com/clx/performance/dao/settle/NetworkCaseOutRecordDao.java
浏览文件 @
d92a69d0
...
@@ -17,4 +17,6 @@ public interface NetworkCaseOutRecordDao extends BaseDao<NetworkCaseOutRecordMap
...
@@ -17,4 +17,6 @@ public interface NetworkCaseOutRecordDao extends BaseDao<NetworkCaseOutRecordMap
IPage
<
NetworkCaseOutRecordVO
>
networkCaseOutRecord
(
PageNetworkCaseOutRecordListParam
param
);
IPage
<
NetworkCaseOutRecordVO
>
networkCaseOutRecord
(
PageNetworkCaseOutRecordListParam
param
);
void
updateStatus
(
String
childNo
,
Integer
code
,
String
msg
);
}
}
performance-web/src/main/java/com/clx/performance/model/settle/NetworkCaseOutRecord.java
浏览文件 @
d92a69d0
...
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
...
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
com.msl.common.model.HasKey
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Builder
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
...
@@ -23,6 +24,7 @@ import java.time.LocalDateTime;
...
@@ -23,6 +24,7 @@ import java.time.LocalDateTime;
@Setter
@Setter
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"network_case_out_record"
)
@TableName
(
"network_case_out_record"
)
@Builder
public
class
NetworkCaseOutRecord
implements
HasKey
<
Integer
>
{
public
class
NetworkCaseOutRecord
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
...
@@ -60,50 +62,30 @@ public class NetworkCaseOutRecord implements HasKey<Integer> {
...
@@ -60,50 +62,30 @@ public class NetworkCaseOutRecord implements HasKey<Integer> {
@ApiModelProperty
(
"状态 10:待平台付款 20:已付款"
)
@ApiModelProperty
(
"状态 10:待平台付款 20:已付款"
)
private
Integer
status
;
private
Integer
status
;
@TableField
(
"status_msg"
)
@ApiModelProperty
(
"状态简介"
)
private
String
statusMsg
;
@TableField
(
"platform"
)
@TableField
(
"platform"
)
@ApiModelProperty
(
"平台"
)
@ApiModelProperty
(
"平台"
)
private
String
platform
;
private
String
platform
;
@TableField
(
"relation_id"
)
@ApiModelProperty
(
""
)
private
Long
relationId
;
@TableField
(
"order_id"
)
@ApiModelProperty
(
"订单ID"
)
private
Integer
orderId
;
@TableField
(
"order_no"
)
@TableField
(
"order_no"
)
@ApiModelProperty
(
"订单编号"
)
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
private
String
orderNo
;
@TableField
(
"order_
child_id
"
)
@TableField
(
"order_
goods_no
"
)
@ApiModelProperty
(
"
运单ID
"
)
@ApiModelProperty
(
"
货单编号
"
)
private
Integer
orderChildId
;
private
String
orderGoodsNo
;
@TableField
(
"
order_
child_no"
)
@TableField
(
"child_no"
)
@ApiModelProperty
(
"运单编号"
)
@ApiModelProperty
(
"运单编号"
)
private
String
orderC
hildNo
;
private
String
c
hildNo
;
@TableField
(
"alteration_balance"
)
@TableField
(
"alteration_balance"
)
@ApiModelProperty
(
"变动金额"
)
@ApiModelProperty
(
"变动金额"
)
private
BigDecimal
alterationBalance
;
private
BigDecimal
alterationBalance
;
@TableField
(
"frozen_balance"
)
@ApiModelProperty
(
"冻结金额"
)
private
BigDecimal
frozenBalance
;
@TableField
(
"usable_balance"
)
@ApiModelProperty
(
"可用余额"
)
private
BigDecimal
usableBalance
;
@TableField
(
"account_balance"
)
@ApiModelProperty
(
"账户余额"
)
private
BigDecimal
accountBalance
;
@TableField
(
"take_out_balance"
)
@ApiModelProperty
(
"扣除金额"
)
private
BigDecimal
takeOutBalance
;
@TableField
(
"create_by"
)
@TableField
(
"create_by"
)
@ApiModelProperty
(
"操作人"
)
@ApiModelProperty
(
"操作人"
)
private
String
createBy
;
private
String
createBy
;
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/NetworkDriverRunningWaterRecordServiceImpl.java
浏览文件 @
d92a69d0
...
@@ -2,16 +2,24 @@ package com.clx.performance.service.impl.settle;
...
@@ -2,16 +2,24 @@ package com.clx.performance.service.impl.settle;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.dao.settle.NetworkCaseOutRecordDao
;
import
com.clx.performance.dao.settle.NetworkDriverAccountDao
;
import
com.clx.performance.dao.settle.NetworkDriverAccountDao
;
import
com.clx.performance.dao.settle.NetworkDriverRunningWaterRecordDao
;
import
com.clx.performance.dao.settle.NetworkDriverRunningWaterRecordDao
;
import
com.clx.performance.enums.NetworkDriverAccountEnum
;
import
com.clx.performance.enums.NetworkDriverAccountEnum
;
import
com.clx.performance.model.settle.NetworkCaseOutRecord
;
import
com.clx.performance.model.settle.NetworkDriverAccount
;
import
com.clx.performance.model.settle.NetworkDriverAccount
;
import
com.clx.performance.model.settle.NetworkDriverRunningWaterRecord
;
import
com.clx.performance.model.settle.NetworkDriverRunningWaterRecord
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.param.app.NetworkDriverPageParam
;
import
com.clx.performance.param.app.NetworkDriverPageParam
;
import
com.clx.performance.param.pc.PageNetworkAccountInfoListParam
;
import
com.clx.performance.param.pc.PageNetworkAccountInfoListParam
;
import
com.clx.performance.service.settle.NetworkDriverRunningWaterRecordService
;
import
com.clx.performance.service.settle.NetworkDriverRunningWaterRecordService
;
import
com.clx.performance.vo.app.APPNetworkDriverRunningWaterRecordVO
;
import
com.clx.performance.vo.app.APPNetworkDriverRunningWaterRecordVO
;
import
com.clx.performance.vo.pc.NetworkDriverRunningWaterRecordVO
;
import
com.clx.performance.vo.pc.NetworkDriverRunningWaterRecordVO
;
import
com.clx.user.feign.DriverFeign
;
import
com.clx.user.vo.feign.BankCardVO
;
import
com.msl.common.base.Optional
;
import
com.msl.common.enums.ResultCodeEnum
;
import
com.msl.common.result.Result
;
import
com.msl.user.utils.TokenUtil
;
import
com.msl.user.utils.TokenUtil
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -35,7 +43,7 @@ import java.util.function.BiConsumer;
...
@@ -35,7 +43,7 @@ import java.util.function.BiConsumer;
@Slf4j
@Slf4j
public
class
NetworkDriverRunningWaterRecordServiceImpl
implements
NetworkDriverRunningWaterRecordService
,
InitializingBean
{
public
class
NetworkDriverRunningWaterRecordServiceImpl
implements
NetworkDriverRunningWaterRecordService
,
InitializingBean
{
private
final
static
Map
<
Integer
,
BiConsumer
<
NetworkDriverAccount
,
BigDecimal
>>
strategyMap
=
new
HashMap
<>();
private
final
static
Map
<
Integer
,
BiConsumer
<
Long
,
BigDecimal
>>
strategyMap
=
new
HashMap
<>();
private
final
NetworkDriverRunningWaterRecordDao
networkDriverRunningWaterRecordDao
;
private
final
NetworkDriverRunningWaterRecordDao
networkDriverRunningWaterRecordDao
;
...
@@ -43,14 +51,25 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
...
@@ -43,14 +51,25 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
private
final
IdGenerateSnowFlake
idGenerateSnowFlake
;
private
final
IdGenerateSnowFlake
idGenerateSnowFlake
;
private
final
DriverFeign
driverFeign
;
private
final
NetworkCaseOutRecordDao
networkCaseOutRecordDao
;
@Override
@Override
public
IPage
<
NetworkDriverRunningWaterRecordVO
>
networkDriverRunningWaterRecordList
(
PageNetworkAccountInfoListParam
param
)
{
public
IPage
<
NetworkDriverRunningWaterRecordVO
>
networkDriverRunningWaterRecordList
(
PageNetworkAccountInfoListParam
param
)
{
return
networkDriverRunningWaterRecordDao
.
networkDriverRunningWaterRecordDao
(
param
);
return
networkDriverRunningWaterRecordDao
.
networkDriverRunningWaterRecordDao
(
param
);
}
}
/**
* 运单同步网络货运生成司机运单结算流水
* @param userNo
* @param money
*/
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
generateSettlementRunningWaterRecord
(
NetworkDriverAccount
networkDriverAccount
,
BigDecimal
money
)
{
public
void
generateSettlementRunningWaterRecord
(
Long
userNo
,
BigDecimal
money
)
{
NetworkDriverAccount
networkDriverAccount
=
networkDriverAccountDao
.
getOneByField
(
NetworkDriverAccount:
:
getDriverUserNo
,
userNo
).
get
();
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
.
usableBalance
(
money
)
.
usableBalance
(
money
)
.
frozenBalance
(
BigDecimal
.
ZERO
)
.
frozenBalance
(
BigDecimal
.
ZERO
)
...
@@ -82,8 +101,15 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
...
@@ -82,8 +101,15 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
}
}
/**
* 运单同步网络货运后司机运单提现冻结流水
* @param userNo
* @param money
*/
@Override
@Override
public
void
generateCaseOutFrozenRunningWaterRecord
(
NetworkDriverAccount
networkDriverAccount
,
BigDecimal
money
)
{
public
void
generateCaseOutFrozenRunningWaterRecord
(
Long
userNo
,
BigDecimal
money
)
{
NetworkDriverAccount
networkDriverAccount
=
networkDriverAccountDao
.
getOneByField
(
NetworkDriverAccount:
:
getDriverUserNo
,
userNo
).
get
();
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
.
frozenBalance
(
money
)
.
frozenBalance
(
money
)
.
accountBalance
(
BigDecimal
.
ZERO
)
.
accountBalance
(
BigDecimal
.
ZERO
)
...
@@ -115,7 +141,9 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
...
@@ -115,7 +141,9 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
}
}
@Override
@Override
public
void
generateCaseOutSuccessRunningWaterRecord
(
NetworkDriverAccount
networkDriverAccount
,
BigDecimal
money
)
{
public
void
generateCaseOutSuccessRunningWaterRecord
(
Long
userNo
,
BigDecimal
money
)
{
NetworkDriverAccount
networkDriverAccount
=
networkDriverAccountDao
.
getOneByField
(
NetworkDriverAccount:
:
getDriverUserNo
,
userNo
).
get
();
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
.
frozenBalance
(
money
.
negate
())
.
frozenBalance
(
money
.
negate
())
.
usableBalance
(
BigDecimal
.
ZERO
)
.
usableBalance
(
BigDecimal
.
ZERO
)
...
@@ -147,8 +175,11 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
...
@@ -147,8 +175,11 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
}
}
@Override
@Override
public
void
generateNetworkDriverRunningWaterRecord
(
NetworkDriverAccount
networkDriverAccount
,
BigDecimal
money
,
Integer
runningWaterType
)
{
public
void
generateNetworkDriverRunningWaterRecord
(
Long
userNo
,
BigDecimal
money
,
Integer
runningWaterType
)
{
strategyMap
.
get
(
runningWaterType
).
accept
(
networkDriverAccount
,
money
);
if
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
SETTLEMENT
.
getCode
().
equals
(
runningWaterType
))
{
strategyMap
.
get
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
SETTLEMENT
.
getCode
()).
accept
(
userNo
,
money
);
strategyMap
.
get
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
CASE_OUT_FROZEN
.
getCode
()).
accept
(
userNo
,
money
);
}
}
}
@Override
@Override
...
@@ -165,6 +196,24 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
...
@@ -165,6 +196,24 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
return
networkDriverRunningWaterRecordDao
.
runningWaterList
(
param
);
return
networkDriverRunningWaterRecordDao
.
runningWaterList
(
param
);
}
}
@Override
public
void
generateNetworkCaseOutRecord
(
SettlementDriverDetail
settlementDriverDetail
)
{
BankCardVO
bankCardVO
=
Optional
.
ofNullable
(
driverFeign
.
getDriverCardInfo
(
settlementDriverDetail
.
getDriverUserNo
()))
.
filter
(
Result:
:
succeed
).
map
(
Result:
:
getData
).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
NetworkCaseOutRecord
build
=
NetworkCaseOutRecord
.
builder
()
.
caseOutNo
(
idGenerateSnowFlake
.
nextId
(
4L
))
.
driverUserNo
(
settlementDriverDetail
.
getDriverUserNo
())
.
driverUserName
(
settlementDriverDetail
.
getDriverName
()).
mobile
(
bankCardVO
.
getMobile
())
.
status
(
NetworkDriverAccountEnum
.
CaseOutRecordStatus
.
WAIT_PLATFORM_PAY
.
getCode
())
.
statusMsg
(
NetworkDriverAccountEnum
.
CaseOutRecordStatus
.
WAIT_PLATFORM_PAY
.
getMsg
())
.
bank
(
bankCardVO
.
getBank
()).
collectionBankCode
(
bankCardVO
.
getBankCode
())
.
payee
(
bankCardVO
.
getName
()).
alterationBalance
(
settlementDriverDetail
.
getPrepayFreight
())
.
orderNo
(
settlementDriverDetail
.
getOrderNo
()).
orderGoodsNo
(
settlementDriverDetail
.
getOrderGoodsNo
())
.
childNo
(
settlementDriverDetail
.
getChildNo
())
.
platform
(
"网运平台"
).
createBy
(
"系统"
).
build
();
networkCaseOutRecordDao
.
saveEntity
(
build
);
}
@Override
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
public
void
afterPropertiesSet
()
throws
Exception
{
strategyMap
.
put
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
SETTLEMENT
.
getCode
(),
this
::
generateSettlementRunningWaterRecord
);
strategyMap
.
put
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
SETTLEMENT
.
getCode
(),
this
::
generateSettlementRunningWaterRecord
);
...
@@ -172,3 +221,4 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
...
@@ -172,3 +221,4 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
strategyMap
.
put
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
CASE_OUT_SUCCESS
.
getCode
(),
this
::
generateCaseOutSuccessRunningWaterRecord
);
strategyMap
.
put
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
CASE_OUT_SUCCESS
.
getCode
(),
this
::
generateCaseOutSuccessRunningWaterRecord
);
}
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/OrderChildSyncTransportRecordServiceImpl.java
浏览文件 @
d92a69d0
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.dao.settle.NetworkCaseOutRecordDao
;
import
com.clx.performance.dao.settle.OrderChildSyncTransportRecordDao
;
import
com.clx.performance.dao.settle.OrderChildSyncTransportRecordDao
;
import
com.clx.performance.dto.PayStatusNotifyDTO
;
import
com.clx.performance.dto.PayStatusNotifyDTO
;
import
com.clx.performance.enums.NetworkDriverAccountEnum
;
import
com.clx.performance.model.settle.OrderChildSyncTransportRecord
;
import
com.clx.performance.model.settle.OrderChildSyncTransportRecord
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.service.settle.OrderChildSyncTransportRecordService
;
import
com.clx.performance.service.settle.OrderChildSyncTransportRecordService
;
...
@@ -25,6 +27,8 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
...
@@ -25,6 +27,8 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
private
final
SettlementDriverDetailStruct
struct
;
private
final
SettlementDriverDetailStruct
struct
;
private
final
NetworkCaseOutRecordDao
networkCaseOutRecordDao
;
@Override
@Override
public
void
addOrderChildSyncTransportRecord
(
SettlementDriverDetail
detail
)
{
public
void
addOrderChildSyncTransportRecord
(
SettlementDriverDetail
detail
)
{
OrderChildSyncTransportRecord
record
=
struct
.
convertRecord
(
detail
);
OrderChildSyncTransportRecord
record
=
struct
.
convertRecord
(
detail
);
...
@@ -37,5 +41,9 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
...
@@ -37,5 +41,9 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
public
void
updateStatus
(
PayStatusNotifyDTO
payStatusNotifyDTO
)
{
public
void
updateStatus
(
PayStatusNotifyDTO
payStatusNotifyDTO
)
{
String
childNo
=
payStatusNotifyDTO
.
getChildNo
();
String
childNo
=
payStatusNotifyDTO
.
getChildNo
();
orderChildSyncTransportRecordDao
.
updateStatus
(
childNo
);
orderChildSyncTransportRecordDao
.
updateStatus
(
childNo
);
networkCaseOutRecordDao
.
updateStatus
(
payStatusNotifyDTO
.
getChildNo
(),
NetworkDriverAccountEnum
.
CaseOutRecordStatus
.
PAYED
.
getCode
(),
NetworkDriverAccountEnum
.
CaseOutRecordStatus
.
PAYED
.
getMsg
()
);
}
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementServiceImpl.java
浏览文件 @
d92a69d0
...
@@ -7,10 +7,12 @@ import com.clx.performance.dao.OrderChildDao;
...
@@ -7,10 +7,12 @@ import com.clx.performance.dao.OrderChildDao;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OwnerAccountDao
;
import
com.clx.performance.dao.OwnerAccountDao
;
import
com.clx.performance.dao.OwnerRunningWaterRecordDao
;
import
com.clx.performance.dao.OwnerRunningWaterRecordDao
;
import
com.clx.performance.dao.settle.NetworkDriverAccountDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.OrderChildSyncDTO
;
import
com.clx.performance.dto.OrderChildSyncDTO
;
import
com.clx.performance.enums.IdTypeEnum
;
import
com.clx.performance.enums.IdTypeEnum
;
import
com.clx.performance.enums.NetworkDriverAccountEnum
;
import
com.clx.performance.enums.OwnerAccountEnum
;
import
com.clx.performance.enums.OwnerAccountEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
...
@@ -21,6 +23,8 @@ import com.clx.performance.model.OrderChild;
...
@@ -21,6 +23,8 @@ import com.clx.performance.model.OrderChild;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OwnerAccount
;
import
com.clx.performance.model.OwnerAccount
;
import
com.clx.performance.model.OwnerRunningWaterRecord
;
import
com.clx.performance.model.OwnerRunningWaterRecord
;
import
com.clx.performance.model.settle.NetworkCaseOutRecord
;
import
com.clx.performance.model.settle.NetworkDriverAccount
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam
;
import
com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam
;
...
@@ -100,7 +104,6 @@ public class SettlementServiceImpl implements SettlementService {
...
@@ -100,7 +104,6 @@ public class SettlementServiceImpl implements SettlementService {
log
.
info
(
"OrderChildSyncDTO信息为:{}"
,
JSONUtil
.
parse
(
bean
));
log
.
info
(
"OrderChildSyncDTO信息为:{}"
,
JSONUtil
.
parse
(
bean
));
if
(
bean
.
getCode
()
==
0
)
{
if
(
bean
.
getCode
()
==
0
)
{
Integer
status
=
bean
.
getData
().
getStatus
();
Integer
status
=
bean
.
getData
().
getStatus
();
if
(
status
==
1
)
{
if
(
status
==
1
)
{
//通过风控
//通过风控
List
<
OwnerRunningWaterRecord
>
runningWaterRecordList
=
ownerRunningWaterRecordDao
.
getOwnerRunningWaterRecord
(
orderChild
.
getOrderNo
());
List
<
OwnerRunningWaterRecord
>
runningWaterRecordList
=
ownerRunningWaterRecordDao
.
getOwnerRunningWaterRecord
(
orderChild
.
getOrderNo
());
...
@@ -125,51 +128,22 @@ public class SettlementServiceImpl implements SettlementService {
...
@@ -125,51 +128,22 @@ public class SettlementServiceImpl implements SettlementService {
if
(
subtract
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
||
ans
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
subtract
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
||
ans
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreightFlag
(
0
);
settlementDriverDetail
.
setPrepayFreightFlag
(
0
);
}
else
{
}
else
{
if
(
subtract
.
subtract
(
ans
).
compareTo
(
BigDecimal
.
ZERO
)
>=
0
)
{
if
(
subtract
.
subtract
(
ans
).
compareTo
(
BigDecimal
.
ZERO
)
>=
0
)
{
OwnerAccount
account
=
null
;
//账户扣钱并生成扣除流水
while
(
true
)
{
generateTakeOutRunningWatter
(
orderChild
,
ans
,
settlementOwnerDetail
,
settlementDriverDetail
);
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
orderChild
.
getOwnerUserNo
(),
try
{
OwnerAccountEnum
.
AccountTypeStatus
.
PREPAID_FREIGHT_ACCOUNT
.
getCode
());
//网络货运钱包账户
OwnerAccount
update
=
new
OwnerAccount
();
networkDriverRunningWaterRecordService
.
generateNetworkDriverRunningWaterRecord
(
update
.
setId
(
account
.
getId
());
settlementDriverDetail
.
getDriverUserNo
(),
settlementDriverDetail
.
getPrepayFreight
(),
update
.
setAccountBalance
(
ans
);
NetworkDriverAccountEnum
.
RunningWaterStatus
.
SETTLEMENT
.
getCode
()
update
.
setModifiedTime
(
account
.
getModifiedTime
());
);
update
.
setFrozenBalance
(
ans
);
//生成提现记录
Integer
i
=
ownerAccountDao
.
updateOwnerAccountForConfirm
(
update
);
networkDriverRunningWaterRecordService
.
generateNetworkCaseOutRecord
(
settlementDriverDetail
);
if
(
null
!=
i
&&
i
>
0
)
{
}
catch
(
Exception
e
)
{
break
;
log
.
info
(
"运单同步网络货运生成司机运单结算流水失败:{}"
,
e
.
getMessage
());
}
}
}
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
orderChild
.
getOwnerUserNo
(),
OwnerAccountEnum
.
AccountTypeStatus
.
PREPAID_FREIGHT_ACCOUNT
.
getCode
());
settlementOwnerDetail
.
setPrepayFreight
(
ans
);
settlementDriverDetail
.
setPrepayFreightFlag
(
1
);
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO_REQUIRE
.
getCode
());
//生成扣除流水
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
orderChild
.
getOwnerName
());
runningWaterRecord
.
setMobile
(
orderChild
.
getDriverMobile
());
runningWaterRecord
.
setCreateBy
(
"系统"
);
runningWaterRecord
.
setOrderNo
(
orderChild
.
getOrderNo
());
runningWaterRecord
.
setOrderChildId
(
orderChild
.
getId
());
runningWaterRecord
.
setOrderChildNo
(
orderChild
.
getChildNo
());
runningWaterRecord
.
setRelationId
(
null
);
runningWaterRecord
.
setAlterationBalance
(
ans
);
runningWaterRecord
.
setFrozenBalance
(
account
.
getFrozenBalance
());
runningWaterRecord
.
setUsableBalance
(
account
.
getUsableBalance
());
runningWaterRecord
.
setTakeOutBalance
(
ans
);
runningWaterRecord
.
setAccountBalance
(
account
.
getAccountBalance
());
runningWaterRecord
.
setOwnerUserNo
(
account
.
getOwnerUserNo
());
runningWaterRecord
.
setAccountType
(
OwnerAccountEnum
.
AccountTypeStatus
.
PREPAID_FREIGHT_ACCOUNT
.
getCode
());
runningWaterRecord
.
setRunningWaterType
(
OwnerAccountEnum
.
RunningWaterStatus
.
TAKE_OUT
.
getCode
());
runningWaterRecord
.
setRunningWaterNo
(
idGenerateSnowFlake
.
nextId
(
IdTypeEnum
.
Type
.
TAKE_OUT
.
getCode
()));
ownerRunningWaterRecordDao
.
saveEntity
(
runningWaterRecord
);
//TODO networkDriverRunningWaterRecordService
}
else
{
}
else
{
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreightFlag
(
0
);
settlementDriverDetail
.
setPrepayFreightFlag
(
0
);
...
@@ -211,6 +185,50 @@ public class SettlementServiceImpl implements SettlementService {
...
@@ -211,6 +185,50 @@ public class SettlementServiceImpl implements SettlementService {
}
}
private
void
generateTakeOutRunningWatter
(
OrderChild
orderChild
,
BigDecimal
ans
,
SettlementOwnerDetail
settlementOwnerDetail
,
SettlementDriverDetail
settlementDriverDetail
)
{
OwnerAccount
account
=
null
;
while
(
true
)
{
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
orderChild
.
getOwnerUserNo
(),
OwnerAccountEnum
.
AccountTypeStatus
.
PREPAID_FREIGHT_ACCOUNT
.
getCode
());
OwnerAccount
update
=
new
OwnerAccount
();
update
.
setId
(
account
.
getId
());
update
.
setAccountBalance
(
ans
);
update
.
setModifiedTime
(
account
.
getModifiedTime
());
update
.
setFrozenBalance
(
ans
);
Integer
i
=
ownerAccountDao
.
updateOwnerAccountForConfirm
(
update
);
if
(
null
!=
i
&&
i
>
0
)
{
break
;
}
}
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
orderChild
.
getOwnerUserNo
(),
OwnerAccountEnum
.
AccountTypeStatus
.
PREPAID_FREIGHT_ACCOUNT
.
getCode
());
settlementOwnerDetail
.
setPrepayFreight
(
ans
);
settlementDriverDetail
.
setPrepayFreightFlag
(
1
);
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO_REQUIRE
.
getCode
());
OwnerRunningWaterRecord
runningWaterRecord
=
new
OwnerRunningWaterRecord
();
runningWaterRecord
.
setOwnerUserName
(
orderChild
.
getOwnerName
());
runningWaterRecord
.
setMobile
(
orderChild
.
getDriverMobile
());
runningWaterRecord
.
setCreateBy
(
"系统"
);
runningWaterRecord
.
setOrderNo
(
orderChild
.
getOrderNo
());
runningWaterRecord
.
setOrderChildId
(
orderChild
.
getId
());
runningWaterRecord
.
setOrderChildNo
(
orderChild
.
getChildNo
());
runningWaterRecord
.
setRelationId
(
null
);
runningWaterRecord
.
setAlterationBalance
(
ans
);
runningWaterRecord
.
setFrozenBalance
(
account
.
getFrozenBalance
());
runningWaterRecord
.
setUsableBalance
(
account
.
getUsableBalance
());
runningWaterRecord
.
setTakeOutBalance
(
ans
);
runningWaterRecord
.
setAccountBalance
(
account
.
getAccountBalance
());
runningWaterRecord
.
setOwnerUserNo
(
account
.
getOwnerUserNo
());
runningWaterRecord
.
setAccountType
(
OwnerAccountEnum
.
AccountTypeStatus
.
PREPAID_FREIGHT_ACCOUNT
.
getCode
());
runningWaterRecord
.
setRunningWaterType
(
OwnerAccountEnum
.
RunningWaterStatus
.
TAKE_OUT
.
getCode
());
runningWaterRecord
.
setRunningWaterNo
(
idGenerateSnowFlake
.
nextId
(
IdTypeEnum
.
Type
.
TAKE_OUT
.
getCode
()));
ownerRunningWaterRecordDao
.
saveEntity
(
runningWaterRecord
);
}
/**
/**
* 预付运费支付
* 预付运费支付
*/
*/
...
...
performance-web/src/main/java/com/clx/performance/service/settle/NetworkDriverRunningWaterRecordService.java
浏览文件 @
d92a69d0
...
@@ -2,6 +2,7 @@ package com.clx.performance.service.settle;
...
@@ -2,6 +2,7 @@ package com.clx.performance.service.settle;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.model.settle.NetworkDriverAccount
;
import
com.clx.performance.model.settle.NetworkDriverAccount
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.param.app.NetworkDriverPageParam
;
import
com.clx.performance.param.app.NetworkDriverPageParam
;
import
com.clx.performance.param.pc.PageNetworkAccountInfoListParam
;
import
com.clx.performance.param.pc.PageNetworkAccountInfoListParam
;
import
com.clx.performance.vo.app.APPNetworkDriverRunningWaterRecordVO
;
import
com.clx.performance.vo.app.APPNetworkDriverRunningWaterRecordVO
;
...
@@ -18,15 +19,17 @@ public interface NetworkDriverRunningWaterRecordService {
...
@@ -18,15 +19,17 @@ public interface NetworkDriverRunningWaterRecordService {
IPage
<
NetworkDriverRunningWaterRecordVO
>
networkDriverRunningWaterRecordList
(
PageNetworkAccountInfoListParam
param
);
IPage
<
NetworkDriverRunningWaterRecordVO
>
networkDriverRunningWaterRecordList
(
PageNetworkAccountInfoListParam
param
);
void
generateSettlementRunningWaterRecord
(
NetworkDriverAccount
networkDriverAccount
,
BigDecimal
money
);
void
generateSettlementRunningWaterRecord
(
Long
userNo
,
BigDecimal
money
);
void
generateCaseOutFrozenRunningWaterRecord
(
NetworkDriverAccount
networkDriverAccount
,
BigDecimal
money
);
void
generateCaseOutFrozenRunningWaterRecord
(
Long
userNo
,
BigDecimal
money
);
void
generateCaseOutSuccessRunningWaterRecord
(
NetworkDriverAccount
networkDriverAccount
,
BigDecimal
money
);
void
generateCaseOutSuccessRunningWaterRecord
(
Long
userNo
,
BigDecimal
money
);
void
generateNetworkDriverRunningWaterRecord
(
NetworkDriverAccount
networkDriverAccount
,
BigDecimal
money
,
Integer
runningWaterType
);
void
generateNetworkDriverRunningWaterRecord
(
Long
userNo
,
BigDecimal
money
,
Integer
runningWaterType
);
IPage
<
APPNetworkDriverRunningWaterRecordVO
>
pageFrozenList
(
NetworkDriverPageParam
param
);
IPage
<
APPNetworkDriverRunningWaterRecordVO
>
pageFrozenList
(
NetworkDriverPageParam
param
);
IPage
<
APPNetworkDriverRunningWaterRecordVO
>
runningWaterList
(
NetworkDriverPageParam
param
);
IPage
<
APPNetworkDriverRunningWaterRecordVO
>
runningWaterList
(
NetworkDriverPageParam
param
);
void
generateNetworkCaseOutRecord
(
SettlementDriverDetail
settlementDriverDetail
);
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/settle/NetworkCaseOutRecordProvider.java
浏览文件 @
d92a69d0
...
@@ -10,9 +10,9 @@ public class NetworkCaseOutRecordProvider {
...
@@ -10,9 +10,9 @@ public class NetworkCaseOutRecordProvider {
public
String
networkCaseOutRecord
(
@Param
(
"param"
)
PageNetworkCaseOutRecordListParam
param
)
{
public
String
networkCaseOutRecord
(
@Param
(
"param"
)
PageNetworkCaseOutRecordListParam
param
)
{
String
sql
=
new
SQL
()
{{
String
sql
=
new
SQL
()
{{
SELECT
(
"a.id,a.case_out_no,a.driver_user_no,"
+
SELECT
(
"a.id,a.case_out_no,a.driver_user_no,"
+
" a.driver_user_name,a.payee,a.bank,a.collection_bank_code,a.status,a.
platform,a.relation_id,a.order_id,a.order_no,a.order_child_id
,"
+
" a.driver_user_name,a.payee,a.bank,a.collection_bank_code,a.status,a.
status_msg,a.platform,a.order_no,a.order_goods_no
,"
+
"a.
order_child_no,a.mobile,a.alteration_balance,a.account
_balance, "
+
"a.
child_no,a.mobile,a.alteration
_balance, "
+
"
a.usable_balance,a.frozen_balance,a.take_out_balance,
a.create_by,"
+
"a.create_by,"
+
"date_format(a.finish_time, '%Y-%m-%d %H:%i:%s') as finish_time,date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time"
);
"date_format(a.finish_time, '%Y-%m-%d %H:%i:%s') as finish_time,date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time"
);
FROM
(
"network_case_out_record a"
);
FROM
(
"network_case_out_record a"
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论