Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
9e23db2b
Commit
9e23db2b
authored
Jul 16, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
计算用户账单,事务调整
parent
ac418c19
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
24 additions
and
12 deletions
+24
-12
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
...n/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
+3
-2
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/RefreshLogisticsJob.java
.../main/java/com/wwdz/ch/admin/job/RefreshLogisticsJob.java
+4
-2
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/SysUserBillService.java
...in/java/com/wwdz/ch/admin/service/SysUserBillService.java
+1
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
...ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
+4
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserBillServiceImpl.java
...com/wwdz/ch/wx/impl/distribution/UserBillServiceImpl.java
+8
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/UserBillService.java
.../com/wwdz/ch/wx/service/distribution/UserBillService.java
+1
-1
ch-wx-api/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
...pi/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
+3
-3
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
View file @
9e23db2b
...
...
@@ -42,7 +42,7 @@ public class SysUserBillServiceImpl implements SysUserBillService {
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
@Override
public
Result
finishCalculate
(
DistributionOrder
distributionOrder
)
throws
Exception
{
public
Result
finishCalculate
(
DistributionOrder
distributionOrder
){
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM"
);
//账期
String
accountPeriod
=
formatter
.
format
(
distributionOrder
.
getCreateTime
());
...
...
@@ -89,12 +89,13 @@ public class SysUserBillServiceImpl implements SysUserBillService {
return
Result
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"************ 订单完成后计算订单账单ERROR: {}"
,
e
);
throw
new
Exception
(
"订单完成后计算订单账单ERROR"
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
(
);
}
finally
{
if
(
lock
!=
null
&&
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
logger
.
info
(
"======================== 订单号:{}, 订单完成后计算订单账单释放锁成功 ========================"
,
distributionOrder
.
getDistributionOrderId
());
}
}
return
Result
.
failed
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/RefreshLogisticsJob.java
View file @
9e23db2b
...
...
@@ -162,8 +162,10 @@ public class RefreshLogisticsJob {
//关联的订单账单,用户账户的待入账金额改为已入账
userAccountDetailDao
.
updateState
(
distributionOrder
.
getDistributionOrderId
(),
BillEnum
.
AccountDetailStateEnum
.
ENTRY
.
getCode
());
//调整用户的月度账单
sysUserBillService
.
finishCalculate
(
distributionOrder
);
Result
result
=
sysUserBillService
.
finishCalculate
(
distributionOrder
);
if
(!
result
.
getSuccess
())
{
throw
new
Exception
(
"调整用户的月度账单error"
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"订单自动完成,更新账单失败:{}"
,
e
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/SysUserBillService.java
View file @
9e23db2b
...
...
@@ -10,5 +10,5 @@ public interface SysUserBillService {
* @param distributionOrder
* @return
*/
Result
finishCalculate
(
DistributionOrder
distributionOrder
)
throws
Exception
;
Result
finishCalculate
(
DistributionOrder
distributionOrder
);
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
View file @
9e23db2b
...
...
@@ -92,7 +92,10 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
userAccountDetailDao
.
insert
(
introduceAccountDetail
);
//计算用户账单
userBillService
.
payCalculate
(
distributionOrder
,
distributorProfit
);
Result
result
=
userBillService
.
payCalculate
(
distributionOrder
,
distributorProfit
);
if
(!
result
.
getSuccess
())
{
throw
new
Exception
(
"订单支付完成,计算用户账单error"
);
}
return
Result
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"新增用户账户明细error:{}"
,
e
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserBillServiceImpl.java
View file @
9e23db2b
...
...
@@ -16,6 +16,10 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -36,8 +40,9 @@ public class UserBillServiceImpl implements UserBillService {
@Autowired
DistributorProfitDao
distributorProfitDao
;
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
@Override
public
Result
payCalculate
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
{
public
Result
payCalculate
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
{
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM"
);
//账期
String
accountPeriod
=
formatter
.
format
(
distributionOrder
.
getCreateTime
());
...
...
@@ -98,13 +103,14 @@ public class UserBillServiceImpl implements UserBillService {
return
Result
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"************ 计算订单账单ERROR: {}"
,
e
);
throw
new
Exception
(
"计算订单账单ERROR"
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
(
);
}
finally
{
if
(
lock
!=
null
&&
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
logger
.
info
(
"======================== 订单号:{}, 计算订单账单释放锁成功 ========================"
,
distributionOrder
.
getDistributionOrderId
());
}
}
return
Result
.
failed
();
}
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/UserBillService.java
View file @
9e23db2b
...
...
@@ -12,7 +12,7 @@ public interface UserBillService {
* @param distributorProfit
* @return
*/
Result
payCalculate
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
;
Result
payCalculate
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
);
}
ch-wx-api/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
View file @
9e23db2b
...
...
@@ -89,12 +89,12 @@ public class WxPayServiceTest {
@Test
public
void
refund
()
{
List
<
String
>
list
=
Arrays
.
asList
(
"DA2407161
343052675179
"
);
List
<
String
>
list
=
Arrays
.
asList
(
"DA2407161
530475539946"
,
"DA2407161638434429860
"
);
list
.
forEach
(
orderId
->{
DistributionOrderRequestDto
dto
=
new
DistributionOrderRequestDto
();
dto
.
setDistributionOrderId
(
orderId
);
dto
.
setAmount
(
"1
0
"
);
dto
.
setRefundPrice
(
"1
0
"
);
dto
.
setAmount
(
"1"
);
dto
.
setRefundPrice
(
"1"
);
Result
result
=
wxPayServiceApi
.
refund
(
dto
);
logger
.
info
(
"申请微信支付退款:{}"
,
result
);
});
...
...
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