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
a17e2693
Commit
a17e2693
authored
Jul 12, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
计算账单
parent
8aaa3d9f
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
161 additions
and
44 deletions
+161
-44
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysFinanceServiceImpl.java
...in/java/com/wwdz/ch/admin/impl/SysFinanceServiceImpl.java
+1
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
...n/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
+95
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/RefreshLogisticsJob.java
.../main/java/com/wwdz/ch/admin/job/RefreshLogisticsJob.java
+23
-3
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/SysUserBillService.java
...in/java/com/wwdz/ch/admin/service/SysUserBillService.java
+14
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
...main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
+12
-13
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
...ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
+8
-18
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserBillServiceImpl.java
...com/wwdz/ch/wx/impl/distribution/UserBillServiceImpl.java
+5
-6
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/UserAccountDetailService.java
.../ch/wx/service/distribution/UserAccountDetailService.java
+1
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/UserBillService.java
.../com/wwdz/ch/wx/service/distribution/UserBillService.java
+2
-3
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysFinanceServiceImpl.java
View file @
a17e2693
...
@@ -156,6 +156,7 @@ public class SysFinanceServiceImpl implements SysFinanceService {
...
@@ -156,6 +156,7 @@ public class SysFinanceServiceImpl implements SysFinanceService {
DistributionOrder
distributionOrder
=
distributionOrderDao
.
findById
(
distributionOrderId
);
DistributionOrder
distributionOrder
=
distributionOrderDao
.
findById
(
distributionOrderId
);
DistributorProfit
distributorProfit
=
distributorProfitDao
.
findById
(
distributionOrderId
);
DistributorProfit
distributorProfit
=
distributorProfitDao
.
findById
(
distributionOrderId
);
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
distributionOrder
.
getItemId
());
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
distributionOrder
.
getItemId
());
userOrderBillVo
.
setAccountPeriod
(
dto
.
getAccountPeriod
());
userOrderBillVo
.
setDistributionOrderId
(
distributionOrderId
);
userOrderBillVo
.
setDistributionOrderId
(
distributionOrderId
);
userOrderBillVo
.
setItemName
(
supplierItem
.
getName
());
userOrderBillVo
.
setItemName
(
supplierItem
.
getName
());
userOrderBillVo
.
setHomePageImage
(
MediaUtil
.
getHomePageImage
(
supplierItem
.
getImages
(),
supplierItem
.
getVideos
()));
userOrderBillVo
.
setHomePageImage
(
MediaUtil
.
getHomePageImage
(
supplierItem
.
getImages
(),
supplierItem
.
getVideos
()));
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/SysUserBillServiceImpl.java
0 → 100644
View file @
a17e2693
package
com.wwdz.ch.admin.impl
;
import
com.wwdz.ch.admin.service.SysUserBillService
;
import
com.wwdz.ch.core.consts.BillEnum
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.IdUtils
;
import
com.wwdz.ch.db.dao.distribution.DistributorProfitDao
;
import
com.wwdz.ch.db.dao.distribution.UserBillDao
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributorProfit
;
import
com.wwdz.ch.db.domain.distribution.UserBill
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
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.Transactional
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.concurrent.TimeUnit
;
@Service
public
class
SysUserBillServiceImpl
implements
SysUserBillService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SysUserBillServiceImpl
.
class
);
private
static
final
String
COUNT_ORDER_PROFIT_KEY
=
"COUNT_ORDER_PROFIT_KEY:"
;
@Autowired
RedissonClient
redissonClient
;
@Autowired
UserBillDao
userBillDao
;
@Autowired
DistributorProfitDao
distributorProfitDao
;
@Transactional
@Override
public
Result
finishCalculate
(
DistributionOrder
distributionOrder
)
throws
Exception
{
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM"
);
//账期
String
accountPeriod
=
formatter
.
format
(
distributionOrder
.
getCreateTime
());
String
key
=
COUNT_ORDER_PROFIT_KEY
+
accountPeriod
+
":"
+
distributionOrder
.
getSellerId
();
RLock
lock
=
redissonClient
.
getLock
(
key
);
try
{
//计算卖家实时账单明细user_bill
if
(!
lock
.
tryLock
(
10
,
10
,
TimeUnit
.
SECONDS
))
{
logger
.
warn
(
"订单号:{}, 账期为:{}, 用户id:{}, 订单完成后计算订单账单ERROR获取锁失败 ERROR !!!!"
,
distributionOrder
.
getDistributionOrderId
(),
accountPeriod
,
distributionOrder
.
getSellerId
());
throw
new
Exception
(
"订单完成后计算订单账单获取锁失败"
);
}
DistributorProfit
distributorProfit
=
distributorProfitDao
.
findById
(
distributionOrder
.
getDistributionOrderId
());
//订单金额
long
orderAmount
=
distributionOrder
.
getAmount
();
//平台佣金
long
channelCost
=
distributorProfit
.
getChannelCost
();
//介绍佣金
long
introduceCost
=
distributorProfit
.
getIntroduceCost
();
//卖家实际收益
long
sellerProfitAmount
=
distributorProfit
.
getProfit
();
UserBill
userBill
=
userBillDao
.
findOne
(
accountPeriod
,
distributionOrder
.
getSellerId
(),
BillEnum
.
BillStateEnum
.
NOT_PAID
.
getCode
());
UserBill
updateBill
=
new
UserBill
();
//订单待入账要减去这笔订单的利润,同时已到账金额要加上这笔订单的金额
long
orderWaitEntryAmount
=
userBill
.
getOrderWaitEntryAmount
()
-
sellerProfitAmount
;
long
orderEntryAmount
=
userBill
.
getOrderEntryAmount
()
+
sellerProfitAmount
;
userBill
.
setOrderWaitEntryAmount
(
orderWaitEntryAmount
);
userBill
.
setOrderEntryAmount
(
orderEntryAmount
);
if
(
distributionOrder
.
getShareRecordId
().
equals
(
distributionOrder
.
getSellerId
()))
{
//表示介绍人是卖家自己
long
newIntroduceWaitEntryAmount
=
userBill
.
getIntroduceWaitEntryAmount
()
-
introduceCost
;
long
newIntroduceEntryAmount
=
userBill
.
getIntroduceEntryAmount
()
+
introduceCost
;
userBill
.
setIntroduceWaitEntryAmount
(
newIntroduceWaitEntryAmount
);
userBill
.
setIntroduceEntryAmount
(
newIntroduceEntryAmount
);
}
updateBill
.
setTotalWaitEntryAmount
(
userBill
.
getOrderWaitEntryAmount
()
+
userBill
.
getIntroduceWaitEntryAmount
());
updateBill
.
setTotalEntryAmount
(
userBill
.
getOrderEntryAmount
()
+
userBill
.
getIntroduceEntryAmount
());
userBillDao
.
updateByPrimaryKey
(
userBill
);
return
Result
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"************ 订单完成后计算订单账单ERROR: {}"
,
e
);
throw
new
Exception
(
"订单完成后计算订单账单ERROR"
);
}
finally
{
if
(
lock
!=
null
&&
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
logger
.
info
(
"======================== 订单号:{}, 订单完成后计算订单账单释放锁成功 ========================"
,
distributionOrder
.
getDistributionOrderId
());
}
}
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/RefreshLogisticsJob.java
View file @
a17e2693
package
com.wwdz.ch.admin.job
;
package
com.wwdz.ch.admin.job
;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.admin.service.SysUserBillService
;
import
com.wwdz.ch.core.api.LogisticsApi
;
import
com.wwdz.ch.core.api.LogisticsApi
;
import
com.wwdz.ch.core.consts.BillEnum
;
import
com.wwdz.ch.core.consts.BillEnum
;
import
com.wwdz.ch.core.consts.DistributionEnum
;
import
com.wwdz.ch.core.consts.DistributionEnum
;
...
@@ -11,9 +12,11 @@ import com.wwdz.ch.core.entity.TrailInfo;
...
@@ -11,9 +12,11 @@ import com.wwdz.ch.core.entity.TrailInfo;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
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.domain.User
;
import
com.wwdz.ch.db.domain.User
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.SpecialPerformance
;
import
com.wwdz.ch.db.domain.distribution.SpecialPerformance
;
import
com.wwdz.ch.db.domain.distribution.UserBill
;
import
com.wwdz.ch.db.dto.request.UserRequestDto
;
import
com.wwdz.ch.db.dto.request.UserRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceRequestDto
;
...
@@ -26,6 +29,8 @@ import org.slf4j.LoggerFactory;
...
@@ -26,6 +29,8 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.time.Duration
;
import
java.time.Duration
;
...
@@ -52,6 +57,12 @@ public class RefreshLogisticsJob {
...
@@ -52,6 +57,12 @@ public class RefreshLogisticsJob {
@Autowired
@Autowired
UserAccountDetailDao
userAccountDetailDao
;
UserAccountDetailDao
userAccountDetailDao
;
@Autowired
UserBillDao
userBillDao
;
@Autowired
SysUserBillService
sysUserBillService
;
/**
/**
* 隔4小时运行一次
* 隔4小时运行一次
*/
*/
...
@@ -121,6 +132,7 @@ public class RefreshLogisticsJob {
...
@@ -121,6 +132,7 @@ public class RefreshLogisticsJob {
}
}
}
}
@Transactional
public
void
checkAutoSigned
()
{
public
void
checkAutoSigned
()
{
//物流签收后7天检测自动确认收货
//物流签收后7天检测自动确认收货
boolean
hasNextPage
=
true
;
boolean
hasNextPage
=
true
;
...
@@ -140,9 +152,17 @@ public class RefreshLogisticsJob {
...
@@ -140,9 +152,17 @@ public class RefreshLogisticsJob {
PageInfo
pageInfo
=
new
PageInfo
(
distributionOrderList
);
PageInfo
pageInfo
=
new
PageInfo
(
distributionOrderList
);
logger
.
info
(
"================ 签收时间超过七天未确认完成的订单总页数为: {}, 当前查询第 {} 页 ================"
,
pageInfo
.
getPages
(),
pageInfo
.
getPageNum
());
logger
.
info
(
"================ 签收时间超过七天未确认完成的订单总页数为: {}, 当前查询第 {} 页 ================"
,
pageInfo
.
getPages
(),
pageInfo
.
getPageNum
());
for
(
DistributionOrder
distributionOrder
:
distributionOrderList
)
{
for
(
DistributionOrder
distributionOrder
:
distributionOrderList
)
{
distributionOrderDao
.
updateState
(
distributionOrder
.
getDistributionOrderId
(),
DistributionEnum
.
DistributionOrderStateEnum
.
FINISH
.
getCode
());
try
{
//关联的订单账单,用户账户的待入账金额改为已入账
distributionOrderDao
.
updateState
(
distributionOrder
.
getDistributionOrderId
(),
DistributionEnum
.
DistributionOrderStateEnum
.
FINISH
.
getCode
());
userAccountDetailDao
.
updateState
(
distributionOrder
.
getDistributionOrderId
(),
BillEnum
.
AccountDetailStateEnum
.
ENTRY
.
getCode
());
//关联的订单账单,用户账户的待入账金额改为已入账
userAccountDetailDao
.
updateState
(
distributionOrder
.
getDistributionOrderId
(),
BillEnum
.
AccountDetailStateEnum
.
ENTRY
.
getCode
());
//调整用户的月度账单
sysUserBillService
.
finishCalculate
(
distributionOrder
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"订单自动完成,更新账单失败:{}"
,
e
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
logger
.
info
(
">>>>>>>>>>>>>> 订单号:{}, 签收时间超过七天系统自动完成订单 <<<<<<<<<<<<<<<"
);
logger
.
info
(
">>>>>>>>>>>>>> 订单号:{}, 签收时间超过七天系统自动完成订单 <<<<<<<<<<<<<<<"
);
}
}
hasNextPage
=
pageInfo
.
isHasNextPage
();
hasNextPage
=
pageInfo
.
isHasNextPage
();
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/service/SysUserBillService.java
0 → 100644
View file @
a17e2693
package
com.wwdz.ch.admin.service
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
public
interface
SysUserBillService
{
/**
* 订单完成后计算账单
* @param distributionOrder
* @return
*/
Result
finishCalculate
(
DistributionOrder
distributionOrder
)
throws
Exception
;
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
View file @
a17e2693
...
@@ -26,6 +26,8 @@ import com.wwdz.ch.core.service.SendMsgService;
...
@@ -26,6 +26,8 @@ import com.wwdz.ch.core.service.SendMsgService;
import
com.wwdz.ch.db.dto.request.distribution.IdentifyOrderRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.IdentifyOrderRequestDto
;
import
com.wwdz.ch.wx.service.distribution.IdentifyOrderService
;
import
com.wwdz.ch.wx.service.distribution.IdentifyOrderService
;
import
com.wwdz.ch.wx.service.distribution.SupplierItemService
;
import
com.wwdz.ch.wx.service.distribution.SupplierItemService
;
import
com.wwdz.ch.wx.service.distribution.UserAccountDetailService
;
import
com.wwdz.ch.wx.service.distribution.UserBillService
;
import
com.xxdxxs.utils.JsonUtils
;
import
com.xxdxxs.utils.JsonUtils
;
import
com.xxdxxs.utils.StringUtils
;
import
com.xxdxxs.utils.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -102,6 +104,12 @@ public class WxPayCallbackController {
...
@@ -102,6 +104,12 @@ public class WxPayCallbackController {
@Autowired
@Autowired
UserAccountDetailDao
userAccountDetailDao
;
UserAccountDetailDao
userAccountDetailDao
;
@Autowired
UserBillService
userBillService
;
@Autowired
UserAccountDetailService
userAccountDetailService
;
@RequestMapping
(
value
=
"/getPayNotify"
)
@RequestMapping
(
value
=
"/getPayNotify"
)
public
String
payNotify
(
HttpServletRequest
request
)
throws
IOException
{
public
String
payNotify
(
HttpServletRequest
request
)
throws
IOException
{
logger
.
info
(
"------------------ 收到微信支付回调通知 ------------------"
);
logger
.
info
(
"------------------ 收到微信支付回调通知 ------------------"
);
...
@@ -297,19 +305,10 @@ public class WxPayCallbackController {
...
@@ -297,19 +305,10 @@ public class WxPayCallbackController {
//更新库存
//更新库存
supplierItemService
.
reduceStock
(
distributionOrder
.
getItemId
(),
distributionOrder
.
getItemNum
());
supplierItemService
.
reduceStock
(
distributionOrder
.
getItemId
(),
distributionOrder
.
getItemNum
());
logger
.
info
(
">>>>>>>>>>>> 竞拍订单,微信支付回调通知处理成功,更新拍卖订单状态和商品库存 <<<<<<<<<<<<"
);
logger
.
info
(
">>>>>>>>>>>> 竞拍订单,微信支付回调通知处理成功,更新拍卖订单状态和商品库存 <<<<<<<<<<<<"
);
//用户首次购买的话,即绑定该分销商
//新增用户账户的明细,调整月度账单
/* boolean isExisted = distributorBindDao.isExisted(distributionOrder.getBuyerId());
DistributorProfit
distributorProfit
=
distributorProfitDao
.
findById
(
distributionOrderId
);
if (!isExisted) {
userAccountDetailService
.
create
(
distributionOrder
,
distributorProfit
);
Date now = new Date();
DistributorBind distributorBind = new DistributorBind();
distributorBind.setUserId(distributionOrder.getBuyerId());
distributorBind.setDistributorId(distributionOrder.getSellerId());
distributorBind.setCreateTime(now);
distributorBind.setUpdateTime(now);
distributorBind.setBindShareId(distributionOrder.getShareRecordId());
distributorBind.setIsValid(true);
distributorBindDao.insert(distributorBind);
}*/
//更新拍品配置中的状态为"成交"
//更新拍品配置中的状态为"成交"
auctionConfigDao
.
updateState
(
distributionOrder
.
getItemId
(),
AuctionEnum
.
StateEnum
.
DEALED
.
getCode
());
auctionConfigDao
.
updateState
(
distributionOrder
.
getItemId
(),
AuctionEnum
.
StateEnum
.
DEALED
.
getCode
());
return
Result
.
success
();
return
Result
.
success
();
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserAccountDetailServiceImpl.java
View file @
a17e2693
...
@@ -3,19 +3,14 @@ package com.wwdz.ch.wx.impl.distribution;
...
@@ -3,19 +3,14 @@ package com.wwdz.ch.wx.impl.distribution;
import
com.wwdz.ch.core.consts.BillEnum
;
import
com.wwdz.ch.core.consts.BillEnum
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.IdUtils
;
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.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.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.wwdz.ch.wx.util.RedisUtil
;
import
com.xxdxxs.utils.StringUtils
;
import
com.xxdxxs.utils.StringUtils
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.slf4j.Logger
;
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
;
...
@@ -23,9 +18,6 @@ import org.springframework.stereotype.Service;
...
@@ -23,9 +18,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.text.SimpleDateFormat
;
import
java.util.concurrent.TimeUnit
;
@Service
@Service
public
class
UserAccountDetailServiceImpl
implements
UserAccountDetailService
{
public
class
UserAccountDetailServiceImpl
implements
UserAccountDetailService
{
...
@@ -47,8 +39,6 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
...
@@ -47,8 +39,6 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
@Transactional
(
propagation
=
Propagation
.
REQUIRED
)
@Transactional
(
propagation
=
Propagation
.
REQUIRED
)
@Override
@Override
public
Result
create
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
{
public
Result
create
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
{
try
{
try
{
//订单金额
//订单金额
long
orderAmount
=
distributionOrder
.
getAmount
();
long
orderAmount
=
distributionOrder
.
getAmount
();
...
@@ -66,8 +56,8 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
...
@@ -66,8 +56,8 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
userAccountDetail
.
setAmount
(
sellerProfitAmount
);
userAccountDetail
.
setAmount
(
sellerProfitAmount
);
userAccountDetail
.
setType
(
BillEnum
.
AccountDetailTypeEnum
.
ORDER
.
getCode
());
userAccountDetail
.
setType
(
BillEnum
.
AccountDetailTypeEnum
.
ORDER
.
getCode
());
userAccountDetail
.
setFundType
(
BillEnum
.
FundTypeEnum
.
INCOME
.
getCode
());
userAccountDetail
.
setFundType
(
BillEnum
.
FundTypeEnum
.
INCOME
.
getCode
());
//
创建订单时状态是无效,等买家付款后变
为待入账,订单完成变成已入账
//
买家付款后
为待入账,订单完成变成已入账
userAccountDetail
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
INVALID
.
getCode
());
userAccountDetail
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
WAIT_ENTRY
.
getCode
());
userAccountDetail
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
userAccountDetail
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
userAccountDetailDao
.
insert
(
userAccountDetail
);
userAccountDetailDao
.
insert
(
userAccountDetail
);
...
@@ -78,8 +68,8 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
...
@@ -78,8 +68,8 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
channelAccountDetail
.
setAmount
(
channelCost
);
channelAccountDetail
.
setAmount
(
channelCost
);
channelAccountDetail
.
setType
(
BillEnum
.
AccountDetailTypeEnum
.
CHANNEL
.
getCode
());
channelAccountDetail
.
setType
(
BillEnum
.
AccountDetailTypeEnum
.
CHANNEL
.
getCode
());
channelAccountDetail
.
setFundType
(
BillEnum
.
FundTypeEnum
.
INCOME
.
getCode
());
channelAccountDetail
.
setFundType
(
BillEnum
.
FundTypeEnum
.
INCOME
.
getCode
());
//
创建订单时状态是无效,等买家付款后变
为待入账,订单完成变成已入账
//
买家付款后
为待入账,订单完成变成已入账
channelAccountDetail
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
INVALID
.
getCode
());
channelAccountDetail
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
WAIT_ENTRY
.
getCode
());
channelAccountDetail
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
channelAccountDetail
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
userAccountDetailDao
.
insert
(
channelAccountDetail
);
userAccountDetailDao
.
insert
(
channelAccountDetail
);
...
@@ -95,13 +85,13 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
...
@@ -95,13 +85,13 @@ public class UserAccountDetailServiceImpl implements UserAccountDetailService {
introduceAccountDetail
.
setAmount
(
introduceCost
);
introduceAccountDetail
.
setAmount
(
introduceCost
);
introduceAccountDetail
.
setType
(
BillEnum
.
AccountDetailTypeEnum
.
INTRODUCE
.
getCode
());
introduceAccountDetail
.
setType
(
BillEnum
.
AccountDetailTypeEnum
.
INTRODUCE
.
getCode
());
introduceAccountDetail
.
setFundType
(
BillEnum
.
FundTypeEnum
.
INCOME
.
getCode
());
introduceAccountDetail
.
setFundType
(
BillEnum
.
FundTypeEnum
.
INCOME
.
getCode
());
//
创建订单时状态是无效,等买家付款后变
为待入账,订单完成变成已入账
//
买家付款后
为待入账,订单完成变成已入账
introduceAccountDetail
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
INVALID
.
getCode
());
introduceAccountDetail
.
setState
(
BillEnum
.
AccountDetailStateEnum
.
WAIT_ENTRY
.
getCode
());
introduceAccountDetail
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
introduceAccountDetail
.
setCreateTime
(
distributionOrder
.
getCreateTime
());
userAccountDetailDao
.
insert
(
introduceAccountDetail
);
userAccountDetailDao
.
insert
(
introduceAccountDetail
);
//计算
//计算
用户账单
userBillService
.
c
alculate
(
distributionOrder
,
distributorProfit
);
userBillService
.
payC
alculate
(
distributionOrder
,
distributorProfit
);
return
Result
.
success
();
return
Result
.
success
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
error
(
"新增用户账户明细error:{}"
,
e
);
logger
.
error
(
"新增用户账户明细error:{}"
,
e
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/UserBillServiceImpl.java
View file @
a17e2693
...
@@ -4,6 +4,7 @@ import com.wwdz.ch.core.consts.BillEnum;
...
@@ -4,6 +4,7 @@ import com.wwdz.ch.core.consts.BillEnum;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.IdUtils
;
import
com.wwdz.ch.core.util.IdUtils
;
import
com.wwdz.ch.db.dao.distribution.DistributorProfitDao
;
import
com.wwdz.ch.db.dao.distribution.UserBillDao
;
import
com.wwdz.ch.db.dao.distribution.UserBillDao
;
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
;
...
@@ -35,9 +36,12 @@ public class UserBillServiceImpl implements UserBillService {
...
@@ -35,9 +36,12 @@ public class UserBillServiceImpl implements UserBillService {
@Autowired
@Autowired
UserBillDao
userBillDao
;
UserBillDao
userBillDao
;
@Autowired
DistributorProfitDao
distributorProfitDao
;
@Transactional
@Transactional
@Override
@Override
public
Result
c
alculate
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
{
public
Result
payC
alculate
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
{
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM"
);
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM"
);
//账期
//账期
String
accountPeriod
=
formatter
.
format
(
distributionOrder
.
getCreateTime
());
String
accountPeriod
=
formatter
.
format
(
distributionOrder
.
getCreateTime
());
...
@@ -107,9 +111,4 @@ public class UserBillServiceImpl implements UserBillService {
...
@@ -107,9 +111,4 @@ public class UserBillServiceImpl implements UserBillService {
}
}
}
}
@Transactional
@Override
public
Result
calculateByOrderId
(
String
distributionOrderId
)
{
return
null
;
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/UserAccountDetailService.java
View file @
a17e2693
...
@@ -9,7 +9,7 @@ public interface UserAccountDetailService {
...
@@ -9,7 +9,7 @@ public interface UserAccountDetailService {
/**
/**
* 新增用户账户明细
* 新增用户账户明细
* @param d
to
* @param d
istributionOrder, distributorProfit
* @return
* @return
*/
*/
Result
create
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
;
Result
create
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
;
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/UserBillService.java
View file @
a17e2693
...
@@ -7,13 +7,12 @@ import com.wwdz.ch.db.domain.distribution.DistributorProfit;
...
@@ -7,13 +7,12 @@ import com.wwdz.ch.db.domain.distribution.DistributorProfit;
public
interface
UserBillService
{
public
interface
UserBillService
{
/**
/**
* 计算账单
*
订单付款后
计算账单
* @param distributionOrder
* @param distributionOrder
* @param distributorProfit
* @param distributorProfit
* @return
* @return
*/
*/
Result
c
alculate
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
;
Result
payC
alculate
(
DistributionOrder
distributionOrder
,
DistributorProfit
distributorProfit
)
throws
Exception
;
Result
calculateByOrderId
(
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