记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
董敬伟
liquidnet-bus-v1
Commits
00a50615
Commit
00a50615
authored
Jul 14, 2021
by
anjiabin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交支付查询
parent
9687411d
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
133 additions
and
61 deletions
+133
-61
DragonConstant.java
...com/liquidnet/service/dragon/constant/DragonConstant.java
+36
-10
AlipayBiz.java
...iquidnet/service/dragon/channel/alipay/biz/AlipayBiz.java
+2
-44
DragonPayBiz.java
...net/service/dragon/channel/strategy/biz/DragonPayBiz.java
+69
-0
PayChannelStrategyWepayImpl.java
...on/channel/strategy/impl/PayChannelStrategyWepayImpl.java
+1
-1
WepayBiz.java
.../liquidnet/service/dragon/channel/wepay/biz/WepayBiz.java
+7
-1
AbstractWepayStrategy.java
...on/channel/wepay/strategy/impl/AbstractWepayStrategy.java
+3
-0
PayController.java
...om/liquidnet/service/dragon/controller/PayController.java
+1
-4
DragonOrdersServiceImpl.java
.../service/dragon/service/impl/DragonOrdersServiceImpl.java
+14
-1
No files found.
liquidnet-bus-api/liquidnet-service-dragon-api/src/main/java/com/liquidnet/service/dragon/constant/DragonConstant.java
View file @
00a50615
...
...
@@ -139,26 +139,52 @@ public class DragonConstant {
* 支付类型
*/
public
enum
PayTypeEnum
{
PAYMENT_TYPE_APP_ALIPAY
(
"APPALIPAY"
,
"App内支付宝支付"
),
PAYMENT_TYPE_APP_WEPAY
(
"APPWEPAY"
,
"App内微信支付"
),
PAYMENT_TYPE_APP_IAP
(
"APPIAP"
,
"App内IAP(In-App Purchase)支付,iOS虚拟道具支付"
),
PAYMENT_TYPE_WAP_ALIPAY
(
"WAPALIPAY"
,
"手机网页内支付宝支付"
),
PAYMENT_TYPE_WAP_WEPAY
(
"WAPWEPAY"
,
"手机网页调起微信支付"
),
PAYMENT_TYPE_WEB_ALIPAY
(
"WEBALIPAY"
,
"电脑网页内支付宝即时到账支付"
),
PAYMENT_TYPE_WEB_WEPAY
(
"WEBWEPAY"
,
"电脑网页内微信二维码支付,用户打开微信扫码支付"
),
PAYMENT_TYPE_JS_WEPAY
(
"JSWEPAY"
,
"微信内网页、微信公众号"
),
PAYMENT_TYPE_APPLET_WEPAY
(
"APPLETWEPAY"
,
"微信小程序"
);
PAYMENT_TYPE_APP_ALIPAY
(
"APPALIPAY"
,
"
alipay"
,
"app"
,
"
App内支付宝支付"
),
PAYMENT_TYPE_APP_WEPAY
(
"APPWEPAY"
,
"
wepay"
,
"app"
,
"
App内微信支付"
),
PAYMENT_TYPE_APP_IAP
(
"APPIAP"
,
"
applepay"
,
"app"
,
"
App内IAP(In-App Purchase)支付,iOS虚拟道具支付"
),
PAYMENT_TYPE_WAP_ALIPAY
(
"WAPALIPAY"
,
"
alipay"
,
"wap"
,
"
手机网页内支付宝支付"
),
PAYMENT_TYPE_WAP_WEPAY
(
"WAPWEPAY"
,
"
wepay"
,
"wap"
,
"
手机网页调起微信支付"
),
PAYMENT_TYPE_WEB_ALIPAY
(
"WEBALIPAY"
,
"
alipay"
,
"web"
,
"
电脑网页内支付宝即时到账支付"
),
PAYMENT_TYPE_WEB_WEPAY
(
"WEBWEPAY"
,
"
wepay"
,
"web"
,
"
电脑网页内微信二维码支付,用户打开微信扫码支付"
),
PAYMENT_TYPE_JS_WEPAY
(
"JSWEPAY"
,
"
wepay"
,
"js"
,
"
微信内网页、微信公众号"
),
PAYMENT_TYPE_APPLET_WEPAY
(
"APPLETWEPAY"
,
"
wepay"
,
"applet"
,
"
微信小程序"
);
private
String
code
;
private
String
message
;
PayTypeEnum
(
String
code
,
String
message
)
{
private
String
payType
;
private
String
deviceFrom
;
PayTypeEnum
(
String
code
,
String
message
,
String
payType
,
String
deviceFrom
)
{
this
.
code
=
code
;
this
.
message
=
message
;
this
.
payType
=
payType
;
this
.
deviceFrom
=
deviceFrom
;
}
public
String
getCode
()
{
return
code
;
}
public
static
PayTypeEnum
getEnumByCode
(
String
code
){
PayTypeEnum
[]
arry
=
PayTypeEnum
.
values
();
for
(
int
i
=
0
;
i
<
arry
.
length
;
i
++)
{
if
(
arry
[
i
].
getCode
().
equals
(
code
))
{
return
arry
[
i
];
}
}
return
null
;
}
public
String
getMessage
()
{
return
message
;
}
public
String
getPayType
()
{
return
payType
;
}
public
String
getDeviceFrom
()
{
return
deviceFrom
;
}
}
/**
...
...
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/alipay/biz/AlipayBiz.java
View file @
00a50615
...
...
@@ -10,20 +10,13 @@ import com.alipay.api.response.AlipayTradeAppPayResponse;
import
com.alipay.api.response.AlipayTradeQueryResponse
;
import
com.alipay.api.response.AlipayTradeWapPayResponse
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.dragon.channel.alipay.req.AlipayTradePayReq
;
import
com.liquidnet.service.dragon.channel.alipay.sign.MD5
;
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
com.liquidnet.service.dragon.entity.DragonOrders
;
import
com.liquidnet.service.dragon.utils.MqHandleUtil
;
import
com.liquidnet.service.dragon.channel.strategy.biz.DragonPayBiz
;
import
com.liquidnet.service.dragon.utils.PayAlipayUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.util.*
;
/**
...
...
@@ -37,42 +30,7 @@ import java.util.*;
*/
@Slf4j
@Component
public
class
AlipayBiz
{
@Autowired
private
MqHandleUtil
mqHandleUtil
;
public
DragonOrders
buildPayOrders
(
DragonPayBaseReqDto
dragonPayBaseReqDto
,
DragonPayBaseRespDto
respDto
){
DragonOrders
orders
=
new
DragonOrders
();
// orders.setMid();
orders
.
setStatus
(
Integer
.
valueOf
(
DragonConstant
.
PayStatusEnum
.
STATUS_UNPAID
.
getCode
()));
orders
.
setCode
(
respDto
.
getCode
());
orders
.
setType
(
dragonPayBaseReqDto
.
getType
());
orders
.
setPrice
(
dragonPayBaseReqDto
.
getPrice
());
orders
.
setName
(
dragonPayBaseReqDto
.
getName
());
orders
.
setDetail
(
dragonPayBaseReqDto
.
getDetail
());
orders
.
setOrderCode
(
dragonPayBaseReqDto
.
getOrderCode
());
orders
.
setClientIp
(
dragonPayBaseReqDto
.
getClientIp
());
orders
.
setNotifyUrl
(
dragonPayBaseReqDto
.
getNotifyUrl
());
orders
.
setPaymentType
(
DragonConstant
.
PayTypeEnum
.
PAYMENT_TYPE_APP_IAP
.
getCode
());
// orders.setPaymentId();
orders
.
setPaymentAt
(
LocalDateTime
.
now
());
// orders.setFinishedAt();
orders
.
setCreatedAt
(
LocalDateTime
.
now
());
// orders.setUpdatedAt();
// 修改退款订单
boolean
insertResult
=
mqHandleUtil
.
sendMySqlRedis
(
SqlMapping
.
get
(
"dragon_orders.insert"
),
new
Object
[]{
orders
.
getStatus
(),
orders
.
getCode
(),
orders
.
getType
()
,
orders
.
getPrice
(),
orders
.
getName
(),
orders
.
getDetail
()
,
orders
.
getOrderCode
(),
orders
.
getClientIp
()
,
orders
.
getNotifyUrl
(),
orders
.
getPaymentType
(),
orders
.
getPaymentId
(),
orders
.
getPaymentAt
()
,
orders
.
getFinishedAt
(),
orders
.
getCreatedAt
()
,
orders
.
getUpdatedAt
()}
);
return
orders
;
}
public
class
AlipayBiz
extends
DragonPayBiz
{
/**
* 支付宝支付
* @param alipayTradePayReq
...
...
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/strategy/biz/DragonPayBiz.java
0 → 100644
View file @
00a50615
package
com
.
liquidnet
.
service
.
dragon
.
channel
.
strategy
.
biz
;
import
com.liquidnet.commons.lang.util.BeanUtil
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonOrdersDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
com.liquidnet.service.dragon.entity.DragonOrders
;
import
com.liquidnet.service.dragon.utils.DataUtils
;
import
com.liquidnet.service.dragon.utils.MqHandleUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
java.time.LocalDateTime
;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: DragonPayBiz
* @Package com.liquidnet.service.dragon.channel.strategy.biz
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/14 14:12
*/
public
abstract
class
DragonPayBiz
{
@Autowired
private
MqHandleUtil
mqHandleUtil
;
@Autowired
private
DataUtils
dataUtils
;
public
DragonOrders
buildPayOrders
(
DragonPayBaseReqDto
dragonPayBaseReqDto
,
DragonPayBaseRespDto
respDto
){
//构造订单
DragonOrders
orders
=
new
DragonOrders
();
// orders.setMid();
orders
.
setStatus
(
Integer
.
valueOf
(
DragonConstant
.
PayStatusEnum
.
STATUS_UNPAID
.
getCode
()));
orders
.
setCode
(
respDto
.
getCode
());
orders
.
setType
(
dragonPayBaseReqDto
.
getType
());
orders
.
setPrice
(
dragonPayBaseReqDto
.
getPrice
());
orders
.
setName
(
dragonPayBaseReqDto
.
getName
());
orders
.
setDetail
(
dragonPayBaseReqDto
.
getDetail
());
orders
.
setOrderCode
(
dragonPayBaseReqDto
.
getOrderCode
());
orders
.
setClientIp
(
dragonPayBaseReqDto
.
getClientIp
());
orders
.
setNotifyUrl
(
dragonPayBaseReqDto
.
getNotifyUrl
());
orders
.
setPaymentType
(
DragonConstant
.
PayTypeEnum
.
PAYMENT_TYPE_APP_IAP
.
getCode
());
// orders.setPaymentId();
orders
.
setPaymentAt
(
LocalDateTime
.
now
());
// orders.setFinishedAt();
orders
.
setCreatedAt
(
LocalDateTime
.
now
());
// orders.setUpdatedAt();
DragonOrdersDto
ordersDto
=
new
DragonOrdersDto
();
BeanUtil
.
copy
(
orders
,
ordersDto
);
//放到redis缓存中
dataUtils
.
createPayOrder
(
orders
.
getOrderCode
(),
orders
.
getCode
(),
ordersDto
);
// 持久化到数据库
boolean
insertResult
=
mqHandleUtil
.
sendMySqlRedis
(
SqlMapping
.
get
(
"dragon_orders.insert"
),
new
Object
[]{
orders
.
getStatus
(),
orders
.
getCode
(),
orders
.
getType
()
,
orders
.
getPrice
(),
orders
.
getName
(),
orders
.
getDetail
()
,
orders
.
getOrderCode
(),
orders
.
getClientIp
()
,
orders
.
getNotifyUrl
(),
orders
.
getPaymentType
(),
orders
.
getPaymentId
(),
orders
.
getPaymentAt
()
,
orders
.
getFinishedAt
(),
orders
.
getCreatedAt
()
,
orders
.
getUpdatedAt
()}
);
return
orders
;
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/strategy/impl/PayChannelStrategyWepayImpl.java
View file @
00a50615
...
...
@@ -105,7 +105,7 @@ public class PayChannelStrategyWepayImpl implements IPayChannelStrategy {
@Override
public
DragonPayOrderQueryRespDto
checkOrderStatus
(
String
code
)
{
DragonOrdersDto
ordersDto
=
dataUtils
.
getPayOrderByCode
(
code
);
DragonPayOrderQueryRespDto
respDto
=
wepayStrategyContext
.
getStrategy
(
ordersDto
.
getPaymentType
()).
checkOrderStatus
(
code
);
DragonPayOrderQueryRespDto
respDto
=
wepayStrategyContext
.
getStrategy
(
DragonConstant
.
PayTypeEnum
.
getEnumByCode
(
ordersDto
.
getPaymentType
()).
getDeviceFrom
()).
checkOrderStatus
(
code
);
return
respDto
;
}
...
...
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/wepay/biz/WepayBiz.java
View file @
00a50615
package
com
.
liquidnet
.
service
.
dragon
.
channel
.
wepay
.
biz
;
import
com.liquidnet.service.dragon.channel.strategy.biz.DragonPayBiz
;
import
com.liquidnet.service.dragon.channel.wepay.resp.WepayOrderQueryRespDto
;
import
com.liquidnet.service.dragon.utils.PayWepayUtils
;
import
com.liquidnet.service.dragon.utils.XmlUtil
;
...
...
@@ -9,6 +10,7 @@ import org.apache.http.client.methods.CloseableHttpResponse;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
...
...
@@ -27,9 +29,12 @@ import java.util.TreeMap;
*/
@Slf4j
@Component
public
class
WepayBiz
{
public
class
WepayBiz
extends
DragonPayBiz
{
@Value
(
"${liquidnet.dragon.wepay.merchantId}"
)
private
String
merchantId
;
@Autowired
private
WepayBiz
wepayBiz
;
/**
* 订单查询
*
...
...
@@ -65,6 +70,7 @@ public class WepayBiz {
}
catch
(
Exception
e
){
log
.
error
(
e
.
getMessage
());
}
return
respDto
;
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/wepay/strategy/impl/AbstractWepayStrategy.java
View file @
00a50615
...
...
@@ -67,6 +67,9 @@ public abstract class AbstractWepayStrategy implements IWepayStrategy {
//构造自定义返回参数
this
.
buildResponseDto
(
respPayDto
,
respWepayDto
);
//支付订单持久化
wepayBiz
.
buildPayOrders
(
dragonPayBaseReqDto
,
respPayDto
);
return
ResponseDto
.
success
(
respPayDto
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/controller/PayController.java
View file @
00a50615
...
...
@@ -106,10 +106,7 @@ public class PayController {
})
@ResponseBody
public
ResponseDto
<
DragonPayOrderQueryRespDto
>
checkOrder
(
@RequestParam
(
value
=
"code"
)
@NotNull
(
message
=
"支付编号不能为空!"
)
String
code
){
DragonPayOrderQueryRespDto
respDto
=
new
DragonPayOrderQueryRespDto
();
respDto
.
setCode
(
code
);
respDto
.
setOrderCode
(
""
);
respDto
.
setStatus
(
DragonConstant
.
PayStatusEnum
.
STATUS_PAID
.
getCode
());
DragonPayOrderQueryRespDto
respDto
=
dragonOrdersService
.
checkOrderStatusByCode
(
code
);
return
ResponseDto
.
success
(
respDto
);
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/service/impl/DragonOrdersServiceImpl.java
View file @
00a50615
package
com
.
liquidnet
.
service
.
dragon
.
service
.
impl
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.dragon.channel.strategy.PayChannelStrategyContext
;
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.constant.DragonErrorCodeEnum
;
import
com.liquidnet.service.dragon.dto.DragonOrdersDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
com.liquidnet.service.dragon.dto.DragonPayOrderQueryRespDto
;
import
com.liquidnet.service.dragon.service.IDragonOrdersService
;
import
com.liquidnet.service.dragon.utils.DataUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
...
...
@@ -26,6 +32,9 @@ public class DragonOrdersServiceImpl implements IDragonOrdersService {
@Autowired
private
PayChannelStrategyContext
payChannelStrategyContext
;
@Autowired
private
DataUtils
dataUtils
;
@Override
public
void
sendRedisQueue
()
{
try
{
...
...
@@ -52,7 +61,11 @@ public class DragonOrdersServiceImpl implements IDragonOrdersService {
@Override
public
DragonPayOrderQueryRespDto
checkOrderStatusByCode
(
String
code
)
{
return
null
;
DragonOrdersDto
ordersDto
=
dataUtils
.
getPayOrderByCode
(
code
);
if
(
StringUtil
.
isEmpty
(
ordersDto
)){
throw
new
LiquidnetServiceException
(
DragonErrorCodeEnum
.
TRADE_ERROR_NOT_EXISTS
.
getCode
(),
DragonErrorCodeEnum
.
TRADE_ERROR_NOT_EXISTS
.
getMessage
());
}
return
payChannelStrategyContext
.
getStrategy
(
DragonConstant
.
PayTypeEnum
.
getEnumByCode
(
ordersDto
.
getPaymentType
()).
getPayType
()).
checkOrderStatus
(
code
);
}
@Override
...
...
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