记得上下班打卡 | 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
0a57e25c
Commit
0a57e25c
authored
Jul 08, 2025
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
离线支付-精简逻辑
parent
52da284e
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
102 additions
and
339 deletions
+102
-339
GoblinBraceletOrderEntitiesVo.java
.../service/goblin/dto/vo/GoblinBraceletOrderEntitiesVo.java
+0
-75
GoblinBraceletOrderVo.java
...iquidnet/service/goblin/dto/vo/GoblinBraceletOrderVo.java
+21
-11
BaseDougongRequest.java
...dnet/service/goblin/param/dougong/BaseDougongRequest.java
+0
-32
BaseDougongResponse.java
...net/service/goblin/param/dougong/BaseDougongResponse.java
+0
-22
DougongRequestParam.java
...net/service/goblin/param/dougong/DougongRequestParam.java
+4
-0
liquidnet-service-goblin-dev.yml
...-config/liquidnet-config/liquidnet-service-goblin-dev.yml
+1
-1
GoblinBraceletOrder.java
.../liquidnet/service/goblin/entity/GoblinBraceletOrder.java
+21
-4
GoblinBraceletOrderEntities.java
...et/service/goblin/entity/GoblinBraceletOrderEntities.java
+0
-86
GoblinBraceletOrderServiceImpl.java
...e/goblin/service/impl/GoblinBraceletOrderServiceImpl.java
+48
-104
GoblinRedisUtils.java
...a/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
+5
-0
sqlmap.properties
...-service-goblin-impl/src/main/resources/sqlmap.properties
+2
-4
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinBraceletOrderEntitiesVo.java
deleted
100644 → 0
View file @
52da284e
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* 手环-子订单VO
*/
@Data
public
class
GoblinBraceletOrderEntitiesVo
{
/**
* 订单详情ID
*/
private
String
orderEntitiesId
;
/**
* 订单详情关联ID
*/
private
String
orderId
;
/**
* 商品类型:1:手环 2:充值面值
*/
private
Integer
goodsType
;
/**
* 商品ID wristband_id:手环ID amount_id:充值金额ID
*/
private
String
goodsId
;
/**
* 商品名称
*/
private
String
goodsName
;
/**
* 商品金额
*/
private
BigDecimal
goodsPrice
;
/**
* 订单状态:
* 0 待付款
* 1 已付款
* 2 已关闭
* 3 正在退款
* 4 已退款
* 5 待关闭
* 6 部分退款
*/
private
Integer
status
;
/**
* 支付状态:
* 0 未支付
* 1 已支付
* 2 支付失败
*/
private
Integer
payStatus
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinBraceletOrderVo.java
View file @
0a57e25c
...
...
@@ -47,6 +47,26 @@ public class GoblinBraceletOrderVo {
*/
private
String
goodsDesc
;
/**
* 手环ID
*/
private
String
wristbandId
;
/**
*手环金额
*/
private
BigDecimal
wristbandPrice
;
/**
*充值金额ID
*/
private
String
amountId
;
/**
*充值金额
*/
private
BigDecimal
amountPrice
;
/**
* 请求流水号
*/
...
...
@@ -72,11 +92,6 @@ public class GoblinBraceletOrderVo {
*/
private
String
tradeType
;
/**
* ATU真实商户号
*/
private
String
atuSubMerId
;
/**
* 用户账单上的交易订单号
*/
...
...
@@ -141,6 +156,7 @@ public class GoblinBraceletOrderVo {
* 4 已退款
* 5 待关闭
* 6 部分退款
* 7 退款失败
*/
private
Integer
status
;
...
...
@@ -182,11 +198,5 @@ public class GoblinBraceletOrderVo {
*/
private
LocalDateTime
updatedAt
;
/**
* 订单详细列表VO
*/
private
List
<
GoblinBraceletOrderEntitiesVo
>
orderEntitiesDetailVoList
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/dougong/BaseDougongRequest.java
deleted
100644 → 0
View file @
52da284e
package
com
.
liquidnet
.
service
.
goblin
.
param
.
dougong
;
import
lombok.Data
;
@Data
public
class
BaseDougongRequest
<
T
>
{
/**
* 系统号
* 渠道商/商户的huifu_id
* (1)当主体为渠道商时,此字段填写渠道商huifu_id;
* (2)当主体为直连商户时,此字段填写商户huifu_id;
*/
private
String
sysId
;
/**
* 产品号
* 汇付分配的产品号,示例值:MCS
*/
private
String
productId
;
/**
* 加签结果
*/
private
String
sign
;
/**
* 数据
*/
private
T
data
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/dougong/BaseDougongResponse.java
deleted
100644 → 0
View file @
52da284e
package
com
.
liquidnet
.
service
.
goblin
.
param
.
dougong
;
import
lombok.Data
;
/**
* 同步返回参数
* @param <T>
*/
@Data
public
class
BaseDougongResponse
<
T
>
{
/**
* 签名
*/
private
String
sign
;
/**
* 响应内容体
*/
private
T
data
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/dougong/DougongRequestParam.java
View file @
0a57e25c
package
com
.
liquidnet
.
service
.
goblin
.
param
.
dougong
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
...
...
@@ -92,6 +94,8 @@ public class DougongRequestParam {
@Data
@NoArgsConstructor
@AllArgsConstructor
public
static
class
WxDataGoodsDetail
{
// 商品编码
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-goblin-dev.yml
View file @
0a57e25c
...
...
@@ -22,7 +22,7 @@ liquidnet:
huifu-id
:
'
6666000171841162'
sys-id
:
'
6666000162031620'
product-id
:
'
PAYUN'
sub-app-id
:
'
wx
dfe9a5d141f96685
'
sub-app-id
:
'
wx
4732efeaa2b08086
'
public-key
:
"
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArR8pqWsRMqiunn8uEZGF9AeizJK0vuWjlcNnTbw9Sb96dMVuYu3SRj+Dx4E4SgyEL4CYROou1xwY57kAKEqHdH7o1W41O9jYjXZG38BrtBR+D9Qh9OqGxCZ+e4Gi38XHGg6fn67iXefOqp1kWGd4qc8tIZO1lIDXS19R09D/mESNBMulQdVPyZF7gvd11A+7EEOfRlSOjrtqIoUWV0GIqhLPUtGJk8Uq/d9NLitJyvK3tgz8cvJ4RyK6UpGtRDrqiBiQxbvK9EqMd1sw3zkvM03szSWon4LHFNqvDr6RYfFyFUCvX9UPYmeritENnroEuTBlTFLLb68ed4HZEZDPTQIDAQAB"
private-key
:
"
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDJAOaA1ikJzDL0vUuTyl3/vlHyuSod6/gFLLrSTD6EJkma5Ld34HHu82/5pEojEvbcU113L9j3fUJlpyjX6CFk6j2KjMIuyFxhgrVFi5WT5m74wYohoWNifkQrgwsO3oxI7cewWFu/w7/yCK9dzI4QxasGUKH9iPweI+26IR0DBbOfC9GVudOy2b2xLrGAevEEHdVTNqrQNdlrTzqAH7r3uk8s2vaBZX+O4gyf7eKdHdC4CVSWfYPLO1sA48MxNwI7OExxfGeV+0wmBMGRSoZ5FhWsqZs+f9jGcmfF+uEfAO71PqHjezXYxq7+oWDfDBPCTc5fo9w5v1HV0aZaYOe1AgMBAAECggEBAI4yR98fInse7XF8NOpBwIv6/QhEfAoc9CHdCfFaJOPiHjIo2a5BpvhPWYj288eqU998TmPSAqDbCUzWm6taOb2lhJHukDT+Y3RMPqcLX275Fsp+SJUQEjoMb3eExh7ny8CQDrOvXoDkH3c/M6ic3Gf7Hslh46dz8D/2VOhXIqoObPlSLzniwiMTDBEwB7IRc3Q+r4V6ZnKt8wjKQZpotBA3TlJlEBBj/h5SbWokwMQbTqFkjl7gVe0ase2WfV+cD4qhPZx6CWphPVyWelg+wpDqXOIQdnE8pgri5a9ZkzgPTOrKyCm+EOa9lZAp81tnb2iFhrlkKPSWUW8zLtZzxMECgYEA+sNyF0U9anyxeKxXtlGKKuMHJSnBpZeU6FSvZjTewFH2Sxh3QwZjg6h5BfvTLH1XfNerx3gdpAPJ+EyAZuEibDr47bp+j4CtT27dVolz5XQ5ugOadwzdNZkq6vhuq1aGATmS/mlNE1/pdMEP9F6hi2HYncER6BFOy0xSwMKCnRECgYEAzTNxhvZ0pb2hPKylxHUydkm3Uznq5Zkquv6II6W5aiKvceETHwdRZLoKc+I0kd0/4fBfJI2Jsjexy51ERiG+8y4wVrcrky6NLw6mnXSvnTSQCftbexheJTg9c5dpfKIj+rxtuBeZ3Sj1MJQ6OSBUYu3iTqstO0Rgp/1ofWQJ8GUCgYEAspxzr0+KJ0cZwbI/54S8vT9n33iWjbQiRDnNlScjYij/HQ4YJI1wZF6jlTeBerbskeesWy+bLS/ltA4Jhz3knuKCXBHyA5TL3UBCN1lAS7c1RuE6LIHlLkAi6ap6aV//ou+3W671T0+JobfB/XVJ61WOTQ8wCfQKA5QhfVsOXYECgYEAvzbm3Ysfm6qfazi+p9lGErASov1fhGA8T1AMcJtnsh1sO8Qu20UodaJfRylNL3dqphIltpwl6eq4RTLhgjDEDTvHU6cQdfB1I5qVbDhlxSpL5uFRl91XLXvA18wKQledC3M3Esr7V/loscIOl1knCaD+t6wPVCEdqK0dB2uHT3kCgYEA3p3rlmCmWzkZ/U8jE4087YEkJWV+r86YC63r4YZEqZtfHk4hNchAYke4jYPqkTtmRVZi2C6KuVr5M3ASHmGWorBY0VA9Abd3daniNocZCeMOt4Z7U6MIbqW7KYSrjx8V8HIsdH7HF97ofRuMH6oaz9bFMM6XwrEAMY+zTdH9A4Y="
notify-url
:
'
https://testgoblin.zhengzai.tv/goblin/bracelet/callback'
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinBraceletOrder.java
View file @
0a57e25c
...
...
@@ -59,6 +59,26 @@ public class GoblinBraceletOrder implements Serializable {
*/
private
String
goodsDesc
;
/**
* 手环ID
*/
private
String
wristbandId
;
/**
*手环金额
*/
private
BigDecimal
wristbandPrice
;
/**
*充值金额ID
*/
private
String
amountId
;
/**
*充值金额
*/
private
BigDecimal
amountPrice
;
/**
* 请求流水号
*/
...
...
@@ -84,10 +104,6 @@ public class GoblinBraceletOrder implements Serializable {
*/
private
String
tradeType
;
/**
* ATU真实商户号
*/
private
String
atuSubMerId
;
/**
* 用户账单上的交易订单号
...
...
@@ -153,6 +169,7 @@ public class GoblinBraceletOrder implements Serializable {
* 4 已退款
* 5 待关闭
* 6 部分退款
* 7 退款失败
*/
private
Integer
status
;
...
...
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinBraceletOrderEntities.java
deleted
100644 → 0
View file @
52da284e
package
com
.
liquidnet
.
service
.
goblin
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* 手环订单详情表实体类
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinBraceletOrderEntities
implements
Serializable
{
/**
* 主键ID
*/
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 订单详情ID
*/
private
String
orderEntitiesId
;
/**
* 订单详情关联ID
*/
private
String
orderId
;
/**
* 商品类型:1:手环 2:充值面值
*/
private
Integer
goodsType
;
/**
* 商品ID wristband_id:手环ID amount_id:充值金额ID
*/
private
String
goodsId
;
/**
* 商品名称
*/
private
String
goodsName
;
/**
* 商品金额
*/
private
BigDecimal
goodsPrice
;
/**
* 订单状态:
* 0 待付款
* 1 已付款
* 2 已关闭
* 3 正在退款
* 4 已退款
* 5 待关闭
* 6 部分退款
*/
private
Integer
status
;
/**
* 支付状态:
* 0 未支付
* 1 已支付
* 2 支付失败
*/
private
Integer
payStatus
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinBraceletOrderServiceImpl.java
View file @
0a57e25c
...
...
@@ -5,7 +5,10 @@ import com.liquidnet.commons.lang.util.*;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.GoblinBraceletOrderVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinBraceletPayResultVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinRechargeAmountVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinRechargeWristbandVo
;
import
com.liquidnet.service.goblin.entity.GoblinBraceletOrder
;
import
com.liquidnet.service.goblin.enums.OrderStatus
;
import
com.liquidnet.service.goblin.enums.PayStatus
;
...
...
@@ -15,7 +18,6 @@ import com.liquidnet.service.goblin.param.dougong.DougongJsPayData;
import
com.liquidnet.service.goblin.param.dougong.DougongRequestParam
;
import
com.liquidnet.service.goblin.param.dougong.DougongSyncCallbackparam
;
import
com.liquidnet.service.goblin.service.IGoblinBraceletOrderService
;
import
com.liquidnet.service.goblin.service.IGoblinBraceletOrderService
;
import
com.liquidnet.service.goblin.service.IGoblinDougongPayService
;
import
com.liquidnet.service.goblin.service.IGoblinRechargeWristbandService
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
...
...
@@ -47,13 +49,11 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
@Override
public
ResponseDto
<
GoblinBraceletPayResultVo
>
checkOrder
(
GoblinBraceletOrderPayParam
payParam
)
{
log
.
info
(
"request param: {}."
,
JsonUtils
.
toJson
(
payParam
));
// 1. 检查商品
GoblinRechargeWristbandVo
rechargeWristbandVo
=
rechargeWristbandService
.
getList
();
if
(
rechargeWristbandVo
==
null
)
{
log
.
error
(
"查询商品为空"
);
return
ResponseDto
.
failure
(
"下单失败"
);
}
// 2. 计算金额
if
(!
rechargeWristbandVo
.
getWristbandId
().
equals
(
payParam
.
getWristbandId
()))
{
log
.
error
(
"下单商品不存在"
);
return
ResponseDto
.
failure
(
"下单商品不存在"
);
...
...
@@ -76,11 +76,9 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
// 要充值的面额
final
GoblinRechargeAmountVo
payAmountVo
=
payAmountList
.
get
(
0
);
final
GoblinBraceletOrderVo
orderVo
=
getOrderVo
(
rechargeWristbandVo
.
getWristbandId
(),
rechargeWristbandVo
.
getName
(),
rechargeWristbandVo
.
getPrice
(),
payAmountVo
,
payParam
);
final
String
orderId
=
IDGenerator
.
nextSnowId
();
final
GoblinBraceletOrderVo
orderVo
=
buildRechargeOrder
(
orderId
,
rechargeWristbandVo
.
getWristbandId
(),
rechargeWristbandVo
.
getPrice
(),
payAmountVo
.
getAmountId
(),
payAmountVo
.
getPrice
(),
payParam
);
if
(
orderVo
==
null
)
{
log
.
error
(
"下单失败"
);
...
...
@@ -96,7 +94,8 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
dougongJsPayData
.
setTransAmt
(
orderVo
.
getPriceTotal
().
setScale
(
2
,
RoundingMode
.
HALF_UP
).
toPlainString
());
dougongJsPayData
.
setTimeExpire
(
DateUtil
.
format
(
DateUtil
.
addHour
(
new
Date
(),
2
),
DateUtil
.
Formatter
.
yyyyMMddHHmmssTrim
));
dougongJsPayData
.
setSubOpenid
(
payParam
.
getSubOpenId
());
dougongJsPayData
.
setGoodsDetailList
(
getGoodsDetailList
(
orderVo
.
getOrderEntitiesDetailVoList
()));
dougongJsPayData
.
setGoodsDetailList
(
getGoodsDetailList
(
rechargeWristbandVo
.
getWristbandId
(),
rechargeWristbandVo
.
getPrice
(),
rechargeWristbandVo
.
getName
(),
payAmountVo
));
Map
<
String
,
Object
>
dougongResponseMap
=
dougongPayService
.
jsPay
(
dougongJsPayData
);
if
(
null
==
dougongResponseMap
||
dougongResponseMap
.
isEmpty
())
{
...
...
@@ -106,7 +105,6 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
// 根据响应接口填充参数
orderVo
.
setHfSeqId
((
String
)
dougongResponseMap
.
get
(
"hf_seq_id"
));
orderVo
.
setAtuSubMerId
((
String
)
dougongResponseMap
.
get
(
"atu_sub_mer_id"
));
orderVo
.
setPartyOrderId
((
String
)
dougongResponseMap
.
get
(
"party_order_id"
));
// 5. 根据响应结构写 redis、mysql
...
...
@@ -115,28 +113,20 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
sqls
.
add
(
SqlMapping
.
get
(
"goblin_bracelet_order_insert"
));
sqls
.
add
(
SqlMapping
.
get
(
"goblin_bracelet_order_entities_insert"
));
LinkedList
<
Object
[]>
sqlDataOrder
=
CollectionUtil
.
linkedListObjectArr
();
sqlDataOrder
.
add
(
new
Object
[]{
orderVo
.
getOrderId
(),
orderVo
.
getUserId
(),
orderVo
.
getBindName
(),
orderVo
.
getBindMobile
(),
orderVo
.
getBindIdcard
(),
orderVo
.
getReqDate
(),
orderVo
.
getGoodsDesc
(),
orderVo
.
getReqSeqId
(),
orderVo
.
getHfSeqId
(),
orderVo
.
getTradeType
(),
orderVo
.
getAtuSubMerId
(),
orderVo
.
getPartyOrderId
(),
orderVo
.
getPrice
(),
orderVo
.
getPriceTotal
(),
orderVo
.
getPriceRefund
(),
orderVo
.
getRefundPriceCharges
(),
orderVo
.
getRefundNumber
(),
orderVo
.
getStatus
(),
orderVo
.
getPayStatus
(),
orderVo
.
getCreatedAt
(),
orderVo
.
getUpdatedAt
()
orderVo
.
getOrderId
(),
orderVo
.
getUserId
(),
orderVo
.
getBindName
(),
orderVo
.
getBindMobile
(),
orderVo
.
getBindIdcard
(),
orderVo
.
getReqDate
(),
orderVo
.
getGoodsDesc
(),
orderVo
.
getWristbandId
(),
orderVo
.
getWristbandPrice
(),
orderVo
.
getAmountId
(),
orderVo
.
getAmountPrice
(),
orderVo
.
getReqSeqId
(),
orderVo
.
getHfSeqId
(),
orderVo
.
getTradeType
(),
orderVo
.
getPartyOrderId
(),
orderVo
.
getPrice
(),
orderVo
.
getPriceTotal
(),
orderVo
.
getPriceRefund
(),
orderVo
.
getRefundPriceCharges
(),
orderVo
.
getRefundNumber
(),
orderVo
.
getStatus
(),
orderVo
.
getPayStatus
(),
orderVo
.
getCreatedAt
(),
orderVo
.
getUpdatedAt
()
});
LinkedList
<
Object
[]>
sqlDataOrderEntities
=
CollectionUtil
.
linkedListObjectArr
();
for
(
GoblinBraceletOrderEntitiesVo
entitiesVo
:
orderVo
.
getOrderEntitiesDetailVoList
())
{
sqlDataOrderEntities
.
add
(
new
Object
[]{
entitiesVo
.
getOrderEntitiesId
(),
entitiesVo
.
getOrderId
(),
entitiesVo
.
getGoodsType
(),
entitiesVo
.
getGoodsId
(),
entitiesVo
.
getGoodsName
(),
entitiesVo
.
getGoodsPrice
(),
entitiesVo
.
getStatus
(),
entitiesVo
.
getPayStatus
(),
entitiesVo
.
getCreatedAt
(),
entitiesVo
.
getUpdatedAt
()
});
}
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
SQL_GOODS
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
sqlDataOrder
,
sqlDataOrderEntities
)
SqlMapping
.
gets
(
sqls
,
sqlDataOrder
)
);
// 6. 响应数据
...
...
@@ -147,58 +137,36 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
return
ResponseDto
.
success
(
resultVo
);
}
private
List
<
DougongRequestParam
.
WxDataGoodsDetail
>
getGoodsDetailList
(
List
<
GoblinBraceletOrderEntitiesVo
>
orderEntitiesDetailVoList
)
{
if
(
orderEntitiesDetailVoList
.
isEmpty
())
{
return
Collections
.
emptyList
();
}
List
<
DougongRequestParam
.
WxDataGoodsDetail
>
goodsDetailList
=
new
ArrayList
<>(
orderEntitiesDetailVoList
.
size
());
for
(
GoblinBraceletOrderEntitiesVo
entitiesVo
:
orderEntitiesDetailVoList
)
{
DougongRequestParam
.
WxDataGoodsDetail
detail
=
new
DougongRequestParam
.
WxDataGoodsDetail
();
detail
.
setGoodsId
(
entitiesVo
.
getGoodsId
());
detail
.
setGoodsName
(
entitiesVo
.
getGoodsName
());
detail
.
setPrice
(
entitiesVo
.
getGoodsPrice
().
toPlainString
());
detail
.
setQuantity
(
1
);
goodsDetailList
.
add
(
detail
);
}
private
List
<
DougongRequestParam
.
WxDataGoodsDetail
>
getGoodsDetailList
(
String
wristbandId
,
BigDecimal
wristbandPrice
,
String
wristbandName
,
GoblinRechargeAmountVo
payAmountVo
)
{
List
<
DougongRequestParam
.
WxDataGoodsDetail
>
goodsDetailList
=
new
ArrayList
<>();
goodsDetailList
.
add
(
new
DougongRequestParam
.
WxDataGoodsDetail
(
wristbandId
,
wristbandName
,
wristbandPrice
.
toPlainString
(),
1
));
goodsDetailList
.
add
(
new
DougongRequestParam
.
WxDataGoodsDetail
(
payAmountVo
.
getAmountId
(),
payAmountVo
.
getName
(),
payAmountVo
.
getPrice
().
toPlainString
(),
1
));
return
goodsDetailList
;
}
/**
* @param orderId 手环订单ID
* @param wristbandId 手环ID
* @param
name 手环名称
* @param
price 手环价格
* @param
payAmountVo 充值面额VO
* @param payParam
请求参数
* @return
orderId
* @param
wristbandPrice 手环金额
* @param
amountId 充值金额ID
* @param
amountPrice 充值金额
* @param payParam
* @return
*/
private
GoblinBraceletOrderVo
getOrderVo
(
String
wristbandId
,
String
name
,
BigDecimal
price
,
GoblinRechargeAmountVo
payAmountVo
,
private
GoblinBraceletOrderVo
buildRechargeOrder
(
String
orderId
,
String
wristbandId
,
BigDecimal
wristbandPrice
,
String
amountId
,
BigDecimal
amountPrice
,
GoblinBraceletOrderPayParam
payParam
)
{
// 需付款金额
BigDecimal
totalAmount
=
BigDecimal
.
ZERO
.
add
(
price
).
add
(
payAmountVo
.
getPrice
());
BigDecimal
totalAmount
=
BigDecimal
.
ZERO
.
add
(
wristbandPrice
).
add
(
amountPrice
);
final
String
uid
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"用户下单, 需要支付金额: {}, uid: {}."
,
totalAmount
.
toPlainString
(),
uid
);
final
String
orderId
=
IDGenerator
.
nextSnowId
();
try
{
List
<
GoblinBraceletOrderEntitiesVo
>
list
=
new
ArrayList
<>();
list
.
add
(
buildRechargeOrderEntitiesVo
(
wristbandId
,
name
,
price
,
1
,
orderId
));
list
.
add
(
buildRechargeOrderEntitiesVo
(
payAmountVo
.
getAmountId
(),
payAmountVo
.
getName
(),
payAmountVo
.
getPrice
(),
2
,
orderId
));
log
.
info
(
"用户{}需要付款金额: {}."
,
uid
,
totalAmount
.
toPlainString
());
GoblinBraceletOrderVo
orderVo
=
buildRechargeOrder
(
payParam
,
orderId
,
uid
,
totalAmount
);
orderVo
.
setOrderEntitiesDetailVoList
(
list
);
return
orderVo
;
}
catch
(
Exception
e
)
{
log
.
error
(
"error"
,
e
);
return
null
;
}
}
private
GoblinBraceletOrderVo
buildRechargeOrder
(
GoblinBraceletOrderPayParam
payParam
,
String
orderId
,
String
uid
,
BigDecimal
totalAmount
)
{
GoblinBraceletOrderVo
braceletOrderVo
=
new
GoblinBraceletOrderVo
();
braceletOrderVo
.
setOrderId
(
orderId
);
braceletOrderVo
.
setUserId
(
uid
);
...
...
@@ -207,6 +175,10 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
braceletOrderVo
.
setBindIdcard
(
payParam
.
getIdCard
());
braceletOrderVo
.
setReqDate
(
DateUtil
.
getNowTime
(
"yyyyMMdd"
));
braceletOrderVo
.
setGoodsDesc
(
getGoodsDesc
());
braceletOrderVo
.
setWristbandId
(
wristbandId
);
braceletOrderVo
.
setWristbandPrice
(
wristbandPrice
);
braceletOrderVo
.
setAmountId
(
amountId
);
braceletOrderVo
.
setAmountPrice
(
amountPrice
);
braceletOrderVo
.
setReqSeqId
(
IDGenerator
.
nextSnowId
());
braceletOrderVo
.
setTradeType
(
"T_MINIAPP"
);
braceletOrderVo
.
setPrice
(
totalAmount
);
...
...
@@ -221,20 +193,6 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
return
braceletOrderVo
;
}
private
GoblinBraceletOrderEntitiesVo
buildRechargeOrderEntitiesVo
(
String
goodsId
,
String
goodsName
,
BigDecimal
goodsPrice
,
Integer
goodsType
,
String
orderId
)
{
GoblinBraceletOrderEntitiesVo
entitiesVo
=
new
GoblinBraceletOrderEntitiesVo
();
entitiesVo
.
setOrderId
(
orderId
);
entitiesVo
.
setOrderEntitiesId
(
IDGenerator
.
nextSnowId
());
entitiesVo
.
setGoodsType
(
goodsType
);
entitiesVo
.
setGoodsId
(
goodsId
);
entitiesVo
.
setGoodsName
(
goodsName
);
entitiesVo
.
setGoodsPrice
(
goodsPrice
);
entitiesVo
.
setStatus
(
OrderStatus
.
PENDING_PAYMENT
.
getCode
());
entitiesVo
.
setPayStatus
(
PayStatus
.
NOT_PAID
.
getCode
());
entitiesVo
.
setCreatedAt
(
LocalDateTime
.
now
());
entitiesVo
.
setUpdatedAt
(
LocalDateTime
.
now
());
return
entitiesVo
;
}
/**
* 获取商品描述
...
...
@@ -299,10 +257,13 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
if
(
"S"
.
equalsIgnoreCase
((
String
)
callbackRespDataMap
.
get
(
"trans_stat"
)))
{
// 斗拱返回成功
updateOrderStatus
(
OrderStatus
.
PAID
.
getCode
(),
PayStatus
.
PAID
.
getCode
(),
orderVo
);
orderVo
.
setStatus
(
OrderStatus
.
PAID
.
getCode
());
orderVo
.
setPayStatus
(
PayStatus
.
PAID
.
getCode
());
}
else
{
// 斗拱返回失败
updateOrderStatus
(
OrderStatus
.
PENDING_PAYMENT
.
getCode
(),
PayStatus
.
PAYMENT_FAILED
.
getCode
(),
orderVo
);
// orderVo.setStatus(OrderStatus.PAID.getCode());
orderVo
.
setPayStatus
(
PayStatus
.
PAYMENT_FAILED
.
getCode
());
}
// 更新redis
...
...
@@ -313,13 +274,6 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
SqlMapping
.
get
(
"gpblin_bracelet_order_update"
,
orderVo
.
getOutTransId
(),
orderVo
.
getEndTime
(),
orderVo
.
getAcctDate
(),
orderVo
.
getPriceActual
(),
orderVo
.
getTimePay
(),
orderVo
.
getUpdatedAt
(),
orderVo
.
getOrderId
())
);
for
(
GoblinBraceletOrderEntitiesVo
entitiesVo
:
orderVo
.
getOrderEntitiesDetailVoList
())
{
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
SQL_GOODS
.
getKey
(),
SqlMapping
.
get
(
"goblie_bracelet_order_entities_update"
,
entitiesVo
.
getStatus
(),
entitiesVo
.
getPayStatus
(),
entitiesVo
.
getUpdatedAt
(),
entitiesVo
.
getOrderEntitiesId
())
);
}
return
ResponseDto
.
success
(
Boolean
.
TRUE
);
}
catch
(
Exception
e
)
{
log
.
error
(
"error"
,
e
);
...
...
@@ -328,14 +282,4 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
}
private
void
updateOrderStatus
(
int
statusCode
,
int
payStatusCode
,
GoblinBraceletOrderVo
orderVo
)
{
orderVo
.
setStatus
(
statusCode
);
orderVo
.
setPayStatus
(
payStatusCode
);
List
<
GoblinBraceletOrderEntitiesVo
>
orderEntitiesDetailVoList
=
orderVo
.
getOrderEntitiesDetailVoList
();
for
(
GoblinBraceletOrderEntitiesVo
entitiesVo
:
orderEntitiesDetailVoList
)
{
entitiesVo
.
setStatus
(
statusCode
);
entitiesVo
.
setPayStatus
(
payStatusCode
);
entitiesVo
.
setUpdatedAt
(
LocalDateTime
.
now
());
}
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
View file @
0a57e25c
...
...
@@ -2978,6 +2978,11 @@ public class GoblinRedisUtils {
redisUtil
.
set
(
key
,
orderVo
,
RedisKeyExpireConst
.
GOBLIN_BRACELET_USER_EXPIRE
);
}
/**
* 获取手环订单信息
* @param orderId
* @return
*/
public
GoblinBraceletOrderVo
getBraceletOrderVo
(
String
orderId
){
String
key
=
GoblinRedisConst
.
GOBLIN_BRACELET_ORDERID
.
concat
(
orderId
);
Object
obj
=
redisUtil
.
get
(
key
);
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/resources/sqlmap.properties
View file @
0a57e25c
...
...
@@ -196,9 +196,7 @@ candy_user_coupon.update_apply_refund=UPDATE candy_user_coupon SET state=?,opera
#----
#----
# ---- \u624B\u73AF\u8BA2\u5355 ----
goblin_bracelet_order_insert
=
INSERT INTO `goblin_bracelet_order`(`order_id`, `user_id`, `bind_name`, `bind_mobile`, `bind_idcard`, `req_date`, `goods_desc`, `
req_seq_id`, `hf_seq_id`, `trade_type`, `atu_sub_mer_id`, `party_order_id`, `price`, `price_total`, `price_refund`, `refund_price_charges`, `refund_number`, `status`, `pay_status`, `created_at`, `updated_at`) VALUES (
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin_bracelet_order_insert
=
INSERT INTO `goblin_bracelet_order`(`order_id`, `user_id`, `bind_name`, `bind_mobile`, `bind_idcard`, `req_date`, `goods_desc`, `
wristband_id`, `wristband_price`, `amount_id`, `amount_price`, `req_seq_id`, `hf_seq_id`, `trade_type`, `party_order_id`, `price`, `price_total`, `price_refund`, `refund_price_charges`, `refund_number`, `status`, `pay_status`, `created_at`, `updated_at`) VALUES (?,?,?,
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
gpblin_bracelet_order_update
=
update goblin_bracelet_order set out_trans_id=?, end_time=?, acct_date=?, price_actual=?, time_pay=?, updated_at=? where order_id=?
goblin_bracelet_order_entities_insert
=
INSERT INTO `goblin_bracelet_order_entities`(`order_entities_id`, `order_id`, `goods_type`, `goods_id`, `goods_name`, `goods_price`, `status`, `pay_status`, `created_at`, `updated_at`) VALUES (?,?,?,?,?,?,?,?,?,?)
goblin_bracelet_order_update_cardno
=
UPDATE goblin_bracelet_order SET cardno=?,updated_at=? WHERE order_id=?
goblin_bracelet_order_update_refund
=
UPDATE goblin_bracelet_order SET status=?,refund_status=?,refund_status_note=?,updated_at=? WHERE order_id=?
\ No newline at end of file
goblie_bracelet_order_entities_update
=
update goblin_bracelet_order_entities set status=?, pay_status=?, updated_at=? where order_entities_id=?
\ No newline at end of file
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