Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
baa-pay-server
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
贺超
baa-pay-server
Commits
26f29bcd
Commit
26f29bcd
authored
Sep 18, 2021
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建项目
parent
0d9cd283
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
196 additions
and
113 deletions
+196
-113
AcquirerPropertiesBuilder.java
.../cn/quant/baa/pay/acquirer/AcquirerPropertiesBuilder.java
+7
-8
AcquirerPropertiesSource.java
...a/cn/quant/baa/pay/acquirer/AcquirerPropertiesSource.java
+1
-1
ModelBuilder.java
...rc/main/java/cn/quant/baa/pay/component/ModelBuilder.java
+3
-2
AcquirerConfiguration.java
...n/java/cn/quant/baa/pay/config/AcquirerConfiguration.java
+83
-0
DictionaryViewer.java
...c/main/java/cn/quant/baa/pay/config/DictionaryViewer.java
+0
-1
ServerConfiguration.java
...ain/java/cn/quant/baa/pay/config/ServerConfiguration.java
+13
-62
EntityBuilder.java
...ore/src/main/java/cn/quant/baa/pay/jpa/EntityBuilder.java
+2
-1
AccountIds.java
...src/main/java/cn/quant/baa/pay/jpa/entity/AccountIds.java
+2
-2
CustomerEntity.java
...main/java/cn/quant/baa/pay/jpa/entity/CustomerEntity.java
+1
-0
DictionaryEntity.java
...in/java/cn/quant/baa/pay/jpa/entity/DictionaryEntity.java
+1
-0
DictionaryIds.java
.../main/java/cn/quant/baa/pay/jpa/entity/DictionaryIds.java
+2
-5
PayAccountIds.java
.../main/java/cn/quant/baa/pay/jpa/entity/PayAccountIds.java
+2
-2
PayFeatureIds.java
.../main/java/cn/quant/baa/pay/jpa/entity/PayFeatureIds.java
+2
-3
PayHistoryIds.java
.../main/java/cn/quant/baa/pay/jpa/entity/PayHistoryIds.java
+2
-2
StatusCodeEntity.java
...in/java/cn/quant/baa/pay/jpa/entity/StatusCodeEntity.java
+19
-2
StatusCodeIds.java
.../main/java/cn/quant/baa/pay/jpa/entity/StatusCodeIds.java
+2
-2
StatusCode.java
...core/src/main/java/cn/quant/baa/pay/model/StatusCode.java
+4
-2
MerchantChannelRequestData.java
...n/quant/baa/pay/model/web/MerchantChannelRequestData.java
+1
-1
BusinessService.java
...c/main/java/cn/quant/baa/pay/service/BusinessService.java
+1
-1
MerchantStorageService.java
...java/cn/quant/baa/pay/service/MerchantStorageService.java
+7
-7
ProfileStorageService.java
.../java/cn/quant/baa/pay/service/ProfileStorageService.java
+29
-0
ServerApplication.java
...ver/src/main/java/cn/quant/baa/pay/ServerApplication.java
+2
-2
MerchantController.java
...c/main/java/cn/quant/baa/pay/rest/MerchantController.java
+5
-2
TransactionService.java
...ain/java/cn/quant/baa/pay/service/TransactionService.java
+4
-4
TestApplication.java
...erver/src/test/java/cn/quant/baa/pay/TestApplication.java
+1
-1
No files found.
baa-pay-core/src/main/java/cn/quant/baa/pay/acquirer/Acquirer
Configur
er.java
→
baa-pay-core/src/main/java/cn/quant/baa/pay/acquirer/Acquirer
PropertiesBuild
er.java
View file @
26f29bcd
...
...
@@ -13,7 +13,7 @@ import java.util.Map;
/**
* Created by Administrator on 2021/8/22 0022.
*/
public
class
Acquirer
Configur
er
{
public
class
Acquirer
PropertiesBuild
er
{
private
Table
<
Class
,
Object
,
Object
>
bigTable
=
Tables
.
newCustomTable
(
Maps
.
newHashMap
(),
new
Supplier
()
{
public
Map
<
Object
,
Object
>
get
()
{
...
...
@@ -21,11 +21,10 @@ public class AcquirerConfigurer {
}
});
public
AcquirerConfiguration
configure
(
Collection
<
MchChannelEntity
>
entities
){
AcquirerConfiguration
configuration
=
new
AcquirerConfiguration
();
public
AcquirerPropertiesSource
build
(
Collection
<
MchChannelEntity
>
entities
){
AcquirerPropertiesSource
configuration
=
new
AcquirerPropertiesSource
();
for
(
MchChannelEntity
entity
:
entities
)
{
AcquirerProperties
profile
=
configure
(
entity
);
AcquirerProperties
profile
=
build
(
entity
);
configuration
.
add
(
profile
);
}
return
configuration
;
...
...
@@ -35,7 +34,7 @@ public class AcquirerConfigurer {
bigTable
.
clear
();
}
public
AcquirerProperties
configure
(
MchChannelEntity
entity
)
{
public
AcquirerProperties
build
(
MchChannelEntity
entity
)
{
AcquirerProperties
profile
=
new
AcquirerProperties
();
profile
.
setMchChanId
(
entity
.
getId
());
...
...
@@ -80,11 +79,11 @@ public class AcquirerConfigurer {
}
public
class
PayApp
{
public
Acquirer
Configur
er
apps
(
Collection
<
PayAppEntity
>
entities
)
{
public
Acquirer
PropertiesBuild
er
apps
(
Collection
<
PayAppEntity
>
entities
)
{
for
(
PayAppEntity
entity
:
entities
)
{
bigTable
.
put
(
entity
.
getClass
(),
entity
.
getPayAppId
(),
entity
);
}
return
Acquirer
Configur
er
.
this
;
return
Acquirer
PropertiesBuild
er
.
this
;
}
}
}
baa-pay-core/src/main/java/cn/quant/baa/pay/acquirer/Acquirer
Configuration
.java
→
baa-pay-core/src/main/java/cn/quant/baa/pay/acquirer/Acquirer
PropertiesSource
.java
View file @
26f29bcd
...
...
@@ -15,7 +15,7 @@ import java.util.Map;
/**
* Created by Administrator on 2021/8/22 0022.
*/
public
class
Acquirer
Configuration
{
public
class
Acquirer
PropertiesSource
{
private
Table
<
String
,
String
,
Collection
<
AcquirerProperties
>>
bigTable
=
Tables
.
newCustomTable
(
Maps
.
newHashMap
()
,
new
Supplier
()
{
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/
service
/ModelBuilder.java
→
baa-pay-core/src/main/java/cn/quant/baa/pay/
component
/ModelBuilder.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
service
;
package
cn
.
quant
.
baa
.
pay
.
component
;
import
cn.quant.baa.pay.acquirer.AcquirerProperties
;
import
cn.quant.baa.pay.config.DictionaryViewer
;
...
...
@@ -9,6 +9,7 @@ import cn.quant.baa.pay.model.web.MerchantChannelResponseData;
import
cn.quant.spring.NotSupportedException
;
import
cn.quant.spring.util.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
...
...
@@ -19,7 +20,7 @@ import java.util.Map;
/**
* Created by Administrator on 2021/8/23 0023.
*/
@
Service
@
Component
public
class
ModelBuilder
{
@Autowired
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/config/AcquirerConfiguration.java
0 → 100644
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
config
;
import
cn.quant.baa.pay.acquirer.AcquirerPropertiesSource
;
import
cn.quant.baa.pay.acquirer.AcquirerPropertiesBuilder
;
import
cn.quant.baa.pay.acquirer.AcquirerProperties
;
import
cn.quant.baa.pay.acquirer.MerchantAcquirer
;
import
cn.quant.baa.pay.acquirer.alipay.AlipayMerchantAcquirer
;
import
cn.quant.baa.pay.acquirer.weixin.WeiXinMerchantAcquirer
;
import
cn.quant.baa.pay.jpa.entity.*
;
import
cn.quant.baa.pay.jpa.repository.*
;
import
cn.quant.baa.pay.model.DictionaryItem
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
java.util.Collection
;
import
java.util.List
;
/**
* Created by Administrator on 2021/8/22 0022.
*/
@Configuration
public
class
AcquirerConfiguration
{
@Autowired
private
PayAccountRepository
payAccountRepository
;
@Autowired
private
PayAppRepository
payAppRepository
;
@Autowired
private
PayFeatureRepository
payFeatureRepository
;
@Autowired
private
MchChannelRepository
mchChannelRepository
;
public
AcquirerPropertiesBuilder
getBuilder
()
{
List
<
PayAccountEntity
>
accounts
=
payAccountRepository
.
findAll
();
List
<
PayFeatureEntity
>
features
=
payFeatureRepository
.
findAll
();
List
<
PayAppEntity
>
apps
=
payAppRepository
.
findAll
();
AcquirerPropertiesBuilder
builder
=
new
AcquirerPropertiesBuilder
();
builder
.
accounts
(
accounts
)
.
features
(
features
)
.
apps
(
apps
);
accounts
.
clear
();
features
.
clear
();
apps
.
clear
();
return
builder
;
}
@Bean
public
AcquirerPropertiesSource
acquirerPropertiesSource
()
{
AcquirerPropertiesBuilder
builder
=
getBuilder
();
List
<
MchChannelEntity
>
entities
=
mchChannelRepository
.
findAll
();
AcquirerPropertiesSource
source
=
builder
.
build
(
entities
);
builder
.
release
();
entities
.
clear
();
return
source
;
}
@Bean
public
MerchantAcquirer
acquirer
(
AcquirerPropertiesSource
acquirerPropertiesSource
)
throws
Exception
{
MerchantAcquirer
merchantAcquirer
=
MerchantAcquirer
.
getInstance
();
Collection
<
AcquirerProperties
>
properties
=
acquirerPropertiesSource
.
getAll
();
for
(
AcquirerProperties
property
:
properties
)
{
if
(
"WXP"
.
equals
(
property
.
getPayChanCode
())){
WeiXinMerchantAcquirer
acquirer
=
new
WeiXinMerchantAcquirer
();
acquirer
.
init
(
property
);
merchantAcquirer
.
register
(
acquirer
);
}
else
if
(
"ALIP"
.
equals
(
property
.
getPayChanCode
()))
{
AlipayMerchantAcquirer
acquirer
=
new
AlipayMerchantAcquirer
();
acquirer
.
init
(
property
);
merchantAcquirer
.
register
(
acquirer
);
}
}
return
merchantAcquirer
;
}
}
baa-pay-core/src/main/java/cn/quant/baa/pay/config/DictionaryViewer.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
config
;
import
cn.quant.baa.pay.dict.DictType
;
import
cn.quant.baa.pay.model.DictionaryItem
;
import
com.google.common.base.Supplier
;
import
com.google.common.collect.Maps
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/config/ServerConfiguration.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
config
;
import
cn.quant.baa.pay.acquirer.AcquirerConfiguration
;
import
cn.quant.baa.pay.acquirer.AcquirerConfigurer
;
import
cn.quant.baa.pay.acquirer.AcquirerProperties
;
import
cn.quant.baa.pay.acquirer.MerchantAcquirer
;
import
cn.quant.baa.pay.acquirer.alipay.AlipayMerchantAcquirer
;
import
cn.quant.baa.pay.acquirer.weixin.WeiXinMerchantAcquirer
;
import
cn.quant.baa.pay.jpa.entity.*
;
import
cn.quant.baa.pay.jpa.repository.*
;
import
cn.quant.baa.pay.jpa.entity.DictionaryEntity
;
import
cn.quant.baa.pay.jpa.repository.DictionaryRepository
;
import
cn.quant.baa.pay.model.DictionaryItem
;
import
cn.quant.spring.data.jpa.PersistentEntityInvoker
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.repository.support.Repositories
;
import
java.util.Collection
;
import
java.util.List
;
/**
* Created by Administrator on 2021/
8/22 0022
.
* Created by Administrator on 2021/
9/18 0018
.
*/
@Configuration
public
class
ServerConfiguration
{
@Autowired
private
PayAccountRepository
payAccountRepository
;
@Autowired
private
PayAppRepository
payAppRepository
;
@Autowired
private
PayFeatureRepository
payFeatureRepository
;
@Autowired
private
MchChannelRepository
mchChannelRepository
;
@Autowired
private
DictionaryRepository
dictionaryRepository
;
public
AcquirerConfigurer
configurer
()
{
List
<
PayAccountEntity
>
accounts
=
payAccountRepository
.
findAll
();
List
<
PayFeatureEntity
>
features
=
payFeatureRepository
.
findAll
();
List
<
PayAppEntity
>
apps
=
payAppRepository
.
findAll
();
AcquirerConfigurer
configurer
=
new
AcquirerConfigurer
();
configurer
.
accounts
(
accounts
)
.
features
(
features
)
.
apps
(
apps
);
accounts
.
clear
();
features
.
clear
();
apps
.
clear
();
return
configurer
;
}
@Autowired
private
ApplicationContext
applicationContext
;
@Bean
public
DictionaryViewer
dictionaryViewer
()
{
...
...
@@ -69,30 +40,10 @@ public class ServerConfiguration {
}
@Bean
public
AcquirerConfiguration
acquirerConfiguration
()
{
AcquirerConfigurer
configurer
=
configurer
();
List
<
MchChannelEntity
>
entities
=
mchChannelRepository
.
findAll
();
AcquirerConfiguration
configuration
=
configurer
.
configure
(
entities
);
configurer
.
release
();
entities
.
clear
();
return
configuration
;
}
@Bean
public
MerchantAcquirer
acquirer
(
AcquirerConfiguration
acquirerConfiguration
)
throws
Exception
{
MerchantAcquirer
merchantAcquirer
=
MerchantAcquirer
.
getInstance
();
Collection
<
AcquirerProperties
>
properties
=
acquirerConfiguration
.
getAll
();
for
(
AcquirerProperties
property
:
properties
)
{
if
(
"WXP"
.
equals
(
property
.
getPayChanCode
())){
WeiXinMerchantAcquirer
acquirer
=
new
WeiXinMerchantAcquirer
();
acquirer
.
init
(
property
);
merchantAcquirer
.
register
(
acquirer
);
}
else
if
(
"ALIP"
.
equals
(
property
.
getPayChanCode
()))
{
AlipayMerchantAcquirer
acquirer
=
new
AlipayMerchantAcquirer
();
acquirer
.
init
(
property
);
merchantAcquirer
.
register
(
acquirer
);
}
}
return
merchantAcquirer
;
public
PersistentEntityInvoker
persistentEntityInvoker
()
{
Repositories
repositories
=
new
Repositories
(
applicationContext
);
PersistentEntityInvoker
invoker
=
new
PersistentEntityInvoker
(
repositories
);
return
invoker
;
}
}
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/
entity/
EntityBuilder.java
→
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/EntityBuilder.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
jpa
.
entity
;
package
cn
.
quant
.
baa
.
pay
.
jpa
;
import
cn.quant.baa.pay.acquirer.AcquirerProperties
;
import
cn.quant.baa.pay.context.TransactionSession
;
import
cn.quant.baa.pay.dict.*
;
import
cn.quant.baa.pay.jpa.entity.*
;
import
cn.quant.baa.pay.model.web.GoodsDetail
;
import
cn.quant.baa.pay.model.web.PayRequestData
;
import
cn.quant.spring.util.DateUtils
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/AccountIds.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
jpa
.
entity
;
import
cn.quant.spring.data.jpa.entity.
Entity
PrimaryIds
;
import
cn.quant.spring.data.jpa.entity.PrimaryIds
;
import
cn.quant.spring.util.StringUtils
;
import
javax.persistence.Column
;
...
...
@@ -12,7 +12,7 @@ import java.util.Objects;
* Created by Administrator on 2021/8/25 0025.
*/
@Embeddable
public
class
AccountIds
extends
Entity
PrimaryIds
implements
Serializable
{
public
class
AccountIds
extends
PrimaryIds
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3364378648694932295L
;
private
final
static
String
CLASS_NAME
=
AccountEntity
.
class
.
getSimpleName
();
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/CustomerEntity.java
View file @
26f29bcd
...
...
@@ -19,6 +19,7 @@ import java.util.Objects;
public
class
CustomerEntity
extends
DescribablePartitionEntity
implements
Serializable
{
private
final
static
String
CLASS_NAME
=
CustomerEntity
.
class
.
getSimpleName
();
private
static
final
long
serialVersionUID
=
2591866260454689833L
;
@Id
@Column
(
name
=
"CUSTOMER_ID"
,
nullable
=
false
)
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/DictionaryEntity.java
View file @
26f29bcd
...
...
@@ -17,6 +17,7 @@ import java.util.Objects;
@Table
(
name
=
"dictionary"
)
public
class
DictionaryEntity
extends
OptimisticEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4339755594508649928L
;
@EmbeddedId
private
DictionaryIds
ids
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/DictionaryIds.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
jpa
.
entity
;
import
cn.quant.baa.pay.dict.DictType
;
import
cn.quant.spring.data.jpa.entity.EntityPrimaryIds
;
import
cn.quant.spring.data.jpa.entity.PrimaryIds
;
import
cn.quant.spring.util.StringUtils
;
import
javax.persistence.Column
;
import
javax.persistence.Embeddable
;
import
javax.persistence.EnumType
;
import
javax.persistence.Enumerated
;
import
java.io.Serializable
;
import
java.util.Objects
;
...
...
@@ -15,7 +12,7 @@ import java.util.Objects;
* Created by Administrator on 2021/8/23 0023.
*/
@Embeddable
public
class
DictionaryIds
extends
Entity
PrimaryIds
implements
Serializable
{
public
class
DictionaryIds
extends
PrimaryIds
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7804804141804874320L
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/PayAccountIds.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
jpa
.
entity
;
import
cn.quant.spring.data.jpa.entity.
Entity
PrimaryIds
;
import
cn.quant.spring.data.jpa.entity.PrimaryIds
;
import
cn.quant.spring.util.StringUtils
;
import
javax.persistence.Column
;
...
...
@@ -12,7 +12,7 @@ import java.util.Objects;
* Created by Administrator on 2021/8/22 0022.
*/
@Embeddable
public
class
PayAccountIds
extends
Entity
PrimaryIds
implements
Serializable
{
public
class
PayAccountIds
extends
PrimaryIds
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5987381896875415656L
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/PayFeatureIds.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
jpa
.
entity
;
import
cn.quant.baa.pay.dict.AccessCode
;
import
cn.quant.baa.pay.dict.AccessType
;
import
cn.quant.spring.data.jpa.entity.EntityPrimaryIds
;
import
cn.quant.spring.data.jpa.entity.PrimaryIds
;
import
cn.quant.spring.util.StringUtils
;
import
javax.persistence.Column
;
...
...
@@ -16,7 +15,7 @@ import java.util.Objects;
* Created by Administrator on 2021/8/22 0022.
*/
@Embeddable
public
class
PayFeatureIds
extends
Entity
PrimaryIds
implements
Serializable
{
public
class
PayFeatureIds
extends
PrimaryIds
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8852766242045564647L
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/PayHistoryIds.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
jpa
.
entity
;
import
cn.quant.spring.data.jpa.entity.
Entity
PrimaryIds
;
import
cn.quant.spring.data.jpa.entity.PrimaryIds
;
import
cn.quant.spring.util.StringUtils
;
import
javax.persistence.Column
;
...
...
@@ -12,7 +12,7 @@ import java.util.Objects;
* Created by Administrator on 2021/8/26 0026.
*/
@Embeddable
public
class
PayHistoryIds
extends
Entity
PrimaryIds
implements
Serializable
{
public
class
PayHistoryIds
extends
PrimaryIds
implements
Serializable
{
public
final
static
String
CLASS_NAME
=
PayHistoryEntity
.
class
.
getSimpleName
();
@Column
(
name
=
"INSTITUTION_ID"
,
nullable
=
false
,
updatable
=
false
,
length
=
4
)
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/StatusCodeEntity.java
View file @
26f29bcd
...
...
@@ -3,7 +3,10 @@ package cn.quant.baa.pay.jpa.entity;
import
cn.quant.spring.data.jpa.entity.DescriptionEntity
;
import
org.hibernate.annotations.Type
;
import
javax.persistence.*
;
import
javax.persistence.Column
;
import
javax.persistence.EmbeddedId
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
import
java.util.Objects
;
/**
...
...
@@ -11,7 +14,9 @@ import java.util.Objects;
*/
@Entity
@Table
(
name
=
"status_code"
)
public
class
StatusCodeEntity
extends
DescriptionEntity
{
public
class
StatusCodeEntity
extends
DescriptionEntity
{
private
static
final
long
serialVersionUID
=
-
247953772558454731L
;
@EmbeddedId
private
StatusCodeIds
ids
;
...
...
@@ -113,6 +118,18 @@ public class StatusCodeEntity extends DescriptionEntity{
this
.
messageCode
=
messageCode
;
}
public
String
getInstitutionId
(){
return
this
.
ids
.
getInstitutionId
();
}
public
String
getEntity
(){
return
this
.
ids
.
getEntity
();
}
public
String
getCode
(){
return
this
.
ids
.
getCode
();
}
@Override
public
String
getPersistentKey
()
{
return
ids
.
getPersistentKey
();
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/jpa/entity/StatusCodeIds.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
jpa
.
entity
;
import
cn.quant.spring.data.jpa.entity.
Entity
PrimaryIds
;
import
cn.quant.spring.data.jpa.entity.PrimaryIds
;
import
cn.quant.spring.util.StringUtils
;
import
javax.persistence.Column
;
...
...
@@ -12,7 +12,7 @@ import java.util.Objects;
* Created by Administrator on 2021/9/13 0013.
*/
@Embeddable
public
class
StatusCodeIds
extends
Entity
PrimaryIds
implements
Serializable
{
public
class
StatusCodeIds
extends
PrimaryIds
implements
Serializable
{
public
final
static
String
CLASS_NAME
=
StatusCodeEntity
.
class
.
getSimpleName
();
private
static
final
long
serialVersionUID
=
6497603433019425612L
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/model/StatusCode
DTO
.java
→
baa-pay-core/src/main/java/cn/quant/baa/pay/model/StatusCode.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
model
;
import
cn.quant.spring.data.jpa.PersistentObject
;
import
java.io.Serializable
;
/**
* Created by Administrator on 2021/9/13 0013.
*/
public
class
StatusCode
DTO
implements
Serializable
{
public
class
StatusCode
implements
PersistentObject
,
Serializable
{
private
static
final
long
serialVersionUID
=
952357481570545998L
;
private
String
institutionId
;
private
String
entity
;
...
...
@@ -109,7 +111,7 @@ public class StatusCodeDTO implements Serializable{
@Override
public
String
toString
()
{
final
StringBuilder
sb
=
new
StringBuilder
(
"StatusCode
DTO
{"
);
final
StringBuilder
sb
=
new
StringBuilder
(
"StatusCode{"
);
sb
.
append
(
"institutionId='"
).
append
(
institutionId
).
append
(
'\''
);
sb
.
append
(
", entity='"
).
append
(
entity
).
append
(
'\''
);
sb
.
append
(
", code='"
).
append
(
code
).
append
(
'\''
);
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/model/web/MerchantChannelRequestData.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
model
.
web
;
import
cn.quant.spring.data.jpa.
repository.
PersistentKey
;
import
cn.quant.spring.data.jpa.PersistentKey
;
import
cn.quant.spring.util.StringUtils
;
import
java.io.Serializable
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/service/BusinessService.java
View file @
26f29bcd
...
...
@@ -3,7 +3,7 @@ package cn.quant.baa.pay.service;
import
cn.quant.baa.pay.context.TransactionSession
;
import
cn.quant.baa.pay.jpa.entity.AccountEntity
;
import
cn.quant.baa.pay.jpa.entity.AccountIds
;
import
cn.quant.baa.pay.jpa.
entity.
EntityBuilder
;
import
cn.quant.baa.pay.jpa.EntityBuilder
;
import
cn.quant.spring.IllegalParameterException
;
import
cn.quant.spring.NullException
;
import
cn.quant.spring.context.ContextLoader
;
...
...
baa-pay-core/src/main/java/cn/quant/baa/pay/service/MerchantStorageService.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
service
;
import
cn.quant.baa.pay.acquirer.AcquirerConfiguration
;
import
cn.quant.baa.pay.acquirer.AcquirerProperties
;
import
cn.quant.baa.pay.acquirer.AcquirerPropertiesSource
;
import
cn.quant.baa.pay.component.ModelBuilder
;
import
cn.quant.baa.pay.config.LocalCacheConfiguration
;
import
cn.quant.baa.pay.model.web.MerchantAcquirerProperties
;
import
cn.quant.baa.pay.model.web.MerchantChannelRequestData
;
...
...
@@ -21,7 +22,7 @@ import java.util.Map;
@Service
public
class
MerchantStorageService
{
@Autowired
private
Acquirer
Configuration
acquirerConfiguration
;
private
Acquirer
PropertiesSource
acquirerPropertiesSource
;
@Autowired
private
ModelBuilder
modelBuilder
;
...
...
@@ -29,19 +30,18 @@ public class MerchantStorageService {
@Autowired
private
CacheManager
cacheManager
;
@Cacheable
(
cacheManager
=
LocalCacheConfiguration
.
LOCAL_CACHE_MANAGER
,
cacheNames
=
LocalCacheConfiguration
.
LOCAL_CACHE_ACQUIRER
,
key
=
"'MerchantChannel$'+#requestData.
getPersistentKey()
"
)
,
key
=
"'MerchantChannel$'+#requestData.
persistentKey
"
)
public
Map
<
String
,
MerchantChannelResponseData
>
getChannels
(
MerchantChannelRequestData
requestData
)
{
String
mchId
=
requestData
.
getMchId
();
String
channel
=
requestData
.
getChannel
();
Map
<
String
,
Collection
<
AcquirerProperties
>>
profiles
;
if
(
StringUtils
.
isEmpty
(
channel
))
{
profiles
=
acquirer
Configuration
.
get
(
mchId
);
profiles
=
acquirer
PropertiesSource
.
get
(
mchId
);
}
else
{
profiles
=
acquirer
Configuration
.
get
(
mchId
,
channel
);
profiles
=
acquirer
PropertiesSource
.
get
(
mchId
,
channel
);
}
Map
<
String
,
MerchantChannelResponseData
>
response
=
modelBuilder
.
toModel
(
profiles
,
requestData
.
getAccess
());
...
...
@@ -52,7 +52,7 @@ public class MerchantStorageService {
,
cacheNames
=
LocalCacheConfiguration
.
LOCAL_CACHE_ACQUIRER
,
key
=
"'MerchantChannel$'+#id"
)
public
MerchantAcquirerProperties
getChannel
(
Long
id
)
{
AcquirerProperties
profile
=
acquirer
Configuration
.
get
(
id
);
AcquirerProperties
profile
=
acquirer
PropertiesSource
.
get
(
id
);
return
modelBuilder
.
toModel
(
profile
);
}
}
baa-pay-core/src/main/java/cn/quant/baa/pay/service/ProfileStorageService.java
0 → 100644
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
service
;
import
cn.quant.baa.pay.config.LocalCacheConfiguration
;
import
cn.quant.baa.pay.jpa.entity.StatusCodeEntity
;
import
cn.quant.baa.pay.jpa.entity.StatusCodeIds
;
import
cn.quant.baa.pay.model.StatusCode
;
import
cn.quant.spring.data.jpa.PersistentEntityInvoker
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
/**
* Created by Administrator on 2021/9/18 0018.
*/
@Service
public
class
ProfileStorageService
{
@Autowired
private
PersistentEntityInvoker
persistentEntityInvoker
;
@Cacheable
(
cacheManager
=
LocalCacheConfiguration
.
LOCAL_CACHE_MANAGER
,
cacheNames
=
LocalCacheConfiguration
.
LOCAL_CACHE_PROFILE
,
key
=
"#ids.persistentKey"
)
public
StatusCode
getStatusCode
(
StatusCodeIds
ids
)
throws
Exception
{
StatusCode
code
=
persistentEntityInvoker
.
Invoke
(
ids
,
StatusCodeEntity
.
class
,
StatusCode
.
class
);
return
code
;
}
}
baa-pay-server/src/main/java/cn/quant/baa/pay/ServerApplication.java
View file @
26f29bcd
...
...
@@ -20,8 +20,8 @@ import java.time.format.DateTimeFormatter;
/**
* <p><b>Application VM Option:</b><br/>
* <code>--spring.config.file=${project.
configure
.directory}/target/config/application-dev.properties </code><br/>
* <code>-Dlogging.config=${project.
configure
.directory}/target/config/logback-spring.xml</code></p>
* <code>--spring.config.file=${project.
build
.directory}/target/config/application-dev.properties </code><br/>
* <code>-Dlogging.config=${project.
build
.directory}/target/config/logback-spring.xml</code></p>
* <p><b>Enable Dubbo Annotation: </b><br/>
* <code>@org.springframework.context.annotation.ImportResource(locations = {"classpath:application-dubbo.xml"})</code></p>
*/
...
...
baa-pay-server/src/main/java/cn/quant/baa/pay/rest/MerchantController.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
rest
;
import
cn.quant.baa.pay.jpa.entity.StatusCodeIds
;
import
cn.quant.baa.pay.model.StatusCode
;
import
cn.quant.baa.pay.model.web.MerchantAcquirerProperties
;
import
cn.quant.baa.pay.model.web.MerchantChannelResponseData
;
import
cn.quant.baa.pay.model.web.MerchantChannelRequestData
;
import
cn.quant.baa.pay.annotation.BusinessMapping
;
import
cn.quant.baa.pay.context.TransactionSession
;
import
cn.quant.baa.pay.service.ProfileStorageService
;
import
cn.quant.baa.pay.util.AssertUtils
;
import
cn.quant.baa.pay.model.BusinessRequest
;
import
cn.quant.baa.pay.service.MerchantStorageService
;
...
...
@@ -44,7 +47,6 @@ public class MerchantController extends AbstractController {
AssertUtils
.
throwMessage
(
EMPTY_REQ_DATA
);
}
Map
<
String
,
MerchantChannelResponseData
>
channels
=
merchantStorageService
.
getChannels
(
data
);
ResponseEntity
<
HttpResponseData
>
entity
=
succeed
(
requestId
,
channels
);
return
entity
;
...
...
@@ -53,7 +55,8 @@ public class MerchantController extends AbstractController {
@ResponseBody
@BusinessMapping
(
session
=
1
)
@PostMapping
(
"/one"
)
public
ResponseEntity
one
(
@RequestBody
BusinessRequest
<
MerchantChannelRequestData
>
request
)
{
public
ResponseEntity
one
(
@RequestBody
BusinessRequest
<
MerchantChannelRequestData
>
request
)
throws
Exception
{
TransactionSession
session
=
TransactionSession
.
session
();
String
requestId
=
session
.
getRequestId
();
...
...
baa-pay-server/src/main/java/cn/quant/baa/pay/service/TransactionService.java
View file @
26f29bcd
package
cn
.
quant
.
baa
.
pay
.
service
;
import
cn.quant.baa.pay.acquirer.Acquirer
Configuration
;
import
cn.quant.baa.pay.acquirer.Acquirer
PropertiesSource
;
import
cn.quant.baa.pay.acquirer.AcquirerProperties
;
import
cn.quant.baa.pay.acquirer.MerchantAcquirer
;
import
cn.quant.baa.pay.context.TransactionSession
;
import
cn.quant.baa.pay.jpa.EntityBuilder
;
import
cn.quant.baa.pay.jpa.entity.*
;
import
cn.quant.baa.pay.model.web.*
;
import
cn.quant.baa.pay.util.AssertUtils
;
...
...
@@ -29,7 +30,7 @@ public class TransactionService extends BusinessService {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
TransactionService
.
class
);
@Autowired
private
Acquirer
Configuration
acquirerConfiguration
;
private
Acquirer
PropertiesSource
acquirerPropertiesSource
;
@Autowired
private
MerchantAcquirer
acquirer
;
...
...
@@ -42,14 +43,13 @@ public class TransactionService extends BusinessService {
}
}
@Transactional
public
TransactionSession
payHistory
(
PayRequestData
data
)
{
validate
(
data
);
String
chanId
=
data
.
getChanId
();
AcquirerProperties
profile
=
acquirer
Configuration
.
get
(
Long
.
valueOf
(
chanId
));
AcquirerProperties
profile
=
acquirer
PropertiesSource
.
get
(
Long
.
valueOf
(
chanId
));
if
(
profile
==
null
)
{
AssertUtils
.
throwMessage
(
ACQUIRER_NOSUCH
,
chanId
);
}
...
...
baa-pay-server/src/test/java/cn/quant/baa/pay/TestApplication.java
View file @
26f29bcd
...
...
@@ -16,7 +16,7 @@ import java.nio.charset.Charset;
/**
* <p><b>JUnit VM Option:</b><br/>
* <code>-Dspring.config.file=${project.
configure
.directory}/target/config/application-dev.properties </code><br/>
* <code>-Dspring.config.file=${project.
build
.directory}/target/config/application-dev.properties </code><br/>
* </p>
*/
@RunWith
(
SpringRunner
.
class
)
...
...
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