Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-api
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-api
Commits
42911469
Commit
42911469
authored
Dec 11, 2024
by
alex yao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 用户权益支付订单列表
parent
f6aa86e3
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1496 additions
and
236 deletions
+1496
-236
EquityService.java
src/main/java/cn/com/poc/equity/aggregate/EquityService.java
+11
-0
EquityServiceImpl.java
...a/cn/com/poc/equity/aggregate/impl/EquityServiceImpl.java
+70
-2
BizMemberEquityPayOrderLogConvert.java
...poc/equity/convert/BizMemberEquityPayOrderLogConvert.java
+54
-0
CurrentUserPayOrderDto.java
...in/java/cn/com/poc/equity/dto/CurrentUserPayOrderDto.java
+114
-0
BizMemberEquityPayOrderLogEntity.java
...m/poc/equity/entity/BizMemberEquityPayOrderLogEntity.java
+226
-0
CurrentUserPayOrderEntity.java
...a/cn/com/poc/equity/entity/CurrentUserPayOrderEntity.java
+114
-0
BizMemberEquityPayOrderLogModel.java
...com/poc/equity/model/BizMemberEquityPayOrderLogModel.java
+338
-0
EquityPayPostProcessor.java
...a/cn/com/poc/equity/processor/EquityPayPostProcessor.java
+23
-1
BizMemberEquityPayOrderLogRepository.java
...uity/repository/BizMemberEquityPayOrderLogRepository.java
+6
-0
EquityOrderRest.java
src/main/java/cn/com/poc/equity/rest/EquityOrderRest.java
+13
-0
EquityOrderRestImpl.java
...java/cn/com/poc/equity/rest/impl/EquityOrderRestImpl.java
+30
-0
BizMemberEquityPayOrderLogService.java
...poc/equity/service/BizMemberEquityPayOrderLogService.java
+21
-0
BizMemberEquityPayOrderLogServiceImpl.java
...y/service/impl/BizMemberEquityPayOrderLogServiceImpl.java
+130
-0
PayCallBackRequest.java
...resource/demand/pay/dto/payConfig/PayCallBackRequest.java
+13
-0
DgtoolsPayOrderModel.java
...party/resource/demand/pay/model/DgtoolsPayOrderModel.java
+271
-229
PayCallBackRest.java
.../thirdparty/resource/demand/pay/rest/PayCallBackRest.java
+1
-1
PayCallBackRestImpl.java
...ty/resource/demand/pay/rest/impl/PayCallBackRestImpl.java
+2
-2
DgtoolsPayOrderService.java
...y/resource/demand/pay/service/DgtoolsPayOrderService.java
+10
-0
DgtoolsPayOrderServiceImpl.java
...e/demand/pay/service/impl/DgtoolsPayOrderServiceImpl.java
+23
-1
EquityServiceTest.java
...t/java/cn/com/poc/equity/aggregate/EquityServiceTest.java
+26
-0
No files found.
src/main/java/cn/com/poc/equity/aggregate/EquityService.java
View file @
42911469
...
@@ -3,6 +3,8 @@ package cn.com.poc.equity.aggregate;
...
@@ -3,6 +3,8 @@ package cn.com.poc.equity.aggregate;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.domain.AgentEquity
;
import
cn.com.poc.equity.domain.AgentEquity
;
import
cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity
;
import
cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity
;
import
cn.com.poc.equity.entity.CurrentUserPayOrderEntity
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
java.util.List
;
import
java.util.List
;
...
@@ -32,4 +34,13 @@ public interface EquityService {
...
@@ -32,4 +34,13 @@ public interface EquityService {
*/
*/
String
createEquityOrder
(
EquityEnum
.
TYPE
type
,
EquityEnum
.
DOMAIN
domain
,
EquityEnum
.
VALIDITY_UNIT
validityUnit
,
Long
memberID
)
throws
Exception
;
String
createEquityOrder
(
EquityEnum
.
TYPE
type
,
EquityEnum
.
DOMAIN
domain
,
EquityEnum
.
VALIDITY_UNIT
validityUnit
,
Long
memberID
)
throws
Exception
;
/**
* 获取用户订单列表
*
* @param memberId 会员ID
* @param domain 权益域
* @return 订单列表
*/
List
<
CurrentUserPayOrderEntity
>
getUserOrderList
(
Long
memberId
,
EquityEnum
.
DOMAIN
domain
,
PagingInfo
pagingInfo
);
}
}
src/main/java/cn/com/poc/equity/aggregate/impl/EquityServiceImpl.java
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
aggregate
.
impl
;
package
cn
.
com
.
poc
.
equity
.
aggregate
.
impl
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.utils.DateUtils
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.poc.common.utils.StringUtils
;
import
cn.com.poc.equity.aggregate.EquityService
;
import
cn.com.poc.equity.aggregate.EquityService
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.domain.AgentEquity
;
import
cn.com.poc.equity.domain.AgentEquity
;
import
cn.com.poc.equity.entity.BizMemberEquityPayOrderLogEntity
;
import
cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity
;
import
cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity
;
import
cn.com.poc.equity.entity.CurrentUserPayOrderEntity
;
import
cn.com.poc.equity.service.BizMemberEquityPayOrderLogService
;
import
cn.com.poc.equity.service.BizPaymentPackageConfigurationService
;
import
cn.com.poc.equity.service.BizPaymentPackageConfigurationService
;
import
cn.com.poc.thirdparty.resource.demand.dgTools.constants.CurrencyEnum
;
import
cn.com.poc.thirdparty.resource.demand.dgTools.constants.CurrencyEnum
;
import
cn.com.poc.thirdparty.resource.demand.pay.constants.DgtoolsPayOrderConstants
;
import
cn.com.poc.thirdparty.resource.demand.pay.entity.DgtoolsPayOrderEntity
;
import
cn.com.poc.thirdparty.resource.demand.pay.entity.DgtoolsPayOrderEntity
;
import
cn.com.poc.thirdparty.resource.demand.pay.service.DgtoolsPayOrderService
;
import
cn.com.poc.thirdparty.resource.demand.pay.service.DgtoolsPayOrderService
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
@Component
@Component
...
@@ -33,6 +40,9 @@ public class EquityServiceImpl implements EquityService {
...
@@ -33,6 +40,9 @@ public class EquityServiceImpl implements EquityService {
@Resource
@Resource
private
DgtoolsPayOrderService
dgtoolsPayOrderService
;
private
DgtoolsPayOrderService
dgtoolsPayOrderService
;
@Resource
private
BizMemberEquityPayOrderLogService
bizMemberEquityPayOrderLogService
;
@Override
@Override
public
List
<
AgentEquity
>
getEquityList
(
EquityEnum
.
TYPE
type
)
{
public
List
<
AgentEquity
>
getEquityList
(
EquityEnum
.
TYPE
type
)
{
List
<
AgentEquity
>
result
=
new
ArrayList
<>();
List
<
AgentEquity
>
result
=
new
ArrayList
<>();
...
@@ -92,4 +102,62 @@ public class EquityServiceImpl implements EquityService {
...
@@ -92,4 +102,62 @@ public class EquityServiceImpl implements EquityService {
logger
.
info
(
"创建支付订单,pay_order:{}"
,
JsonUtils
.
serialize
(
payOrder
));
logger
.
info
(
"创建支付订单,pay_order:{}"
,
JsonUtils
.
serialize
(
payOrder
));
return
payOrder
.
getPayOrderSn
();
return
payOrder
.
getPayOrderSn
();
}
}
@Override
public
List
<
CurrentUserPayOrderEntity
>
getUserOrderList
(
Long
memberId
,
EquityEnum
.
DOMAIN
domain
,
PagingInfo
pagingInfo
)
{
List
<
CurrentUserPayOrderEntity
>
currentUserPayOrderEntities
=
new
ArrayList
<>();
BizMemberEquityPayOrderLogEntity
bizMemberEquityPayOrderLogEntity
=
new
BizMemberEquityPayOrderLogEntity
();
bizMemberEquityPayOrderLogEntity
.
setMemberId
(
memberId
);
bizMemberEquityPayOrderLogEntity
.
setDomain
(
domain
.
name
());
bizMemberEquityPayOrderLogEntity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
BizMemberEquityPayOrderLogEntity
>
payOrderLogEntities
=
bizMemberEquityPayOrderLogService
.
findByExample
(
bizMemberEquityPayOrderLogEntity
,
pagingInfo
);
Date
currDateTime
=
DateUtils
.
getCurrDateTime
();
if
(
CollectionUtils
.
isNotEmpty
(
payOrderLogEntities
))
{
for
(
BizMemberEquityPayOrderLogEntity
payOrderLogEntity
:
payOrderLogEntities
)
{
CurrentUserPayOrderEntity
currentUserPayOrderEntity
=
new
CurrentUserPayOrderEntity
();
currentUserPayOrderEntity
.
setType
(
EquityEnum
.
TYPE
.
valueOf
(
payOrderLogEntity
.
getType
()));
currentUserPayOrderEntity
.
setDomain
(
domain
);
currentUserPayOrderEntity
.
setExpiredNum
(
payOrderLogEntity
.
getExpiredNum
());
currentUserPayOrderEntity
.
setExpiredType
(
EquityEnum
.
VALIDITY_UNIT
.
valueOf
(
payOrderLogEntity
.
getExpiredType
()));
currentUserPayOrderEntity
.
setPointNum
(
new
BigDecimal
(
payOrderLogEntity
.
getTotalPoints
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
RoundingMode
.
HALF_UP
));
currentUserPayOrderEntity
.
setRemainExpiredDay
(
calculateRemainExpiredDay
(
currDateTime
,
payOrderLogEntity
.
getPayTime
(),
payOrderLogEntity
.
getExpiredNum
(),
EquityEnum
.
VALIDITY_UNIT
.
valueOf
(
payOrderLogEntity
.
getExpiredType
())));
currentUserPayOrderEntity
.
setAmount
(
new
BigDecimal
(
payOrderLogEntity
.
getPayAmount
()));
currentUserPayOrderEntity
.
setPayTime
(
DateUtils
.
formatDate
(
payOrderLogEntity
.
getPayTime
(),
DateUtils
.
yyyy_MM_dd_HH_mm_ss
));
currentUserPayOrderEntity
.
setPayChannel
(
payOrderLogEntity
.
getPayChannel
());
currentUserPayOrderEntity
.
setPayOrderSn
(
payOrderLogEntity
.
getPayOrderSn
());
currentUserPayOrderEntities
.
add
(
currentUserPayOrderEntity
);
}
}
return
currentUserPayOrderEntities
;
}
/**
* 计算剩余有效天数
*
* @param now
* @param payTime
* @param expiredNum
* @param validityUnit
* @return -1 表示永久有效, 0 表示已过期 , >0 表示剩余有效天数
*/
private
Integer
calculateRemainExpiredDay
(
Date
now
,
Date
payTime
,
Integer
expiredNum
,
EquityEnum
.
VALIDITY_UNIT
validityUnit
)
{
int
diff
=
0
;
Date
expiredDate
=
new
Date
();
switch
(
validityUnit
)
{
case
month:
expiredDate
=
DateUtils
.
addMonth
(
payTime
,
expiredNum
);
diff
=
DateUtils
.
diffTwoDateDay
(
expiredDate
,
now
);
break
;
case
year:
expiredDate
=
DateUtils
.
addYear
(
payTime
,
expiredNum
);
diff
=
DateUtils
.
diffTwoDateDay
(
expiredDate
,
now
);
break
;
case
indefinite:
return
-
2
;
}
if
(
now
.
after
(
expiredDate
))
{
return
-
1
;
}
return
diff
;
}
}
}
\ No newline at end of file
src/main/java/cn/com/poc/equity/convert/BizMemberEquityPayOrderLogConvert.java
0 → 100644
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
convert
;
import
cn.com.poc.equity.entity.BizMemberEquityPayOrderLogEntity
;
import
cn.com.poc.equity.model.BizMemberEquityPayOrderLogModel
;
public
class
BizMemberEquityPayOrderLogConvert
{
public
static
BizMemberEquityPayOrderLogEntity
modelToEntity
(
BizMemberEquityPayOrderLogModel
model
)
{
BizMemberEquityPayOrderLogEntity
entity
=
new
BizMemberEquityPayOrderLogEntity
();
entity
.
setId
(
model
.
getId
());
entity
.
setMemberId
(
model
.
getMemberId
());
entity
.
setPayOrderSn
(
model
.
getPayOrderSn
());
entity
.
setPayAmount
(
model
.
getPayAmount
());
entity
.
setCurrency
(
model
.
getCurrency
());
entity
.
setType
(
model
.
getType
());
entity
.
setDomain
(
model
.
getDomain
());
entity
.
setExpiredNum
(
model
.
getExpiredNum
());
entity
.
setExpiredType
(
model
.
getExpiredType
());
entity
.
setTotalPoints
(
model
.
getTotalPoints
());
entity
.
setPayChannel
(
model
.
getPayChannel
());
entity
.
setPayTime
(
model
.
getPayTime
());
entity
.
setIsDeleted
(
model
.
getIsDeleted
());
entity
.
setCreator
(
model
.
getCreator
());
entity
.
setCreatedTime
(
model
.
getCreatedTime
());
entity
.
setModifier
(
model
.
getModifier
());
entity
.
setModifiedTime
(
model
.
getModifiedTime
());
entity
.
setSysVersion
(
model
.
getSysVersion
());
return
entity
;
}
public
static
BizMemberEquityPayOrderLogModel
entityToModel
(
BizMemberEquityPayOrderLogEntity
entity
)
{
BizMemberEquityPayOrderLogModel
model
=
new
BizMemberEquityPayOrderLogModel
();
model
.
setId
(
entity
.
getId
());
model
.
setMemberId
(
entity
.
getMemberId
());
model
.
setPayOrderSn
(
entity
.
getPayOrderSn
());
model
.
setPayAmount
(
entity
.
getPayAmount
());
model
.
setCurrency
(
entity
.
getCurrency
());
model
.
setType
(
entity
.
getType
());
model
.
setDomain
(
entity
.
getDomain
());
model
.
setExpiredNum
(
entity
.
getExpiredNum
());
model
.
setExpiredType
(
entity
.
getExpiredType
());
model
.
setTotalPoints
(
entity
.
getTotalPoints
());
model
.
setPayChannel
(
entity
.
getPayChannel
());
model
.
setPayTime
(
entity
.
getPayTime
());
model
.
setIsDeleted
(
entity
.
getIsDeleted
());
model
.
setCreator
(
entity
.
getCreator
());
model
.
setCreatedTime
(
entity
.
getCreatedTime
());
model
.
setModifier
(
entity
.
getModifier
());
model
.
setModifiedTime
(
entity
.
getModifiedTime
());
model
.
setSysVersion
(
entity
.
getSysVersion
());
return
model
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/equity/dto/CurrentUserPayOrderDto.java
0 → 100644
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
dto
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author alex.yao
* @date 2024/12/11
*/
public
class
CurrentUserPayOrderDto
implements
Serializable
{
private
EquityEnum
.
TYPE
type
;
private
EquityEnum
.
DOMAIN
domain
;
private
Integer
expiredNum
;
private
EquityEnum
.
VALIDITY_UNIT
expiredType
;
private
BigDecimal
pointNum
;
private
Integer
remainExpiredDay
;
private
BigDecimal
amount
;
private
String
payTime
;
private
String
payChannel
;
private
String
payOrderSn
;
public
EquityEnum
.
TYPE
getType
()
{
return
type
;
}
public
void
setType
(
EquityEnum
.
TYPE
type
)
{
this
.
type
=
type
;
}
public
EquityEnum
.
DOMAIN
getDomain
()
{
return
domain
;
}
public
void
setDomain
(
EquityEnum
.
DOMAIN
domain
)
{
this
.
domain
=
domain
;
}
public
Integer
getExpiredNum
()
{
return
expiredNum
;
}
public
void
setExpiredNum
(
Integer
expiredNum
)
{
this
.
expiredNum
=
expiredNum
;
}
public
EquityEnum
.
VALIDITY_UNIT
getExpiredType
()
{
return
expiredType
;
}
public
void
setExpiredType
(
EquityEnum
.
VALIDITY_UNIT
expiredType
)
{
this
.
expiredType
=
expiredType
;
}
public
BigDecimal
getPointNum
()
{
return
pointNum
;
}
public
void
setPointNum
(
BigDecimal
pointNum
)
{
this
.
pointNum
=
pointNum
;
}
public
Integer
getRemainExpiredDay
()
{
return
remainExpiredDay
;
}
public
void
setRemainExpiredDay
(
Integer
remainExpiredDay
)
{
this
.
remainExpiredDay
=
remainExpiredDay
;
}
public
BigDecimal
getAmount
()
{
return
amount
;
}
public
void
setAmount
(
BigDecimal
amount
)
{
this
.
amount
=
amount
;
}
public
String
getPayTime
()
{
return
payTime
;
}
public
void
setPayTime
(
String
payTime
)
{
this
.
payTime
=
payTime
;
}
public
String
getPayChannel
()
{
return
payChannel
;
}
public
void
setPayChannel
(
String
payChannel
)
{
this
.
payChannel
=
payChannel
;
}
public
String
getPayOrderSn
()
{
return
payOrderSn
;
}
public
void
setPayOrderSn
(
String
payOrderSn
)
{
this
.
payOrderSn
=
payOrderSn
;
}
}
src/main/java/cn/com/poc/equity/entity/BizMemberEquityPayOrderLogEntity.java
0 → 100644
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
entity
;
public
class
BizMemberEquityPayOrderLogEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** id
*
*/
private
java
.
lang
.
Long
id
;
public
java
.
lang
.
Long
getId
(){
return
this
.
id
;
}
public
void
setId
(
java
.
lang
.
Long
id
){
this
.
id
=
id
;
}
/** member_id
*用户id
*/
private
java
.
lang
.
Long
memberId
;
public
java
.
lang
.
Long
getMemberId
(){
return
this
.
memberId
;
}
public
void
setMemberId
(
java
.
lang
.
Long
memberId
){
this
.
memberId
=
memberId
;
}
/** pay_order_sn
*订单号
*/
private
java
.
lang
.
String
payOrderSn
;
public
java
.
lang
.
String
getPayOrderSn
(){
return
this
.
payOrderSn
;
}
public
void
setPayOrderSn
(
java
.
lang
.
String
payOrderSn
){
this
.
payOrderSn
=
payOrderSn
;
}
/** pay_amout
*支付金额 - 分
*/
private
java
.
lang
.
Integer
payAmount
;
public
java
.
lang
.
Integer
getPayAmount
(){
return
this
.
payAmount
;
}
public
void
setPayAmount
(
java
.
lang
.
Integer
payAmount
){
this
.
payAmount
=
payAmount
;
}
/** currency
*货币
*/
private
java
.
lang
.
String
currency
;
public
java
.
lang
.
String
getCurrency
(){
return
this
.
currency
;
}
public
void
setCurrency
(
java
.
lang
.
String
currency
){
this
.
currency
=
currency
;
}
/** type
*类型 normal-普通 professional-专业版 , ultimate-旗舰版
*/
private
java
.
lang
.
String
type
;
public
java
.
lang
.
String
getType
(){
return
this
.
type
;
}
public
void
setType
(
java
.
lang
.
String
type
){
this
.
type
=
type
;
}
/** domain
*资源包领域 point-积分包 equity-权益包
*/
private
java
.
lang
.
String
domain
;
public
java
.
lang
.
String
getDomain
(){
return
this
.
domain
;
}
public
void
setDomain
(
java
.
lang
.
String
domain
){
this
.
domain
=
domain
;
}
/**
*
* 获得积分数
*/
private
java
.
lang
.
Long
totalPoints
;
public
Long
getTotalPoints
()
{
return
totalPoints
;
}
public
void
setTotalPoints
(
Long
totalPoints
)
{
this
.
totalPoints
=
totalPoints
;
}
/** expired_num
*过期数
*/
private
java
.
lang
.
Integer
expiredNum
;
public
java
.
lang
.
Integer
getExpiredNum
(){
return
this
.
expiredNum
;
}
public
void
setExpiredNum
(
java
.
lang
.
Integer
expiredNum
){
this
.
expiredNum
=
expiredNum
;
}
/** expired_type
*套餐过期类型 day-天 month-月 year-年 indefinite-无限期
*/
private
java
.
lang
.
String
expiredType
;
public
java
.
lang
.
String
getExpiredType
(){
return
this
.
expiredType
;
}
public
void
setExpiredType
(
java
.
lang
.
String
expiredType
){
this
.
expiredType
=
expiredType
;
}
/** pay_channel
*支付渠道: wx-微信 ali-支付宝
*/
private
java
.
lang
.
String
payChannel
;
public
java
.
lang
.
String
getPayChannel
(){
return
this
.
payChannel
;
}
public
void
setPayChannel
(
java
.
lang
.
String
payChannel
){
this
.
payChannel
=
payChannel
;
}
/** pay_time
*付款时间
*/
private
java
.
util
.
Date
payTime
;
public
java
.
util
.
Date
getPayTime
(){
return
this
.
payTime
;
}
public
void
setPayTime
(
java
.
util
.
Date
payTime
){
this
.
payTime
=
payTime
;
}
/** is_deleted
*是否删除 Y 是 N 否
*/
private
java
.
lang
.
String
isDeleted
;
public
java
.
lang
.
String
getIsDeleted
(){
return
this
.
isDeleted
;
}
public
void
setIsDeleted
(
java
.
lang
.
String
isDeleted
){
this
.
isDeleted
=
isDeleted
;
}
/** CREATOR
*创建人
*/
private
java
.
lang
.
String
creator
;
public
java
.
lang
.
String
getCreator
(){
return
this
.
creator
;
}
public
void
setCreator
(
java
.
lang
.
String
creator
){
this
.
creator
=
creator
;
}
/** CREATED_TIME
*创建时间
*/
private
java
.
util
.
Date
createdTime
;
public
java
.
util
.
Date
getCreatedTime
(){
return
this
.
createdTime
;
}
public
void
setCreatedTime
(
java
.
util
.
Date
createdTime
){
this
.
createdTime
=
createdTime
;
}
/** MODIFIER
*修改人
*/
private
java
.
lang
.
String
modifier
;
public
java
.
lang
.
String
getModifier
(){
return
this
.
modifier
;
}
public
void
setModifier
(
java
.
lang
.
String
modifier
){
this
.
modifier
=
modifier
;
}
/** MODIFIED_TIME
*修改时间
*/
private
java
.
util
.
Date
modifiedTime
;
public
java
.
util
.
Date
getModifiedTime
(){
return
this
.
modifiedTime
;
}
public
void
setModifiedTime
(
java
.
util
.
Date
modifiedTime
){
this
.
modifiedTime
=
modifiedTime
;
}
/** SYS_VERSION
*乐观锁,版本号
*/
private
java
.
lang
.
Integer
sysVersion
;
public
java
.
lang
.
Integer
getSysVersion
(){
return
this
.
sysVersion
;
}
public
void
setSysVersion
(
java
.
lang
.
Integer
sysVersion
){
this
.
sysVersion
=
sysVersion
;
}
}
\ No newline at end of file
src/main/java/cn/com/poc/equity/entity/CurrentUserPayOrderEntity.java
0 → 100644
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
entity
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author alex.yao
* @date 2024/12/11
*/
public
class
CurrentUserPayOrderEntity
implements
Serializable
{
private
EquityEnum
.
TYPE
type
;
private
EquityEnum
.
DOMAIN
domain
;
private
Integer
expiredNum
;
private
EquityEnum
.
VALIDITY_UNIT
expiredType
;
private
BigDecimal
pointNum
;
private
Integer
remainExpiredDay
;
private
BigDecimal
amount
;
private
String
payTime
;
private
String
payChannel
;
private
String
payOrderSn
;
public
EquityEnum
.
TYPE
getType
()
{
return
type
;
}
public
void
setType
(
EquityEnum
.
TYPE
type
)
{
this
.
type
=
type
;
}
public
EquityEnum
.
DOMAIN
getDomain
()
{
return
domain
;
}
public
void
setDomain
(
EquityEnum
.
DOMAIN
domain
)
{
this
.
domain
=
domain
;
}
public
Integer
getExpiredNum
()
{
return
expiredNum
;
}
public
void
setExpiredNum
(
Integer
expiredNum
)
{
this
.
expiredNum
=
expiredNum
;
}
public
EquityEnum
.
VALIDITY_UNIT
getExpiredType
()
{
return
expiredType
;
}
public
void
setExpiredType
(
EquityEnum
.
VALIDITY_UNIT
expiredType
)
{
this
.
expiredType
=
expiredType
;
}
public
BigDecimal
getPointNum
()
{
return
pointNum
;
}
public
void
setPointNum
(
BigDecimal
pointNum
)
{
this
.
pointNum
=
pointNum
;
}
public
Integer
getRemainExpiredDay
()
{
return
remainExpiredDay
;
}
public
void
setRemainExpiredDay
(
Integer
remainExpiredDay
)
{
this
.
remainExpiredDay
=
remainExpiredDay
;
}
public
BigDecimal
getAmount
()
{
return
amount
;
}
public
void
setAmount
(
BigDecimal
amount
)
{
this
.
amount
=
amount
;
}
public
String
getPayTime
()
{
return
payTime
;
}
public
void
setPayTime
(
String
payTime
)
{
this
.
payTime
=
payTime
;
}
public
String
getPayChannel
()
{
return
payChannel
;
}
public
void
setPayChannel
(
String
payChannel
)
{
this
.
payChannel
=
payChannel
;
}
public
String
getPayOrderSn
()
{
return
payOrderSn
;
}
public
void
setPayOrderSn
(
String
payOrderSn
)
{
this
.
payOrderSn
=
payOrderSn
;
}
}
src/main/java/cn/com/poc/equity/model/BizMemberEquityPayOrderLogModel.java
0 → 100644
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
model
;
import
java.io.Serializable
;
import
cn.com.yict.framemax.data.model.BaseModelClass
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
javax.persistence.Id
;
import
org.hibernate.annotations.DynamicInsert
;
import
org.hibernate.annotations.DynamicUpdate
;
import
javax.persistence.Version
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
/**
* Model class for biz_member_equity_pay_order_log
* 会员权益订单表
*/
@Entity
@Table
(
name
=
"biz_member_equity_pay_order_log"
)
@DynamicInsert
@DynamicUpdate
public
class
BizMemberEquityPayOrderLogModel
extends
BaseModelClass
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
private
java
.
lang
.
Long
id
;
@Column
(
name
=
"id"
,
length
=
19
)
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
AUTO
)
public
java
.
lang
.
Long
getId
()
{
return
this
.
id
;
}
public
void
setId
(
java
.
lang
.
Long
id
)
{
this
.
id
=
id
;
super
.
addValidField
(
"id"
);
}
/**
* member_id
* 用户id
*/
private
java
.
lang
.
Long
memberId
;
@Column
(
name
=
"member_id"
,
length
=
19
)
public
java
.
lang
.
Long
getMemberId
()
{
return
this
.
memberId
;
}
public
void
setMemberId
(
java
.
lang
.
Long
memberId
)
{
this
.
memberId
=
memberId
;
super
.
addValidField
(
"memberId"
);
}
/**
* pay_order_sn
* 订单号
*/
private
java
.
lang
.
String
payOrderSn
;
@Column
(
name
=
"pay_order_sn"
,
length
=
50
)
public
java
.
lang
.
String
getPayOrderSn
()
{
return
this
.
payOrderSn
;
}
public
void
setPayOrderSn
(
java
.
lang
.
String
payOrderSn
)
{
this
.
payOrderSn
=
payOrderSn
;
super
.
addValidField
(
"payOrderSn"
);
}
/**
* pay_amount
* 支付金额 - 分
*/
private
java
.
lang
.
Integer
payAmount
;
@Column
(
name
=
"pay_amount"
,
length
=
10
)
public
java
.
lang
.
Integer
getPayAmount
()
{
return
this
.
payAmount
;
}
public
void
setPayAmount
(
java
.
lang
.
Integer
payAmount
)
{
this
.
payAmount
=
payAmount
;
super
.
addValidField
(
"payAmount"
);
}
/**
* currency
* 货币
*/
private
java
.
lang
.
String
currency
;
@Column
(
name
=
"currency"
,
length
=
10
)
public
java
.
lang
.
String
getCurrency
()
{
return
this
.
currency
;
}
public
void
setCurrency
(
java
.
lang
.
String
currency
)
{
this
.
currency
=
currency
;
super
.
addValidField
(
"currency"
);
}
/**
* type
* 类型 normal-普通 professional-专业版 , ultimate-旗舰版
*/
private
java
.
lang
.
String
type
;
@Column
(
name
=
"type"
,
length
=
100
)
public
java
.
lang
.
String
getType
()
{
return
this
.
type
;
}
public
void
setType
(
java
.
lang
.
String
type
)
{
this
.
type
=
type
;
super
.
addValidField
(
"type"
);
}
/**
* domain
* 资源包领域 point-积分包 equity-权益包
*/
private
java
.
lang
.
String
domain
;
@Column
(
name
=
"domain"
,
length
=
100
)
public
java
.
lang
.
String
getDomain
()
{
return
this
.
domain
;
}
public
void
setDomain
(
java
.
lang
.
String
domain
)
{
this
.
domain
=
domain
;
super
.
addValidField
(
"domain"
);
}
/**
* total_points
* 获得积分数
*/
private
java
.
lang
.
Long
totalPoints
;
@Column
(
name
=
"total_points"
,
length
=
10
)
public
java
.
lang
.
Long
getTotalPoints
()
{
return
this
.
totalPoints
;
}
public
void
setTotalPoints
(
java
.
lang
.
Long
totalPoints
)
{
this
.
totalPoints
=
totalPoints
;
super
.
addValidField
(
"totalPoints"
);
}
/**
* expired_num
* 过期数
*/
private
java
.
lang
.
Integer
expiredNum
;
@Column
(
name
=
"expired_num"
,
length
=
10
)
public
java
.
lang
.
Integer
getExpiredNum
()
{
return
this
.
expiredNum
;
}
public
void
setExpiredNum
(
java
.
lang
.
Integer
expiredNum
)
{
this
.
expiredNum
=
expiredNum
;
super
.
addValidField
(
"expiredNum"
);
}
/**
* expired_type
* 套餐过期类型 day-天 month-月 year-年 indefinite-无限期
*/
private
java
.
lang
.
String
expiredType
;
@Column
(
name
=
"expired_type"
,
length
=
100
)
public
java
.
lang
.
String
getExpiredType
()
{
return
this
.
expiredType
;
}
public
void
setExpiredType
(
java
.
lang
.
String
expiredType
)
{
this
.
expiredType
=
expiredType
;
super
.
addValidField
(
"expiredType"
);
}
/**
* pay_channel
* 支付渠道: wx-微信 ali-支付宝
*/
private
java
.
lang
.
String
payChannel
;
@Column
(
name
=
"pay_channel"
,
length
=
10
)
public
java
.
lang
.
String
getPayChannel
()
{
return
this
.
payChannel
;
}
public
void
setPayChannel
(
java
.
lang
.
String
payChannel
)
{
this
.
payChannel
=
payChannel
;
super
.
addValidField
(
"payChannel"
);
}
/**
* pay_time
* 付款时间
*/
private
java
.
util
.
Date
payTime
;
@Column
(
name
=
"pay_time"
,
length
=
19
)
public
java
.
util
.
Date
getPayTime
()
{
return
this
.
payTime
;
}
public
void
setPayTime
(
java
.
util
.
Date
payTime
)
{
this
.
payTime
=
payTime
;
super
.
addValidField
(
"payTime"
);
}
/**
* is_deleted
* 是否删除 Y 是 N 否
*/
private
java
.
lang
.
String
isDeleted
;
@Column
(
name
=
"is_deleted"
,
length
=
1
)
public
java
.
lang
.
String
getIsDeleted
()
{
return
this
.
isDeleted
;
}
public
void
setIsDeleted
(
java
.
lang
.
String
isDeleted
)
{
this
.
isDeleted
=
isDeleted
;
super
.
addValidField
(
"isDeleted"
);
}
/**
* CREATOR
* 创建人
*/
private
java
.
lang
.
String
creator
;
@Column
(
name
=
"CREATOR"
,
length
=
50
)
public
java
.
lang
.
String
getCreator
()
{
return
this
.
creator
;
}
public
void
setCreator
(
java
.
lang
.
String
creator
)
{
this
.
creator
=
creator
;
super
.
addValidField
(
"creator"
);
}
/**
* CREATED_TIME
* 创建时间
*/
private
java
.
util
.
Date
createdTime
;
@Column
(
name
=
"CREATED_TIME"
,
length
=
19
)
public
java
.
util
.
Date
getCreatedTime
()
{
return
this
.
createdTime
;
}
public
void
setCreatedTime
(
java
.
util
.
Date
createdTime
)
{
this
.
createdTime
=
createdTime
;
super
.
addValidField
(
"createdTime"
);
}
/**
* MODIFIER
* 修改人
*/
private
java
.
lang
.
String
modifier
;
@Column
(
name
=
"MODIFIER"
,
length
=
50
)
public
java
.
lang
.
String
getModifier
()
{
return
this
.
modifier
;
}
public
void
setModifier
(
java
.
lang
.
String
modifier
)
{
this
.
modifier
=
modifier
;
super
.
addValidField
(
"modifier"
);
}
/**
* MODIFIED_TIME
* 修改时间
*/
private
java
.
util
.
Date
modifiedTime
;
@Column
(
name
=
"MODIFIED_TIME"
,
length
=
19
)
public
java
.
util
.
Date
getModifiedTime
()
{
return
this
.
modifiedTime
;
}
public
void
setModifiedTime
(
java
.
util
.
Date
modifiedTime
)
{
this
.
modifiedTime
=
modifiedTime
;
super
.
addValidField
(
"modifiedTime"
);
}
/**
* SYS_VERSION
* 乐观锁,版本号
*/
private
java
.
lang
.
Integer
sysVersion
;
@Column
(
name
=
"SYS_VERSION"
,
length
=
10
)
@Version
public
java
.
lang
.
Integer
getSysVersion
()
{
return
this
.
sysVersion
;
}
public
void
setSysVersion
(
java
.
lang
.
Integer
sysVersion
)
{
this
.
sysVersion
=
sysVersion
;
super
.
addValidField
(
"sysVersion"
);
}
}
\ No newline at end of file
src/main/java/cn/com/poc/equity/processor/EquityPayPostProcessor.java
View file @
42911469
...
@@ -5,7 +5,9 @@ import cn.com.poc.equity.aggregate.MemberEquityService;
...
@@ -5,7 +5,9 @@ import cn.com.poc.equity.aggregate.MemberEquityService;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.ModifyEventEnum
;
import
cn.com.poc.equity.constants.ModifyEventEnum
;
import
cn.com.poc.equity.domain.modifyEquityInfo.PayModifyEventInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.PayModifyEventInfo
;
import
cn.com.poc.equity.entity.BizMemberEquityPayOrderLogEntity
;
import
cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity
;
import
cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity
;
import
cn.com.poc.equity.service.BizMemberEquityPayOrderLogService
;
import
cn.com.poc.thirdparty.resource.demand.pay.constants.DgtoolsPayOrderConstants
;
import
cn.com.poc.thirdparty.resource.demand.pay.constants.DgtoolsPayOrderConstants
;
import
cn.com.poc.thirdparty.resource.demand.pay.entity.DgtoolsPayOrderEntity
;
import
cn.com.poc.thirdparty.resource.demand.pay.entity.DgtoolsPayOrderEntity
;
import
cn.com.poc.thirdparty.resource.demand.pay.processor.AbstractPayPostProcessor
;
import
cn.com.poc.thirdparty.resource.demand.pay.processor.AbstractPayPostProcessor
;
...
@@ -25,6 +27,9 @@ public class EquityPayPostProcessor implements AbstractPayPostProcessor {
...
@@ -25,6 +27,9 @@ public class EquityPayPostProcessor implements AbstractPayPostProcessor {
@Resource
@Resource
private
MemberEquityService
memberEquityService
;
private
MemberEquityService
memberEquityService
;
@Resource
private
BizMemberEquityPayOrderLogService
bizMemberEquityPayOrderLogService
;
@Resource
@Resource
private
DgtoolsPayOrderService
dgtoolsPayOrderService
;
private
DgtoolsPayOrderService
dgtoolsPayOrderService
;
...
@@ -42,6 +47,9 @@ public class EquityPayPostProcessor implements AbstractPayPostProcessor {
...
@@ -42,6 +47,9 @@ public class EquityPayPostProcessor implements AbstractPayPostProcessor {
if
(
payOrderEntity
==
null
)
{
if
(
payOrderEntity
==
null
)
{
throw
new
BusinessException
(
"支付回调,找不到账单信息"
);
throw
new
BusinessException
(
"支付回调,找不到账单信息"
);
}
}
if
(!
DgtoolsPayOrderConstants
.
PayStatus
.
PAID
.
equals
(
payOrderEntity
.
getPayStatus
()))
{
throw
new
BusinessException
(
"支付回调,账单未支付"
);
}
String
retainInformation
=
payOrderEntity
.
getRetainInformation
();
String
retainInformation
=
payOrderEntity
.
getRetainInformation
();
Integer
memberId
=
payOrderEntity
.
getMemberId
();
Integer
memberId
=
payOrderEntity
.
getMemberId
();
BizPaymentPackageConfigurationEntity
bizPaymentPackageConfigurationEntity
=
JsonUtils
.
deSerialize
(
retainInformation
,
BizPaymentPackageConfigurationEntity
.
class
);
BizPaymentPackageConfigurationEntity
bizPaymentPackageConfigurationEntity
=
JsonUtils
.
deSerialize
(
retainInformation
,
BizPaymentPackageConfigurationEntity
.
class
);
...
@@ -55,6 +63,20 @@ public class EquityPayPostProcessor implements AbstractPayPostProcessor {
...
@@ -55,6 +63,20 @@ public class EquityPayPostProcessor implements AbstractPayPostProcessor {
// 以小数点后两位为单位,添加积分
// 以小数点后两位为单位,添加积分
long
pointNum
=
bizPaymentPackageConfigurationEntity
.
getResourceCount
().
longValue
()
*
100
;
long
pointNum
=
bizPaymentPackageConfigurationEntity
.
getResourceCount
().
longValue
()
*
100
;
memberEquityService
.
addPoint
(
memberId
.
longValue
(),
pointNum
,
EquityEnum
.
VALIDITY_UNIT
.
valueOf
(
expiredType
),
ModifyEventEnum
.
top_up
,
modifyEventInfo
);
memberEquityService
.
addPoint
(
memberId
.
longValue
(),
pointNum
,
EquityEnum
.
VALIDITY_UNIT
.
valueOf
(
expiredType
),
ModifyEventEnum
.
top_up
,
modifyEventInfo
);
//记录支付日志
BizMemberEquityPayOrderLogEntity
bizMemberEquityPayOrderLogEntity
=
new
BizMemberEquityPayOrderLogEntity
();
bizMemberEquityPayOrderLogEntity
.
setMemberId
(
memberId
.
longValue
());
bizMemberEquityPayOrderLogEntity
.
setPayOrderSn
(
payOrderEntity
.
getPayChannel
());
bizMemberEquityPayOrderLogEntity
.
setPayAmount
(
payOrderEntity
.
getAmount
());
bizMemberEquityPayOrderLogEntity
.
setCurrency
(
payOrderEntity
.
getCurrency
());
bizMemberEquityPayOrderLogEntity
.
setType
(
type
);
bizMemberEquityPayOrderLogEntity
.
setDomain
(
domain
);
bizMemberEquityPayOrderLogEntity
.
setExpiredNum
(
bizPaymentPackageConfigurationEntity
.
getExpiredNum
());
bizMemberEquityPayOrderLogEntity
.
setExpiredType
(
expiredType
);
bizMemberEquityPayOrderLogEntity
.
setTotalPoints
(
pointNum
);
bizMemberEquityPayOrderLogEntity
.
setPayChannel
(
payOrderEntity
.
getPayChannel
());
bizMemberEquityPayOrderLogEntity
.
setPayTime
(
payOrderEntity
.
getPayTime
());
bizMemberEquityPayOrderLogService
.
save
(
bizMemberEquityPayOrderLogEntity
);
return
true
;
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
//todo 异常处理
//todo 异常处理
...
@@ -64,6 +86,6 @@ public class EquityPayPostProcessor implements AbstractPayPostProcessor {
...
@@ -64,6 +86,6 @@ public class EquityPayPostProcessor implements AbstractPayPostProcessor {
@Override
@Override
public
void
postProcessFail
(
String
orderSn
)
{
public
void
postProcessFail
(
String
orderSn
)
{
throw
new
BusinessException
(
"暂不支持"
);
}
}
}
}
src/main/java/cn/com/poc/equity/repository/BizMemberEquityPayOrderLogRepository.java
0 → 100644
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
repository
;
import
cn.com.yict.framemax.data.repository.Repository
;
import
cn.com.poc.equity.model.BizMemberEquityPayOrderLogModel
;
public
interface
BizMemberEquityPayOrderLogRepository
extends
Repository
<
BizMemberEquityPayOrderLogModel
,
java
.
lang
.
Long
>
{
}
\ No newline at end of file
src/main/java/cn/com/poc/equity/rest/EquityOrderRest.java
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
rest
;
package
cn
.
com
.
poc
.
equity
.
rest
;
import
cn.com.poc.equity.dto.CurrentUserPayOrderDto
;
import
cn.com.poc.equity.dto.EquityOrderCreateDto
;
import
cn.com.poc.equity.dto.EquityOrderCreateDto
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.core.rest.BaseRest
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Access
;
import
cn.com.yict.framemax.web.permission.Permission
;
import
cn.com.yict.framemax.web.permission.Permission
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
@Permission
(
Access
.
Safety
)
@Permission
(
Access
.
Safety
)
public
interface
EquityOrderRest
extends
BaseRest
{
public
interface
EquityOrderRest
extends
BaseRest
{
...
@@ -17,4 +22,12 @@ public interface EquityOrderRest extends BaseRest {
...
@@ -17,4 +22,12 @@ public interface EquityOrderRest extends BaseRest {
@Deprecated
@Deprecated
String
createOrder
(
@RequestBody
EquityOrderCreateDto
createDto
)
throws
Exception
;
String
createOrder
(
@RequestBody
EquityOrderCreateDto
createDto
)
throws
Exception
;
/**
* 获取用户套餐充值列表(已支付,已发放)
*
* @return
*/
List
<
CurrentUserPayOrderDto
>
getCurrentUserPayOrderList
(
@RequestParam
String
domain
,
PagingInfo
pagingInfo
);
}
}
src/main/java/cn/com/poc/equity/rest/impl/EquityOrderRestImpl.java
View file @
42911469
...
@@ -4,14 +4,20 @@ import cn.com.poc.common.utils.Assert;
...
@@ -4,14 +4,20 @@ import cn.com.poc.common.utils.Assert;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.equity.aggregate.EquityService
;
import
cn.com.poc.equity.aggregate.EquityService
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.dto.CurrentUserPayOrderDto
;
import
cn.com.poc.equity.dto.EquityOrderCreateDto
;
import
cn.com.poc.equity.dto.EquityOrderCreateDto
;
import
cn.com.poc.equity.entity.CurrentUserPayOrderEntity
;
import
cn.com.poc.equity.rest.EquityOrderRest
;
import
cn.com.poc.equity.rest.EquityOrderRest
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
@Component
@Component
public
class
EquityOrderRestImpl
implements
EquityOrderRest
{
public
class
EquityOrderRestImpl
implements
EquityOrderRest
{
...
@@ -42,4 +48,28 @@ public class EquityOrderRestImpl implements EquityOrderRest {
...
@@ -42,4 +48,28 @@ public class EquityOrderRestImpl implements EquityOrderRest {
EquityEnum
.
VALIDITY_UNIT
.
valueOf
(
createDto
.
getValidityUnit
()),
EquityEnum
.
VALIDITY_UNIT
.
valueOf
(
createDto
.
getValidityUnit
()),
currentUser
.
getUserId
());
currentUser
.
getUserId
());
}
}
@Override
public
List
<
CurrentUserPayOrderDto
>
getCurrentUserPayOrderList
(
String
domain
,
PagingInfo
pagingInfo
)
{
List
<
CurrentUserPayOrderDto
>
result
=
new
ArrayList
<>();
UserBaseEntity
currentUser
=
BlContext
.
getCurrentUser
();
List
<
CurrentUserPayOrderEntity
>
userPayOrderEntities
=
equityService
.
getUserOrderList
(
currentUser
.
getUserId
(),
EquityEnum
.
DOMAIN
.
valueOf
(
domain
),
pagingInfo
);
if
(
CollectionUtils
.
isNotEmpty
(
userPayOrderEntities
))
{
for
(
CurrentUserPayOrderEntity
entity
:
userPayOrderEntities
)
{
CurrentUserPayOrderDto
dto
=
new
CurrentUserPayOrderDto
();
dto
.
setType
(
entity
.
getType
());
dto
.
setDomain
(
entity
.
getDomain
());
dto
.
setExpiredNum
(
entity
.
getExpiredNum
());
dto
.
setExpiredType
(
entity
.
getExpiredType
());
dto
.
setPointNum
(
entity
.
getPointNum
());
dto
.
setRemainExpiredDay
(
entity
.
getRemainExpiredDay
());
dto
.
setAmount
(
entity
.
getAmount
());
dto
.
setPayTime
(
entity
.
getPayTime
());
dto
.
setPayChannel
(
entity
.
getPayChannel
());
dto
.
setPayOrderSn
(
entity
.
getPayOrderSn
());
result
.
add
(
dto
);
}
}
return
result
;
}
}
}
src/main/java/cn/com/poc/equity/service/BizMemberEquityPayOrderLogService.java
0 → 100644
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
service
;
import
cn.com.yict.framemax.core.service.BaseService
;
import
cn.com.poc.equity.entity.BizMemberEquityPayOrderLogEntity
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
java.util.Collection
;
import
java.util.List
;
public
interface
BizMemberEquityPayOrderLogService
extends
BaseService
{
BizMemberEquityPayOrderLogEntity
get
(
java
.
lang
.
Long
id
)
throws
Exception
;
List
<
BizMemberEquityPayOrderLogEntity
>
findByExample
(
BizMemberEquityPayOrderLogEntity
example
,
PagingInfo
pagingInfo
);
BizMemberEquityPayOrderLogEntity
save
(
BizMemberEquityPayOrderLogEntity
entity
)
throws
Exception
;
BizMemberEquityPayOrderLogEntity
update
(
BizMemberEquityPayOrderLogEntity
entity
)
throws
Exception
;
void
deletedById
(
java
.
lang
.
Long
id
)
throws
Exception
;
}
\ No newline at end of file
src/main/java/cn/com/poc/equity/service/impl/BizMemberEquityPayOrderLogServiceImpl.java
0 → 100644
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
service
.
impl
;
import
cn.com.yict.framemax.core.service.impl.BaseServiceImpl
;
import
cn.com.poc.equity.service.BizMemberEquityPayOrderLogService
;
import
cn.com.poc.equity.model.BizMemberEquityPayOrderLogModel
;
import
cn.com.poc.equity.entity.BizMemberEquityPayOrderLogEntity
;
import
cn.com.poc.equity.convert.BizMemberEquityPayOrderLogConvert
;
import
cn.com.poc.equity.repository.BizMemberEquityPayOrderLogRepository
;
import
cn.com.yict.framemax.data.model.PagingInfo
;
import
org.springframework.stereotype.Service
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.stream.Collectors
;
import
java.util.List
;
import
javax.annotation.Resource
;
import
org.springframework.util.Assert
;
@Service
public
class
BizMemberEquityPayOrderLogServiceImpl
extends
BaseServiceImpl
implements
BizMemberEquityPayOrderLogService
{
@Resource
private
BizMemberEquityPayOrderLogRepository
repository
;
public
BizMemberEquityPayOrderLogEntity
get
(
java
.
lang
.
Long
id
)
throws
Exception
{
Assert
.
notNull
(
id
);
BizMemberEquityPayOrderLogModel
model
=
this
.
repository
.
get
(
id
);
if
(
model
==
null
){
return
null
;
}
if
(
"Y"
.
equals
(
model
.
getIsDeleted
())){
return
null
;
}
return
BizMemberEquityPayOrderLogConvert
.
modelToEntity
(
model
);
}
public
List
<
BizMemberEquityPayOrderLogEntity
>
findByExample
(
BizMemberEquityPayOrderLogEntity
example
,
PagingInfo
pagingInfo
){
List
<
BizMemberEquityPayOrderLogEntity
>
result
=
new
ArrayList
<
BizMemberEquityPayOrderLogEntity
>();
BizMemberEquityPayOrderLogModel
model
=
new
BizMemberEquityPayOrderLogModel
();
if
(
example
!=
null
){
model
=
BizMemberEquityPayOrderLogConvert
.
entityToModel
(
example
);
}
model
.
setIsDeleted
(
"N"
);
List
<
BizMemberEquityPayOrderLogModel
>
models
=
this
.
repository
.
findByExample
(
model
,
pagingInfo
);
if
(
CollectionUtils
.
isNotEmpty
(
models
))
{
result
=
models
.
stream
().
map
(
BizMemberEquityPayOrderLogConvert:
:
modelToEntity
).
collect
(
Collectors
.
toList
());
}
return
result
;
}
public
BizMemberEquityPayOrderLogEntity
save
(
BizMemberEquityPayOrderLogEntity
entity
)
throws
Exception
{
Assert
.
notNull
(
entity
);
entity
.
setId
(
null
);
entity
.
setIsDeleted
(
"N"
);
BizMemberEquityPayOrderLogModel
model
=
BizMemberEquityPayOrderLogConvert
.
entityToModel
(
entity
);
BizMemberEquityPayOrderLogModel
saveModel
=
this
.
repository
.
save
(
model
);
return
BizMemberEquityPayOrderLogConvert
.
modelToEntity
(
saveModel
);
}
public
BizMemberEquityPayOrderLogEntity
update
(
BizMemberEquityPayOrderLogEntity
entity
)
throws
Exception
{
Assert
.
notNull
(
entity
);
Assert
.
notNull
(
entity
.
getId
(),
"update pk can not be null"
);
BizMemberEquityPayOrderLogModel
model
=
this
.
repository
.
get
(
entity
.
getId
());
if
(
entity
.
getMemberId
()
!=
null
){
model
.
setMemberId
(
entity
.
getMemberId
());
}
if
(
entity
.
getPayOrderSn
()
!=
null
){
model
.
setPayOrderSn
(
entity
.
getPayOrderSn
());
}
if
(
entity
.
getPayAmount
()
!=
null
){
model
.
setPayAmount
(
entity
.
getPayAmount
());
}
if
(
entity
.
getCurrency
()
!=
null
){
model
.
setCurrency
(
entity
.
getCurrency
());
}
if
(
entity
.
getType
()
!=
null
){
model
.
setType
(
entity
.
getType
());
}
if
(
entity
.
getDomain
()
!=
null
){
model
.
setDomain
(
entity
.
getDomain
());
}
if
(
entity
.
getExpiredNum
()
!=
null
){
model
.
setExpiredNum
(
entity
.
getExpiredNum
());
}
if
(
entity
.
getExpiredType
()
!=
null
){
model
.
setExpiredType
(
entity
.
getExpiredType
());
}
if
(
entity
.
getPayChannel
()
!=
null
){
model
.
setPayChannel
(
entity
.
getPayChannel
());
}
if
(
entity
.
getPayTime
()
!=
null
){
model
.
setPayTime
(
entity
.
getPayTime
());
}
if
(
entity
.
getIsDeleted
()
!=
null
){
model
.
setIsDeleted
(
entity
.
getIsDeleted
());
}
if
(
entity
.
getCreator
()
!=
null
){
model
.
setCreator
(
entity
.
getCreator
());
}
if
(
entity
.
getCreatedTime
()
!=
null
){
model
.
setCreatedTime
(
entity
.
getCreatedTime
());
}
if
(
entity
.
getModifier
()
!=
null
){
model
.
setModifier
(
entity
.
getModifier
());
}
if
(
entity
.
getModifiedTime
()
!=
null
){
model
.
setModifiedTime
(
entity
.
getModifiedTime
());
}
if
(
entity
.
getSysVersion
()
!=
null
){
model
.
setSysVersion
(
entity
.
getSysVersion
());
}
BizMemberEquityPayOrderLogModel
saveModel
=
this
.
repository
.
save
(
model
);
return
BizMemberEquityPayOrderLogConvert
.
modelToEntity
(
saveModel
);
}
public
void
deletedById
(
java
.
lang
.
Long
id
)
throws
Exception
{
Assert
.
notNull
(
id
);
BizMemberEquityPayOrderLogModel
model
=
this
.
repository
.
get
(
id
);
if
(
model
!=
null
){
if
(
"N"
.
equals
(
model
.
getIsDeleted
())){
model
.
setIsDeleted
(
"Y"
);
this
.
repository
.
save
(
model
);
}
}
}
}
\ No newline at end of file
src/main/java/cn/com/poc/thirdparty/resource/demand/pay/dto/payConfig/PayCallBackRequest.java
View file @
42911469
...
@@ -25,6 +25,11 @@ public class PayCallBackRequest {
...
@@ -25,6 +25,11 @@ public class PayCallBackRequest {
*/
*/
private
Integer
amount
;
private
Integer
amount
;
/**
* 支付渠道
*/
private
String
payChannel
;
public
String
getBizUniqueNo
()
{
public
String
getBizUniqueNo
()
{
return
bizUniqueNo
;
return
bizUniqueNo
;
}
}
...
@@ -48,4 +53,12 @@ public class PayCallBackRequest {
...
@@ -48,4 +53,12 @@ public class PayCallBackRequest {
public
void
setAmount
(
Integer
amount
)
{
public
void
setAmount
(
Integer
amount
)
{
this
.
amount
=
amount
;
this
.
amount
=
amount
;
}
}
public
String
getPayChannel
()
{
return
payChannel
;
}
public
void
setPayChannel
(
String
payChannel
)
{
this
.
payChannel
=
payChannel
;
}
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/pay/model/DgtoolsPayOrderModel.java
View file @
42911469
This diff is collapsed.
Click to expand it.
src/main/java/cn/com/poc/thirdparty/resource/demand/pay/rest/PayCallBackRest.java
View file @
42911469
...
@@ -19,5 +19,5 @@ public interface PayCallBackRest extends BaseRest {
...
@@ -19,5 +19,5 @@ public interface PayCallBackRest extends BaseRest {
* @return
* @return
* @throws Exception
* @throws Exception
*/
*/
String
payCallBack
(
@RequestBody
PayCallBackRequest
wxMiniPayRequest
)
throws
Exception
;
String
payCallBack
(
@RequestBody
PayCallBackRequest
wxMiniPayRequest
);
}
}
src/main/java/cn/com/poc/thirdparty/resource/demand/pay/rest/impl/PayCallBackRestImpl.java
View file @
42911469
...
@@ -31,7 +31,7 @@ public class PayCallBackRestImpl implements PayCallBackRest {
...
@@ -31,7 +31,7 @@ public class PayCallBackRestImpl implements PayCallBackRest {
@Override
@Override
public
String
payCallBack
(
PayCallBackRequest
payRequest
)
throws
Exception
{
public
String
payCallBack
(
PayCallBackRequest
payRequest
)
{
String
bizUniqueNo
=
payRequest
.
getBizUniqueNo
();
String
bizUniqueNo
=
payRequest
.
getBizUniqueNo
();
String
payLogSn
=
payRequest
.
getPayLogSn
();
String
payLogSn
=
payRequest
.
getPayLogSn
();
...
@@ -40,7 +40,7 @@ public class PayCallBackRestImpl implements PayCallBackRest {
...
@@ -40,7 +40,7 @@ public class PayCallBackRestImpl implements PayCallBackRest {
if
(
payOrderEntity
==
null
)
{
if
(
payOrderEntity
==
null
)
{
throw
new
BusinessException
(
"支付回调,找不到账单信息"
);
throw
new
BusinessException
(
"支付回调,找不到账单信息"
);
}
}
dgtoolsPayOrderService
.
changePayOrder2PaidStatus
(
bizUniqueNo
,
payRequest
.
getAmount
());
dgtoolsPayOrderService
.
changePayOrder2PaidStatus
(
bizUniqueNo
,
payRequest
.
getAmount
()
,
payRequest
.
getPayChannel
()
);
//更新支付流水
//更新支付流水
dgtoolsPayLogService
.
changePayLog2PaidStatus
(
bizUniqueNo
,
payLogSn
);
dgtoolsPayLogService
.
changePayLog2PaidStatus
(
bizUniqueNo
,
payLogSn
);
// 支付後置處理
// 支付後置處理
...
...
src/main/java/cn/com/poc/thirdparty/resource/demand/pay/service/DgtoolsPayOrderService.java
View file @
42911469
...
@@ -58,6 +58,16 @@ public interface DgtoolsPayOrderService extends BaseService {
...
@@ -58,6 +58,16 @@ public interface DgtoolsPayOrderService extends BaseService {
*/
*/
void
changePayOrder2PaidStatus
(
String
payOrderSn
,
Integer
amount
);
void
changePayOrder2PaidStatus
(
String
payOrderSn
,
Integer
amount
);
/**
* 改变付款订单到已支付
*
* @param payOrderSn
* @param amount
* @param payChannel
*/
void
changePayOrder2PaidStatus
(
String
payOrderSn
,
Integer
amount
,
String
payChannel
);
/**
/**
* 创建付款单并且支付
* 创建付款单并且支付
*
*
...
...
src/main/java/cn/com/poc/thirdparty/resource/demand/pay/service/impl/DgtoolsPayOrderServiceImpl.java
View file @
42911469
...
@@ -78,7 +78,7 @@ public class DgtoolsPayOrderServiceImpl extends BaseServiceImpl
...
@@ -78,7 +78,7 @@ public class DgtoolsPayOrderServiceImpl extends BaseServiceImpl
DgtoolsPayOrderModel
saved
=
repository
.
save
(
dgtoolsPayOrderModel
);
DgtoolsPayOrderModel
saved
=
repository
.
save
(
dgtoolsPayOrderModel
);
//设置付款订单过期
//
todo
设置付款订单过期
// redisService.set(MkpRedisKeyConstant.PRE_PAY_ORDER_EXPIRED + ":" + saved.getPayOrderSn(), "", 15 * 60);
// redisService.set(MkpRedisKeyConstant.PRE_PAY_ORDER_EXPIRED + ":" + saved.getPayOrderSn(), "", 15 * 60);
DgtoolsPayOrderEntity
savedEntity
=
new
DgtoolsPayOrderEntity
();
DgtoolsPayOrderEntity
savedEntity
=
new
DgtoolsPayOrderEntity
();
...
@@ -213,6 +213,28 @@ public class DgtoolsPayOrderServiceImpl extends BaseServiceImpl
...
@@ -213,6 +213,28 @@ public class DgtoolsPayOrderServiceImpl extends BaseServiceImpl
}
}
}
}
@Override
public
void
changePayOrder2PaidStatus
(
String
payOrderSn
,
Integer
amount
,
String
payChannel
)
{
Assert
.
notBlank
(
payOrderSn
,
"更改付款订单状态,付款订单号不能为空"
);
Assert
.
notNull
(
amount
,
"更改付款订单状态,付款金额不能为空"
);
DgtoolsPayOrderModel
dgtoolsPayOrderModel
=
new
DgtoolsPayOrderModel
();
dgtoolsPayOrderModel
.
setPayOrderSn
(
payOrderSn
);
dgtoolsPayOrderModel
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
DgtoolsPayOrderModel
>
dgtoolsPayOrderModelList
=
repository
.
findByExample
(
dgtoolsPayOrderModel
);
if
(
CollectionUtils
.
isNotEmpty
(
dgtoolsPayOrderModelList
))
{
DgtoolsPayOrderModel
model
=
dgtoolsPayOrderModelList
.
get
(
0
);
if
(!
DgtoolsPayOrderConstants
.
PayStatus
.
NO_PAYMENT
.
equals
(
model
.
getPayStatus
()))
{
return
;
}
model
.
setOrderStatus
(
DgtoolsPayOrderConstants
.
OrderStatus
.
COMPLETED
);
model
.
setPayTime
(
new
Date
());
model
.
setPaidAmount
(
amount
);
model
.
setPayStatus
(
DgtoolsPayOrderConstants
.
PayStatus
.
PAID
);
model
.
setPayChannel
(
payChannel
);
repository
.
save
(
model
);
}
}
/**
/**
* 创建付款单并且支付
* 创建付款单并且支付
*
*
...
...
src/test/java/cn/com/poc/equity/aggregate/EquityServiceTest.java
View file @
42911469
package
cn
.
com
.
poc
.
equity
.
aggregate
;
package
cn
.
com
.
poc
.
equity
.
aggregate
;
import
cn.com.poc.common.utils.DateUtils
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.yict.framemax.core.spring.SingleContextInitializer
;
import
cn.com.yict.framemax.core.spring.SingleContextInitializer
;
import
org.junit.Before
;
import
org.junit.Before
;
...
@@ -14,6 +15,8 @@ import org.springframework.test.context.web.WebAppConfiguration;
...
@@ -14,6 +15,8 @@ import org.springframework.test.context.web.WebAppConfiguration;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
...
@@ -45,4 +48,27 @@ public class EquityServiceTest {
...
@@ -45,4 +48,27 @@ public class EquityServiceTest {
assertNotNull
(
equityOrder
);
assertNotNull
(
equityOrder
);
System
.
out
.
println
(
"创建订单:"
+
equityOrder
);
System
.
out
.
println
(
"创建订单:"
+
equityOrder
);
}
}
@Test
public
void
test_calculateRemainExpiredDay
()
{
EquityEnum
.
VALIDITY_UNIT
validityUnit
=
EquityEnum
.
VALIDITY_UNIT
.
year
;
Date
now
=
DateUtils
.
getCurrDateTime
();
Date
payTime
=
DateUtils
.
addDays
(
now
,
-
2
);
Integer
expiredNum
=
1
;
int
diff
=
0
;
Date
expiredDate
;
switch
(
validityUnit
)
{
case
month:
expiredDate
=
DateUtils
.
addMonth
(
payTime
,
expiredNum
);
diff
=
DateUtils
.
diffTwoDateDay
(
expiredDate
,
now
);
break
;
case
year:
expiredDate
=
DateUtils
.
addYear
(
payTime
,
expiredNum
);
diff
=
DateUtils
.
diffTwoDateDay
(
expiredDate
,
now
);
break
;
case
indefinite:
System
.
out
.
println
(-
1
);
}
System
.
out
.
println
(
Math
.
max
(
diff
,
0
));
}
}
}
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