Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-csf
Commits
9f77c477
Commit
9f77c477
authored
Apr 28, 2026
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
出账检核-分期出账4
parent
6219f90f
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
95 additions
and
8 deletions
+95
-8
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
+30
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/EditActualPayoutDateRequest.java
+14
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/EditExchangeRateRequest.java
+15
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/FortuneService.java
+4
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
+26
-8
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFortuneController.java
View file @
9f77c477
...
...
@@ -431,6 +431,36 @@ public class ApiFortuneController {
}
/**
* 修改设置出账年月(实)),设置完成后,更新到应付款管理明细中
*
* @param editActualPayoutDateRequest
* @return
*/
@PostMapping
(
"/edit_actual_payout_date"
)
@Operation
(
summary
=
"修改设置出账年月(实),设置完成后,更新到应付款管理明细中"
)
public
Result
<
Boolean
>
editActualPayoutDate
(
@RequestBody
EditActualPayoutDateRequest
editActualPayoutDateRequest
)
{
if
(
editActualPayoutDateRequest
==
null
||
StringUtils
.
isBlank
(
editActualPayoutDateRequest
.
getFortuneBizId
()))
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
fortuneService
.
editActualPayoutDate
(
editActualPayoutDateRequest
));
}
/**
* 修改结算汇率,设置完成后,更新到应付款管理明细中
*
* @param editExchangeRateRequest
* @return
*/
@PostMapping
(
"/edit_exchange_rate"
)
@Operation
(
summary
=
"修改结算汇率,设置完成后,更新到应付款管理明细中"
)
public
Result
<
Boolean
>
editExchangeRate
(
@RequestBody
EditExchangeRateRequest
editExchangeRateRequest
)
{
if
(
editExchangeRateRequest
==
null
||
StringUtils
.
isBlank
(
editExchangeRateRequest
.
getFortuneBizId
()))
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
fortuneService
.
editExchangeRate
(
editExchangeRateRequest
));
}
/**
* 修改出账状态
*
* @param fortuneStatusUpdateRequest
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/EditActualPayoutDateRequest.java
0 → 100644
View file @
9f77c477
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
@Data
public
class
EditActualPayoutDateRequest
{
@Schema
(
description
=
"出账业务ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
fortuneBizId
;
@Schema
(
description
=
"实际出账年月(实)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
actualPayoutDate
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/EditExchangeRateRequest.java
0 → 100644
View file @
9f77c477
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
EditExchangeRateRequest
{
@Schema
(
description
=
"fortuneBizId"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
fortuneBizId
;
@Schema
(
description
=
"结算汇率"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
BigDecimal
exchangeRate
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/ExpectedFortune.java
View file @
9f77c477
...
...
@@ -43,6 +43,12 @@ public class ExpectedFortune implements Serializable {
private
String
fortuneBizType
;
/**
* 是否拆分出来的出账 1-是 0-否 2-拆分的原纪录
*/
@TableField
(
"is_part"
)
private
Integer
isPart
;
/**
* 应付款编号
*/
@TableField
(
"payable_no"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/FortuneService.java
View file @
9f77c477
...
...
@@ -42,4 +42,8 @@ public interface FortuneService extends IService<Fortune> {
Boolean
addFortuneBatch
(
List
<
FortuneAddRequest
>
fortuneAddRequestList
);
Boolean
splitFortune
(
FortuneSplitRequest
fortuneSplitRequest
);
Boolean
editActualPayoutDate
(
EditActualPayoutDateRequest
editActualPayoutDateRequest
);
Boolean
editExchangeRate
(
EditExchangeRateRequest
editExchangeRateRequest
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FortuneServiceImpl.java
View file @
9f77c477
...
...
@@ -798,8 +798,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
List
<
FortuneSplitDto
>
splitList
=
fortuneSplitRequest
.
getFortuneSplitDtoList
();
// 3. 金额验证
BigDecimal
totalSplit
Hkd
Amount
=
splitList
.
stream
()
.
map
(
FortuneSplitDto:
:
get
Hkd
Amount
)
BigDecimal
totalSplit
Original
Amount
=
splitList
.
stream
()
.
map
(
FortuneSplitDto:
:
get
Original
Amount
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
BigDecimal
totalSplitRatio
=
splitList
.
stream
()
...
...
@@ -808,10 +808,10 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
BigDecimal
tolerance
=
new
BigDecimal
(
"0.01"
);
BigDecimal
hkdDifference
=
originalFortune
.
getHkdAmount
().
subtract
(
totalSplitHkd
Amount
).
abs
();
if
(
hkd
Difference
.
compareTo
(
tolerance
)
>
0
)
{
BigDecimal
originalDifference
=
originalFortune
.
getAmount
().
subtract
(
totalSplitOriginal
Amount
).
abs
();
if
(
original
Difference
.
compareTo
(
tolerance
)
>
0
)
{
throw
new
BusinessException
(
ResultCode
.
PARAM_CHECK_ERROR
.
getCode
(),
String
.
format
(
"分期
港币金额总和(%s)与原记录港币金额(%s)不匹配"
,
totalSplitHkdAmount
,
originalFortune
.
getHkd
Amount
()));
String
.
format
(
"分期
原始金额总和(%s)与原记录原始金额(%s)不匹配"
,
totalSplitOriginalAmount
,
originalFortune
.
get
Amount
()));
}
if
(
totalSplitRatio
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
...
...
@@ -922,9 +922,17 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
newFortuneList
.
add
(
newFortune
);
}
// 5. 处理原始记录
this
.
removeById
(
originalFortune
.
getId
());
expectedFortuneService
.
removeById
(
originalExpectedFortune
.
getId
());
// 5.1 设置原始 fortune记录 is_part 为 2,表示该记录已被分期
this
.
lambdaUpdate
()
.
set
(
Fortune:
:
getIsPart
,
2
)
.
eq
(
Fortune:
:
getId
,
originalFortune
.
getId
())
.
update
();
// 5.2 设置原始 expected fortune记录 is_part 为 2,表示该记录已被分期
expectedFortuneService
.
lambdaUpdate
()
.
set
(
ExpectedFortune:
:
getIsPart
,
2
)
.
eq
(
ExpectedFortune:
:
getId
,
originalExpectedFortune
.
getId
())
.
update
();
// 6. 批量保存新记录
boolean
expectedSaveSuccess
=
expectedFortuneService
.
saveBatch
(
newExpectedFortuneList
);
...
...
@@ -941,6 +949,16 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
return
true
;
}
@Override
public
Boolean
editActualPayoutDate
(
EditActualPayoutDateRequest
editActualPayoutDateRequest
)
{
return
null
;
}
@Override
public
Boolean
editExchangeRate
(
EditExchangeRateRequest
editExchangeRateRequest
)
{
return
null
;
}
private
void
validSplitFortune
(
FortuneSplitRequest
fortuneSplitRequest
)
{
if
(
fortuneSplitRequest
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
PARAM_CHECK_ERROR
.
getCode
(),
"分期出账请求不能为空"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment