记得上下班打卡 | 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
6f464d87
Commit
6f464d87
authored
Jul 13, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
a8339e23
ed91cd53
Changes
34
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
584 additions
and
185 deletions
+584
-185
DragonConstant.java
...com/liquidnet/service/dragon/constant/DragonConstant.java
+3
-0
DragonPayNotifyReqDto.java
...m/liquidnet/service/dragon/dto/DragonPayNotifyReqDto.java
+35
-0
NotifyUrlDto.java
...n/java/com/liquidnet/service/dragon/dto/NotifyUrlDto.java
+25
-0
IDragonOrderRefundsService.java
...et/service/dragon/service/IDragonOrderRefundsService.java
+4
-3
IDragonOrdersService.java
...iquidnet/service/dragon/service/IDragonOrdersService.java
+3
-2
MQConst.java
...c/main/java/com/liquidnet/common/mq/constant/MQConst.java
+2
-2
SmsEnum.java
.../main/java/com/liquidnet/common/sms/constant/SmsEnum.java
+28
-4
SmsProcessor.java
...java/com/liquidnet/common/sms/processor/SmsProcessor.java
+20
-26
liquidnet-service-dragon-dev.yml
...-config/liquidnet-config/liquidnet-service-dragon-dev.yml
+1
-2
AdamLoginController.java
...iquidnet/service/adam/controller/AdamLoginController.java
+15
-11
ConsumerAdamSmsProcessor.java
...umer/adam/service/processor/ConsumerAdamSmsProcessor.java
+12
-12
ConsumerKylinSmsProcessor.java
...er/kylin/service/processor/ConsumerKylinSmsProcessor.java
+12
-12
AlipayStrategyAppImpl.java
...n/channel/alipay/strategy/impl/AlipayStrategyAppImpl.java
+3
-3
AlipayStrategyWapImpl.java
...n/channel/alipay/strategy/impl/AlipayStrategyWapImpl.java
+2
-2
AlipayUtil.java
...uidnet/service/dragon/channel/alipay/util/AlipayUtil.java
+18
-3
IPayChannelStrategy.java
.../service/dragon/channel/strategy/IPayChannelStrategy.java
+4
-0
PayChannelStrategyAlipayImpl.java
...n/channel/strategy/impl/PayChannelStrategyAlipayImpl.java
+23
-6
PayChannelStrategyApplepayImpl.java
...channel/strategy/impl/PayChannelStrategyApplepayImpl.java
+14
-8
PayChannelStrategyWepayImpl.java
...on/channel/strategy/impl/PayChannelStrategyWepayImpl.java
+32
-6
WePayRefundReturnCallBackDto.java
...agon/channel/wepay/resp/WePayRefundReturnCallBackDto.java
+21
-0
WePayRefundReturnCallBackInfoDto.java
.../channel/wepay/resp/WePayRefundReturnCallBackInfoDto.java
+35
-0
AbstractWepayStrategy.java
...on/channel/wepay/strategy/impl/AbstractWepayStrategy.java
+7
-2
WepayStrategyAppImpl.java
...gon/channel/wepay/strategy/impl/WepayStrategyAppImpl.java
+9
-0
WepayStrategyAppletImpl.java
.../channel/wepay/strategy/impl/WepayStrategyAppletImpl.java
+9
-0
WepayStrategyJsImpl.java
...agon/channel/wepay/strategy/impl/WepayStrategyJsImpl.java
+9
-0
WepayStrategyWapImpl.java
...gon/channel/wepay/strategy/impl/WepayStrategyWapImpl.java
+9
-0
PayNotifyController.java
...uidnet/service/dragon/controller/PayNotifyController.java
+11
-23
RefundController.java
...liquidnet/service/dragon/controller/RefundController.java
+14
-15
DragonOrderRefundsServiceImpl.java
...ce/dragon/service/impl/DragonOrderRefundsServiceImpl.java
+140
-27
DragonOrdersServiceImpl.java
.../service/dragon/service/impl/DragonOrdersServiceImpl.java
+6
-0
PayWepayUtils.java
...ava/com/liquidnet/service/dragon/utils/PayWepayUtils.java
+24
-0
sqlmap.properties
...-service-dragon-impl/src/main/resources/sqlmap.properties
+4
-2
pom.xml
...uidnet-service-order/liquidnet-service-order-impl/pom.xml
+5
-0
KylinOrderTicketsServiceImpl.java
...vice/order/service/impl/KylinOrderTicketsServiceImpl.java
+25
-14
No files found.
liquidnet-bus-api/liquidnet-service-dragon-api/src/main/java/com/liquidnet/service/dragon/constant/DragonConstant.java
View file @
6f464d87
...
...
@@ -15,6 +15,9 @@ public class DragonConstant {
public
static
final
String
REFUND_TYPE_JS_WEPAY
=
"JSWEPAY"
;
//,"微信内网页、微信公众号"),
public
static
final
String
REFUND_TYPE_APPLET_WEPAY
=
"APPLETWEPAY"
;
//,"微信小程序");
public
static
final
String
REFUND_REDIS_KET
=
"dragon:refund:refundCode:"
;
// 订单号对应回调地址
public
enum
PayChannelEnum
{
ALIPAY
(
"alipay"
,
"支付宝"
),
WEPAY
(
"wepay"
,
"微信"
),
...
...
liquidnet-bus-api/liquidnet-service-dragon-api/src/main/java/com/liquidnet/service/dragon/dto/DragonPayNotifyReqDto.java
0 → 100644
View file @
6f464d87
package
com
.
liquidnet
.
service
.
dragon
.
dto
;
import
lombok.Data
;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: DragonPayNotifyReqDto
* @Package com.liquidnet.service.dragon.dto
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/13 12:26
*/
@Data
public
class
DragonPayNotifyReqDto
{
//notify_id
private
String
notify_type
;
//notify_id
private
String
notify_id
;
private
String
notify_time
;
private
String
sign_type
;
private
String
sign
;
private
String
charge_amount
;
private
String
charge_flags
;
private
String
settlement_id
;
private
String
notify_action_type
;
private
String
current_seller_received_amount
;
private
String
seller_received_total_amount
;
private
String
total_from_seller_fee
;
private
String
ff_current_period
;
private
String
mdiscount_amount
;
private
String
discount_amount
;
private
String
hb_fq_pay_info
;
private
String
receipt_currency_type
;
}
liquidnet-bus-api/liquidnet-service-dragon-api/src/main/java/com/liquidnet/service/dragon/dto/NotifyUrlDto.java
0 → 100644
View file @
6f464d87
package
com
.
liquidnet
.
service
.
dragon
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
NotifyUrlDto
implements
Serializable
{
private
Integer
status
;
// private String orderCode;
// private String code;
// private String type;
// private String price;
// private String paymentType;
// private String paymentAt;
// private String paymentId;
private
String
orderRefundCode
;
private
String
refundCode
;
private
String
refundPrice
;
// private String refundReason;
// private String refundType;
private
String
refundId
;
private
String
refundAt
;
private
String
refundError
;
}
liquidnet-bus-api/liquidnet-service-dragon-api/src/main/java/com/liquidnet/service/dragon/service/IDragonOrderRefundsService.java
View file @
6f464d87
...
...
@@ -3,12 +3,12 @@ package com.liquidnet.service.dragon.service;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.dragon.dto.DragonRefundAppDto
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.math.BigDecimal
;
public
interface
IDragonOrderRefundsService
{
void
sendRedisQueue
();
/**
*
* @param tradeNo => refundCode
...
...
@@ -20,7 +20,8 @@ public interface IDragonOrderRefundsService {
*/
ResponseDto
<
DragonRefundAppDto
>
dragonRefund
(
String
orderCode
,
String
tradeNo
,
String
outTradeNo
,
String
reason
,
String
returnUrl
,
BigDecimal
price
,
String
paymentType
,
String
paymentId
,
BigDecimal
priceTotal
);
ResponseDto
<
DragonRefundAppDto
>
wePayRefundCallBack
();
String
wePayRefundCallBack
(
HttpServletRequest
request
,
HttpServletResponse
response
);
}
liquidnet-bus-api/liquidnet-service-dragon-api/src/main/java/com/liquidnet/service/dragon/service/IDragonOrdersService.java
View file @
6f464d87
...
...
@@ -3,12 +3,13 @@ package com.liquidnet.service.dragon.service;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
com.liquidnet.service.dragon.dto.DragonRefundAppDto
;
import
java
.math.BigDecimal
;
import
java
x.servlet.http.HttpServletRequest
;
public
interface
IDragonOrdersService
{
void
sendRedisQueue
();
ResponseDto
<
DragonPayBaseRespDto
>
dragonPay
(
DragonPayBaseReqDto
dragonPayBaseReqDto
);
void
dragonNotify
(
HttpServletRequest
request
,
String
payType
,
String
deviceFrom
);
}
liquidnet-bus-common/liquidnet-common-mq/src/main/java/com/liquidnet/common/mq/constant/MQConst.java
View file @
6f464d87
...
...
@@ -10,8 +10,8 @@ public class MQConst {
public
static
final
String
EX_LNS_SMS_SENDER
=
"lns.sms.sender"
;
// 验证码
public
static
final
String
RK_SMS_CODE
=
"sms.code"
;
public
static
final
String
QUEUES_SMS_CODE
=
"queue.sms.code"
;
//
public static final String RK_SMS_CODE = "sms.code";
//
public static final String QUEUES_SMS_CODE = "queue.sms.code";
// 通知
public
static
final
String
RK_SMS_NOTICE
=
"sms.notice"
;
public
static
final
String
QUEUES_SMS_NOTICE
=
"queue.sms.notice"
;
...
...
liquidnet-bus-common/liquidnet-common-sms/src/main/java/com/liquidnet/common/sms/constant/SmsEnum.java
View file @
6f464d87
...
...
@@ -6,7 +6,21 @@ public class SmsEnum {
* 短信签名
*/
public
enum
ADSignName
{
摩登天空
,
正在现场
,
新血计划
,
摩登小家伙
,
五百里
Live
;
M01
(
"摩登天空"
),
M02
(
"正在现场"
),
M03
(
"新血计划"
),
M04
(
"摩登小家伙"
),
M05
(
"五百里Live"
)
;
private
final
String
val
;
ADSignName
(
String
val
)
{
this
.
val
=
val
;
}
public
String
getVal
()
{
return
val
;
}
}
/**
...
...
@@ -21,10 +35,20 @@ public class SmsEnum {
*/
SMS_109535335
,
/**
* 短信通知:票务 - 用户购票成功后短信通知
* - 尊敬的${userName},您已成功购买${aName},演出时间${time},地点${siteName},此短信不作为入场凭证。您可以登录“正在现场”app查询您的订单及入场方式。也可点此http://ticket.zhengzai.tv${url}
* 短信通知:快递票购票成功通知
* - 您已成功购买${name}门票。可至个人中心查看订单,个人中心地址:http://t.cn/ExMlr1B。演出${time}开始。请注意查收快递并保管门票,现场持票入场。咨询电话:4001680650。
*/
SMS_181490473
,
/**
* 购票成功通知短信
* - 您已成功购买${name}门票。可至个人中心查看订单(http://t.cn/ExMlr1B)。演出${time}开始。咨询电话:4001680650。
*/
SMS_171358560
,
/**
* 身份证电子票购票成功通知
* - 您已成功购买${name}门票。可至个人中心查看订单,个人中心地址:http://t.cn/ExMlr1B。演出${time}开始。请持购票人身份证到现场取票。咨询电话:4001680650。
*/
SMS_1
07075073
,
SMS_1
81500419
,
;
}
}
liquidnet-bus-common/liquidnet-common-sms/src/main/java/com/liquidnet/common/sms/processor/SmsProcessor.java
View file @
6f464d87
...
...
@@ -30,6 +30,8 @@ public class SmsProcessor {
aliyunDysmsAcsClient
=
new
Client
(
config
);
}
/* ================================================================== | aliyun dysms */
/**
* AliyunDysms.send
* - link: https://help.aliyun.com/document_detail/101414.htm?spm=a2c4g.11186623.2.8.302f56958lnARh#t83759.html
...
...
@@ -38,30 +40,15 @@ public class SmsProcessor {
* @param signName 短信签名名称
* @param templateCode 短信模板ID
* @param templateParam 短信模板变量对应的实际值,JSON格式(建议使用com.liquidnet.commons.lang.util.JsonUtils.OM().createObjectNode())
* @return
boolean
* @return
SendSmsResponse
*/
p
ublic
boolean
aliyunDysmsSend
(
String
phoneNumber
,
String
signName
,
String
templateCode
,
String
templateParam
)
{
p
rivate
SendSmsResponse
aliyunDysmsSend
(
String
phoneNumber
,
String
signName
,
String
templateCode
,
String
templateParam
)
throws
Exception
{
SendSmsRequest
smsRequest
=
new
SendSmsRequest
()
.
setPhoneNumbers
(
phoneNumber
)
.
setSignName
(
signName
)
.
setTemplateCode
(
templateCode
)
.
setTemplateParam
(
templateParam
);
try
{
SendSmsResponse
smsResponse
=
aliyunDysmsAcsClient
.
sendSms
(
smsRequest
);
SendSmsResponseBody
smsResponseBody
=
smsResponse
.
getBody
();
boolean
isSucc
=
null
!=
smsResponseBody
&&
"OK"
.
equalsIgnoreCase
(
smsResponseBody
.
getCode
());
if
(!
isSucc
)
{
log
.
warn
(
"###短信服务发送失败[{}]"
,
JsonUtils
.
toJson
(
smsResponse
));
}
return
isSucc
;
}
catch
(
Exception
e
)
{
log
.
error
(
"API处理异常"
,
e
);
}
return
false
;
return
aliyunDysmsAcsClient
.
sendSms
(
smsRequest
);
}
/**
...
...
@@ -73,30 +60,37 @@ public class SmsProcessor {
* @param signNameJson 短信签名名称,JSON数组格式(建议使用com.liquidnet.commons.lang.util.JsonUtils.OM().createArrayNode())
* @param templateCode 短信模板CODE
* @param templateParamJson 短信模板变量对应的实际值,JSON格式(建议使用com.liquidnet.commons.lang.util.JsonUtils.OM().createObjectNode())
* @return
boolean
* @return
SendBatchSmsResponse
*/
p
ublic
boolean
aliyunDysmsSendBatch
(
String
phoneNumberJson
,
String
signNameJson
,
String
templateCode
,
String
templateParamJson
)
{
p
rivate
SendBatchSmsResponse
aliyunDysmsSendBatch
(
String
phoneNumberJson
,
String
signNameJson
,
String
templateCode
,
String
templateParamJson
)
throws
Exception
{
SendBatchSmsRequest
batchSmsRequest
=
new
SendBatchSmsRequest
()
.
setPhoneNumberJson
(
phoneNumberJson
)
.
setSignNameJson
(
signNameJson
)
.
setTemplateCode
(
templateCode
)
.
setTemplateParamJson
(
templateParamJson
);
return
aliyunDysmsAcsClient
.
sendBatchSms
(
batchSmsRequest
);
}
/* ================================================================== | sender */
public
boolean
send
(
String
phoneNumber
,
String
signName
,
String
templateCode
,
String
templateParam
)
{
try
{
SendBatchSmsResponse
batchSmsResponse
=
aliyunDysmsAcsClient
.
sendBatchSms
(
batchSmsRequest
);
log
.
info
(
JsonUtils
.
toJson
(
batchSmsResponse
));
SendSmsResponse
smsResponse
=
this
.
aliyunDysmsSend
(
phoneNumber
,
signName
,
templateCode
,
templateParam
);
Send
BatchSmsResponseBody
batchSmsResponseBody
=
batchS
msResponse
.
getBody
();
Send
SmsResponseBody
smsResponseBody
=
s
msResponse
.
getBody
();
boolean
isSucc
=
null
!=
batchSmsResponseBody
&&
"OK"
.
equalsIgnoreCase
(
batchS
msResponseBody
.
getCode
());
boolean
isSucc
=
null
!=
smsResponseBody
&&
"OK"
.
equalsIgnoreCase
(
s
msResponseBody
.
getCode
());
if
(!
isSucc
)
{
log
.
warn
(
"###
短信服务发送失败[{}]"
,
JsonUtils
.
toJson
(
batchS
msResponse
));
log
.
warn
(
"###
发送短信API处理失败[{}]"
,
JsonUtils
.
toJson
(
s
msResponse
));
}
return
isSucc
;
}
catch
(
Exception
e
)
{
log
.
error
(
"API处理异常"
,
e
);
log
.
error
(
"
发送短信
API处理异常"
,
e
);
}
return
false
;
}
/* ================================================================== | */
}
liquidnet-bus-config/liquidnet-config/liquidnet-service-dragon-dev.yml
View file @
6f464d87
...
...
@@ -23,12 +23,11 @@ liquidnet:
sslEnabled
:
false
database
:
dev_ln_scene
dragon
:
url
:
https://devdragon.zhengzai.tv/dragon
alipay
:
gataway-url
:
https://openapi.alipay.com/gateway.do
notify-url
:
https://testdragon.zhengzai.tv/dragon/notify/alipay
wepay
:
gataway-url
:
https://openapi.alipay.com/gateway.do
notify-url
:
https://testdragon.zhengzai.tv/dragon/notify/wepay
merchantId
:
1551961491
appId
:
wx3498304dda39c5a1
parentKey
:
itIuO65O9yKmemOu3S8g1S4orqvCGwXK
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamLoginController.java
View file @
6f464d87
...
...
@@ -5,13 +5,11 @@ import com.aliyuncs.dypnsapi.model.v20170525.GetMobileRequest;
import
com.aliyuncs.dypnsapi.model.v20170525.GetMobileResponse
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.node.ArrayNode
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.common.sms.processor.SmsProcessor
;
import
com.liquidnet.commons.lang.constant.LnsEnum
;
...
...
@@ -25,7 +23,6 @@ import com.liquidnet.service.adam.service.AdamRdmService;
import
com.liquidnet.service.adam.service.IAdamUserService
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SmsMessage
;
import
com.liquidnet.service.base.UserPathDto
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
...
...
@@ -76,8 +73,8 @@ public class AdamLoginController {
IAdamUserService
adamUserService
;
@Autowired
RabbitTemplate
rabbitTemplate
;
//
@Autowired
//
SmsProcessor smsProcessor;
@Autowired
SmsProcessor
smsProcessor
;
@Value
(
"${liquidnet.reviewer.app-login.mobile}"
)
private
String
reviewMobile
;
...
...
@@ -170,12 +167,19 @@ public class AdamLoginController {
// }
String
smsCode
=
RandomStringUtils
.
randomNumeric
(
6
);
SmsMessage
smsMessage
=
SmsMessage
.
builder
().
setPhone
(
mobile
).
setSignName
(
SmsEnum
.
ADSignName
.
正在现场
.
name
())
.
setTemplateCode
(
SmsEnum
.
ADTemplate
.
SMS_109535335
.
name
())
.
setTemplateParam
(
"code"
,
smsCode
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EX_LNS_SMS_SENDER
,
MQConst
.
RK_SMS_CODE
,
smsMessage
.
toJson
());
// SmsMessage smsMessage = SmsMessage.builder().setPhone(mobile).setSignName(SmsEnum.ADSignName.正在现场.name())
// .setTemplateCode(SmsEnum.ADTemplate.SMS_109535335.name())
// .setTemplateParam("code", smsCode);
// rabbitTemplate.convertAndSend(MQConst.EX_LNS_SMS_SENDER, MQConst.RK_SMS_CODE, smsMessage.toJson());
ObjectNode
msgNode
=
JsonUtils
.
OM
().
createObjectNode
();
msgNode
.
put
(
"code"
,
smsCode
);
boolean
sendRst
=
smsProcessor
.
send
(
mobile
,
SmsEnum
.
ADSignName
.
M02
.
getVal
(),
SmsEnum
.
ADTemplate
.
SMS_109535335
.
name
(),
msgNode
.
asText
());
if
(
sendRst
)
{
adamRdmService
.
setSmsCodeByMobile
(
mobile
,
smsCode
);
return
ResponseDto
.
success
();
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10002"
));
}
else
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10000"
));
}
...
...
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/adam/service/processor/ConsumerAdamSmsProcessor.java
View file @
6f464d87
...
...
@@ -38,7 +38,7 @@ public class ConsumerAdamSmsProcessor {
log
.
debug
(
"CONSUMER SMS ==> Preparing:{}"
,
msgBody
);
try
{
SmsMessage
smsMessage
=
JsonUtils
.
fromJson
(
msgBody
,
SmsMessage
.
class
);
boolean
result
=
smsProcessor
.
aliyunDysmsS
end
(
smsMessage
.
getPhone
(),
smsMessage
.
getSignName
(),
smsMessage
.
getTemplateCode
(),
smsMessage
.
getTemplateParam
().
toString
());
boolean
result
=
smsProcessor
.
s
end
(
smsMessage
.
getPhone
(),
smsMessage
.
getSignName
(),
smsMessage
.
getTemplateCode
(),
smsMessage
.
getTemplateParam
().
toString
());
log
.
debug
(
"CONSUMER SMS result of execution:{}"
,
result
);
if
(
result
)
{
channel
.
basicAck
(
deliveryTag
,
false
);
...
...
@@ -53,17 +53,17 @@ public class ConsumerAdamSmsProcessor {
/* ================================================================== | 短信验证码 */
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SMS_SENDER
),
key
=
MQConst
.
RK_SMS_CODE
,
value
=
@Queue
(
MQConst
.
QUEUES_SMS_CODE
)
),
concurrency
=
"25"
)
public
void
consumerSqlForSmsCode
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSmsSendHandler
(
msg
,
channel
);
}
//
@RabbitListener(
//
bindings = @QueueBinding(
//
exchange = @Exchange(MQConst.EX_LNS_SMS_SENDER),
//
key = MQConst.RK_SMS_CODE,
//
value = @Queue(MQConst.QUEUES_SMS_CODE)
//
),
//
concurrency = "25"
//
)
//
public void consumerSqlForSmsCode(Message msg, Channel channel) {
//
this.consumerSmsSendHandler(msg, channel);
//
}
/* ================================================================== | 短信通知 */
...
...
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-kylin/src/main/java/com/liquidnet/service/consumer/kylin/service/processor/ConsumerKylinSmsProcessor.java
View file @
6f464d87
...
...
@@ -38,7 +38,7 @@ public class ConsumerKylinSmsProcessor {
log
.
debug
(
"CONSUMER SMS ==> Preparing:{}"
,
msgBody
);
try
{
SmsMessage
smsMessage
=
JsonUtils
.
fromJson
(
msgBody
,
SmsMessage
.
class
);
boolean
result
=
smsProcessor
.
aliyunDysmsS
end
(
smsMessage
.
getPhone
(),
smsMessage
.
getSignName
(),
smsMessage
.
getTemplateCode
(),
smsMessage
.
getTemplateParam
().
toString
());
boolean
result
=
smsProcessor
.
s
end
(
smsMessage
.
getPhone
(),
smsMessage
.
getSignName
(),
smsMessage
.
getTemplateCode
(),
smsMessage
.
getTemplateParam
().
toString
());
log
.
debug
(
"CONSUMER SMS result of execution:{}"
,
result
);
if
(
result
)
{
channel
.
basicAck
(
deliveryTag
,
false
);
...
...
@@ -53,17 +53,17 @@ public class ConsumerKylinSmsProcessor {
/* ================================================================== | 短信验证码 */
@RabbitListener
(
bindings
=
@QueueBinding
(
exchange
=
@Exchange
(
MQConst
.
EX_LNS_SMS_SENDER
),
key
=
MQConst
.
RK_SMS_CODE
,
value
=
@Queue
(
MQConst
.
QUEUES_SMS_CODE
)
),
concurrency
=
"25"
)
public
void
consumerSqlForSmsCode
(
Message
msg
,
Channel
channel
)
{
this
.
consumerSmsSendHandler
(
msg
,
channel
);
}
//
@RabbitListener(
//
bindings = @QueueBinding(
//
exchange = @Exchange(MQConst.EX_LNS_SMS_SENDER),
//
key = MQConst.RK_SMS_CODE,
//
value = @Queue(MQConst.QUEUES_SMS_CODE)
//
),
//
concurrency = "25"
//
)
//
public void consumerSqlForSmsCode(Message msg, Channel channel) {
//
this.consumerSmsSendHandler(msg, channel);
//
}
/* ================================================================== | 短信通知 */
...
...
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/alipay/strategy/impl/AlipayStrategyAppImpl.java
View file @
6f464d87
...
...
@@ -29,7 +29,7 @@ public class AlipayStrategyAppImpl extends AbstractAlipayStrategy {
@Value
(
"${liquidnet.dragon.alipay.gataway-url}"
)
private
String
alipayGatewayUrl
;
@Value
(
"${liquidnet.dragon.
alipay.notify-
url}"
)
@Value
(
"${liquidnet.dragon.url}"
)
private
String
notifyUrl
;
@Autowired
...
...
@@ -47,7 +47,7 @@ public class AlipayStrategyAppImpl extends AbstractAlipayStrategy {
@Override
protected
String
getNotifyUrl
()
{
// notifyUrl = "/notify/app/alipay/1";
return
notifyUrl
+
"/app"
;
return
notifyUrl
+
"/
notify/alipay/
app"
;
}
@Override
...
...
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/alipay/strategy/impl/AlipayStrategyWapImpl.java
View file @
6f464d87
...
...
@@ -29,7 +29,7 @@ public class AlipayStrategyWapImpl extends AbstractAlipayStrategy {
@Value
(
"${liquidnet.dragon.alipay.gataway-url}"
)
private
String
alipayGatewayUrl
;
@Value
(
"${liquidnet.dragon.
alipay.notify-
url}"
)
@Value
(
"${liquidnet.dragon.url}"
)
private
String
notifyUrl
;
@Autowired
...
...
@@ -47,7 +47,7 @@ public class AlipayStrategyWapImpl extends AbstractAlipayStrategy {
@Override
protected
String
getNotifyUrl
()
{
// notifyUrl = "/notify/wap/alipay/1";
return
notifyUrl
+
"/wap"
;
return
notifyUrl
+
"/
notify/alipay/
wap"
;
}
@Override
...
...
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/alipay/util/AlipayUtil.java
View file @
6f464d87
...
...
@@ -27,9 +27,7 @@ import com.liquidnet.service.dragon.channel.alipay.sign.MD5;
import
com.liquidnet.service.dragon.utils.PayAlipayUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.Map
;
import
java.util.SortedMap
;
import
java.util.TreeMap
;
import
java.util.*
;
@Slf4j
public
class
AlipayUtil
{
...
...
@@ -150,5 +148,22 @@ public class AlipayUtil {
}
return
MD5
.
sign
(
signBuilder
.
substring
(
0
,
signBuilder
.
length
()
-
1
),
key
,
"UTF-8"
);
}
public
static
Map
<
String
,
String
>
parseNotifyMsg
(
Map
<
String
,
String
[]>
requestParams
){
Map
<
String
,
String
>
params
=
new
HashMap
<
String
,
String
>();
for
(
Iterator
iter
=
requestParams
.
keySet
().
iterator
();
iter
.
hasNext
();)
{
String
name
=
(
String
)
iter
.
next
();
String
[]
values
=
requestParams
.
get
(
name
);
String
valueStr
=
""
;
for
(
int
i
=
0
;
i
<
values
.
length
;
i
++)
{
valueStr
=
(
i
==
values
.
length
-
1
)
?
valueStr
+
values
[
i
]
:
valueStr
+
values
[
i
]
+
","
;
}
params
.
put
(
name
,
valueStr
);
}
return
params
;
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/strategy/IPayChannelStrategy.java
View file @
6f464d87
...
...
@@ -4,6 +4,8 @@ import com.liquidnet.service.base.ResponseDto;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
...
...
@@ -16,4 +18,6 @@ import com.liquidnet.service.dragon.dto.DragonPayBaseRespDto;
*/
public
interface
IPayChannelStrategy
{
ResponseDto
<
DragonPayBaseRespDto
>
dragonPay
(
DragonPayBaseReqDto
dragonPayBaseReqDto
);
void
dragonNotify
(
HttpServletRequest
request
,
String
payType
,
String
deviceFrom
);
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/strategy/impl/PayChannelStrategyAlipayImpl.java
View file @
6f464d87
package
com
.
liquidnet
.
service
.
dragon
.
channel
.
strategy
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.dragon.channel.alipay.strategy.AlipayStrategyContext
;
import
com.liquidnet.service.dragon.channel.alipay.util.AlipayUtil
;
import
com.liquidnet.service.dragon.channel.strategy.IPayChannelStrategy
;
import
com.liquidnet.service.dragon.channel.strategy.annotation.StrategyPayChannelHandler
;
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author AnJiabin <
jiabin.an@lightnet.io
>
* @author AnJiabin <
anjiabin@zhengzai.tv
>
* @version V1.0
* @Description:
currencyCloud
* @class:
CurrencyCloudGetFundDataStrateg
yImpl
* @Package com.liquidnet.service.
reconciliation.strategy.transtype
.impl
* @Copyright: LightNet @ Copyright (c) 202
0
* @date 202
0/10/27 14:58
* @Description:
TODO
* @class:
PayChannelStrategyAlipa
yImpl
* @Package com.liquidnet.service.
dragon.channel.strategy
.impl
* @Copyright: LightNet @ Copyright (c) 202
1
* @date 202
1/7/13 13:06
*/
@Slf4j
@Component
@StrategyPayChannelHandler
(
DragonConstant
.
PayChannelEnum
.
ALIPAY
)
public
class
PayChannelStrategyAlipayImpl
implements
IPayChannelStrategy
{
...
...
@@ -29,4 +37,13 @@ public class PayChannelStrategyAlipayImpl implements IPayChannelStrategy {
public
ResponseDto
<
DragonPayBaseRespDto
>
dragonPay
(
DragonPayBaseReqDto
dragonPayBaseReqDto
)
{
return
alipayStrategyContext
.
getStrategy
(
dragonPayBaseReqDto
.
getDeviceFrom
()).
dragonPay
(
dragonPayBaseReqDto
);
}
@Override
public
void
dragonNotify
(
HttpServletRequest
request
,
String
payType
,
String
deviceFrom
)
{
Map
<
String
,
String
[]>
requestParams
=
request
.
getParameterMap
();
Map
<
String
,
String
>
notifyMap
=
new
HashMap
<
String
,
String
>();
notifyMap
=
AlipayUtil
.
parseNotifyMsg
(
requestParams
);
log
.
info
(
"dragonNotify-->alipay json : {}"
,
JSON
.
toJSONString
(
notifyMap
));
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/strategy/impl/PayChannelStrategyApplepayImpl.java
View file @
6f464d87
...
...
@@ -6,20 +6,21 @@ import com.liquidnet.service.dragon.channel.strategy.annotation.StrategyPayChann
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author AnJiabin <
jiabin.an@lightnet.io
>
* @author AnJiabin <
anjiabin@zhengzai.tv
>
* @version V1.0
* @Description:
liquidnet-wallet
* @class:
LiquidnetWalletGetFundDataStrateg
yImpl
* @Package com.liquidnet.service.
reconciliation.strategy.transtype
.impl
* @Copyright: LightNet @ Copyright (c) 202
0
* @date 202
0/10/27 14:58
* @Description:
TODO
* @class:
PayChannelStrategyApplepa
yImpl
* @Package com.liquidnet.service.
dragon.channel.strategy
.impl
* @Copyright: LightNet @ Copyright (c) 202
1
* @date 202
1/7/13 13:06
*/
@Slf4j
@Component
@StrategyPayChannelHandler
(
DragonConstant
.
PayChannelEnum
.
APPLEPAY
)
public
class
PayChannelStrategyApplepayImpl
implements
IPayChannelStrategy
{
...
...
@@ -28,4 +29,9 @@ public class PayChannelStrategyApplepayImpl implements IPayChannelStrategy {
public
ResponseDto
<
DragonPayBaseRespDto
>
dragonPay
(
DragonPayBaseReqDto
dragonPayBaseReqDto
)
{
return
null
;
}
@Override
public
void
dragonNotify
(
HttpServletRequest
request
,
String
payType
,
String
deviceFrom
)
{
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/strategy/impl/PayChannelStrategyWepayImpl.java
View file @
6f464d87
package
com
.
liquidnet
.
service
.
dragon
.
channel
.
strategy
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.dragon.channel.strategy.IPayChannelStrategy
;
import
com.liquidnet.service.dragon.channel.strategy.annotation.StrategyPayChannelHandler
;
import
com.liquidnet.service.dragon.channel.wepay.strategy.WepayStrategyContext
;
import
com.liquidnet.service.dragon.channel.wepay.util.WepayUtil
;
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseReqDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author AnJiabin <
jiabin.an@lightnet.io
>
* @author AnJiabin <
anjiabin@zhengzai.tv
>
* @version V1.0
* @Description:
liquidnet-wallet
* @class:
LiquidnetWalletGetFundDataStrateg
yImpl
* @Package com.liquidnet.service.
reconciliation.strategy.transtype
.impl
* @Copyright: LightNet @ Copyright (c) 202
0
* @date 202
0/10/27 14:58
* @Description:
TODO
* @class:
PayChannelStrategyWepa
yImpl
* @Package com.liquidnet.service.
dragon.channel.strategy
.impl
* @Copyright: LightNet @ Copyright (c) 202
1
* @date 202
1/7/13 13:06
*/
@Slf4j
@Component
@StrategyPayChannelHandler
(
DragonConstant
.
PayChannelEnum
.
WEPAY
)
public
class
PayChannelStrategyWepayImpl
implements
IPayChannelStrategy
{
...
...
@@ -29,4 +39,20 @@ public class PayChannelStrategyWepayImpl implements IPayChannelStrategy {
public
ResponseDto
<
DragonPayBaseRespDto
>
dragonPay
(
DragonPayBaseReqDto
dragonPayBaseReqDto
)
{
return
wepayStrategyContext
.
getStrategy
(
dragonPayBaseReqDto
.
getDeviceFrom
()).
dragonPay
(
dragonPayBaseReqDto
);
}
@Override
public
void
dragonNotify
(
HttpServletRequest
request
,
String
payType
,
String
deviceFrom
)
{
try
{
InputStream
inputStream
=
request
.
getInputStream
();
// 从request中取得输入流
Map
<
String
,
String
>
notifyMap
=
new
HashMap
<
String
,
String
>();
try
{
notifyMap
=
WepayUtil
.
parseXml
(
inputStream
);
log
.
info
(
"dragonNotify-->wepay json : {}"
,
JSON
.
toJSONString
(
notifyMap
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/wepay/resp/WePayRefundReturnCallBackDto.java
0 → 100644
View file @
6f464d87
package
com
.
liquidnet
.
service
.
dragon
.
channel
.
wepay
.
resp
;
import
com.thoughtworks.xstream.annotations.XStreamAlias
;
import
lombok.Data
;
@Data
@XStreamAlias
(
"xml"
)
public
class
WePayRefundReturnCallBackDto
{
@XStreamAlias
(
"return_code"
)
private
String
returnCode
;
@XStreamAlias
(
"return_msg"
)
private
String
returnMsg
;
@XStreamAlias
(
"appid"
)
private
String
appId
;
@XStreamAlias
(
"mch_id"
)
private
String
mchId
;
@XStreamAlias
(
"nonce_str"
)
private
String
nonceStr
;
@XStreamAlias
(
"req_info"
)
private
String
reqInfo
;
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/wepay/resp/WePayRefundReturnCallBackInfoDto.java
0 → 100644
View file @
6f464d87
package
com
.
liquidnet
.
service
.
dragon
.
channel
.
wepay
.
resp
;
import
com.thoughtworks.xstream.annotations.XStreamAlias
;
import
lombok.Data
;
@Data
@XStreamAlias
(
"xml"
)
public
class
WePayRefundReturnCallBackInfoDto
{
@XStreamAlias
(
"out_refund_no"
)
private
String
outRefundNo
;
@XStreamAlias
(
"out_trade_no"
)
private
String
outTradeNo
;
@XStreamAlias
(
"refund_account"
)
private
String
refundAccount
;
@XStreamAlias
(
"refund_fee"
)
private
String
refundFee
;
@XStreamAlias
(
"refund_id"
)
private
String
refundId
;
@XStreamAlias
(
"refund_recv_accout"
)
private
String
refundRecvAccout
;
@XStreamAlias
(
"refund_request_source"
)
private
String
refundRequestSource
;
@XStreamAlias
(
"refund_status"
)
private
String
refundStatus
;
@XStreamAlias
(
"settlement_refund_fee"
)
private
String
settlementRefundFee
;
@XStreamAlias
(
"settlement_total_fee"
)
private
String
settlementTotalFee
;
@XStreamAlias
(
"success_time"
)
private
String
successTime
;
@XStreamAlias
(
"total_fee"
)
private
String
totalFee
;
@XStreamAlias
(
"transaction_id"
)
private
String
transactionId
;
}
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 @
6f464d87
...
...
@@ -106,8 +106,8 @@ public abstract class AbstractWepayStrategy implements IWepayStrategy {
parameters
.
put
(
"body"
,
dragonPayBaseReqDto
.
getName
());
parameters
.
put
(
"detail"
,
dragonPayBaseReqDto
.
getDetail
());
parameters
.
put
(
"out_trade_no"
,
dragonPayBaseReqDto
.
getCode
());
parameters
.
put
(
"time_expire"
,
"20
2
10908103456"
);
parameters
.
put
(
"notify_url"
,
dragonPayBaseReqDto
.
getNotifyUrl
());
parameters
.
put
(
"time_expire"
,
"20
31
10908103456"
);
parameters
.
put
(
"notify_url"
,
this
.
getNotifyUrl
());
return
parameters
;
};
...
...
@@ -128,4 +128,9 @@ public abstract class AbstractWepayStrategy implements IWepayStrategy {
* @return
*/
protected
abstract
String
getRequestUrl
();
/**
* 设置notifyUrl
*/
protected
abstract
String
getNotifyUrl
();
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/wepay/strategy/impl/WepayStrategyAppImpl.java
View file @
6f464d87
...
...
@@ -5,6 +5,7 @@ import com.liquidnet.service.dragon.channel.wepay.strategy.annotation.StrategyWe
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.SortedMap
;
...
...
@@ -22,6 +23,9 @@ import java.util.SortedMap;
@Component
@StrategyWepayHandler
(
DragonConstant
.
DeviceFromEnum
.
APP
)
public
class
WepayStrategyAppImpl
extends
AbstractWepayStrategy
{
@Value
(
"${liquidnet.dragon.url}"
)
private
String
notifyUrl
;
@Override
SortedMap
<
String
,
Object
>
appendRequestParam
(
SortedMap
<
String
,
Object
>
requestMap
)
{
requestMap
.
put
(
"trade_type"
,
"APP"
);
...
...
@@ -38,4 +42,9 @@ public class WepayStrategyAppImpl extends AbstractWepayStrategy {
protected
String
getRequestUrl
()
{
return
"https://api.mch.weixin.qq.com/pay/unifiedorder"
;
}
@Override
protected
String
getNotifyUrl
()
{
return
notifyUrl
+
"/notify/wepay/app"
;
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/wepay/strategy/impl/WepayStrategyAppletImpl.java
View file @
6f464d87
...
...
@@ -5,6 +5,7 @@ import com.liquidnet.service.dragon.channel.wepay.strategy.annotation.StrategyWe
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.SortedMap
;
...
...
@@ -22,6 +23,9 @@ import java.util.SortedMap;
@Component
@StrategyWepayHandler
(
DragonConstant
.
DeviceFromEnum
.
APPLET
)
public
class
WepayStrategyAppletImpl
extends
AbstractWepayStrategy
{
@Value
(
"${liquidnet.dragon.url}"
)
private
String
notifyUrl
;
@Override
SortedMap
<
String
,
Object
>
appendRequestParam
(
SortedMap
<
String
,
Object
>
requestMap
)
{
requestMap
.
put
(
"trade_type"
,
"JSAPI"
);
...
...
@@ -39,4 +43,9 @@ public class WepayStrategyAppletImpl extends AbstractWepayStrategy{
protected
String
getRequestUrl
()
{
return
"https://api.mch.weixin.qq.com/pay/unifiedorder"
;
}
@Override
protected
String
getNotifyUrl
()
{
return
notifyUrl
+
"/notify/wepay/applet"
;
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/wepay/strategy/impl/WepayStrategyJsImpl.java
View file @
6f464d87
...
...
@@ -5,6 +5,7 @@ import com.liquidnet.service.dragon.channel.wepay.strategy.annotation.StrategyWe
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.SortedMap
;
...
...
@@ -22,6 +23,9 @@ import java.util.SortedMap;
@Component
@StrategyWepayHandler
(
DragonConstant
.
DeviceFromEnum
.
JS
)
public
class
WepayStrategyJsImpl
extends
AbstractWepayStrategy
{
@Value
(
"${liquidnet.dragon.url}"
)
private
String
notifyUrl
;
@Override
SortedMap
<
String
,
Object
>
appendRequestParam
(
SortedMap
<
String
,
Object
>
requestMap
)
{
requestMap
.
put
(
"trade_type"
,
"JSAPI"
);
...
...
@@ -39,4 +43,9 @@ public class WepayStrategyJsImpl extends AbstractWepayStrategy{
protected
String
getRequestUrl
()
{
return
"https://api.mch.weixin.qq.com/pay/unifiedorder"
;
}
@Override
protected
String
getNotifyUrl
()
{
return
notifyUrl
+
"/notify/wepay/js"
;
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/wepay/strategy/impl/WepayStrategyWapImpl.java
View file @
6f464d87
...
...
@@ -5,6 +5,7 @@ import com.liquidnet.service.dragon.channel.wepay.strategy.annotation.StrategyWe
import
com.liquidnet.service.dragon.constant.DragonConstant
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.SortedMap
;
...
...
@@ -22,6 +23,9 @@ import java.util.SortedMap;
@Component
@StrategyWepayHandler
(
DragonConstant
.
DeviceFromEnum
.
WAP
)
public
class
WepayStrategyWapImpl
extends
AbstractWepayStrategy
{
@Value
(
"${liquidnet.dragon.url}"
)
private
String
notifyUrl
;
@Override
SortedMap
<
String
,
Object
>
appendRequestParam
(
SortedMap
<
String
,
Object
>
requestMap
)
{
requestMap
.
put
(
"trade_type"
,
"MWEB"
);
...
...
@@ -38,4 +42,9 @@ public class WepayStrategyWapImpl extends AbstractWepayStrategy{
protected
String
getRequestUrl
()
{
return
"https://api.mch.weixin.qq.com/pay/unifiedorder"
;
}
@Override
protected
String
getNotifyUrl
()
{
return
notifyUrl
+
"/notify/wepay/wap"
;
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/controller/PayNotifyController.java
View file @
6f464d87
package
com
.
liquidnet
.
service
.
dragon
.
controller
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.dragon.dto.DragonPayBaseRespDto
;
import
com.liquidnet.service.dragon.service.IDragonOrdersService
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotNull
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
...
...
@@ -23,34 +24,21 @@ import javax.validation.constraints.NotNull;
* @date 2021/7/11 23:35
*/
@RestController
@RequestMapping
(
"
pa
y"
)
@RequestMapping
(
"
notif
y"
)
public
class
PayNotifyController
{
@Autowired
private
IDragonOrdersService
dragonOrdersService
;
/**
* 支付宝支付回调
* @return
*/
@PostMapping
(
"/
notify/alipay
"
)
@PostMapping
(
"/
{payType}/{deviceFrom}
"
)
@ApiOperation
(
"支付宝支付回调"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"payType"
,
value
=
"支付类型:alipay,wepay,iappay"
,
example
=
"alipay"
)
})
public
ResponseDto
<
DragonPayBaseRespDto
>
notifyAlipay
(
@RequestParam
(
value
=
"payType"
)
@NotNull
(
message
=
"支付类型不能为空"
)
String
payType
){
return
null
;
}
/**
* 微信支付回调
* @return
*/
@PostMapping
(
"/notify/wepay"
)
@ApiOperation
(
"支付宝支付回调"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"payType"
,
value
=
"支付类型:alipay,wepay,iappay"
,
example
=
"alipay"
)
})
public
ResponseDto
<
DragonPayBaseRespDto
>
notifyWepay
(
@RequestParam
(
value
=
"payType"
)
@NotNull
(
message
=
"支付类型不能为空"
)
String
payType
){
return
null
;
public
void
dragonNotify
(
@PathVariable
(
"payType"
)
String
payType
,
@PathVariable
(
"deviceFrom"
)
String
deviceFrom
,
HttpServletRequest
request
,
HttpServletResponse
respone
)
throws
Exception
{
dragonOrdersService
.
dragonNotify
(
request
,
payType
,
deviceFrom
);
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/controller/RefundController.java
View file @
6f464d87
...
...
@@ -3,14 +3,18 @@ package com.liquidnet.service.dragon.controller;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.dragon.dto.DragonRefundAppDto
;
import
com.liquidnet.service.dragon.service.IDragonOrderRefundsService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
@Api
(
tags
=
"退款"
)
@RestController
@RequestMapping
(
"refund"
)
public
class
RefundController
{
...
...
@@ -18,21 +22,6 @@ public class RefundController {
@Autowired
IDragonOrderRefundsService
orderRefundsService
;
@PostMapping
(
"preTest"
)
@ApiOperation
(
"微信退款"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
String
>
checkCanOrder
()
{
orderRefundsService
.
sendRedisQueue
();
return
ResponseDto
.
success
();
}
@PostMapping
(
"refundAliPay"
)
@ApiOperation
(
"支付宝退款"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
String
>
refundAliPay
()
{
return
ResponseDto
.
success
();
}
@PostMapping
(
"refundSingle"
)
@ApiOperation
(
"单条退款"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
...
...
@@ -47,4 +36,14 @@ public class RefundController {
@RequestParam
(
value
=
"paymentId"
)
@NotNull
(
message
=
"支付订单号不能为空"
)
String
paymentId
)
{
return
orderRefundsService
.
dragonRefund
(
orderCode
,
code
,
orderRefundCode
,
reason
,
returnUrl
,
price
,
paymentType
,
paymentId
,
priceTotal
);
}
@PostMapping
(
"callBack/wepay"
)
@ApiOperation
(
"微信退款回调"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
String
refundSingle
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
return
orderRefundsService
.
wePayRefundCallBack
(
request
,
response
);
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/service/impl/DragonOrderRefundsServiceImpl.java
View file @
6f464d87
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/service/impl/DragonOrdersServiceImpl.java
View file @
6f464d87
...
...
@@ -13,6 +13,7 @@ import org.springframework.data.redis.connection.stream.StreamRecords;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.HashMap
;
@Slf4j
...
...
@@ -42,4 +43,9 @@ public class DragonOrdersServiceImpl implements IDragonOrdersService {
dragonPayBaseReqDto
.
setCode
(
IDGenerator
.
payCode
());
return
payChannelStrategyContext
.
getStrategy
(
dragonPayBaseReqDto
.
getPayType
()).
dragonPay
(
dragonPayBaseReqDto
);
}
@Override
public
void
dragonNotify
(
HttpServletRequest
request
,
String
payType
,
String
deviceFrom
)
{
payChannelStrategyContext
.
getStrategy
(
payType
).
dragonNotify
(
request
,
payType
,
deviceFrom
);
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/utils/PayWepayUtils.java
View file @
6f464d87
...
...
@@ -7,12 +7,16 @@ import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.ssl.SSLContexts
;
import
org.bouncycastle.jce.provider.BouncyCastleProvider
;
import
org.dom4j.DocumentException
;
import
javax.crypto.Cipher
;
import
javax.crypto.spec.SecretKeySpec
;
import
javax.net.ssl.SSLContext
;
import
java.io.ByteArrayInputStream
;
import
java.io.InputStream
;
import
java.security.KeyStore
;
import
java.security.Security
;
import
java.util.*
;
public
class
PayWepayUtils
{
...
...
@@ -118,4 +122,24 @@ public class PayWepayUtils {
sb
.
append
(
"</xml>"
);
return
sb
.
toString
();
}
public
String
unCodeReqInfo
(
String
reqInfo
)
{
try
{
Cipher
cipher
;
String
key
=
MD5Utils
.
md5
(
parentKey
);
SecretKeySpec
secretKeySpec
=
new
SecretKeySpec
(
key
.
getBytes
(),
"AES"
);
Security
.
addProvider
(
new
BouncyCastleProvider
());
cipher
=
Cipher
.
getInstance
(
"AES/ECB/PKCS7Padding"
);
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
secretKeySpec
);
Base64
.
Decoder
decoder
=
Base64
.
getDecoder
();
byte
[]
base64ByteArr
=
decoder
.
decode
(
reqInfo
);
String
result
=
new
String
(
cipher
.
doFinal
(
base64ByteArr
));
return
result
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
""
;
}
}
}
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/resources/sqlmap.properties
View file @
6f464d87
# ------------------------创建退款订单----------------------------
dragon_order_refund.insert
=
INSERT INTO `dragon_order_refunds`(`order_refund_id`,`code` ,`order_refund_code` ,`price` ,`reason` ,`notify_url` ,`refund_type`,`created_at`,`updated_at`)VALUES(?,?,?,?,?,?,?,?,?);
# ------------------------修改退款订单----------------------------
dragon_order_refund_error.update
=
UPDATE `dragon_order_refunds` SET updated_at = ? , refund_error=? , status=? WHERE order_refund_id = ?
dragon_order_refund_success.update
=
UPDATE `dragon_order_refunds` SET updated_at = ? , refund_at=? , status=? WHERE order_refund_id = ?
dragon_order_refund_error.update
=
UPDATE `dragon_order_refunds` SET updated_at = ? , refund_error=? , status=? WHERE order_refund_code = ?
dragon_order_refund_success.update
=
UPDATE `dragon_order_refunds` SET updated_at = ? , refund_at=? , status=? WHERE order_refund_code = ?
dragon_order_refund_call_back.update
=
UPDATE `dragon_order_refunds` SET updated_at = ? , finished_at=? , status=? WHERE order_refund_code = ?
# ------------------------创建退款订单日志----------------------------
dragon_order_refund_log.insert
=
INSERT INTO `dragon_order_refunds`(`order_refund_id` ,`refund_type` ,`content`,`created_at`,`updated_at`)VALUES(?,?,?,?,?);
dragon_orders.insert
=
INSERT INTO DRAGON_ORDERS (ID, STATUS, CODE, TYPE, PRICE, NAME, DETAIL, ORDER_CODE, CLIENT_IP, NOTIFY_URL, PAYMENT_TYPE,PAYMENT_ID, PAYMENT_AT, FINISHED_AT, CREATED_AT, UPDATED_AT, DELETED_AT)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
dragon_order_logs.insert
=
INSERT INTO DRAGON_ORDER_LOGS (ID, ORDER_ID, PAYMENT_TYPE, CONTENT, CREATED_AT, UPDATED_AT, DELETED_AT) VALUES(?,?,?,?,?,?,?)
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/pom.xml
View file @
6f464d87
...
...
@@ -41,6 +41,11 @@
<artifactId>
liquidnet-service-adam-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-sms
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<!-- other -->
<dependency>
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/KylinOrderTicketsServiceImpl.java
View file @
6f464d87
...
...
@@ -3,13 +3,11 @@ package com.liquidnet.service.order.service.impl;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.common.sms.constant.SmsEnum
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.UserPathDto
;
import
com.liquidnet.service.base.*
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dto.param.PayAgainParam
;
...
...
@@ -17,8 +15,6 @@ import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import
com.liquidnet.service.kylin.dto.param.SyncOrderParam
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.middle.message.MessageConfigVo
;
import
com.liquidnet.service.kylin.dto.vo.middle.message.MessageDataVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
...
...
@@ -839,20 +835,35 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
MessageDataVo
dataVo
=
new
MessageDataVo
();
dataVo
.
setName
(
orderTicketData
.
getPerformanceTitle
());
//
MessageDataVo dataVo = new MessageDataVo();
//
dataVo.setName(orderTicketData.getPerformanceTitle());
String
time1
=
DateUtil
.
format
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
ticketData
.
getUseStart
()),
DateUtil
.
Formatter
.
yyyy_MM_dd
);
String
time2
=
DateUtil
.
format
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
performanceData
.
getTimeStart
()),
DateUtil
.
Formatter
.
HHmm
);
dataVo
.
setTime
(
time1
+
" "
+
time2
);
//
dataVo.setTime(time1 + " " + time2);
MessageConfigVo
configVo
=
new
MessageConfigVo
();
configVo
.
setStatus
(
true
);
// MessageConfigVo configVo = new MessageConfigVo();
// configVo.setStatus(true);
SmsEnum
.
ADTemplate
adTemplate
=
null
;
if
(
orderTicketData
.
getGetTicketType
().
equals
(
"express"
))
{
configVo
.
setId
(
"SMS_181490473"
);
// configVo.setId("SMS_181490473");
adTemplate
=
SmsEnum
.
ADTemplate
.
SMS_181490473
;
}
else
if
(
orderTicketData
.
getGetTicketType
().
equals
(
"electronic"
))
{
configVo
.
setId
(
ticketData
.
getIsShowCode
()
==
1
?
"SMS_171358560"
:
"SMS_181500419"
);
// configVo.setId(ticketData.getIsShowCode() == 1 ? "SMS_171358560" : "SMS_181500419");
adTemplate
=
ticketData
.
getIsShowCode
()
==
1
?
SmsEnum
.
ADTemplate
.
SMS_171358560
:
SmsEnum
.
ADTemplate
.
SMS_181500419
;
}
// otherUtils.sendMessage(orderTicketData.getUserMobile(), dataVo, configVo, 1);
if
(
null
!=
adTemplate
)
{
rabbitTemplate
.
convertAndSend
(
MQConst
.
EX_LNS_SMS_SENDER
,
MQConst
.
RK_SMS_NOTICE
,
SmsMessage
.
builder
().
setPhone
(
orderTicketData
.
getUserMobile
())
.
setSignName
(
SmsEnum
.
ADSignName
.
M02
.
getVal
())
.
setTemplateCode
(
adTemplate
.
name
())
.
setTemplateParam
(
"name"
,
orderTicketData
.
getPerformanceTitle
())
.
setTemplateParam
(
"time"
,
time1
+
" "
+
time2
).
toJson
()
);
}
otherUtils
.
sendMessage
(
orderTicketData
.
getUserMobile
(),
dataVo
,
configVo
,
1
);
// 大麦回调
sycDamaiOrder
(
orderTickets
.
getOrderTicketsId
());
...
...
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