Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
IJPay
提交
3a4ed8ef
I
IJPay
项目概览
int
/
IJPay
大约 1 年 前同步成功
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
IJPay
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3a4ed8ef
编写于
4月 12, 2020
作者:
J
Javen205
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
支持多商户
上级
fbc0b37d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
142 addition
and
0 deletion
+142
-0
IJPay-UnionPay/src/main/java/com/ijpay/unionpay/UnionPayApiConfig.java
...y/src/main/java/com/ijpay/unionpay/UnionPayApiConfig.java
+55
-0
IJPay-UnionPay/src/main/java/com/ijpay/unionpay/UnionPayApiConfigKit.java
...rc/main/java/com/ijpay/unionpay/UnionPayApiConfigKit.java
+87
-0
未找到文件。
IJPay-UnionPay/src/main/java/com/ijpay/unionpay/UnionPayApiConfig.java
0 → 100644
浏览文件 @
3a4ed8ef
package
com.ijpay.unionpay
;
import
lombok.*
;
import
java.io.Serializable
;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>IJPay 交流群: 723992875</p>
*
* <p>Node.js 版: https://gitee.com/javen205/TNWX</p>
*
* <p>云闪付常用配置</p>
*
* @author Javen
*/
@Getter
@Setter
@Builder
@AllArgsConstructor
(
access
=
AccessLevel
.
PRIVATE
)
public
class
UnionPayApiConfig
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
9025648880068727445L
;
/**
* 商户平台分配的账号
*/
private
String
mchId
;
/**
* 连锁商户号
*/
private
String
groupMchId
;
/**
* 授权交易机构代码
*/
private
String
agentMchId
;
/**
* 商户平台分配的密钥
*/
private
String
apiKey
;
/**
* 商户平台网关
*/
private
String
serverUrl
;
/**
* 应用域名,回调中会使用此参数
*/
private
String
domain
;
/**
* 其他附加参数
*/
private
Object
exParams
;
}
IJPay-UnionPay/src/main/java/com/ijpay/unionpay/UnionPayApiConfigKit.java
0 → 100644
浏览文件 @
3a4ed8ef
package
com.ijpay.unionpay
;
import
cn.hutool.core.util.StrUtil
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付等常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>IJPay 交流群: 723992875</p>
*
* <p>Node.js 版: https://gitee.com/javen205/TNWX</p>
*
* <p>云闪付常用配置 Kit</p>
*
* @author Javen
*/
public
class
UnionPayApiConfigKit
{
private
static
final
ThreadLocal
<
String
>
TL
=
new
ThreadLocal
<
String
>();
private
static
final
Map
<
String
,
UnionPayApiConfig
>
CFG_MAP
=
new
ConcurrentHashMap
<
String
,
UnionPayApiConfig
>();
private
static
final
String
DEFAULT_CFG_KEY
=
"_default_key_"
;
/**
* 添加云闪付配置,每个 mchId 只需添加一次,相同 mchId 将被覆盖
*
* @param UnionPayApiConfig 云闪付配置
* @return {@link UnionPayApiConfig} 云闪付配置
*/
public
static
UnionPayApiConfig
putApiConfig
(
UnionPayApiConfig
UnionPayApiConfig
)
{
if
(
CFG_MAP
.
size
()
==
0
)
{
CFG_MAP
.
put
(
DEFAULT_CFG_KEY
,
UnionPayApiConfig
);
}
return
CFG_MAP
.
put
(
UnionPayApiConfig
.
getMchId
(),
UnionPayApiConfig
);
}
public
static
UnionPayApiConfig
setThreadLocalApiConfig
(
UnionPayApiConfig
UnionPayApiConfig
)
{
if
(
StrUtil
.
isNotEmpty
(
UnionPayApiConfig
.
getMchId
()))
{
setThreadLocalMchId
(
UnionPayApiConfig
.
getMchId
());
}
return
putApiConfig
(
UnionPayApiConfig
);
}
public
static
UnionPayApiConfig
removeApiConfig
(
UnionPayApiConfig
UnionPayApiConfig
)
{
return
removeApiConfig
(
UnionPayApiConfig
.
getMchId
());
}
public
static
UnionPayApiConfig
removeApiConfig
(
String
mchId
)
{
return
CFG_MAP
.
remove
(
mchId
);
}
public
static
void
setThreadLocalMchId
(
String
mchId
)
{
if
(
StrUtil
.
isEmpty
(
mchId
))
{
mchId
=
CFG_MAP
.
get
(
DEFAULT_CFG_KEY
).
getMchId
();
}
TL
.
set
(
mchId
);
}
public
static
void
removeThreadLocalMchId
()
{
TL
.
remove
();
}
public
static
String
getMchId
()
{
String
appId
=
TL
.
get
();
if
(
StrUtil
.
isEmpty
(
appId
))
{
appId
=
CFG_MAP
.
get
(
DEFAULT_CFG_KEY
).
getMchId
();
}
return
appId
;
}
public
static
UnionPayApiConfig
getApiConfig
()
{
String
appId
=
getMchId
();
return
getApiConfig
(
appId
);
}
public
static
UnionPayApiConfig
getApiConfig
(
String
appId
)
{
UnionPayApiConfig
cfg
=
CFG_MAP
.
get
(
appId
);
if
(
cfg
==
null
)
{
throw
new
IllegalStateException
(
"需事先调用 UnionPayApiConfigKit.putApiConfig(UnionPayApiConfig) 将 mchId 对应的 UnionPayApiConfig 对象存入,才可以使用 UnionPayApiConfigKit.getUnionPayApiConfig() 的系列方法"
);
}
return
cfg
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录