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
ffb74ca6
Commit
ffb74ca6
authored
Nov 08, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户账户更新
parent
cc002df1
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
76 additions
and
1 deletion
+76
-1
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
...n/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
+25
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserAccountServiceImpl.java
...main/java/com/wwdz/ch/wx/impl/UserAccountServiceImpl.java
+23
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
...ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
+21
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/UserAccountService.java
.../main/java/com/wwdz/ch/wx/service/UserAccountService.java
+7
-1
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
View file @
ffb74ca6
...
@@ -8,10 +8,12 @@ import com.wwdz.ch.core.util.IdUtils;
...
@@ -8,10 +8,12 @@ import com.wwdz.ch.core.util.IdUtils;
import
com.wwdz.ch.db.dao.distribution.DistributorProfitDao
;
import
com.wwdz.ch.db.dao.distribution.DistributorProfitDao
;
import
com.wwdz.ch.db.dao.distribution.UserAccountDetailDao
;
import
com.wwdz.ch.db.dao.distribution.UserAccountDetailDao
;
import
com.wwdz.ch.db.dao.distribution.UserBillDao
;
import
com.wwdz.ch.db.dao.distribution.UserBillDao
;
import
com.wwdz.ch.db.dao.openShop.UserAccountDao
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributorProfit
;
import
com.wwdz.ch.db.domain.distribution.DistributorProfit
;
import
com.wwdz.ch.db.domain.distribution.UserAccountDetail
;
import
com.wwdz.ch.db.domain.distribution.UserAccountDetail
;
import
com.wwdz.ch.db.domain.distribution.UserBill
;
import
com.wwdz.ch.db.domain.distribution.UserBill
;
import
com.wwdz.ch.db.domain.openShop.UserAccount
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.api.RedissonClient
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -45,6 +47,9 @@ public class SysUserBillServiceImpl implements SysUserBillService {
...
@@ -45,6 +47,9 @@ public class SysUserBillServiceImpl implements SysUserBillService {
@Autowired
@Autowired
UserAccountDetailDao
userAccountDetailDao
;
UserAccountDetailDao
userAccountDetailDao
;
@Autowired
UserAccountDao
userAccountDao
;
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
@Transactional
(
propagation
=
Propagation
.
REQUIRES_NEW
)
@Override
@Override
public
Result
finishCalculate
(
DistributionOrder
distributionOrder
){
public
Result
finishCalculate
(
DistributionOrder
distributionOrder
){
...
@@ -69,6 +74,13 @@ public class SysUserBillServiceImpl implements SysUserBillService {
...
@@ -69,6 +74,13 @@ public class SysUserBillServiceImpl implements SysUserBillService {
//卖家实际收益
//卖家实际收益
long
sellerProfitAmount
=
distributorProfit
.
getProfit
();
long
sellerProfitAmount
=
distributorProfit
.
getProfit
();
//更新卖家账户
UserAccount
oldUserAccount
=
userAccountDao
.
findByUserId
(
distributionOrder
.
getSellerId
());
UserAccount
newUserAccount
=
new
UserAccount
();
newUserAccount
.
setUserId
(
distributionOrder
.
getSellerId
());
newUserAccount
.
setGoodsWaitEntryAmount
(
oldUserAccount
.
getGoodsWaitEntryAmount
()
-
sellerProfitAmount
);
newUserAccount
.
setGoodsAmount
(
oldUserAccount
.
getGoodsAmount
()
+
sellerProfitAmount
);
UserBill
userBill
=
userBillDao
.
findOne
(
accountPeriod
,
distributionOrder
.
getSellerId
(),
BillEnum
.
BillStateEnum
.
NOT_PAID
.
getCode
());
UserBill
userBill
=
userBillDao
.
findOne
(
accountPeriod
,
distributionOrder
.
getSellerId
(),
BillEnum
.
BillStateEnum
.
NOT_PAID
.
getCode
());
UserBill
updateBill
=
new
UserBill
();
UserBill
updateBill
=
new
UserBill
();
updateBill
.
setId
(
userBill
.
getId
());
updateBill
.
setId
(
userBill
.
getId
());
...
@@ -85,12 +97,17 @@ public class SysUserBillServiceImpl implements SysUserBillService {
...
@@ -85,12 +97,17 @@ public class SysUserBillServiceImpl implements SysUserBillService {
updateBill
.
setIntroduceEntryAmount
(
newIntroduceEntryAmount
);
updateBill
.
setIntroduceEntryAmount
(
newIntroduceEntryAmount
);
updateBill
.
setTotalWaitEntryAmount
(
orderWaitEntryAmount
+
newIntroduceWaitEntryAmount
);
updateBill
.
setTotalWaitEntryAmount
(
orderWaitEntryAmount
+
newIntroduceWaitEntryAmount
);
updateBill
.
setTotalEntryAmount
(
updateBill
.
getOrderEntryAmount
()
+
newIntroduceEntryAmount
);
updateBill
.
setTotalEntryAmount
(
updateBill
.
getOrderEntryAmount
()
+
newIntroduceEntryAmount
);
//更新卖家的介绍佣金入账金额
newUserAccount
.
setIntroduceWaitEntryAmount
(
oldUserAccount
.
getIntroduceWaitEntryAmount
()
-
introduceCost
);
newUserAccount
.
setIntroduceAmount
(
oldUserAccount
.
getIntroduceAmount
()
+
introduceCost
);
}
else
{
}
else
{
//如果介绍人不是卖家自己,那原来的待入账介绍佣金和已入账介绍佣金都不用变化
//如果介绍人不是卖家自己,那原来的待入账介绍佣金和已入账介绍佣金都不用变化
updateBill
.
setTotalWaitEntryAmount
(
updateBill
.
getOrderWaitEntryAmount
()
+
userBill
.
getIntroduceWaitEntryAmount
());
updateBill
.
setTotalWaitEntryAmount
(
updateBill
.
getOrderWaitEntryAmount
()
+
userBill
.
getIntroduceWaitEntryAmount
());
updateBill
.
setTotalEntryAmount
(
updateBill
.
getOrderEntryAmount
()
+
userBill
.
getIntroduceEntryAmount
());
updateBill
.
setTotalEntryAmount
(
updateBill
.
getOrderEntryAmount
()
+
userBill
.
getIntroduceEntryAmount
());
}
}
userBillDao
.
updateByPrimaryKey
(
updateBill
);
userBillDao
.
updateByPrimaryKey
(
updateBill
);
//更新卖家的账户
userAccountDao
.
update
(
newUserAccount
);
//计算介绍人的佣金(介绍人非卖家自己和平台)
//计算介绍人的佣金(介绍人非卖家自己和平台)
if
(!
distributionOrder
.
getShareRecordId
().
equals
(
distributionOrder
.
getSellerId
().
toString
())
if
(!
distributionOrder
.
getShareRecordId
().
equals
(
distributionOrder
.
getSellerId
().
toString
())
...
@@ -139,5 +156,13 @@ public class SysUserBillServiceImpl implements SysUserBillService {
...
@@ -139,5 +156,13 @@ public class SysUserBillServiceImpl implements SysUserBillService {
updateBill
.
setTotalEntryAmount
(
newTotalEntryAmount
);
updateBill
.
setTotalEntryAmount
(
newTotalEntryAmount
);
updateBill
.
setIntroduceEntryAmount
(
newIntroduceEntryAmount
);
updateBill
.
setIntroduceEntryAmount
(
newIntroduceEntryAmount
);
userBillDao
.
updateByPrimaryKey
(
updateBill
);
userBillDao
.
updateByPrimaryKey
(
updateBill
);
//更新介绍人账户
UserAccount
oldUserAccount
=
userAccountDao
.
findByUserId
(
userAccountDetail
.
getUserId
());
UserAccount
newUserAccount
=
new
UserAccount
();
newUserAccount
.
setUserId
(
userAccountDetail
.
getUserId
());
newUserAccount
.
setIntroduceWaitEntryAmount
(
oldUserAccount
.
getIntroduceWaitEntryAmount
()
-
amount
);
newUserAccount
.
setIntroduceAmount
(
oldUserAccount
.
getIntroduceAmount
()
+
amount
);
userAccountDao
.
update
(
newUserAccount
);
}
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserAccountServiceImpl.java
View file @
ffb74ca6
...
@@ -5,8 +5,10 @@ import com.wwdz.ch.core.consts.EarnestEnum;
...
@@ -5,8 +5,10 @@ import com.wwdz.ch.core.consts.EarnestEnum;
import
com.wwdz.ch.core.entity.UserAccountVo
;
import
com.wwdz.ch.core.entity.UserAccountVo
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.PriceUtil
;
import
com.wwdz.ch.core.util.PriceUtil
;
import
com.wwdz.ch.db.dao.distribution.UserAccountDetailDao
;
import
com.wwdz.ch.db.dao.openShop.EarnestRecordDao
;
import
com.wwdz.ch.db.dao.openShop.EarnestRecordDao
;
import
com.wwdz.ch.db.dao.openShop.UserAccountDao
;
import
com.wwdz.ch.db.dao.openShop.UserAccountDao
;
import
com.wwdz.ch.db.domain.distribution.UserAccountDetail
;
import
com.wwdz.ch.db.domain.openShop.UserAccount
;
import
com.wwdz.ch.db.domain.openShop.UserAccount
;
import
com.wwdz.ch.db.dto.request.openShop.EarnestRecordRequestDto
;
import
com.wwdz.ch.db.dto.request.openShop.EarnestRecordRequestDto
;
import
com.wwdz.ch.wx.service.UserAccountService
;
import
com.wwdz.ch.wx.service.UserAccountService
;
...
@@ -14,8 +16,10 @@ import org.slf4j.Logger;
...
@@ -14,8 +16,10 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
@Service
@Service
public
class
UserAccountServiceImpl
implements
UserAccountService
{
public
class
UserAccountServiceImpl
implements
UserAccountService
{
...
@@ -28,6 +32,9 @@ public class UserAccountServiceImpl implements UserAccountService {
...
@@ -28,6 +32,9 @@ public class UserAccountServiceImpl implements UserAccountService {
@Autowired
@Autowired
EarnestRecordDao
earnestRecordDao
;
EarnestRecordDao
earnestRecordDao
;
@Autowired
UserAccountDetailDao
userAccountDetailDao
;
@Override
@Override
public
Result
initAccount
(
long
userId
)
{
public
Result
initAccount
(
long
userId
)
{
try
{
try
{
...
@@ -74,4 +81,20 @@ public class UserAccountServiceImpl implements UserAccountService {
...
@@ -74,4 +81,20 @@ public class UserAccountServiceImpl implements UserAccountService {
}
}
return
Result
.
failed
();
return
Result
.
failed
();
}
}
@Deprecated
@Transactional
@Override
public
Result
finishEntryAmount
(
String
distributionOrderId
)
{
try
{
List
<
UserAccountDetail
>
userAccountDetailList
=
userAccountDetailDao
.
findByTransactionId
(
distributionOrderId
);
for
(
UserAccountDetail
userAccountDetail
:
userAccountDetailList
)
{
}
return
Result
.
success
();
}
catch
(
Exception
e
)
{
logger
.
info
(
"订单完成入账失败 error: {}"
,
e
);
}
return
Result
.
failed
();
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
View file @
ffb74ca6
...
@@ -9,12 +9,15 @@ import com.wwdz.ch.db.dao.CollectorWhiteListDao;
...
@@ -9,12 +9,15 @@ import com.wwdz.ch.db.dao.CollectorWhiteListDao;
import
com.wwdz.ch.db.dao.distribution.DistributionOrderDao
;
import
com.wwdz.ch.db.dao.distribution.DistributionOrderDao
;
import
com.wwdz.ch.db.dao.distribution.UserAccountDetailDao
;
import
com.wwdz.ch.db.dao.distribution.UserAccountDetailDao
;
import
com.wwdz.ch.db.dao.distribution.UserBillDao
;
import
com.wwdz.ch.db.dao.distribution.UserBillDao
;
import
com.wwdz.ch.db.dao.openShop.UserAccountDao
;
import
com.wwdz.ch.db.domain.CollectorWhiteList
;
import
com.wwdz.ch.db.domain.CollectorWhiteList
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributorProfit
;
import
com.wwdz.ch.db.domain.distribution.DistributorProfit
;
import
com.wwdz.ch.db.domain.distribution.UserAccountDetail
;
import
com.wwdz.ch.db.domain.distribution.UserAccountDetail
;
import
com.wwdz.ch.db.domain.distribution.UserBill
;
import
com.wwdz.ch.db.domain.distribution.UserBill
;
import
com.wwdz.ch.db.domain.openShop.UserAccount
;
import
com.wwdz.ch.db.dto.request.distribution.UserAccountDetailRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.UserAccountDetailRequestDto
;
import
com.wwdz.ch.wx.service.UserAccountService
;
import
com.wwdz.ch.wx.service.distribution.UserAccountDetailService
;
import
com.wwdz.ch.wx.service.distribution.UserAccountDetailService
;
import
com.wwdz.ch.wx.service.distribution.UserBillService
;
import
com.wwdz.ch.wx.service.distribution.UserBillService
;
import
com.xxdxxs.utils.StringUtils
;
import
com.xxdxxs.utils.StringUtils
;
...
@@ -50,6 +53,11 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
...
@@ -50,6 +53,11 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
@Autowired
@Autowired
DistributionOrderDao
distributionOrderDao
;
DistributionOrderDao
distributionOrderDao
;
@Autowired
UserAccountDao
userAccountDao
;
@Transactional
(
propagation
=
Propagation
.
REQUIRED
)
@Transactional
(
propagation
=
Propagation
.
REQUIRED
)
@Override
@Override
...
@@ -88,6 +96,13 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
...
@@ -88,6 +96,13 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
channelAccountDetail
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
channelAccountDetail
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
userAccountDetailDao
.
insert
(
channelAccountDetail
);
userAccountDetailDao
.
insert
(
channelAccountDetail
);
//更新卖家的账户,增加待入账货款
UserAccount
oldSellerAccount
=
userAccountDao
.
findByUserId
(
distributionOrder
.
getSellerId
());
UserAccount
newUserAccount
=
new
UserAccount
();
newUserAccount
.
setUserId
(
distributionOrder
.
getSellerId
());
newUserAccount
.
setGoodsWaitEntryAmount
(
oldSellerAccount
.
getGoodsWaitEntryAmount
()
+
sellerProfitAmount
);
userAccountDao
.
update
(
newUserAccount
);
//记录介绍佣金,判断介绍人是平台还是用户
//记录介绍佣金,判断介绍人是平台还是用户
UserAccountDetail
introduceAccountDetail
=
new
UserAccountDetail
();
UserAccountDetail
introduceAccountDetail
=
new
UserAccountDetail
();
if
(
StringUtils
.
isEmpty
(
distributionOrder
.
getShareRecordId
())
||
CommConsts
.
DEFAULT_SHARE_ID
.
equals
(
distributionOrder
.
getShareRecordId
())
if
(
StringUtils
.
isEmpty
(
distributionOrder
.
getShareRecordId
())
||
CommConsts
.
DEFAULT_SHARE_ID
.
equals
(
distributionOrder
.
getShareRecordId
())
...
@@ -95,6 +110,12 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
...
@@ -95,6 +110,12 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
introduceAccountDetail
.
setUserId
(
CommConsts
.
SYSTEM_ACCOUNT
);
introduceAccountDetail
.
setUserId
(
CommConsts
.
SYSTEM_ACCOUNT
);
}
else
{
}
else
{
introduceAccountDetail
.
setUserId
(
distributionOrder
.
getIntroducerId
()
==
null
?
Long
.
valueOf
(
distributionOrder
.
getShareRecordId
())
:
distributionOrder
.
getIntroducerId
());
introduceAccountDetail
.
setUserId
(
distributionOrder
.
getIntroducerId
()
==
null
?
Long
.
valueOf
(
distributionOrder
.
getShareRecordId
())
:
distributionOrder
.
getIntroducerId
());
//更新介绍人账户,增加待入账介绍佣金
UserAccount
oldIntroducerAccount
=
userAccountDao
.
findByUserId
(
introduceAccountDetail
.
getUserId
());
UserAccount
newIntroducerAccount
=
new
UserAccount
();
newIntroducerAccount
.
setUserId
(
introduceAccountDetail
.
getUserId
());
newIntroducerAccount
.
setIntroduceWaitEntryAmount
(
oldIntroducerAccount
.
getIntroduceWaitEntryAmount
()
+
introduceCost
);
userAccountDao
.
update
(
newIntroducerAccount
);
}
}
introduceAccountDetail
.
setTransactionId
(
distributionOrder
.
getDistributionOrderId
());
introduceAccountDetail
.
setTransactionId
(
distributionOrder
.
getDistributionOrderId
());
introduceAccountDetail
.
setAmount
(
introduceCost
);
introduceAccountDetail
.
setAmount
(
introduceCost
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/UserAccountService.java
View file @
ffb74ca6
package
com.wwdz.ch.wx.service
;
package
com.wwdz.ch.wx.service
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
public
interface
UserAccountService
{
public
interface
UserAccountService
{
...
@@ -11,11 +12,16 @@ public interface UserAccountService {
...
@@ -11,11 +12,16 @@ public interface UserAccountService {
*/
*/
Result
initAccount
(
long
userId
);
Result
initAccount
(
long
userId
);
/**
/**
* 查询用户账户信息
* 查询用户账户信息
* @param userId
* @param userId
* @return
* @return
*/
*/
Result
find
(
long
userId
);
Result
find
(
long
userId
);
/**
* 订单完成,货款和介绍佣金变成已入账
* @return
*/
Result
finishEntryAmount
(
String
distributionOrderId
);
}
}
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