Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
0b26b3d2
提交
0b26b3d2
authored
1月 22, 2024
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
货主借款审批
上级
ec2fd7f3
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
128 行增加
和
5 行删除
+128
-5
OwnerAccountEnum.java
...main/java/com/clx/performance/enums/OwnerAccountEnum.java
+2
-1
CarrierOwnerLoanRecordApproveParam.java
...m/pc/loan/carrier/CarrierOwnerLoanRecordApproveParam.java
+23
-0
CarrierOwnerLoanRecordController.java
...ler/pc/loan/carrier/CarrierOwnerLoanRecordController.java
+7
-1
OwnerLoanAccountDaoImpl.java
...lx/performance/dao/impl/loan/OwnerLoanAccountDaoImpl.java
+15
-0
OwnerLoanAccountDao.java
...ava/com/clx/performance/dao/loan/OwnerLoanAccountDao.java
+6
-0
OwnerLoanAccountMapper.java
...m/clx/performance/mapper/loan/OwnerLoanAccountMapper.java
+17
-0
OwnerLoanRecordServiceImpl.java
...ormance/service/impl/loan/OwnerLoanRecordServiceImpl.java
+55
-3
OwnerLoanRecordService.java
.../clx/performance/service/loan/OwnerLoanRecordService.java
+3
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/OwnerAccountEnum.java
浏览文件 @
0b26b3d2
...
...
@@ -16,7 +16,8 @@ public enum OwnerAccountEnum {
@AllArgsConstructor
public
enum
AccountTypeStatus
{
MARGIN_ACCOUNT
(
1
,
"保证金账户"
),
PREPAID_FREIGHT_ACCOUNT
(
2
,
"预付运费账户"
)
PREPAID_FREIGHT_ACCOUNT
(
2
,
"预付运费账户"
),
LOAN_ACCOUNT
(
3
,
"借款账户"
)
;
private
final
Integer
code
;
private
final
String
msg
;
...
...
performance-api/src/main/java/com/clx/performance/param/pc/loan/carrier/CarrierOwnerLoanRecordApproveParam.java
0 → 100644
浏览文件 @
0b26b3d2
package
com
.
clx
.
performance
.
param
.
pc
.
loan
.
carrier
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
CarrierOwnerLoanRecordApproveParam
{
@ApiModelProperty
(
"借款单号"
)
private
Long
loanNo
;
@ApiModelProperty
(
"1:同意 0:拒绝"
)
private
Boolean
status
;
@ApiModelProperty
(
"拒绝原因"
)
private
String
rejectReason
;
@ApiModelProperty
(
"1:虚拟货币 2:资金"
)
private
Integer
loanType
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/loan/carrier/CarrierOwnerLoanRecordController.java
浏览文件 @
0b26b3d2
package
com
.
clx
.
performance
.
controller
.
pc
.
loan
.
carrier
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.loan.carrier.CarrierOwnerLoanRecordApproveParam
;
import
com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam
;
import
com.clx.performance.service.loan.OwnerLoanRecordService
;
import
com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO
;
...
...
@@ -34,5 +35,10 @@ public class CarrierOwnerLoanRecordController {
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"借款列表"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/ownerLoanRecordApprove"
)
public
Result
<
Object
>
ownerLoanRecordApprove
(
@RequestBody
@Validated
CarrierOwnerLoanRecordApproveParam
param
)
{
ownerLoanRecordService
.
ownerLoanRecordApprove
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/loan/OwnerLoanAccountDaoImpl.java
浏览文件 @
0b26b3d2
...
...
@@ -2,10 +2,14 @@ package com.clx.performance.dao.impl.loan;
import
com.clx.performance.dao.loan.OwnerLoanAccountDao
;
import
com.clx.performance.mapper.loan.OwnerLoanAccountMapper
;
import
com.clx.performance.model.OwnerAccount
;
import
com.clx.performance.model.loan.OwnerLoanAccount
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
com.msl.common.utils.DateUtils
;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
/**
* @author kavin
* Date 2024-01-20
...
...
@@ -13,4 +17,15 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public
class
OwnerLoanAccountDaoImpl
extends
BaseDaoImpl
<
OwnerLoanAccountMapper
,
OwnerLoanAccount
,
Integer
>
implements
OwnerLoanAccountDao
{
@Override
public
Integer
updateAccountCAS
(
OwnerLoanAccount
account
,
LocalDateTime
now
,
boolean
flag
)
{
String
nowStr
=
DateUtils
.
formatDateTime
(
now
).
get
();
if
(
flag
)
{
return
baseMapper
.
addAccount
(
account
,
nowStr
);
}
else
{
return
null
;
// return baseMapper.subAccount(account, nowStr);
}
}
}
performance-web/src/main/java/com/clx/performance/dao/loan/OwnerLoanAccountDao.java
浏览文件 @
0b26b3d2
package
com
.
clx
.
performance
.
dao
.
loan
;
import
com.clx.performance.mapper.loan.OwnerLoanAccountMapper
;
import
com.clx.performance.model.OwnerAccount
;
import
com.clx.performance.model.loan.OwnerLoanAccount
;
import
com.msl.common.dao.BaseDao
;
import
java.time.LocalDateTime
;
/**
* @author kavin
* Date 2024-01-20
* Time 13:31
*/
public
interface
OwnerLoanAccountDao
extends
BaseDao
<
OwnerLoanAccountMapper
,
OwnerLoanAccount
,
Integer
>
{
Integer
updateAccountCAS
(
OwnerLoanAccount
account
,
LocalDateTime
now
,
boolean
flag
);
}
performance-web/src/main/java/com/clx/performance/mapper/loan/OwnerLoanAccountMapper.java
浏览文件 @
0b26b3d2
package
com
.
clx
.
performance
.
mapper
.
loan
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.OwnerAccount
;
import
com.clx.performance.model.loan.OwnerLoanAccount
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Update
;
/**
* @author kavin
...
...
@@ -9,4 +12,18 @@ import com.clx.performance.model.loan.OwnerLoanAccount;
* Time 13:31
*/
public
interface
OwnerLoanAccountMapper
extends
BaseMapper
<
OwnerLoanAccount
>
{
@Update
(
"update owner_loan_account set funding_amount = funding_amount + #{account.fundingAmount}"
+
",virtually_amount = virtually_amount + #{account.virtuallyAmount}"
+
",modified_time= #{now}"
+
"where id = #{account.id} and modified_time = #{account.modifiedTime}"
)
Integer
addAccount
(
@Param
(
"account"
)
OwnerLoanAccount
account
,
@Param
(
"now"
)
String
nowStr
);
// @Update("update owner_account set funding_amount = funding_amount - #{account.fundingAmount}," +
// "frozen_balance = frozen_balance + #{account.frozenBalance},account_balance = account_balance - #{account.accountBalance}," +
// "modified_time=#{now}"
// + "where id = #{account.id} and modified_time = #{account.modifiedTime}"
// )
// Integer subAccount(@Param("account") OwnerAccount account, @Param("now") String now);
}
performance-web/src/main/java/com/clx/performance/service/impl/loan/OwnerLoanRecordServiceImpl.java
浏览文件 @
0b26b3d2
...
...
@@ -2,21 +2,26 @@ package com.clx.performance.service.impl.loan;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.dao.loan.OwnerLoanAccountDao
;
import
com.clx.performance.dao.loan.OwnerLoanRecordDao
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.model.loan.OwnerLoanAccount
;
import
com.clx.performance.model.loan.OwnerLoanRecord
;
import
com.clx.performance.param.pc.loan.carrier.CarrierOwnerLoanRecordApproveParam
;
import
com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam
;
import
com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam
;
import
com.clx.performance.service.loan.OwnerLoanRecordService
;
import
com.clx.performance.struct.loan.OwnerLoanRecordStruct
;
import
com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO
;
import
com.msl.common.utils.LocalDateTimeUtils
;
import
com.msl.user.data.UserSessionData
;
import
com.msl.user.utils.TokenUtil
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.
time.LocalDate
;
import
java.
math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
...
...
@@ -34,6 +39,10 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
private
final
OwnerLoanRecordStruct
ownerLoanRecordStruct
;
private
final
IdGenerateSnowFlake
idGenerateSnowFlake
;
private
final
OwnerLoanAccountDao
ownerLoanAccountDao
;
@Override
public
IPage
<
OwnerLoanRecordVO
>
pageOwnerLoanRecord
(
PageCarrierOwnerLoanRecordParam
param
)
{
IPage
<
OwnerLoanRecord
>
page
=
ownerLoanRecordDao
.
pageOwnerLoanRecord
(
param
);
...
...
@@ -52,6 +61,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
LocalDateTime
createTime
=
LocalDateTime
.
now
();
LocalDateTime
loanRepaymentTime
=
createTime
.
plusDays
(
param
.
getExpireDay
());
entity
.
setLoanRepaymentTime
(
loanRepaymentTime
);
entity
.
setLoanNo
(
idGenerateSnowFlake
.
nextId
(
1L
));
entity
.
setCreateTime
(
createTime
);
entity
.
setOwnerUserNo
(
loginUserInfo
.
getUserNo
());
entity
.
setOwnerUserName
(
loginUserInfo
.
getUserName
());
...
...
@@ -62,7 +72,49 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
entity
.
setPayee
(
"收款方写死"
);
entity
.
setPayeeAccount
(
"收款方账户写死"
);
entity
.
setCreateBy
(
loginUserInfo
.
getUserName
());
entity
.
setStatus
(
10
);
entity
.
setStatus
(
OwnerLoanRecordEnum
.
Status
.
APPROVE_WAIT
.
getCode
()
);
ownerLoanRecordDao
.
saveEntity
(
entity
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerLoanRecordApprove
(
CarrierOwnerLoanRecordApproveParam
param
)
{
OwnerLoanRecord
ownerLoanRecord
=
ownerLoanRecordDao
.
getOneByField
(
OwnerLoanRecord:
:
getLoanNo
,
param
.
getLoanNo
()).
get
();
if
(
param
.
getStatus
())
{
//同意
ownerLoanRecord
.
setLoanType
(
param
.
getLoanType
());
if
(
OwnerLoanRecordEnum
.
LoanType
.
FUND
.
getCode
().
equals
(
param
.
getLoanType
()))
{
//资金 TODO 调中信银企直连的产品,从诚联信账户中给鑫祥和执行转账
ownerLoanRecord
.
setStatus
(
OwnerLoanRecordEnum
.
Status
.
PAYING
.
getCode
());
}
else
{
ownerLoanRecord
.
setStatus
(
OwnerLoanRecordEnum
.
Status
.
APPROVE_PASS
.
getCode
());
// 虚拟币 直接增加
Long
ownerUserNo
=
ownerLoanRecord
.
getOwnerUserNo
();
BigDecimal
loanBalance
=
ownerLoanRecord
.
getLoanBalance
();
while
(
true
)
{
OwnerLoanAccount
ownerLoanAccount
=
ownerLoanAccountDao
.
getOneByField
(
OwnerLoanAccount:
:
getOwnerUserNo
,
ownerUserNo
).
get
();
OwnerLoanAccount
entity
=
new
OwnerLoanAccount
();
entity
.
setId
(
ownerLoanAccount
.
getId
());
entity
.
setVirtuallyAmount
(
loanBalance
);
entity
.
setFundingAmount
(
BigDecimal
.
ZERO
);
entity
.
setModifiedTime
(
ownerLoanAccount
.
getModifiedTime
());
Integer
flag
=
ownerLoanAccountDao
.
updateAccountCAS
(
entity
,
LocalDateTime
.
now
(),
true
);
if
(
flag
==
1
)
{
ownerLoanRecordDao
.
updateEntityByKey
(
ownerLoanRecord
);
return
;
}
}
}
}
else
{
//拒绝
}
}
}
performance-web/src/main/java/com/clx/performance/service/loan/OwnerLoanRecordService.java
浏览文件 @
0b26b3d2
package
com
.
clx
.
performance
.
service
.
loan
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.loan.carrier.CarrierOwnerLoanRecordApproveParam
;
import
com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam
;
import
com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam
;
import
com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO
;
...
...
@@ -14,4 +15,6 @@ public interface OwnerLoanRecordService {
IPage
<
OwnerLoanRecordVO
>
pageOwnerLoanRecord
(
PageCarrierOwnerLoanRecordParam
param
);
void
ownerLoanRecordSubmit
(
OwnerLoanRecordParam
param
);
void
ownerLoanRecordApprove
(
CarrierOwnerLoanRecordApproveParam
param
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论