记得上下班打卡 | 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
cfc1022d
Commit
cfc1022d
authored
Apr 08, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建订单设置 收钱吧orderSn与 正在orderId对应关系
parent
50ce76a2
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
147 additions
and
54 deletions
+147
-54
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+8
-0
CashierQueryData.java
...ommon/third/sqb/param/response/data/CashierQueryData.java
+94
-42
CreateWechatPrepayOrderData.java
.../sqb/param/response/data/CreateWechatPrepayOrderData.java
+3
-2
GoblinSqbOrderServiceImpl.java
...service/order/service/impl/GoblinSqbOrderServiceImpl.java
+18
-10
GoblinSqbRedisUtils.java
...om/liquidnet/service/order/utils/GoblinSqbRedisUtils.java
+24
-0
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
cfc1022d
...
@@ -445,8 +445,16 @@ public class GoblinRedisConst {
...
@@ -445,8 +445,16 @@ public class GoblinRedisConst {
*/
*/
public
static
final
String
SQB_ORDER_LOCK
=
PREFIX
.
concat
(
"sqb:order:lock:"
);
public
static
final
String
SQB_ORDER_LOCK
=
PREFIX
.
concat
(
"sqb:order:lock:"
);
/**
* 收钱吧订单扩展 key
*/
public
static
final
String
SQB_GOBLIN_GOODS_EXT_KEY
=
PREFIX
.
concat
(
"sqb:goods:ext:"
);
public
static
final
String
SQB_GOBLIN_GOODS_EXT_KEY
=
PREFIX
.
concat
(
"sqb:goods:ext:"
);
/**
* 收钱吧 orderSn与正在orderId 对应关系 key
*/
public
static
final
String
SQB_GOBLIN_ORDER_SN_KEY
=
PREFIX
.
concat
(
"sqb:orderSn:"
);
/**
/**
* 收钱吧 用户订单列表
* 收钱吧 用户订单列表
*/
*/
...
...
liquidnet-bus-common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param/response/data/CashierQueryData.java
View file @
cfc1022d
...
@@ -2,8 +2,6 @@ package com.liquidnet.common.third.sqb.param.response.data;
...
@@ -2,8 +2,6 @@ package com.liquidnet.common.third.sqb.param.response.data;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.common.third.sqb.param.request.CommonRequest
;
import
com.liquidnet.common.third.sqb.param.request.CommonRequest
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -16,114 +14,168 @@ import java.util.List;
...
@@ -16,114 +14,168 @@ import java.util.List;
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CashierQueryData
{
public
class
CashierQueryData
{
/** 支付工具列表 */
/**
* 支付工具列表
*/
private
List
<
PayTool
>
payTools
;
private
List
<
PayTool
>
payTools
;
/** 已选中的支付工具签名 */
/**
* 已选中的支付工具签名
*/
private
String
selectedSignature
;
private
String
selectedSignature
;
/** 全局提示 */
/**
* 全局提示
*/
private
List
<
String
>
globalTips
;
private
List
<
String
>
globalTips
;
/** 响应唯一序列号 */
/**
* 响应唯一序列号
*/
private
String
seq
;
private
String
seq
;
/** 收单金额 */
/**
* 收单金额
*/
private
Long
amount
;
private
Long
amount
;
/** 收款方信息 */
/**
* 收款方信息
*/
private
Payee
payee
;
private
Payee
payee
;
/** 业务信息 */
/**
* 业务信息
*/
private
BizInfo
bizInfo
;
private
BizInfo
bizInfo
;
/** 金额模型 */
/**
* 金额模型
*/
private
CashierAmount
cashierAmount
;
private
CashierAmount
cashierAmount
;
@Data
/**
/**
* 支付工具详情
* 支付工具详情
*/
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
PayTool
{
public
static
class
PayTool
{
/** 支付工具id */
/**
* 支付工具id
*/
private
Long
id
;
private
Long
id
;
/** 支付工具代码 */
/**
* 支付工具代码
*/
private
String
code
;
private
String
code
;
/** 支付工具名称 */
/**
* 支付工具名称
*/
private
String
name
;
private
String
name
;
/** 支付工具类型 (0表示微信) */
/**
* 支付工具类型 (0表示微信)
*/
private
Integer
type
;
private
Integer
type
;
/** 是否可选 */
/**
* 是否可选
*/
private
Boolean
selectable
;
private
Boolean
selectable
;
/** 是否选中 */
/**
* 是否选中
*/
private
Boolean
selected
;
private
Boolean
selected
;
/** 展示金额 */
/**
* 展示金额
*/
private
Long
showAmount
;
private
Long
showAmount
;
/** 提示列表 */
/**
* 提示列表
*/
private
List
<
String
>
tips
;
private
List
<
String
>
tips
;
/** 金额构成 */
/**
* 金额构成
*/
private
CommonRequest
.
AmountComposition
amountComposition
;
private
CommonRequest
.
AmountComposition
amountComposition
;
}
}
@Data
/**
/**
* 收款方信息
* 收款方信息
*/
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
Payee
{
public
static
class
Payee
{
/** 商户id */
/**
* 商户id
*/
private
String
merchantId
;
private
String
merchantId
;
/** 商户名称 */
/**
* 商户名称
*/
private
String
merchantName
;
private
String
merchantName
;
/** 门店id */
/**
* 门店id
*/
private
String
storeId
;
private
String
storeId
;
/** 门店名称 */
/**
* 门店名称
*/
private
String
storeName
;
private
String
storeName
;
/** 终端号 */
/**
* 终端号
*/
private
String
terminalSn
;
private
String
terminalSn
;
}
}
@Data
/**
/**
* 业务信息
* 业务信息
*/
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
BizInfo
{
public
static
class
BizInfo
{
/** 业务方 */
/**
* 业务方
*/
private
String
bizParty
;
private
String
bizParty
;
/** 交易应用 */
/**
* 交易应用
*/
private
String
tradeApp
;
private
String
tradeApp
;
}
}
@Data
/**
/**
* 金额明细模型
* 金额明细模型
*/
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
CashierAmount
{
public
static
class
CashierAmount
{
/** 原始支付金额 */
/**
* 原始支付金额
*/
private
Long
oriPaymentAmount
;
private
Long
oriPaymentAmount
;
/** 实际支付金额 */
/**
* 实际支付金额
*/
private
Long
discPaymentAmount
;
private
Long
discPaymentAmount
;
/** 优惠金额 */
/**
* 优惠金额
*/
private
Long
discAmount
;
private
Long
discAmount
;
}
}
...
...
liquidnet-bus-common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param/response/data/CreateWechatPrepayOrderData.java
View file @
cfc1022d
...
@@ -41,10 +41,10 @@ public class CreateWechatPrepayOrderData {
...
@@ -41,10 +41,10 @@ public class CreateWechatPrepayOrderData {
*/
*/
private
ChannelInfo
channelInfo
;
private
ChannelInfo
channelInfo
;
@Data
/**
/**
* 订单金额明细
* 订单金额明细
*/
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
AmountDetails
{
public
static
class
AmountDetails
{
...
@@ -102,10 +102,11 @@ public class CreateWechatPrepayOrderData {
...
@@ -102,10 +102,11 @@ public class CreateWechatPrepayOrderData {
private
String
nonceStr
;
private
String
nonceStr
;
}
}
@Data
/**
/**
* 通道信息详情
* 通道信息详情
*/
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
ChannelInfo
{
public
static
class
ChannelInfo
{
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/GoblinSqbOrderServiceImpl.java
View file @
cfc1022d
...
@@ -14,6 +14,7 @@ import com.liquidnet.common.third.sqb.param.response.data.OrderCreateData;
...
@@ -14,6 +14,7 @@ import com.liquidnet.common.third.sqb.param.response.data.OrderCreateData;
import
com.liquidnet.common.third.sqb.param.response.data.SettlementCreateData
;
import
com.liquidnet.common.third.sqb.param.response.data.SettlementCreateData
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.manage.GoblinSqbOrderParam
;
import
com.liquidnet.service.goblin.dto.manage.GoblinSqbOrderParam
;
...
@@ -202,7 +203,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -202,7 +203,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
CreateWechatPrepayOrderData
.
PaymentVoucher
pv
=
prepayData
.
getPaymentVoucher
();
CreateWechatPrepayOrderData
.
PaymentVoucher
pv
=
prepayData
.
getPaymentVoucher
();
log
.
info
(
"[收钱吧下单] 创建微信预支付订单成功,timeStamp={}"
,
pv
.
getTimeStamp
());
log
.
info
(
"[收钱吧下单] 创建微信预支付订单成功,timeStamp={}"
,
pv
.
getTimeStamp
());
String
orderId
=
IDGenerator
.
nextSnowId
();
final
String
orderId
=
IDGenerator
.
nextSnowId
();
String
masterOrderCode
=
IDGenerator
.
nextTimeId
();
String
masterOrderCode
=
IDGenerator
.
nextTimeId
();
String
orderCode
=
IDGenerator
.
nextTimeId
();
String
orderCode
=
IDGenerator
.
nextTimeId
();
String
now
=
LocalDateTime
.
now
().
format
(
DTF
);
String
now
=
LocalDateTime
.
now
().
format
(
DTF
);
...
@@ -290,6 +291,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -290,6 +291,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
goblinSqbRedisUtils
.
setSqbOrder
(
orderId
,
orderVo
);
goblinSqbRedisUtils
.
setSqbOrder
(
orderId
,
orderVo
);
goblinSqbRedisUtils
.
addSqbOrderList
(
userId
,
orderId
);
goblinSqbRedisUtils
.
addSqbOrderList
(
userId
,
orderId
);
goblinSqbRedisUtils
.
setOrderIdBySqbOrderSn
(
sqbOrderSn
,
orderId
);
log
.
info
(
"[收钱吧下单] 订单写入 Redis 成功,orderId={}"
,
orderId
);
log
.
info
(
"[收钱吧下单] 订单写入 Redis 成功,orderId={}"
,
orderId
);
// Step 6: 写 MongoDB + 发送复用的 SQL MQ
// Step 6: 写 MongoDB + 发送复用的 SQL MQ
...
@@ -414,11 +416,11 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -414,11 +416,11 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
@Override
@Override
public
ResponseDto
<
String
>
handlePayCallback
(
OrderCallbackContent
orderCallbackContent
)
{
public
ResponseDto
<
String
>
handlePayCallback
(
OrderCallbackContent
orderCallbackContent
)
{
log
.
info
(
"[收钱吧支付回调] 收到回调参数: {}"
,
orderCallbackContent
);
log
.
info
(
"[收钱吧支付回调] 收到回调参数: {}"
,
orderCallbackContent
);
// TODO 可能需要根据收钱吧的orderSn查询正在的orderId
String
sqbOrderSn
=
orderCallbackContent
.
getOrderSn
();
String
sqbOrderSn
=
orderCallbackContent
.
getOrderSn
();
if
(
sqbOrderSn
==
null
)
return
ResponseDto
.
failure
(
"缺少订单标识"
);
if
(
StringUtil
.
isBlank
(
sqbOrderSn
)
)
return
ResponseDto
.
failure
(
"缺少订单标识"
);
String
orderId
=
""
;
// 可能需要根据收钱吧的orderSn查询正在的orderId
final
String
orderId
=
goblinSqbRedisUtils
.
getOrderIdBySqbOrderSn
(
sqbOrderSn
);
GoblinSqbOrderVo
orderVo
=
goblinSqbRedisUtils
.
getSqbOrder
(
orderId
);
GoblinSqbOrderVo
orderVo
=
goblinSqbRedisUtils
.
getSqbOrder
(
orderId
);
if
(
orderVo
==
null
)
return
ResponseDto
.
failure
(
"订单不存在"
);
if
(
orderVo
==
null
)
return
ResponseDto
.
failure
(
"订单不存在"
);
...
@@ -436,9 +438,12 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -436,9 +438,12 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
@Override
@Override
public
ResponseDto
<
String
>
handleRefundCallback
(
RefundCallbackContent
refundCallbackContent
)
{
public
ResponseDto
<
String
>
handleRefundCallback
(
RefundCallbackContent
refundCallbackContent
)
{
log
.
info
(
"[收钱吧退款回调] 收到回调参数: {}"
,
refundCallbackContent
);
log
.
info
(
"[收钱吧退款回调] 收到回调参数: {}"
,
refundCallbackContent
);
// TODO 可能需要根据收钱吧的orderSn查询正在的orderId
String
orderId
=
refundCallbackContent
.
getOrderSn
();
String
sqbOrderSn
=
refundCallbackContent
.
getOrderSn
();
if
(
orderId
==
null
)
return
ResponseDto
.
failure
(
"缺少订单标识"
);
if
(
StringUtil
.
isBlank
(
sqbOrderSn
))
return
ResponseDto
.
failure
(
"缺少订单标识"
);
// 可能需要根据收钱吧的orderSn查询正在的orderId
final
String
orderId
=
goblinSqbRedisUtils
.
getOrderIdBySqbOrderSn
(
sqbOrderSn
);
GoblinSqbOrderVo
orderVo
=
goblinSqbRedisUtils
.
getSqbOrder
(
orderId
);
GoblinSqbOrderVo
orderVo
=
goblinSqbRedisUtils
.
getSqbOrder
(
orderId
);
if
(
orderVo
==
null
)
return
ResponseDto
.
failure
(
"订单不存在"
);
if
(
orderVo
==
null
)
return
ResponseDto
.
failure
(
"订单不存在"
);
...
@@ -457,9 +462,12 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -457,9 +462,12 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
@Override
@Override
public
ResponseDto
<
String
>
handleCouponCallback
(
CouponCallbackContent
callbackContent
)
{
public
ResponseDto
<
String
>
handleCouponCallback
(
CouponCallbackContent
callbackContent
)
{
log
.
info
(
"[收钱吧券状态回调] 收到回调参数: {}"
,
callbackContent
);
log
.
info
(
"[收钱吧券状态回调] 收到回调参数: {}"
,
callbackContent
);
// TODO 可能需要根据收钱吧的orderSn查询正在的orderId
String
orderId
=
callbackContent
.
getOrderSn
();
String
sqbOrderSn
=
callbackContent
.
getOrderSn
();
if
(
orderId
==
null
)
return
ResponseDto
.
failure
(
"缺少订单标识"
);
if
(
StringUtil
.
isBlank
(
sqbOrderSn
))
return
ResponseDto
.
failure
(
"缺少订单标识"
);
// 可能需要根据收钱吧的orderSn查询正在的orderId
final
String
orderId
=
goblinSqbRedisUtils
.
getOrderIdBySqbOrderSn
(
sqbOrderSn
);
GoblinSqbOrderVo
orderVo
=
goblinSqbRedisUtils
.
getSqbOrder
(
orderId
);
GoblinSqbOrderVo
orderVo
=
goblinSqbRedisUtils
.
getSqbOrder
(
orderId
);
if
(
orderVo
==
null
)
return
ResponseDto
.
failure
(
"订单不存在"
);
if
(
orderVo
==
null
)
return
ResponseDto
.
failure
(
"订单不存在"
);
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinSqbRedisUtils.java
View file @
cfc1022d
...
@@ -139,4 +139,28 @@ public class GoblinSqbRedisUtils {
...
@@ -139,4 +139,28 @@ public class GoblinSqbRedisUtils {
return
(
GoblinSqbGoodsExtVo
)
obj
;
return
(
GoblinSqbGoodsExtVo
)
obj
;
}
}
}
}
/**
* 设置 收钱吧orderSn 与正在orderId 对应关系
* @param sqbOrderSn
* @param orderId
*/
public
void
setOrderIdBySqbOrderSn
(
String
sqbOrderSn
,
String
orderId
)
{
String
redisKey
=
GoblinRedisConst
.
SQB_GOBLIN_ORDER_SN_KEY
.
concat
(
sqbOrderSn
);
redisUtil
.
set
(
redisKey
,
orderId
);
}
/**
* 获取 收钱吧orderSn 与正在orderId 对应关系
* @return
*/
public
String
getOrderIdBySqbOrderSn
(
String
sqbOrderSn
)
{
String
redisKey
=
GoblinRedisConst
.
SQB_GOBLIN_ORDER_SN_KEY
.
concat
(
sqbOrderSn
);
Object
object
=
redisUtil
.
get
(
redisKey
);
if
(
object
==
null
)
{
return
null
;
}
else
{
return
(
String
)
object
;
}
}
}
}
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