记得上下班打卡 | 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
c6d5150f
Commit
c6d5150f
authored
Mar 31, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
收钱吧接口移动到公共三方模块
parent
1ae61d36
Changes
66
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
66 changed files
with
2694 additions
and
958 deletions
+2694
-958
sqb_goods_integration.sql
docu/sqb_goods_integration.sql
+1
-0
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+6
-0
GoblinSqbOrderParam.java
...uidnet/service/goblin/dto/manage/GoblinSqbOrderParam.java
+29
-0
GoblinStoreMgtGoodsSqbAddParam.java
...ice/goblin/dto/manage/GoblinStoreMgtGoodsSqbAddParam.java
+1
-3
GoblinOrderSkuVo.java
...com/liquidnet/service/goblin/dto/vo/GoblinOrderSkuVo.java
+1
-1
GoblinSqbCouponVo.java
...om/liquidnet/service/goblin/dto/vo/GoblinSqbCouponVo.java
+2
-0
GoblinSqbOrderVo.java
...com/liquidnet/service/goblin/dto/vo/GoblinSqbOrderVo.java
+6
-1
GoblinSqbPerfGoodsVo.java
...liquidnet/service/goblin/dto/vo/GoblinSqbPerfGoodsVo.java
+1
-1
CallbackParams.java
...vice/goblin/param/shouqianba/callback/CallbackParams.java
+0
-26
CouponStatusSyncRequest.java
...lin/param/shouqianba/request/CouponStatusSyncRequest.java
+0
-33
GoblinSqbGoodsSyncParam.java
...lin/param/shouqianba/request/GoblinSqbGoodsSyncParam.java
+0
-31
IGoblinShouQianBaService.java
...dnet/service/goblin/service/IGoblinShouQianBaService.java
+0
-219
IGoblinSqbOrderService.java
...uidnet/service/goblin/service/IGoblinSqbOrderService.java
+14
-69
IGoblinSqbService.java
...m/liquidnet/service/goblin/service/IGoblinSqbService.java
+65
-0
pom.xml
...liquidnet-common-third/liquidnet-common-third-sqb/pom.xml
+27
-0
SqbBiz.java
.../main/java/com/liquidnet/common/third/sqb/biz/SqbBiz.java
+62
-123
SqbConfig.java
...java/com/liquidnet/common/third/sqb/config/SqbConfig.java
+2
-2
CallbackParams.java
...idnet/common/third/sqb/param/callback/CallbackParams.java
+26
-0
CouponCallbackContent.java
...ommon/third/sqb/param/callback/CouponCallbackContent.java
+111
-0
OrderCallbackContent.java
...common/third/sqb/param/callback/OrderCallbackContent.java
+108
-0
RefundCallbackContent.java
...ommon/third/sqb/param/callback/RefundCallbackContent.java
+76
-0
AcquiringCreateRequest.java
...ommon/third/sqb/param/request/AcquiringCreateRequest.java
+45
-0
CashierQueryRequest.java
...t/common/third/sqb/param/request/CashierQueryRequest.java
+48
-0
CommonRequest.java
...quidnet/common/third/sqb/param/request/CommonRequest.java
+71
-29
CouponQueryRequest.java
...et/common/third/sqb/param/request/CouponQueryRequest.java
+22
-0
CouponRefundRequest.java
...t/common/third/sqb/param/request/CouponRefundRequest.java
+81
-0
CouponStatusSyncRequest.java
...mmon/third/sqb/param/request/CouponStatusSyncRequest.java
+34
-0
CreateWechatPrepayOrderRequest.java
...ird/sqb/param/request/CreateWechatPrepayOrderRequest.java
+97
-0
MallListQueryRequest.java
.../common/third/sqb/param/request/MallListQueryRequest.java
+82
-0
MallProductsQueryRequest.java
...mon/third/sqb/param/request/MallProductsQueryRequest.java
+21
-0
OrderCreateRequest.java
...et/common/third/sqb/param/request/OrderCreateRequest.java
+41
-0
SettlementCreateRequest.java
...mmon/third/sqb/param/request/SettlementCreateRequest.java
+65
-0
AcquiringCreateResponse.java
...mon/third/sqb/param/response/AcquiringCreateResponse.java
+7
-4
BaseResponse.java
...quidnet/common/third/sqb/param/response/BaseResponse.java
+28
-0
CashierQueryResponse.java
...common/third/sqb/param/response/CashierQueryResponse.java
+6
-4
CouponQueryResponse.java
.../common/third/sqb/param/response/CouponQueryResponse.java
+7
-4
CouponRefundResponse.java
...common/third/sqb/param/response/CouponRefundResponse.java
+6
-4
CouponStatusSyncResponse.java
...on/third/sqb/param/response/CouponStatusSyncResponse.java
+5
-4
CreateWechatPrepayOrderResponse.java
...d/sqb/param/response/CreateWechatPrepayOrderResponse.java
+7
-4
MallListQueryResponse.java
...ommon/third/sqb/param/response/MallListQueryResponse.java
+7
-4
MallProductsQueryResponse.java
...n/third/sqb/param/response/MallProductsQueryResponse.java
+6
-4
OrderCreateResponse.java
.../common/third/sqb/param/response/OrderCreateResponse.java
+3
-4
SettlementCreateResponse.java
...on/third/sqb/param/response/SettlementCreateResponse.java
+3
-4
AcquiringCreateData.java
...on/third/sqb/param/response/data/AcquiringCreateData.java
+7
-4
CashierQueryData.java
...ommon/third/sqb/param/response/data/CashierQueryData.java
+130
-0
CouponQueryData.java
...common/third/sqb/param/response/data/CouponQueryData.java
+46
-0
CouponRefundData.java
...ommon/third/sqb/param/response/data/CouponRefundData.java
+22
-0
CreateWechatPrepayOrderData.java
.../sqb/param/response/data/CreateWechatPrepayOrderData.java
+90
-0
MallListQueryData.java
...mmon/third/sqb/param/response/data/MallListQueryData.java
+148
-0
MallProductsQueryData.java
.../third/sqb/param/response/data/MallProductsQueryData.java
+58
-0
OrderCreateData.java
...common/third/sqb/param/response/data/OrderCreateData.java
+26
-0
SettlementCreateData.java
...n/third/sqb/param/response/data/SettlementCreateData.java
+17
-0
pom.xml
liquidnet-bus-common/liquidnet-common-third/pom.xml
+1
-0
pom.xml
...dnet-service-goblin/liquidnet-service-goblin-impl/pom.xml
+6
-0
GoblinSqbController.java
...uidnet/service/goblin/controller/GoblinSqbController.java
+100
-0
GoblinSqbJobController.java
...rvice/goblin/controller/Inner/GoblinSqbJobController.java
+3
-3
GoblinStoreMgtSqbGoodsController.java
...n/controller/manage/GoblinStoreMgtSqbGoodsController.java
+3
-3
GoblinSqbServiceImpl.java
...net/service/goblin/service/impl/GoblinSqbServiceImpl.java
+407
-0
GoblinStoreMgtSqbGoodsServiceImpl.java
...ervice/impl/manage/GoblinStoreMgtSqbGoodsServiceImpl.java
+13
-16
GoblinSqbRedisUtils.java
...om/liquidnet/service/goblin/util/GoblinSqbRedisUtils.java
+17
-2
sqlmap.properties
...-service-goblin-impl/src/main/resources/sqlmap.properties
+3
-2
pom.xml
...uidnet-service-order/liquidnet-service-order-impl/pom.xml
+6
-0
GoblinSqbOrderController.java
...et/service/order/controller/GoblinSqbOrderController.java
+135
-0
GoblinSqbOrderServiceImpl.java
...service/order/service/impl/GoblinSqbOrderServiceImpl.java
+115
-349
GoblinSqbConvertUtils.java
.../liquidnet/service/order/utils/GoblinSqbConvertUtils.java
+1
-1
GoblinSqbRedisUtils.java
...om/liquidnet/service/order/utils/GoblinSqbRedisUtils.java
+110
-0
No files found.
docu/sqb_goods_integration.sql
View file @
c6d5150f
...
...
@@ -53,6 +53,7 @@ CREATE TABLE `goblin_sqb_order` (
`sqb_order_sn`
VARCHAR
(
64
)
COMMENT
'收钱吧订单号'
,
`sqb_order_signature`
VARCHAR
(
256
)
COMMENT
'收钱吧订单签名'
,
`sqb_acquiring_sn`
VARCHAR
(
64
)
COMMENT
'收钱吧收单号'
,
`sqb_acquiring_sign`
VARCHAR
(
255
)
DEFAULT
''
COMMENT
'收钱吧收单密钥'
,
`sqb_checkout_items_id`
VARCHAR
(
64
)
COMMENT
'结算明细ID'
,
`coupon_sn`
VARCHAR
(
64
)
COMMENT
'券码编号'
,
`coupon_qr_code`
VARCHAR
(
512
)
COMMENT
'核销二维码'
,
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
c6d5150f
...
...
@@ -446,4 +446,10 @@ public class GoblinRedisConst {
*/
public
static
final
String
SQB_ORDER_LOCK
=
PREFIX
.
concat
(
"sqb:order:lock:"
);
/**
* 收钱吧 用户订单列表
*/
public
static
final
String
SQB_GOBLIN_ORDER_LIST
=
PREFIX
.
concat
(
"sqb:order:id:list:"
);
//用户订单id列表 key:$uid
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinSqbOrderParam.java
0 → 100644
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
manage
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
@ApiModel
(
value
=
"GoblinSqbOrderParam"
)
@Data
public
class
GoblinSqbOrderParam
{
@ApiModelProperty
(
required
=
true
,
value
=
"apuId"
)
@NotBlank
(
message
=
"商品不能为空"
)
private
String
spuId
;
@ApiModelProperty
(
required
=
true
,
value
=
"skuId"
)
@NotBlank
(
message
=
"商品规格不能为空"
)
private
String
skuId
;
@ApiModelProperty
(
required
=
true
,
value
=
"购买数量"
)
@NotNull
(
message
=
"购买数量不能为空"
)
private
Integer
quantity
;
@ApiModelProperty
(
required
=
true
,
value
=
"关联演出ID"
)
@NotBlank
(
message
=
"关联演出ID不能为空"
)
private
String
performancesId
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinStoreMgtGoodsSqbAddParam.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
manage
;
import
com.liquidnet.common.third.sqb.param.response.data.MallProductsQueryData
;
import
com.liquidnet.commons.lang.constant.LnsRegex
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.goblin.dto.GoblinGoodsSpecDto
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.param.shouqianba.response.data.MallProductsQueryData
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -152,7 +151,6 @@ public class GoblinStoreMgtGoodsSqbAddParam implements Serializable {
}
/**
* 编辑SPU参数整理
*
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinOrderSkuVo.java
View file @
c6d5150f
...
...
@@ -78,7 +78,7 @@ public class GoblinOrderSkuVo implements Serializable, Cloneable {
* ---------------------------- 以下为券类商品-代金券属性 ----------------------------
*/
@ApiModelProperty
(
value
=
"商品类型[0-常规|1-数字藏品|2-券类商品]"
)
@ApiModelProperty
(
value
=
"商品类型[0-常规|1-数字藏品|2-券类商品]
33-收钱吧商品
"
)
private
Integer
skuType
;
@ApiModelProperty
(
value
=
"是否实名[0-否|1-是,表示该商品需要实名关联],这里默认0"
)
private
Integer
isTrueName
;
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinSqbCouponVo.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
@ApiModel
(
value
=
"用户端-查询券码-VO"
)
public
class
GoblinSqbCouponVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
couponSn
;
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinSqbOrderVo.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
...
...
@@ -16,13 +17,17 @@ public class GoblinSqbOrderVo implements Serializable {
private
String
sqbOrderSn
;
private
String
sqbOrderSignature
;
private
String
sqbAcquiringSn
;
private
String
sqbAcquiringSign
;
private
String
sqbCheckoutItemsId
;
private
String
couponSn
;
private
String
couponQrCode
;
private
String
couponExpireTime
;
private
Integer
status
;
// 0-待支付 1-已支付 2-已核销 3-已退款 4-退款中 9-失败
private
Integer
couponUsedStatus
;
// 0-未核销 1-已核销
private
String
refundReason
;
private
String
createdAt
;
private
String
updatedAt
;
// 扩展属性
private
Integer
couponUsedStatus
;
// 0-未核销 1-已核销
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinSqbPerfGoodsVo.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.MallProductsQueryData
;
import
com.liquidnet.
common.third.sqb.param
.response.data.MallProductsQueryData
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba/callback/CallbackParams.java
deleted
100644 → 0
View file @
1ae61d36
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
callback
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"CallbackParams"
,
description
=
"收钱吧微信小店订单推送请求体"
)
public
class
CallbackParams
{
@ApiModelProperty
(
value
=
"推送事件ID,全局唯一"
,
example
=
"2024013000594610646"
)
private
Long
eventId
;
@ApiModelProperty
(
value
=
"推送时间戳,当前时间毫秒值"
,
example
=
"1706679507593"
)
private
Long
timestamp
;
@ApiModelProperty
(
value
=
"随机字串,用于签名"
,
example
=
"j9xd5kc7ixcryy7at5rrrv24xty783th"
)
private
String
nonce
;
@ApiModelProperty
(
value
=
"订单数据 JSON字符串 (详见 SqbOrderContentDTO)"
)
private
String
content
;
@ApiModelProperty
(
value
=
"报文签名"
,
example
=
"bryyeKJ6opUothNTz1s3+F98LOl2Teji6T4XcEAejxdt..."
)
private
String
signature
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba/request/CouponStatusSyncRequest.java
deleted
100644 → 0
View file @
1ae61d36
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
@ApiModel
(
value
=
"券码状态同步"
)
public
class
CouponStatusSyncRequest
{
@ApiModelProperty
(
required
=
true
,
value
=
"应用ID(聚合收单唯一ID,需申请)"
)
private
String
appid
;
@ApiModelProperty
(
required
=
true
,
value
=
"券号"
)
private
List
<
String
>
voucherNos
;
@ApiModelProperty
(
required
=
true
,
value
=
"用户ID(自定义,核销用户id)"
)
private
String
redeemMerchantId
;
@ApiModelProperty
(
required
=
true
,
value
=
"外部单号(${AppCode}+id,AppCode需要分配)"
)
private
String
redeemExternalOrderSn
;
@ApiModelProperty
(
required
=
true
,
value
=
"来源(固定值:EXTERN)"
)
private
String
redeemSource
;
@ApiModelProperty
(
required
=
true
,
value
=
"核销终端号(自定义)"
)
private
String
clientSn
;
@ApiModelProperty
(
required
=
true
,
value
=
"券使用状态(0未核销,1已核销)"
)
private
Byte
status
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba/request/GoblinSqbGoodsSyncParam.java
deleted
100644 → 0
View file @
1ae61d36
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* 收钱吧商品同步单项参数
*/
@Data
public
class
GoblinSqbGoodsSyncParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@NotBlank
(
message
=
"收钱吧商品 ID 不能为空"
)
@ApiModelProperty
(
value
=
"收钱吧商品 ID (对应 spuId)"
,
required
=
true
)
private
String
sqbProductId
;
@ApiModelProperty
(
value
=
"收钱吧商品编码 (非必填)"
)
private
String
sqbProductSn
;
@NotBlank
(
message
=
"商城编号不能为空"
)
@ApiModelProperty
(
value
=
"收钱吧商城编号"
,
required
=
true
)
private
String
mallSn
;
@NotBlank
(
message
=
"商城签名不能为空"
)
@ApiModelProperty
(
value
=
"收钱吧商城签名"
,
required
=
true
)
private
String
mallSignature
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinShouQianBaService.java
deleted
100644 → 0
View file @
1ae61d36
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.service.goblin.param.shouqianba.callback.CallbackParams
;
import
com.liquidnet.service.goblin.param.shouqianba.request.*
;
import
com.liquidnet.service.goblin.param.shouqianba.response.data.*
;
import
java.util.List
;
import
java.util.Map
;
/**
* 收钱吧对接接口定义
*
* @author liquidnet
* @since 2026-03-16
*/
public
interface
IGoblinShouQianBaService
{
/**
* 创建结算明细
* <p>
* 对接收钱吧「创建结算明细」接口,向收钱吧上传订单结算数据。
* </p>
*
* @param request 创建结算明细请求参数
* @return 收钱吧响应结果;调用失败时返回 null
*/
SettlementCreateData
createSettlement
(
SettlementCreateRequest
request
);
/**
*
* @param mallSn 商城ID
* @param signature 商城密钥
* @param userId 正在用户ID
* @param checkoutItems 商品
* @return
*/
SettlementCreateData
createSettlement
(
String
mallSn
,
String
signature
,
String
userId
,
List
<
SettlementCreateRequest
.
CheckoutItem
>
checkoutItems
);
/**
* 创建订单
*
* @param request
* @return
*/
OrderCreateData
createOrder
(
OrderCreateRequest
request
);
/**
*
* @param mallSn 商城ID
* @param signature 商城密钥
* @param checkoutItemsId 创建结算明细 返回的 结算项ID
* @param userId 正在用户ID
* @param requestId 请求ID
* @param subject 标题
* @return
*/
OrderCreateData
createOrder
(
String
mallSn
,
String
signature
,
String
checkoutItemsId
,
String
userId
,
String
requestId
,
String
subject
);
/**
* 创建收单
* 如果上一步创建收单失败 可以使用这个接口重新创建收单
*
* @return
*/
AcquiringCreateData
createAcquiring
(
AcquiringCreateRequest
request
);
/**
* 查询收银台
*
* @param request
* @return
*/
CashierQueryData
queryCashier
(
CashierQueryRequest
request
);
/**
* 查询收银台
* @param acquiringSn 收单号
* @param acquiringSignature 收单密钥
* @param userId 正在用户ID
* @return
*/
CashierQueryData
queryCashier
(
String
acquiringSn
,
String
acquiringSignature
,
String
userId
);
/**
* 创建微信预支付订单
*
* @param request
* @return
*/
CreateWechatPrepayOrderData
createWechatPrepayOrder
(
CreateWechatPrepayOrderRequest
request
);
/**
* 创建微信预支付订单
*
* @param acquiringSn 收单号
* @param signature 收单签名
* @param userId 正在用户ID
* @param amount 支付金额
* @param requestSn 支付请求号
* @param payTool 支付工具代码
* @param channelExt 通道扩展参数
* @param selectedSignature 支付工具签名
* @param seq 序列号 上一步seq(查询收银台)
* @return
*/
CreateWechatPrepayOrderData
createWechatPrepayOrder
(
String
acquiringSn
,
String
signature
,
String
userId
,
String
amount
,
String
requestSn
,
CashierQueryData
.
PayTool
payTool
,
Map
<
String
,
Object
>
channelExt
,
String
selectedSignature
,
String
seq
);
/**
* 查询券码
*
* @param request
* @return
*/
CouponQueryData
queryCoupon
(
CouponQueryRequest
request
);
/**
* 查询券码
* @param sn 订单ID
* @param signature 订单密码
* @return
*/
CouponQueryData
queryCoupon
(
String
sn
,
String
signature
);
/**
* 券码状态同步
*
* @param request
* @return
*/
boolean
syncCouponStatus
(
CouponStatusSyncRequest
request
);
/**
* 券码状态同步
* @param redeemMerchantId 用户ID(自定义,核销用户id)
* @param voucherNos 券号
* @param redeemExternalOrderSn 外部单号(${AppCode}+id,AppCode需要分配)
* @param clientSn 核销终端号(自定义)
* @param status 券使用状态(0未核销,1已核销)
* @return
*/
boolean
syncCouponStatus
(
String
redeemMerchantId
,
List
<
String
>
voucherNos
,
String
redeemExternalOrderSn
,
String
clientSn
,
Byte
status
);
/**
* 券退款
*
* @param request
* @return
*/
CouponRefundData
refundCoupon
(
CouponRefundRequest
request
);
/**
* @param sn 单号(前置操作后拿到)
* @param signature 密码(前置操作后拿到)
* @param applyAmount 金额
* @param type 退款类型(1商品 2金额)
* @param item
* @param refundReason 退款原因
* @param requestId 退款请求id(${AppCode}+id)
* @return
*/
CouponRefundData
refundCoupon
(
String
sn
,
String
signature
,
Long
applyAmount
,
Byte
type
,
List
<
CouponRefundRequest
.
RefundItem
>
item
,
String
refundReason
,
String
requestId
);
/**
* 商城列表接口
*
* @param request
* @return
*/
List
<
MallListQueryData
>
queryMallList
(
MallListQueryRequest
request
);
/**
*
* @param endCursor 结束游标 上一页的结束游标(首次查询传 null)
* @param count 查询数量 每页返回的最大订单数
* @return
*/
List
<
MallListQueryData
>
queryMallList
(
String
endCursor
,
Integer
count
);
/**
* 商城商品接口
*
* @param request
* @return
*/
List
<
MallProductsQueryData
>
queryMallProducts
(
MallProductsQueryRequest
request
);
/**
* 商城商品接口
* @param mallSn 商城ID
* @param signature 商城密码
* @return
*/
List
<
MallProductsQueryData
>
queryMallProducts
(
String
mallSn
,
String
signature
);
/**
* 验签
* @param callbackParams
* @return
*/
boolean
verifySignature
(
CallbackParams
callbackParams
);
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinSqbOrderService.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.common.third.sqb.param.callback.CouponCallbackContent
;
import
com.liquidnet.common.third.sqb.param.callback.OrderCallbackContent
;
import
com.liquidnet.common.third.sqb.param.callback.RefundCallbackContent
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.
vo.GoblinSqbCouponVo
;
import
com.liquidnet.service.goblin.dto.
manage.GoblinSqbOrderParam
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderCreateVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderDetailVo
;
import
com.liquidnet.service.goblin.param.shouqianba.callback.CouponCallbackContent
;
import
com.liquidnet.service.goblin.param.shouqianba.callback.OrderCallbackContent
;
import
com.liquidnet.service.goblin.param.shouqianba.callback.RefundCallbackContent
;
import
java.util.List
;
/**
* 收钱吧订单服务接口
...
...
@@ -18,51 +15,32 @@ public interface IGoblinSqbOrderService {
/**
* 创建收钱吧订单
*
* @param userId 用户ID(从 token 获取)
* @param spuId 商品 SPU ID
* @param skuId 商品 SKU ID
* @param quantity 购买数量
* @param performancesId 关联演出 ID
* @param userId 用户ID(从 token 获取)
* @param orderParam
* @return 订单创建结果(orderId、acquiringSn、paymentVoucher)
*/
ResponseDto
<
GoblinSqbOrderCreateVo
>
createOrder
(
String
userId
,
String
spuId
,
String
skuId
,
Integer
quantity
,
String
performancesId
);
ResponseDto
<
GoblinSqbOrderCreateVo
>
createOrder
(
String
userId
,
GoblinSqbOrderParam
orderParam
);
/**
* 查询支付状态
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return 支付状态(0-待支付 1-已支付 9-失败)
*/
ResponseDto
<
Integer
>
queryPayStatus
(
String
userId
,
String
orderId
);
/**
*
获取核销二维码(券码
)
*
再次付款(待支付状态下重新拉起微信支付
)
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return
券码信息(couponSn、couponQrCode、couponExpireTime
)
* @return
新的 paymentVoucher(复用原 orderId
)
*/
ResponseDto
<
GoblinSqb
CouponVo
>
queryCoupon
(
String
userId
,
String
orderId
);
ResponseDto
<
GoblinSqb
OrderCreateVo
>
repay
(
String
userId
,
String
orderId
);
/**
* 申请退款
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return 退款结果
*/
ResponseDto
<
Boolean
>
refund
(
String
userId
,
String
orderId
);
/**
*
主动同步核销
状态
*
查询支付
状态
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return
同步结果
* @return
支付状态(0-待支付 1-已支付 9-失败)
*/
ResponseDto
<
Boolean
>
syncCouponStatus
(
String
userId
,
String
orderId
);
ResponseDto
<
Integer
>
queryPayStatus
(
String
userId
,
String
orderId
);
/**
* 支付成功回调(收钱吧主动推送)
...
...
@@ -85,37 +63,4 @@ public interface IGoblinSqbOrderService {
*/
ResponseDto
<
String
>
handleCouponCallback
(
CouponCallbackContent
callbackContent
);
/**
* 演出结束自动退款(定时任务调用)
*
* @param performancesId 演出ID
* @return 处理结果摘要(成功/失败笔数)
*/
ResponseDto
<
String
>
autoRefundByPerformance
(
String
performancesId
);
/**
* 查询用户收钱吧订单列表
*
* @param userId 用户ID
* @return 收钱吧订单列表(仅 skuType=33 的订单,按下单时间倒序)
*/
ResponseDto
<
List
<
GoblinSqbOrderDetailVo
>>
getOrderList
(
String
userId
);
/**
* 查询收钱吧订单详情
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return 订单详情(基础信息 + 收钱吧扩展信息)
*/
ResponseDto
<
GoblinSqbOrderDetailVo
>
getOrderDetail
(
String
userId
,
String
orderId
);
/**
* 再次付款(待支付状态下重新拉起微信支付)
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return 新的 paymentVoucher(复用原 orderId)
*/
ResponseDto
<
GoblinSqbOrderCreateVo
>
repay
(
String
userId
,
String
orderId
);
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinSqbService.java
0 → 100644
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbCouponVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderDetailVo
;
import
java.util.List
;
public
interface
IGoblinSqbService
{
/**
* 获取核销二维码(券码)
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return 券码信息(couponSn、couponQrCode、couponExpireTime)
*/
ResponseDto
<
GoblinSqbCouponVo
>
queryCoupon
(
String
userId
,
String
orderId
);
/**
* 申请退款
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return 退款结果
*/
ResponseDto
<
Boolean
>
refund
(
String
userId
,
String
orderId
);
/**
* 主动同步核销状态
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return 同步结果
*/
ResponseDto
<
Boolean
>
syncCouponStatus
(
String
userId
,
String
orderId
);
/**
* 演出结束自动退款(定时任务调用)
* TODO
* @param performancesId 演出ID
* @return 处理结果摘要(成功/失败笔数)
*/
ResponseDto
<
String
>
autoRefundByPerformance
(
String
performancesId
);
/**
* 查询用户收钱吧订单列表
*
* @param userId 用户ID
* @return 收钱吧订单列表(仅 skuType=33 的订单,按下单时间倒序)
*/
ResponseDto
<
List
<
GoblinSqbOrderDetailVo
>>
getOrderList
(
String
userId
);
/**
* 查询收钱吧订单详情
*
* @param userId 用户ID
* @param orderId 本地订单ID
* @return 订单详情(基础信息 + 收钱吧扩展信息)
*/
ResponseDto
<
GoblinSqbOrderDetailVo
>
getOrderDetail
(
String
userId
,
String
orderId
);
}
liquidnet-bus-common/liquidnet-common-third/liquidnet-common-third-sqb/pom.xml
0 → 100644
View file @
c6d5150f
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-third
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
liquidnet-common-third-sqb
</artifactId>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-base
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
liquidnet-bus-
service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinShouQianBaServiceImpl
.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/biz/SqbBiz
.java
View file @
c6d5150f
This diff is collapsed.
Click to expand it.
liquidnet-bus-
service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/config/properties/ShouqianbaProperties
.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/config/SqbConfig
.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
config
.
properties
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
config
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
@Component
@Setter
@Getter
public
class
S
houqianbaProperties
{
public
class
S
qbConfig
{
private
String
appId
;
...
...
liquidnet-bus-common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param/callback/CallbackParams.java
0 → 100644
View file @
c6d5150f
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
callback
;
import
lombok.Data
;
@Data
/**
* CallbackParams
*/
public
class
CallbackParams
{
/** 推送事件ID,全局唯一 */
private
Long
eventId
;
/** 推送时间戳,当前时间毫秒值 */
private
Long
timestamp
;
/** 随机字串,用于签名 */
private
String
nonce
;
/** 订单数据 JSON字符串 (详见 SqbOrderContentDTO) */
private
String
content
;
/** 报文签名 */
private
String
signature
;
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/callback/CouponCallbackContent.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/callback/CouponCallbackContent.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
callback
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
callback
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
@ApiModel
(
value
=
"SqbVoucherStatusDTO"
,
description
=
"收钱吧券状态推送内容详情"
)
/**
* SqbVoucherStatusDTO
*/
public
class
CouponCallbackContent
{
@ApiModelProperty
(
value
=
"订单Sn"
)
/** 订单Sn */
private
String
orderSn
;
@ApiModelProperty
(
value
=
"商城Sn"
)
/** 商城Sn */
private
String
mallSn
;
@ApiModelProperty
(
value
=
"商户Sn"
)
/** 商户Sn */
private
String
merchantSn
;
@ApiModelProperty
(
value
=
"门店id"
)
/** 门店id */
private
String
storeId
;
@ApiModelProperty
(
value
=
"券列表信息"
)
/** 券列表信息 */
private
List
<
VoucherItem
>
voucherList
;
@Data
@ApiModel
(
"VoucherItem"
)
/**
* VoucherItem
*/
public
static
class
VoucherItem
{
@ApiModelProperty
(
value
=
"券号"
)
/** 券号 */
private
String
voucherNo
;
@ApiModelProperty
(
value
=
"类型"
)
/** 类型 */
private
String
type
;
@ApiModelProperty
(
value
=
"券状态 (0未核销, 1已核销, 2未核销退款, 3已核销退款中, 4未核销退款完成, 5已核销退款完成, 6已失效)"
)
/** 券状态 (0未核销, 1已核销, 2未核销退款, 3已核销退款中, 4未核销退款完成, 5已核销退款完成, 6已失效) */
private
Byte
targetState
;
@ApiModelProperty
(
value
=
"券原状态"
)
/** 券原状态 */
private
Byte
sourceState
;
@ApiModelProperty
(
value
=
"券名称"
)
/** 券名称 */
private
String
voucherName
;
@ApiModelProperty
(
value
=
"操作时间 (yyyy-MM-dd HH:mm:ss)"
)
/** 操作时间 (yyyy-MM-dd HH:mm:ss) */
private
String
operationTime
;
@ApiModelProperty
(
value
=
"券对应的商品信息"
)
/** 券对应的商品信息 */
private
VoucherProductInfo
item
;
@ApiModelProperty
(
value
=
"券二维码地址"
)
/** 券二维码地址 */
private
String
qrCodeUrl
;
@ApiModelProperty
(
value
=
"券二维码内容"
)
/** 券二维码内容 */
private
String
qrCodeContent
;
@ApiModelProperty
(
value
=
"原金额 (单位:分)"
)
/** 原金额 (单位:分) */
private
Long
oriAmount
;
@ApiModelProperty
(
value
=
"实收金额 (单位:分)"
)
/** 实收金额 (单位:分) */
private
Long
receivedAmount
;
@ApiModelProperty
(
value
=
"核销信息 (已核销会有这部分)"
)
/** 核销信息 (已核销会有这部分) */
private
RedeemInfo
redeemInfo
;
}
@Data
@ApiModel
(
"VoucherProductInfo"
)
/**
* VoucherProductInfo
*/
public
static
class
VoucherProductInfo
{
@ApiModelProperty
(
value
=
"spuId"
)
/** spuId */
private
Long
spuId
;
@ApiModelProperty
(
value
=
"skuId"
)
/** skuId */
private
Long
skuId
;
@ApiModelProperty
(
value
=
"商品标题"
)
/** 商品标题 */
private
String
title
;
@ApiModelProperty
(
value
=
"商品图片地址"
)
/** 商品图片地址 */
private
String
img
;
}
@Data
@ApiModel
(
"RedeemInfo"
)
/**
* RedeemInfo
*/
public
static
class
RedeemInfo
{
@ApiModelProperty
(
value
=
"操作来源 (如: EXTERN)"
)
/** 操作来源 (如: EXTERN) */
private
String
redeemSource
;
@ApiModelProperty
(
value
=
"操作appId"
)
/** 操作appId */
private
String
redeemAppId
;
@ApiModelProperty
(
value
=
"客户端编码"
)
/** 客户端编码 */
private
String
redeemClientSn
;
@ApiModelProperty
(
value
=
"外部编码 (appId + 请求号)"
)
/** 外部编码 (appId + 请求号) */
private
String
redeemExternalOrderSn
;
@ApiModelProperty
(
value
=
"操作商户 (userId)"
)
/** 操作商户 (userId) */
private
String
operatorMerchantId
;
}
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/callback/OrderCallbackContent.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/callback/OrderCallbackContent.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
callback
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
callback
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Data
@ApiModel
(
value
=
"OrderCallbackContent"
,
description
=
"收钱吧订单推送 Content 具体数据"
)
/**
* OrderCallbackContent
*/
public
class
OrderCallbackContent
{
@ApiModelProperty
(
value
=
"订单号"
,
example
=
"71655367906162"
)
/** 订单号 */
private
String
orderSn
;
@ApiModelProperty
(
value
=
"支付流水号列表"
,
example
=
"[\"7894259297368060\"]"
)
/** 支付流水号列表 */
private
List
<
String
>
payTsnList
;
@ApiModelProperty
(
value
=
"终端号"
,
example
=
"2101056320290541156"
)
/** 终端号 */
private
String
terminalSn
;
@ApiModelProperty
(
value
=
"门店号"
,
example
=
"21590000000630325"
)
/** 门店号 */
private
String
storeSn
;
@ApiModelProperty
(
value
=
"商城名称"
,
example
=
"智能商城0206-17:35"
)
/** 商城名称 */
private
String
mallName
;
@ApiModelProperty
(
value
=
"订单金额"
,
example
=
"2"
)
/** 订单金额 */
private
BigDecimal
orderAmount
;
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
"2024-02-20 10:46:32"
)
/** 创建时间 */
private
String
createdAt
;
@ApiModelProperty
(
value
=
"订单状态码 0:已创建 10:已支付 35:已完成 40:已取消"
,
example
=
"35"
)
/** 订单状态码 0:已创建 10:已支付 35:已完成 40:已取消 */
private
Integer
orderStateCode
;
@ApiModelProperty
(
value
=
"商品明细列表"
)
/** 商品明细列表 */
private
List
<
Item
>
items
;
@ApiModelProperty
(
value
=
"收集的信息 JSON字符串"
,
example
=
"[{\"type\":\"text\",\"form\":\"basic\",\"fieldName\":\"姓名\",\"content\":\"\"}]"
)
/** 收集的信息 JSON字符串 */
private
String
collectedInfo
;
@ApiModelProperty
(
value
=
"预订单编码"
)
/** 预订单编码 */
private
List
<
String
>
preOrderSns
;
@ApiModelProperty
(
value
=
"订单签名"
)
/** 订单签名 */
private
String
orderSignature
;
@ApiModelProperty
(
value
=
"支付的代客下单数据"
)
/** 支付的代客下单数据 */
private
List
<
PreOrder
>
preOrderList
;
@Data
@ApiModel
(
value
=
"商品明细"
)
/**
* 商品明细
*/
public
static
class
Item
{
@ApiModelProperty
(
value
=
"商品标题"
)
/** 商品标题 */
private
String
title
;
@ApiModelProperty
(
value
=
"规格描述"
)
/** 规格描述 */
private
String
skuDesc
;
@ApiModelProperty
(
value
=
"数量"
)
/** 数量 */
private
String
quantity
;
@ApiModelProperty
(
value
=
"单位"
)
/** 单位 */
private
String
unit
;
}
@Data
@ApiModel
(
value
=
"采集数据"
)
/**
* 采集数据
*/
public
static
class
CollectedInfo
{
@ApiModelProperty
(
value
=
"控件类型"
)
/** 控件类型 */
private
String
type
;
@ApiModelProperty
(
value
=
"控件格式"
)
/** 控件格式 */
private
String
form
;
@ApiModelProperty
(
value
=
"字段名"
)
/** 字段名 */
private
String
fieldName
;
@ApiModelProperty
(
value
=
"采集数据内容"
)
/** 采集数据内容 */
private
String
content
;
}
@Data
@ApiModel
(
value
=
"支付的代客下单数据"
)
/**
* 支付的代客下单数据
*/
public
static
class
PreOrder
{
@ApiModelProperty
(
value
=
"预订单id"
)
/** 预订单id */
private
String
preOrderId
;
@ApiModelProperty
(
value
=
"预订单编号"
)
/** 预订单编号 */
private
String
preOrderSn
;
@ApiModelProperty
(
value
=
"请求号"
)
/** 请求号 */
private
String
requestId
;
}
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/callback/RefundCallbackContent.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/callback/RefundCallbackContent.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
callback
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
callback
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
@ApiModel
(
value
=
"SqbRefundContentDTO"
,
description
=
"收钱吧退款推送内容详情"
)
/**
* SqbRefundContentDTO
*/
public
class
RefundCallbackContent
{
@ApiModelProperty
(
value
=
"售后单号 (全局唯一)"
,
example
=
"71582143744560"
)
/** 售后单号 (全局唯一) */
private
String
ticketSn
;
@ApiModelProperty
(
value
=
"订单号"
,
example
=
"2101056320290513285"
)
/** 订单号 */
private
String
orderSn
;
@ApiModelProperty
(
value
=
"原状态"
)
/** 原状态 */
private
Integer
sourceState
;
@ApiModelProperty
(
value
=
"目标状态 (20:完成, 15:退款完成, 0:创建, 10:退款中, 30:取消退款)"
,
example
=
"15"
)
/** 目标状态 (20:完成, 15:退款完成, 0:创建, 10:退款中, 30:取消退款) */
private
Integer
targetState
;
@ApiModelProperty
(
value
=
"下单金额 (单位:分)"
,
example
=
"100"
)
/** 下单金额 (单位:分) */
private
Long
amount
;
@ApiModelProperty
(
value
=
"申请金额 (单位:分)"
,
example
=
"100"
)
/** 申请金额 (单位:分) */
private
Long
applyAmount
;
@ApiModelProperty
(
value
=
"请求号"
)
/** 请求号 */
private
String
requestId
;
@ApiModelProperty
(
value
=
"来源 (如: EXTERN)"
)
/** 来源 (如: EXTERN) */
private
String
requestSource
;
@ApiModelProperty
(
value
=
"退款的商品信息"
)
/** 退款的商品信息 */
private
SqbRefundItemContainer
item
;
@Data
@ApiModel
(
"SqbRefundItemContainer"
)
/**
* SqbRefundItemContainer
*/
public
static
class
SqbRefundItemContainer
{
@ApiModelProperty
(
value
=
"退款类型 (1:商品, 2:金额)"
)
/** 退款类型 (1:商品, 2:金额) */
private
Byte
type
;
@ApiModelProperty
(
value
=
"商品明细列表"
)
/** 商品明细列表 */
private
List
<
SqbRefundItemDetail
>
items
;
}
@Data
@ApiModel
(
"SqbRefundItemDetail"
)
/**
* SqbRefundItemDetail
*/
public
static
class
SqbRefundItemDetail
{
@ApiModelProperty
(
value
=
"spu id"
)
/** spu id */
private
String
spuId
;
@ApiModelProperty
(
value
=
"sku id"
)
/** sku id */
private
String
skuId
;
@ApiModelProperty
(
value
=
"标题"
)
/** 标题 */
private
String
title
;
@ApiModelProperty
(
value
=
"数量"
)
/** 数量 */
private
String
quantity
;
@ApiModelProperty
(
value
=
"退款类型 (0:正常商品, 1:自定义商品)"
)
/** 退款类型 (0:正常商品, 1:自定义商品) */
private
Byte
type
;
}
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/AcquiringCreateRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/AcquiringCreateRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 创建收单请求
*/
@Data
@ApiModel
(
value
=
"创建收单请求"
)
public
class
AcquiringCreateRequest
{
@ApiModelProperty
(
required
=
true
,
value
=
"应用id"
,
example
=
"202507xxxxxxx"
)
/**
* 应用id
*/
private
String
appid
;
@ApiModelProperty
(
required
=
true
,
value
=
"卖家信息"
)
/**
* 卖家信息
*/
private
CommonRequest
.
Seller
seller
;
@ApiModelProperty
(
required
=
true
,
value
=
"卖家信息"
)
/**
* 卖家信息
*/
private
Order
orderID
;
/**
* 订单信息
*/
@Data
@ApiModel
(
value
=
"订单信息"
)
public
static
class
Order
{
@ApiModelProperty
(
required
=
true
,
value
=
"订单ID"
)
/**
* 订单ID
*/
private
String
sn
;
@ApiModelProperty
(
required
=
true
,
value
=
"订单密码"
)
/**
* 订单密码
*/
private
String
signature
;
}
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/CashierQueryRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/CashierQueryRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 收银台查询请求
*/
@Data
@ApiModel
(
value
=
"收银台查询请求"
)
public
class
CashierQueryRequest
{
@ApiModelProperty
(
required
=
true
,
value
=
"应用id"
,
example
=
"202507xxxxxxx"
)
/** 应用id */
private
String
appid
;
@ApiModelProperty
(
required
=
true
,
value
=
"商户信息"
)
/** 商户信息 */
private
CommonRequest
.
Seller
seller
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付模式代码"
,
example
=
"4"
)
/** 支付模式代码 */
private
Integer
paymentMode
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付环境"
)
/** 支付环境 */
private
PaymentEnv
paymentEnv
;
@ApiModelProperty
(
required
=
false
,
value
=
"付款人信息"
)
/** 付款人信息 */
private
CommonRequest
.
Payer
payer
;
@ApiModelProperty
(
required
=
true
,
value
=
"收单信息"
)
/** 收单信息 */
private
CommonRequest
.
Acquiring
acquiringInfo
;
@Data
@ApiModel
(
value
=
"支付环境信息"
)
/**
* 支付环境信息
*/
public
static
class
PaymentEnv
{
@ApiModelProperty
(
required
=
false
,
value
=
"ip地址 最大40位"
)
/** ip地址 最大40位 */
private
String
ip
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付客户端 最大32位"
,
example
=
"wechat"
)
/** 支付客户端 最大32位 */
private
String
client
;
@ApiModelProperty
(
required
=
false
,
value
=
"设备号 最大64位"
)
/** 设备号 最大64位 */
private
String
device
;
@ApiModelProperty
(
required
=
false
,
value
=
"版本号"
,
example
=
"1.4"
)
/** 版本号 */
private
String
version
;
}
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/CommonRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/CommonRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
...
...
@@ -12,97 +10,141 @@ import java.util.List;
@Data
public
class
CommonRequest
{
/**
* 商城信息
*/
@Data
@ApiModel
(
value
=
"商城信息"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@AllArgsConstructor
@NoArgsConstructor
public
static
class
Mall
{
public
static
class
Mall
{
@ApiModelProperty
(
required
=
true
,
value
=
"商城ID"
)
/**
* 商城ID
*/
private
String
mallSn
;
@ApiModelProperty
(
required
=
true
,
value
=
"商城密码"
)
/**
* 商城密码
*/
private
String
signature
;
}
/**
* 卖家信息/商户信息
*/
@Data
@ApiModel
(
value
=
"卖家信息/商户信息"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@AllArgsConstructor
@NoArgsConstructor
public
static
class
Seller
{
@ApiModelProperty
(
required
=
true
,
value
=
"商户ID"
)
/**
* 商户ID
*/
private
String
merchantId
;
@ApiModelProperty
(
required
=
true
,
value
=
"商户userID"
)
/**
* 商户userID
*/
private
String
merchantUserId
;
@ApiModelProperty
(
required
=
true
,
value
=
"角色 固定值(super_admin)"
)
/**
* 角色 固定值(super_admin)
*/
private
String
role
;
}
/**
* 买家信息
*/
@Data
@ApiModel
(
"买家信息"
)
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
Buyer
{
@ApiModelProperty
(
required
=
true
,
value
=
"买家ID(用户唯一标识)"
)
public
static
class
Buyer
{
/**
* 买家ID(用户唯一标识)
*/
private
String
buyerId
;
}
/**
* 付款人信息
*/
@Data
@ApiModel
(
"付款人信息"
)
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
Payer
{
@ApiModelProperty
(
required
=
true
,
value
=
"付款人ID"
)
public
static
class
Payer
{
/**
* 付款人ID
*/
private
String
userId
;
}
@ApiModel
(
value
=
"收单信息"
)
/**
* 收单信息
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@AllArgsConstructor
@NoArgsConstructor
public
static
class
Acquiring
{
@ApiModelProperty
(
value
=
"收单号"
)
public
static
class
Acquiring
{
/**
* 收单号
*/
private
String
acquiringSn
;
@ApiModelProperty
(
value
=
"收单密钥"
)
/**
* 收单密钥
*/
private
String
signature
;
}
/**
* 金额构成信息
*/
@Data
@ApiModel
(
value
=
"金额构成信息"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
AmountComposition
{
@ApiModelProperty
(
required
=
true
,
value
=
"金额构成项列表"
)
/**
* 金额构成项列表
*/
private
List
<
CompositionItem
>
compositionItems
;
}
/**
* 金额构成项详情
*/
@Data
@ApiModel
(
value
=
"金额构成项详情"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
CompositionItem
{
@ApiModelProperty
(
required
=
true
,
value
=
"构成项类目"
)
/**
* 构成项类目
*/
private
String
category
;
@ApiModelProperty
(
required
=
true
,
value
=
"构成项金额"
)
/**
* 构成项金额
*/
private
Long
amount
;
}
/**
* 订单信息
*/
@Data
@ApiModel
(
value
=
"订单信息"
)
@AllArgsConstructor
@NoArgsConstructor
public
static
class
OrderInfo
{
@ApiModelProperty
(
required
=
true
,
value
=
"订单ID"
)
/**
* 订单ID
*/
private
String
sn
;
@ApiModelProperty
(
required
=
true
,
value
=
"订单密码"
)
/**
* 订单密码
*/
private
String
signature
;
}
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/CouponQueryRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/CouponQueryRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 查询券码请求
*/
@Data
@ApiModel
(
value
=
"查询券码请求"
)
public
class
CouponQueryRequest
{
@ApiModelProperty
(
required
=
true
,
value
=
"应用id"
,
example
=
"202507xxxxxxx"
)
/** 应用id */
private
String
appid
;
@ApiModelProperty
(
required
=
true
,
value
=
"订单信息"
)
/** 订单信息 */
private
CommonRequest
.
OrderInfo
orderID
;
@ApiModelProperty
(
required
=
true
,
value
=
"卖家信息"
,
example
=
"4"
)
/** 卖家信息 */
private
CommonRequest
.
Seller
seller
;
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/CouponRefundRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/CouponRefundRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* 券退款请求参数
*/
@Data
@ApiModel
(
value
=
"券退款请求参数"
)
public
class
CouponRefundRequest
{
@ApiModelProperty
(
required
=
true
,
value
=
"应用ID(收钱吧分配的应用id)"
)
/** 应用ID(收钱吧分配的应用id) */
private
String
appid
;
@ApiModelProperty
(
required
=
true
,
value
=
"卖家信息"
)
/** 卖家信息 */
private
CommonRequest
.
Seller
seller
;
@ApiModelProperty
(
required
=
true
,
value
=
"订单信息"
)
/** 订单信息 */
private
CommonRequest
.
OrderInfo
orderID
;
@ApiModelProperty
(
required
=
true
,
value
=
"申请退款信息不能为空"
)
/** 申请退款信息不能为空 */
private
RefundInfo
refundInfo
;
@ApiModelProperty
(
required
=
false
,
value
=
"退款请求id(${AppCode}+id)"
)
/** 退款请求id(${AppCode}+id) */
private
String
requestId
;
@ApiModelProperty
(
required
=
true
,
value
=
"退款来源(固定值:EXTERN)"
)
/** 退款来源(固定值:EXTERN) */
private
String
requestSource
;
@Data
@ApiModel
(
value
=
"退款信息"
)
/**
* 退款信息
*/
@AllArgsConstructor
@NoArgsConstructor
public
static
class
RefundInfo
{
@ApiModelProperty
(
required
=
true
,
value
=
"金额"
)
/** 金额 */
private
Long
applyAmount
;
@ApiModelProperty
(
required
=
true
,
value
=
"退款类型(1商品 2金额)"
)
/** 退款类型(1商品 2金额) */
private
Byte
type
;
@ApiModelProperty
(
required
=
false
,
value
=
"退款明细(商品必填)"
)
/** 退款明细(商品必填) */
private
List
<
RefundItem
>
items
;
@ApiModelProperty
(
required
=
true
,
value
=
"退款原因"
)
/** 退款原因 */
private
String
refundReason
;
}
@Data
@ApiModel
(
value
=
"退款明细商品"
)
/**
* 退款明细商品
*/
public
static
class
RefundItem
{
@ApiModelProperty
(
required
=
true
,
value
=
"spu"
)
/** spu */
private
String
spuId
;
@ApiModelProperty
(
required
=
true
,
value
=
"sku"
)
/** sku */
private
String
skuId
;
@ApiModelProperty
(
required
=
true
,
value
=
"标题"
)
/** 标题 */
private
String
title
;
@ApiModelProperty
(
required
=
true
,
value
=
"商品图片"
)
/** 商品图片 */
private
String
img
;
@ApiModelProperty
(
required
=
true
,
value
=
"数量"
)
/** 数量 */
private
String
quantity
;
@ApiModelProperty
(
required
=
false
,
value
=
"退款类型(0正常商品 1自定义商品)"
)
/** 退款类型(0正常商品 1自定义商品) */
private
Byte
type
;
}
...
...
liquidnet-bus-common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param/request/CouponStatusSyncRequest.java
0 → 100644
View file @
c6d5150f
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
lombok.Data
;
import
java.util.List
;
/**
* 券码状态同步
*/
@Data
public
class
CouponStatusSyncRequest
{
/** 应用ID(聚合收单唯一ID,需申请) */
private
String
appid
;
/** 券号 */
private
List
<
String
>
voucherNos
;
/** 用户ID(自定义,核销用户id) */
private
String
redeemMerchantId
;
/** 外部单号(${AppCode}+id,AppCode需要分配) */
private
String
redeemExternalOrderSn
;
/** 来源(固定值:EXTERN) */
private
String
redeemSource
;
/** 核销终端号(自定义) */
private
String
clientSn
;
/** 券使用状态(0未核销,1已核销) */
private
Byte
status
;
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/CreateWechatPrepayOrderRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/CreateWechatPrepayOrderRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
/**
* 创建微信预支付订单请求
*/
@Data
@ApiModel
(
value
=
"创建微信预支付订单请求"
)
public
class
CreateWechatPrepayOrderRequest
{
@ApiModelProperty
(
required
=
true
,
value
=
"应用id"
,
example
=
"202507xxxxxxx"
)
/** 应用id */
private
String
appid
;
@ApiModelProperty
(
required
=
true
,
value
=
"商户信息"
)
/** 商户信息 */
private
CommonRequest
.
Seller
seller
;
@ApiModelProperty
(
required
=
true
,
value
=
"收单号"
)
/** 收单号 */
private
String
acquiringSn
;
@ApiModelProperty
(
required
=
true
,
value
=
"收单签名"
)
/** 收单签名 */
private
String
signature
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付工具"
)
/** 支付工具 */
private
List
<
UsingPayTool
>
usingPayTools
;
@ApiModelProperty
(
required
=
false
,
value
=
"支付环境"
)
/** 支付环境 */
private
PaymentEnv
paymentEnv
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付工具签名"
,
notes
=
"上一步签名"
)
/** 支付工具签名 */
private
String
selectedSignature
;
@ApiModelProperty
(
required
=
true
,
value
=
"序列号"
,
notes
=
"上一步seq"
)
/** 序列号 */
private
String
seq
;
@Data
@ApiModel
(
value
=
"支付工具使用详情"
)
/**
* 支付工具使用详情
*/
public
static
class
UsingPayTool
{
@ApiModelProperty
(
required
=
true
,
value
=
"支付工具ID"
)
/** 支付工具ID */
private
Long
id
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付工具代码"
)
/** 支付工具代码 */
private
Integer
payTool
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付模式"
,
example
=
"4"
)
/** 支付模式 */
private
Integer
payMode
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付金额"
)
/** 支付金额 */
private
String
amount
;
@ApiModelProperty
(
required
=
true
,
value
=
"金额构成"
)
/** 金额构成 */
private
CommonRequest
.
AmountComposition
amountComposition
;
@ApiModelProperty
(
required
=
true
,
value
=
"用户身份信息"
,
example
=
"wzwl"
)
/** 用户身份信息 */
private
String
identity
;
@ApiModelProperty
(
required
=
true
,
value
=
"支付请求号"
,
notes
=
"不超过40位"
)
/** 支付请求号 */
private
String
requestSn
;
@ApiModelProperty
(
required
=
true
,
value
=
"通道扩展参数"
,
example
=
"{\"sub_appid\":\"wx36e68952a6\"}"
)
/** 通道扩展参数 */
private
Map
<
String
,
Object
>
channelExt
;
}
@Data
@ApiModel
(
value
=
"支付环境信息"
)
/**
* 支付环境信息
*/
public
static
class
PaymentEnv
{
@ApiModelProperty
(
required
=
false
,
value
=
"付款终端ip"
)
/** 付款终端ip */
private
String
clientIp
;
@ApiModelProperty
(
required
=
false
,
value
=
"付款经纬度"
)
/** 付款经纬度 */
private
ClientPoi
clientPoi
;
@ApiModelProperty
(
required
=
false
,
value
=
"支付入口"
)
/** 支付入口 */
private
String
paymentEntry
;
}
@Data
@ApiModel
(
value
=
"地理位置信息"
)
/**
* 地理位置信息
*/
public
static
class
ClientPoi
{
@ApiModelProperty
(
required
=
false
,
value
=
"经度信息"
)
/** 经度信息 */
private
String
longitude
;
@ApiModelProperty
(
required
=
false
,
value
=
"纬度信息"
)
/** 纬度信息 */
private
String
latitude
;
}
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/MallListQueryRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/MallListQueryRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
@ApiModel
(
value
=
"商城列表接口"
)
/**
* 商城列表接口
*/
@Data
public
class
MallListQueryRequest
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"应用ID"
,
example
=
"2025912312"
)
/** 应用ID */
private
String
appid
;
@ApiModelProperty
(
value
=
"过滤条件"
)
/** 过滤条件 */
private
Filter
filter
;
@ApiModelProperty
(
value
=
"分页游标"
)
/** 分页游标 */
private
Cursor
cursor
;
@ApiModelProperty
(
value
=
"排序条件"
)
/** 排序条件 */
private
Sort
sort
;
@Data
@ApiModel
(
"查询过滤条件"
)
/**
* 查询过滤条件
*/
public
static
class
Filter
{
@ApiModelProperty
(
value
=
"商户信息"
)
/** 商户信息 */
private
CommonRequest
.
Seller
seller
;
@ApiModelProperty
(
value
=
"商城行业筛选"
)
/** 商城行业筛选 */
private
List
<
String
>
industryCodes
;
@ApiModelProperty
(
value
=
"商城状态筛选"
)
/** 商城状态筛选 */
private
List
<
Byte
>
states
;
@ApiModelProperty
(
value
=
"商城状态筛选"
)
/** 商城状态筛选 */
private
Byte
state
;
@ApiModelProperty
(
value
=
"创建时间起始"
)
/** 创建时间起始 */
private
String
beginDateTime
;
@ApiModelProperty
(
value
=
"创建时间截止"
)
/** 创建时间截止 */
private
String
endDateTime
;
}
@Data
@ApiModel
(
"排序规则"
)
/**
* 排序规则
*/
public
static
class
Sort
{
@ApiModelProperty
(
value
=
"排序方式: DESC/ASC"
)
/** 排序方式: DESC/ASC */
private
String
sort
;
@ApiModelProperty
(
value
=
"排序字段"
)
/** 排序字段 */
private
String
sortField
;
}
@Data
@ApiModel
(
"分页游标"
)
/**
* 分页游标
*/
public
static
class
Cursor
{
@ApiModelProperty
(
value
=
"游标字段 分页依据的字段(固定为id)"
)
/** 游标字段 分页依据的字段(固定为id) */
private
String
cursorField
;
@ApiModelProperty
(
value
=
"结束游标 上一页的结束游标(首次查询传 null)"
)
/** 结束游标 上一页的结束游标(首次查询传 null) */
private
String
endCursor
;
@ApiModelProperty
(
value
=
"查询数量 每页返回的最大订单数"
)
/** 查询数量 每页返回的最大订单数 */
private
Integer
count
;
}
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/MallProductsQueryRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/MallProductsQueryRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 商城列表查询响应数据
*/
@Data
@ApiModel
(
value
=
"商城商品查询请求参数"
)
public
class
MallProductsQueryRequest
{
@ApiModelProperty
(
value
=
"应用ID"
,
required
=
true
)
/** 应用ID */
private
String
appid
;
@ApiModelProperty
(
value
=
"商户信息"
,
required
=
true
)
/** 商户信息 */
private
CommonRequest
.
Seller
seller
;
@ApiModelProperty
(
value
=
"商城标识"
,
required
=
true
)
/** 商城标识 */
private
CommonRequest
.
Mall
mallID
;
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/OrderCreateRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/OrderCreateRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -14,31 +12,30 @@ import java.util.List;
* @author liquidnet
* @since 2026-03-16
*/
@ApiModel
(
value
=
"创建订单"
)
@Data
public
class
OrderCreateRequest
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
required
=
true
,
value
=
"应用ID(聚合收单唯一ID,需申请)"
)
/** 应用ID(聚合收单唯一ID,需申请) */
private
String
appid
;
@ApiModelProperty
(
required
=
true
,
value
=
"商城信息"
)
/** 商城信息 */
private
CommonRequest
.
Mall
mallID
;
@ApiModelProperty
(
required
=
true
,
value
=
"商户信息"
)
/** 商户信息 */
private
CommonRequest
.
Seller
seller
;
@ApiModelProperty
(
required
=
true
,
value
=
"结算项ID"
)
/** 结算项ID */
private
String
checkoutItemsId
;
@ApiModelProperty
(
required
=
true
,
value
=
"买家信息"
)
/** 买家信息 */
private
CommonRequest
.
Buyer
buyer
;
@ApiModelProperty
(
required
=
true
,
value
=
"请求ID 不超过40位"
)
/** 请求ID 不超过40位 */
private
String
requestId
;
@ApiModelProperty
(
required
=
true
,
value
=
"标题 不超过32"
)
/** 标题 不超过32 */
private
String
subject
;
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/request/SettlementCreateRequest.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/request/SettlementCreateRequest.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
request
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
request
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
...
...
@@ -13,54 +11,55 @@ import java.util.List;
* @author liquidnet
* @since 2026-03-16
*/
@ApiModel
(
value
=
"创建结算明细请求参数"
)
@Data
public
class
SettlementCreateRequest
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
required
=
true
,
value
=
"应用ID(聚合收单唯一ID,需申请)"
)
/** 应用ID(聚合收单唯一ID,需申请) */
private
String
appid
;
@ApiModelProperty
(
required
=
true
,
value
=
"商城信息"
)
/** 商城信息 */
private
CommonRequest
.
Mall
mallID
;
@ApiModelProperty
(
required
=
true
,
value
=
"商户信息"
)
/** 商户信息 */
private
CommonRequest
.
Seller
seller
;
@ApiModelProperty
(
required
=
true
,
value
=
"买家信息"
)
/** 买家信息 */
private
CommonRequest
.
Buyer
buyer
;
@ApiModelProperty
(
required
=
false
,
value
=
"结算明细组(结算条目列表)"
)
/** 结算明细组(结算条目列表) */
private
List
<
CheckoutItem
>
checkoutItems
;
@ApiModelProperty
(
required
=
false
,
value
=
"结算总金额(单位:分)"
)
/** 结算总金额(单位:分) */
private
Long
amount
;
@Data
@ApiModel
(
value
=
"结算明细条目"
)
/**
* 结算明细条目
*/
public
static
class
CheckoutItem
{
@ApiModelProperty
(
required
=
true
,
value
=
"商品识别号(商品唯一标识,如 spuId)"
)
/** 商品识别号(商品唯一标识,如 spuId) */
private
String
spuId
;
@ApiModelProperty
(
required
=
true
,
value
=
"规格识别号(SKU唯一标识,如 skuId)"
)
/** 规格识别号(SKU唯一标识,如 skuId) */
private
String
skuId
;
@ApiModelProperty
(
required
=
true
,
value
=
"单价(单位:分)"
)
/** 单价(单位:分) */
private
Long
price
;
@ApiModelProperty
(
required
=
true
,
value
=
"购买数量"
)
/** 购买数量 */
private
String
quantity
;
@ApiModelProperty
(
required
=
true
,
value
=
"商品类型(0 正常商品 1 自定义商品)"
)
/** 商品类型(0 正常商品 1 自定义商品) */
private
Byte
type
;
@ApiModelProperty
(
required
=
true
,
value
=
"商品标题"
)
/** 商品标题 */
private
String
title
;
@ApiModelProperty
(
required
=
true
,
value
=
"商品图片链接"
)
/** 商品图片链接 */
private
String
image
;
}
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/AcquiringCreateResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/AcquiringCreateResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.AcquiringCreateData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.AcquiringCreateData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 创建收单响应参数
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"创建收单响应参数"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
AcquiringCreateResponse
extends
BaseResponse
<
AcquiringCreateData
>
{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/BaseResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/BaseResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 收钱吧基础响应参数
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
value
=
"收钱吧基础响应参数"
)
public
class
BaseResponse
<
T
>
{
@ApiModelProperty
(
value
=
"是否成功(true-成功,false-失败)"
)
/** 是否成功(true-成功,false-失败) */
private
Boolean
success
;
@ApiModelProperty
(
value
=
"业务码(200-成功,4001等-失败码)"
)
/** 业务码(200-成功,4001等-失败码) */
private
String
code
;
@ApiModelProperty
(
value
=
"失败信息(success为false时返回失败原因描述)"
)
/** 失败信息(success为false时返回失败原因描述) */
private
String
msg
;
@ApiModelProperty
(
value
=
"data"
)
/** data */
private
T
data
;
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/CashierQueryResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/CashierQueryResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.CashierQueryData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.CashierQueryData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 自助收银查询响应
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"自助收银查询响应"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CashierQueryResponse
extends
BaseResponse
<
CashierQueryData
>{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/CouponQueryResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/CouponQueryResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.CouponQueryData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.CouponQueryData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 券详情查询响应
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"券详情查询响应"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CouponQueryResponse
extends
BaseResponse
<
CouponQueryData
>{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/CouponRefundResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/CouponRefundResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.CouponRefundData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.CouponRefundData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 券退款响应
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"券退款响应"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CouponRefundResponse
extends
BaseResponse
<
CouponRefundData
>{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/CouponStatusSyncResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/CouponStatusSyncResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 券状态变更响应
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"券状态变更响应"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CouponStatusSyncResponse
extends
BaseResponse
<
String
>{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/CreateWechatPrepayOrderResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/CreateWechatPrepayOrderResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.CreateWechatPrepayOrderData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.CreateWechatPrepayOrderData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 创建微信预支付订单响应
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"创建微信预支付订单响应"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CreateWechatPrepayOrderResponse
extends
BaseResponse
<
CreateWechatPrepayOrderData
>{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/MallListQueryResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/MallListQueryResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.MallListQueryData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.MallListQueryData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.List
;
/**
* 商城列表查询响应参数
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
value
=
"商城列表查询响应参数"
)
public
class
MallListQueryResponse
extends
BaseResponse
<
List
<
MallListQueryData
>>
{
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/MallProductsQueryResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/MallProductsQueryResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.MallProductsQueryData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.MallProductsQueryData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.List
;
/**
* 商城商品接口响应
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"商城商品接口响应"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
MallProductsQueryResponse
extends
BaseResponse
<
List
<
MallProductsQueryData
>>{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/OrderCreateResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/OrderCreateResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.OrderCreateData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.OrderCreateData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -13,7 +13,6 @@ import lombok.EqualsAndHashCode;
* @since 2026-03-16
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"创建订单响应参数"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
OrderCreateResponse
extends
BaseResponse
<
OrderCreateData
>{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/SettlementCreateResponse.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/SettlementCreateResponse.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.response.data.SettlementCreateData
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.response.data.SettlementCreateData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -13,7 +13,6 @@ import lombok.EqualsAndHashCode;
* @since 2026-03-16
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"创建结算明细响应参数"
)
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
SettlementCreateResponse
extends
BaseResponse
<
SettlementCreateData
>
{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/AcquiringCreateData.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/data/AcquiringCreateData.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.request.CommonRequest
;
import
io.swagger.annotations.ApiModel
;
import
com.liquidnet.
common.third.sqb.param
.request.CommonRequest
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 创建收单Data
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@ApiModel
(
value
=
"创建收单Data"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
AcquiringCreateData
extends
CommonRequest
.
Acquiring
{
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/CashierQueryData.java
→
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 @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.
service.goblin.param.shouqianba
.request.CommonRequest
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
com.liquidnet.
common.third.sqb.param
.request.CommonRequest
;
import
lombok.Data
;
import
java.util.List
;
/**
* 收银台查询Data
*/
@Data
@ApiModel
(
value
=
"收银台查询Data"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CashierQueryData
{
@ApiModelProperty
(
value
=
"支付工具列表"
)
/** 支付工具列表 */
private
List
<
PayTool
>
payTools
;
@ApiModelProperty
(
value
=
"已选中的支付工具签名"
)
/** 已选中的支付工具签名 */
private
String
selectedSignature
;
@ApiModelProperty
(
value
=
"全局提示"
)
/** 全局提示 */
private
List
<
String
>
globalTips
;
@ApiModelProperty
(
value
=
"响应唯一序列号"
)
/** 响应唯一序列号 */
private
String
seq
;
@ApiModelProperty
(
value
=
"收单金额"
)
/** 收单金额 */
private
Long
amount
;
@ApiModelProperty
(
value
=
"收款方信息"
)
/** 收款方信息 */
private
Payee
payee
;
@ApiModelProperty
(
value
=
"业务信息"
)
/** 业务信息 */
private
BizInfo
bizInfo
;
@ApiModelProperty
(
value
=
"金额模型"
)
/** 金额模型 */
private
CashierAmount
cashierAmount
;
@Data
@ApiModel
(
value
=
"支付工具详情"
)
/**
* 支付工具详情
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
PayTool
{
@ApiModelProperty
(
value
=
"支付工具id"
)
/** 支付工具id */
private
Long
id
;
@ApiModelProperty
(
value
=
"支付工具代码"
)
/** 支付工具代码 */
private
String
code
;
@ApiModelProperty
(
value
=
"支付工具名称"
)
/** 支付工具名称 */
private
String
name
;
@ApiModelProperty
(
value
=
"支付工具类型 (0表示微信)"
)
/** 支付工具类型 (0表示微信) */
private
Integer
type
;
@ApiModelProperty
(
value
=
"是否可选"
)
/** 是否可选 */
private
Boolean
selectable
;
@ApiModelProperty
(
value
=
"是否选中"
)
/** 是否选中 */
private
Boolean
selected
;
@ApiModelProperty
(
value
=
"展示金额"
)
/** 展示金额 */
private
Long
showAmount
;
@ApiModelProperty
(
value
=
"提示列表"
)
/** 提示列表 */
private
List
<
String
>
tips
;
@ApiModelProperty
(
value
=
"金额构成"
)
/** 金额构成 */
private
CommonRequest
.
AmountComposition
amountComposition
;
}
@Data
@ApiModel
(
value
=
"收款方信息"
)
/**
* 收款方信息
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
Payee
{
@ApiModelProperty
(
value
=
"商户id"
)
/** 商户id */
private
String
merchantId
;
@ApiModelProperty
(
value
=
"商户名称"
)
/** 商户名称 */
private
String
merchantName
;
@ApiModelProperty
(
value
=
"门店id"
)
/** 门店id */
private
String
storeId
;
@ApiModelProperty
(
value
=
"门店名称"
)
/** 门店名称 */
private
String
storeName
;
@ApiModelProperty
(
value
=
"终端号"
)
/** 终端号 */
private
String
terminalSn
;
}
@Data
@ApiModel
(
value
=
"业务信息"
)
/**
* 业务信息
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
BizInfo
{
@ApiModelProperty
(
value
=
"业务方"
)
/** 业务方 */
private
String
bizParty
;
@ApiModelProperty
(
value
=
"交易应用"
)
/** 交易应用 */
private
String
tradeApp
;
}
@Data
@ApiModel
(
value
=
"金额明细模型"
)
/**
* 金额明细模型
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
CashierAmount
{
@ApiModelProperty
(
value
=
"原始支付金额"
)
/** 原始支付金额 */
private
Long
oriPaymentAmount
;
@ApiModelProperty
(
value
=
"实际支付金额"
)
/** 实际支付金额 */
private
Long
discPaymentAmount
;
@ApiModelProperty
(
value
=
"优惠金额"
)
/** 优惠金额 */
private
Long
discAmount
;
}
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/CouponQueryData.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/data/CouponQueryData.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
value
=
"查询券码响应Data"
)
/**
* 查询券码响应Data
*/
public
class
CouponQueryData
{
@ApiModelProperty
(
value
=
"券名称"
)
/** 券名称 */
private
String
voucherName
;
@ApiModelProperty
(
value
=
"商品SPU"
)
/** 商品SPU */
private
String
spuId
;
@ApiModelProperty
(
value
=
"商品SKU"
)
/** 商品SKU */
private
String
skuId
;
@ApiModelProperty
(
value
=
"商品地址"
)
/** 商品地址 */
private
String
itemImageUrl
;
@ApiModelProperty
(
value
=
"券二维码"
)
/** 券二维码 */
private
String
url
;
@ApiModelProperty
(
value
=
"券号"
)
/** 券号 */
private
String
voucherNo
;
@ApiModelProperty
(
value
=
"券类型 0金额券 1商品券"
)
/** 券类型 0金额券 1商品券 */
private
Byte
type
;
@ApiModelProperty
(
value
=
"券状态 0未核销 1已核销 2未核销退款 3已核销退款中 4未核销退款完成 5已核销退款完成 6已失效"
)
/** 券状态 0未核销 1已核销 2未核销退款 3已核销退款中 4未核销退款完成 5已核销退款完成 6已失效 */
private
Byte
status
;
@ApiModelProperty
(
value
=
"操作时间"
)
/** 操作时间 */
private
String
operationTime
;
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/CouponRefundData.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/data/CouponRefundData.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 券退款响应结果
*/
@Data
@ApiModel
(
value
=
"券退款响应结果"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CouponRefundData
{
@ApiModelProperty
(
value
=
"退款单号"
)
/** 退款单号 */
private
String
ticketsSn
;
@ApiModelProperty
(
value
=
"单号密码"
)
/** 单号密码 */
private
String
ticketSignature
;
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/CreateWechatPrepayOrderData.java
→
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 @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 创建微信预支付订单响应
*/
@Data
@ApiModel
(
value
=
"创建微信预支付订单响应"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
CreateWechatPrepayOrderData
{
@ApiModelProperty
(
value
=
"收单号"
)
/** 收单号 */
private
String
acquiringSn
;
@ApiModelProperty
(
value
=
"收单签名"
)
/** 收单签名 */
private
String
signature
;
@ApiModelProperty
(
value
=
"收单状态"
,
notes
=
"0:已创建, 1:待支付, 2:部分支付成功, 3:全部支付成功, 4:已部分退款, 5:已全额退款, 6:已关闭"
)
/** 收单状态 */
private
Byte
acquiringState
;
@ApiModelProperty
(
value
=
"金额明细"
)
/** 金额明细 */
private
AmountDetails
amount
;
@ApiModelProperty
(
value
=
"支付凭证"
,
notes
=
"用于唤起微信支付"
)
/** 支付凭证 */
private
PaymentVoucher
paymentVoucher
;
@ApiModelProperty
(
value
=
"通道信息"
)
/** 通道信息 */
private
ChannelInfo
channelInfo
;
@Data
@ApiModel
(
value
=
"订单金额明细"
)
/**
* 订单金额明细
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
AmountDetails
{
@ApiModelProperty
(
value
=
"收单总金额"
)
/** 收单总金额 */
private
Long
totalAmount
;
@ApiModelProperty
(
value
=
"已付总金额"
)
/** 已付总金额 */
private
Long
paidAmount
;
@ApiModelProperty
(
value
=
"已退总金额"
)
/** 已退总金额 */
private
Long
refundedAmount
;
}
@Data
@ApiModel
(
value
=
"支付凭证详情"
)
/**
* 支付凭证详情
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
PaymentVoucher
{
@ApiModelProperty
(
value
=
"时间戳"
)
/** 时间戳 */
private
String
timeStamp
;
@ApiModelProperty
(
value
=
"订单详情扩展字符串"
)
/** 订单详情扩展字符串 */
private
String
packageStr
;
@ApiModelProperty
(
value
=
"签名"
)
/** 签名 */
private
String
paySign
;
@ApiModelProperty
(
value
=
"Appid"
)
/** Appid */
private
String
appId
;
@ApiModelProperty
(
value
=
"签名方式"
)
/** 签名方式 */
private
String
signType
;
@ApiModelProperty
(
value
=
"随机字符串"
)
/** 随机字符串 */
private
String
nonceStr
;
}
@Data
@ApiModel
(
value
=
"通道信息详情"
)
/**
* 通道信息详情
*/
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
ChannelInfo
{
@ApiModelProperty
(
value
=
"收钱吧通道流水号"
)
/** 收钱吧通道流水号 */
private
String
payTsn
;
}
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/MallListQueryData.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/data/MallListQueryData.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* 商城列表查询响应数据
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
value
=
"商城列表查询响应数据"
)
public
class
MallListQueryData
{
@ApiModelProperty
(
"商城编号"
)
/** 商城编号 */
private
String
mallSn
;
@ApiModelProperty
(
"商城签名"
)
/** 商城签名 */
private
String
signature
;
@ApiModelProperty
(
"商城名称"
)
/** 商城名称 */
private
String
mallName
;
@ApiModelProperty
(
"商城状态 0:待上线 1:已上线 2:已下线"
)
/** 商城状态 0:待上线 1:已上线 2:已下线 */
private
Byte
state
;
@ApiModelProperty
(
"商城状态描述"
)
/** 商城状态描述 */
private
String
stateDesc
;
@ApiModelProperty
(
"内部状态 1启用 0禁用"
)
/** 内部状态 1启用 0禁用 */
private
Byte
internalState
;
@ApiModelProperty
(
"内部状态描述"
)
/** 内部状态描述 */
private
String
internalStateDesc
;
@ApiModelProperty
(
"删除状态 0未删除 1已删除"
)
/** 删除状态 0未删除 1已删除 */
private
Byte
isDelete
;
@ApiModelProperty
(
"删除时间"
)
/** 删除时间 */
private
String
deleteTime
;
@ApiModelProperty
(
"大额开通状态"
)
/** 大额开通状态 */
private
Byte
crossCityPaymentStatus
;
@ApiModelProperty
(
"大额开通状态描述"
)
/** 大额开通状态描述 */
private
String
crossCityPaymentStatusDesc
;
@ApiModelProperty
(
"应用类型 0拼塔商城 目前都是0,无需关注"
)
/** 应用类型 0拼塔商城 目前都是0,无需关注 */
private
Integer
appType
;
@ApiModelProperty
(
"行业code"
)
/** 行业code */
private
String
industryCode
;
@ApiModelProperty
(
"商户信息"
)
/** 商户信息 */
private
Seller
seller
;
@ApiModelProperty
(
"订单统计"
)
/** 订单统计 */
private
OrderStatistics
orderStatistics
;
@ApiModelProperty
(
"商户统计"
)
/** 商户统计 */
private
SellerStatisticsModel
sellerStatisticsModel
;
@ApiModelProperty
(
"创建时间"
)
/** 创建时间 */
private
String
ctime
;
@ApiModelProperty
(
"跨城状态明细"
)
/** 跨城状态明细 */
private
List
<
CrossCityPayment
>
crossCityPayments
;
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
"商户信息"
)
/**
* 商户信息
*/
public
static
class
Seller
{
@ApiModelProperty
(
"商户号"
)
/** 商户号 */
private
String
merchantSn
;
@ApiModelProperty
(
"商户id"
)
/** 商户id */
private
String
merchantId
;
@ApiModelProperty
(
"商户名称"
)
/** 商户名称 */
private
String
merchantName
;
@ApiModelProperty
(
"门店号"
)
/** 门店号 */
private
String
storeSn
;
@ApiModelProperty
(
"门店id"
)
/** 门店id */
private
String
storeId
;
@ApiModelProperty
(
"门店名称"
)
/** 门店名称 */
private
String
storeName
;
@ApiModelProperty
(
"终端号"
)
/** 终端号 */
private
String
terminalSn
;
@ApiModelProperty
(
"大额终端编号"
)
/** 大额终端编号 */
private
String
crossCityTerminalSn
;
}
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
"订单统计"
)
/**
* 订单统计
*/
public
static
class
OrderStatistics
{
@ApiModelProperty
(
"订单数量"
)
/** 订单数量 */
private
Long
totalNum
;
@ApiModelProperty
(
"商品数量"
)
/** 商品数量 */
private
String
totalQuantity
;
@ApiModelProperty
(
"订单总额(分)"
)
/** 订单总额(分) */
private
Long
totalAmount
;
}
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
"商户统计"
)
/**
* 商户统计
*/
public
static
class
SellerStatisticsModel
{
@ApiModelProperty
(
"异地交易失败订单数量"
)
/** 异地交易失败订单数量 */
private
Long
orderFailNum
;
}
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
"跨城支付明细"
)
/**
* 跨城支付明细
*/
public
static
class
CrossCityPayment
{
@ApiModelProperty
(
"支付工具code 2:支付宝 3:微信"
)
/** 支付工具code 2:支付宝 3:微信 */
private
Byte
payToolCode
;
@ApiModelProperty
(
"支付工具描述"
)
/** 支付工具描述 */
private
String
payToolCodeDesc
;
@ApiModelProperty
(
"大额开通状态"
)
/** 大额开通状态 */
private
Integer
status
;
@ApiModelProperty
(
"大额开通状态描述"
)
/** 大额开通状态描述 */
private
String
statusDesc
;
}
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/MallProductsQueryData.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/data/MallProductsQueryData.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* 商城商品接口响应数据
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
value
=
"商城商品接口响应数据"
)
public
class
MallProductsQueryData
{
@ApiModelProperty
(
value
=
"商品spuId"
)
/** 商品spuId */
private
String
spuId
;
@ApiModelProperty
(
value
=
"商品图片"
)
/** 商品图片 */
private
List
<
String
>
converImages
;
@ApiModelProperty
(
value
=
"商品描述"
)
/** 商品描述 */
private
String
productIntroduction
;
@ApiModelProperty
(
value
=
"商品标题"
)
/** 商品标题 */
private
String
title
;
@ApiModelProperty
(
value
=
"商品规格"
)
/** 商品规格 */
private
List
<
Sku
>
skuResults
;
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@ApiModel
(
value
=
"商品规格"
)
/**
* 商品规格
*/
public
static
class
Sku
{
@ApiModelProperty
(
value
=
"库存类型"
)
/** 库存类型 */
private
Integer
stockType
;
@ApiModelProperty
(
value
=
"商品skuId"
)
/** 商品skuId */
private
String
skuId
;
@ApiModelProperty
(
value
=
"库存值"
)
/** 库存值 */
private
BigDecimal
quantity
;
@ApiModelProperty
(
value
=
"规格标题"
)
/** 规格标题 */
private
String
skuTitle
;
@ApiModelProperty
(
value
=
"规格名称"
)
/** 规格名称 */
private
String
skuName
;
@ApiModelProperty
(
value
=
"价格"
)
/** 价格 */
private
Long
price
;
}
}
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/OrderCreateData.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/data/OrderCreateData.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.service.goblin.param.shouqianba.request.CommonRequest
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
com.liquidnet.common.third.sqb.param.request.CommonRequest
;
import
lombok.Data
;
/**
* 收钱吧创建订单响应参数Data
*/
@Data
@ApiModel
(
value
=
"收钱吧创建订单响应参数Data"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
OrderCreateData
{
@ApiModelProperty
(
value
=
"订单编号)"
)
/** 订单编号) */
private
String
orderSn
;
@ApiModelProperty
(
value
=
"订单密钥)"
)
/** 订单密钥) */
private
String
orderSignature
;
@ApiModelProperty
(
value
=
"收单信息)"
)
/** 收单信息) */
private
CommonRequest
.
Acquiring
acquiring
;
...
...
liquidnet-bus-
api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/shouqianba
/response/data/SettlementCreateData.java
→
liquidnet-bus-
common/liquidnet-common-third/liquidnet-common-third-sqb/src/main/java/com/liquidnet/common/third/sqb/param
/response/data/SettlementCreateData.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
param
.
shouqianba
.
response
.
data
;
package
com
.
liquidnet
.
common
.
third
.
sqb
.
param
.
response
.
data
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
/**
* 收钱吧创建结算明细响应参数Data
*/
@Data
@ApiModel
(
value
=
"收钱吧创建结算明细响应参数Data"
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
SettlementCreateData
{
@ApiModelProperty
(
value
=
"结算项ID)"
)
/** 结算项ID) */
private
String
checkoutItemsId
;
}
liquidnet-bus-common/liquidnet-common-third/pom.xml
View file @
c6d5150f
...
...
@@ -16,5 +16,6 @@
<module>
liquidnet-common-third-zxlnft
</module>
<module>
liquidnet-common-third-antchain
</module>
<module>
liquidnet-common-third-xuper
</module>
<module>
liquidnet-common-third-sqb
</module>
</modules>
</project>
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/pom.xml
View file @
c6d5150f
...
...
@@ -109,6 +109,12 @@
<artifactId>
dg-java-sdk
</artifactId>
<version>
3.0.27
</version>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-third-sqb
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependencies>
<build>
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinSqb
Order
Controller.java
→
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinSqbController.java
View file @
c6d5150f
...
...
@@ -3,20 +3,17 @@ package com.liquidnet.service.goblin.controller;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbCouponVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderCreateVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderDetailVo
;
import
com.liquidnet.service.goblin.service.IGoblinSqb
Order
Service
;
import
com.liquidnet.service.goblin.service.IGoblinSqbService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotBlank
;
import
java
x.validation.constraints.NotNull
;
import
java
.util.List
;
/**
* 收钱吧订单 Controller
...
...
@@ -24,51 +21,12 @@ import javax.validation.constraints.NotNull;
@Slf4j
@Api
(
tags
=
"收钱吧订单"
)
@RestController
@RequestMapping
(
"/goblin/sqb
/order
"
)
public
class
GoblinSqb
Order
Controller
{
@RequestMapping
(
"/goblin/sqb"
)
public
class
GoblinSqbController
{
@Autowired
private
IGoblinSqb
OrderService
goblinSqbOrder
Service
;
private
IGoblinSqb
Service
goblinSqb
Service
;
/**
* 创建收钱吧订单
*/
@PostMapping
(
"/create"
)
@ApiOperation
(
"创建收钱吧订单"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"spuId"
,
value
=
"商品 SPU ID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"skuId"
,
value
=
"商品 SKU ID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"Integer"
,
name
=
"quantity"
,
value
=
"购买数量"
,
example
=
"1"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"performancesId"
,
value
=
"关联演出 ID"
),
})
public
ResponseDto
<
GoblinSqbOrderCreateVo
>
createOrder
(
@NotBlank
(
message
=
"spuId 不能为空"
)
@RequestParam
(
"spuId"
)
String
spuId
,
@NotBlank
(
message
=
"skuId 不能为空"
)
@RequestParam
(
"skuId"
)
String
skuId
,
@NotNull
(
message
=
"quantity 不能为空"
)
@Min
(
value
=
1
,
message
=
"购买数量至少为 1"
)
@RequestParam
(
"quantity"
)
Integer
quantity
,
@NotBlank
(
message
=
"performancesId 不能为空"
)
@RequestParam
(
"performancesId"
)
String
performancesId
)
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧下单] 接收请求 userId={}, spuId={}, skuId={}, quantity={}, performancesId={}"
,
userId
,
spuId
,
skuId
,
quantity
,
performancesId
);
return
goblinSqbOrderService
.
createOrder
(
userId
,
spuId
,
skuId
,
quantity
,
performancesId
);
}
/**
* 查询支付状态
*/
@GetMapping
(
"/pay/status"
)
@ApiOperation
(
"查询支付状态"
)
@ApiImplicitParam
(
type
=
"query"
,
required
=
true
,
dataType
=
"String"
,
name
=
"orderId"
,
value
=
"本地订单ID"
)
public
ResponseDto
<
Integer
>
queryPayStatus
(
@NotBlank
(
message
=
"orderId 不能为空"
)
@RequestParam
(
"orderId"
)
String
orderId
)
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧支付状态] 接收请求 userId={}, orderId={}"
,
userId
,
orderId
);
return
goblinSqbOrderService
.
queryPayStatus
(
userId
,
orderId
);
}
/**
* 获取核销二维码(券码)
...
...
@@ -82,7 +40,7 @@ public class GoblinSqbOrderController {
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧券码] 接收请求 userId={}, orderId={}"
,
userId
,
orderId
);
return
goblinSqb
Order
Service
.
queryCoupon
(
userId
,
orderId
);
return
goblinSqbService
.
queryCoupon
(
userId
,
orderId
);
}
/**
...
...
@@ -97,9 +55,10 @@ public class GoblinSqbOrderController {
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧退款] 接收请求 userId={}, orderId={}"
,
userId
,
orderId
);
return
goblinSqb
Order
Service
.
refund
(
userId
,
orderId
);
return
goblinSqbService
.
refund
(
userId
,
orderId
);
}
/**
* 主动同步核销状态
*/
...
...
@@ -110,7 +69,7 @@ public class GoblinSqbOrderController {
@NotBlank
(
message
=
"orderId 不能为空"
)
@RequestParam
(
"orderId"
)
String
orderId
)
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧核销同步] 接收请求 userId={}, orderId={}"
,
userId
,
orderId
);
return
goblinSqb
Order
Service
.
syncCouponStatus
(
userId
,
orderId
);
return
goblinSqbService
.
syncCouponStatus
(
userId
,
orderId
);
}
/**
...
...
@@ -118,10 +77,10 @@ public class GoblinSqbOrderController {
*/
@GetMapping
(
"/list"
)
@ApiOperation
(
"用户收钱吧订单列表"
)
public
ResponseDto
<
java
.
util
.
List
<
GoblinSqbOrderDetailVo
>>
getOrderList
()
{
public
ResponseDto
<
List
<
GoblinSqbOrderDetailVo
>>
getOrderList
()
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧订单列表] 接收请求 userId={}"
,
userId
);
return
goblinSqb
Order
Service
.
getOrderList
(
userId
);
return
goblinSqbService
.
getOrderList
(
userId
);
}
/**
...
...
@@ -134,19 +93,8 @@ public class GoblinSqbOrderController {
@NotBlank
(
message
=
"orderId 不能为空"
)
@PathVariable
(
"orderId"
)
String
orderId
)
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧订单详情] 接收请求 userId={}, orderId={}"
,
userId
,
orderId
);
return
goblinSqb
Order
Service
.
getOrderDetail
(
userId
,
orderId
);
return
goblinSqbService
.
getOrderDetail
(
userId
,
orderId
);
}
/**
* 再次付款(待支付状态下重新拉起微信支付)
*/
@PostMapping
(
"/repay"
)
@ApiOperation
(
"再次付款"
)
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"orderId"
,
value
=
"本地订单ID"
)
public
ResponseDto
<
GoblinSqbOrderCreateVo
>
repay
(
@NotBlank
(
message
=
"orderId 不能为空"
)
@RequestParam
(
"orderId"
)
String
orderId
)
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧再次付款] 接收请求 userId={}, orderId={}"
,
userId
,
orderId
);
return
goblinSqbOrderService
.
repay
(
userId
,
orderId
);
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/Inner/GoblinSqbJobController.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
controller
.
Inner
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.service.IGoblinSqb
Order
Service
;
import
com.liquidnet.service.goblin.service.IGoblinSqbService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -29,12 +29,12 @@ import org.springframework.web.bind.annotation.RestController;
public
class
GoblinSqbJobController
{
@Autowired
private
IGoblinSqb
OrderService
goblinSqbOrder
Service
;
private
IGoblinSqb
Service
goblinSqb
Service
;
@PostMapping
(
"/autoRefund"
)
@ApiOperation
(
"演出结束自动退款"
)
public
ResponseDto
<
String
>
autoRefund
(
@RequestParam
(
"performancesId"
)
String
performancesId
)
{
log
.
info
(
"[收钱吧自动退款] 收到任务,performancesId={}"
,
performancesId
);
return
goblinSqb
Order
Service
.
autoRefundByPerformance
(
performancesId
);
return
goblinSqbService
.
autoRefundByPerformance
(
performancesId
);
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinStoreMgtSqbGoodsController.java
View file @
c6d5150f
...
...
@@ -2,6 +2,8 @@ package com.liquidnet.service.goblin.controller.manage;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.liquidnet.common.third.sqb.biz.SqbBiz
;
import
com.liquidnet.common.third.sqb.param.response.data.MallProductsQueryData
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ErrorMapping
;
...
...
@@ -13,8 +15,6 @@ import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSpecVo;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo
;
import
com.liquidnet.service.goblin.entity.GoblinSqbGoodsExt
;
import
com.liquidnet.service.goblin.mapper.GoblinSqbGoodsExtMapper
;
import
com.liquidnet.service.goblin.param.shouqianba.response.data.MallProductsQueryData
;
import
com.liquidnet.service.goblin.service.IGoblinShouQianBaService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtSqbGoodsService
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
com.liquidnet.service.goblin.util.ObjectUtil
;
...
...
@@ -51,7 +51,7 @@ public class GoblinStoreMgtSqbGoodsController {
@Autowired
private
GoblinSqbGoodsExtMapper
goblinSqbGoodsExtMapper
;
@Autowired
private
IGoblinShouQianBaService
goblinShouQianBaService
;
private
SqbBiz
goblinShouQianBaService
;
/**
* 查询所有商城及商品列表
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinSqbServiceImpl.java
0 → 100644
View file @
c6d5150f
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/manage/GoblinStoreMgtSqbGoodsServiceImpl.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
service
.
impl
.
manage
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.liquidnet.common.third.sqb.biz.SqbBiz
;
import
com.liquidnet.common.third.sqb.param.request.CommonRequest
;
import
com.liquidnet.common.third.sqb.param.request.MallListQueryRequest
;
import
com.liquidnet.common.third.sqb.param.request.MallProductsQueryRequest
;
import
com.liquidnet.common.third.sqb.param.response.data.MallListQueryData
;
import
com.liquidnet.common.third.sqb.param.response.data.MallProductsQueryData
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.goblin.config.properties.ShouqianbaProperties
;
import
com.liquidnet.service.goblin.dto.GoblinGoodsSpecDto
;
import
com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsSqbAddParam
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.entity.GoblinSqbGoodsExt
;
import
com.liquidnet.service.goblin.mapper.GoblinSqbGoodsExtMapper
;
import
com.liquidnet.service.goblin.param.shouqianba.request.CommonRequest
;
import
com.liquidnet.service.goblin.param.shouqianba.request.MallListQueryRequest
;
import
com.liquidnet.service.goblin.param.shouqianba.request.MallProductsQueryRequest
;
import
com.liquidnet.service.goblin.param.shouqianba.response.data.MallListQueryData
;
import
com.liquidnet.service.goblin.param.shouqianba.response.data.MallProductsQueryData
;
import
com.liquidnet.service.goblin.service.IGoblinShouQianBaService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtSqbGoodsService
;
import
com.liquidnet.service.goblin.util.GoblinMongoUtils
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
com.liquidnet.service.goblin.util.ObjectUtil
;
import
com.liquidnet.service.goblin.util.QueueUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -51,9 +49,8 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood
@Autowired
GoblinSqbGoodsExtMapper
goblinSqbGoodsExtMapper
;
@Autowired
private
IGoblinShouQianBaService
goblinShouQianBaService
;
@Autowired
private
ShouqianbaProperties
shouqianbaProperties
;
private
SqbBiz
goblinShouQianBaService
;
@Override
public
ResponseDto
<
List
<
GoblinSqbPerfGoodsVo
>>
getProductList
()
{
...
...
@@ -114,7 +111,7 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood
String
lastMallSn
=
null
;
while
(
true
)
{
MallListQueryRequest
mallRequest
=
new
MallListQueryRequest
();
mallRequest
.
setAppid
(
shouqianbaProperties
.
getAppId
());
mallRequest
.
setAppid
(
goblinShouQianBaService
.
getSqbConfig
()
.
getAppId
());
MallListQueryRequest
.
Filter
filter
=
new
MallListQueryRequest
.
Filter
();
filter
.
setSeller
(
buildSeller
());
mallRequest
.
setFilter
(
filter
);
...
...
@@ -148,7 +145,7 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood
*/
private
List
<
MallProductsQueryData
>
fetchAllProducts
(
MallListQueryData
mall
)
{
MallProductsQueryRequest
productRequest
=
new
MallProductsQueryRequest
();
productRequest
.
setAppid
(
shouqianbaProperties
.
getAppId
());
productRequest
.
setAppid
(
goblinShouQianBaService
.
getSqbConfig
()
.
getAppId
());
productRequest
.
setSeller
(
buildSeller
());
CommonRequest
.
Mall
mallId
=
new
CommonRequest
.
Mall
();
mallId
.
setMallSn
(
mall
.
getMallSn
());
...
...
@@ -159,9 +156,9 @@ public class GoblinStoreMgtSqbGoodsServiceImpl implements IGoblinStoreMgtSqbGood
}
private
CommonRequest
.
Seller
buildSeller
()
{
CommonRequest
.
Seller
seller
=
new
CommonRequest
.
Seller
();
seller
.
setMerchantId
(
shouqianbaProperties
.
getMerchantId
());
seller
.
setMerchantUserId
(
shouqianbaProperties
.
getMerchantUserId
());
seller
.
setRole
(
shouqianbaProperties
.
getRole
());
seller
.
setMerchantId
(
goblinShouQianBaService
.
getSqbConfig
()
.
getMerchantId
());
seller
.
setMerchantUserId
(
goblinShouQianBaService
.
getSqbConfig
()
.
getMerchantUserId
());
seller
.
setRole
(
goblinShouQianBaService
.
getSqbConfig
()
.
getRole
());
return
seller
;
}
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinSqbRedisUtils.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
util
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -73,4 +74,18 @@ public class GoblinSqbRedisUtils {
String
key
=
GoblinRedisConst
.
SQB_ORDER_LOCK
.
concat
(
userId
).
concat
(
":"
).
concat
(
skuId
);
redisUtil
.
uLock
(
key
);
}
// 获取 收钱吧订单id列表
public
List
<
String
>
getSqbOrderList
(
String
uid
)
{
String
redisKey
=
GoblinRedisConst
.
SQB_GOBLIN_ORDER_LIST
.
concat
(
uid
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
return
CollectionUtil
.
arrayListString
();
}
else
{
return
(
List
<
String
>)
obj
;
}
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/resources/sqlmap.properties
View file @
c6d5150f
...
...
@@ -193,8 +193,9 @@ goblin_nft_order.update_artwork=UPDATE goblin_nft_order SET artwork_id=? WHERE o
goblin_sku.stock
=
UPDATE goblin_goods_sku SET sku_stock = ? , stock = ?, updated_at = ? WHERE sku_erp_code = ? and erp_warehouse_no = ?
#----
candy_user_coupon.update_apply_refund
=
UPDATE candy_user_coupon SET state=?,operator=?,updated_at=? WHERE ucoupon_id=?
#----
#----
# ----- \u6536\u94B1\u5427 ----
goblin_sqb_order.insert
=
INSERT INTO goblin_sqb_order (order_id,user_id,performances_id,spu_id,sku_id,quantity,amount,sqb_order_sn,sqb_order_signature,sqb_acquiring_sn, sqb_acquiring_sign,sqb_checkout_items_id,status,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
# ---- \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`, `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=?, status=?, pay_status=?, updated_at=? where order_id=?
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/pom.xml
View file @
c6d5150f
...
...
@@ -76,6 +76,12 @@
<scope>
system
</scope>
<systemPath>
${basedir}/lib/taobao-sdk-java-auto_1600401599540-20210607-impl.jar
</systemPath>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-third-sqb
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependencies>
<build>
...
...
liquidnet-bus-service/liquidnet-service-
goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinShouqianba
Controller.java
→
liquidnet-bus-service/liquidnet-service-
order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/controller/GoblinSqbOrder
Controller.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
controller
;
package
com
.
liquidnet
.
service
.
order
.
controller
;
import
com.liquidnet.common.third.sqb.biz.SqbBiz
;
import
com.liquidnet.common.third.sqb.param.callback.CallbackParams
;
import
com.liquidnet.common.third.sqb.param.callback.CouponCallbackContent
;
import
com.liquidnet.common.third.sqb.param.callback.OrderCallbackContent
;
import
com.liquidnet.common.third.sqb.param.callback.RefundCallbackContent
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.param.shouqianba.callback.CallbackParams
;
import
com.liquidnet.service.goblin.param.shouqianba.callback.CouponCallbackContent
;
import
com.liquidnet.service.goblin.param.shouqianba.callback.OrderCallbackContent
;
import
com.liquidnet.service.goblin.param.shouqianba.callback.RefundCallbackContent
;
import
com.liquidnet.service.goblin.service.IGoblinShouQianBaService
;
import
com.liquidnet.service.base.codec.vo.EncryptedReq
;
import
com.liquidnet.service.goblin.dto.manage.GoblinSqbOrderParam
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderCreateVo
;
import
com.liquidnet.service.goblin.service.IGoblinSqbOrderService
;
import
com.liquidnet.service.goblin.service.IGoblinSqbService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
@Slf4j
@Api
(
tags
=
"
收钱吧
相关"
)
@Api
(
tags
=
"
商城-收钱吧支付
相关"
)
@RestController
@RequestMapping
(
"/sqb"
)
public
class
GoblinS
houqianba
Controller
{
@RequestMapping
(
"/
goblin/
sqb"
)
public
class
GoblinS
qbOrder
Controller
{
@Autowired
private
IGoblinShouQianBaService
shouQianBaService
;
private
IGoblinSqbOrderService
goblinSqbOrderService
;
@Autowired
private
IGoblinSqbOrderService
sqbOrderService
;
private
SqbBiz
sqbBiz
;
/**
* 创建收钱吧订单
*/
@PostMapping
(
"/pre"
)
@ApiOperation
(
"创建收钱吧下单"
)
public
ResponseDto
<
GoblinSqbOrderCreateVo
>
preOrder
(
EncryptedReq
<
GoblinSqbOrderParam
>
param
)
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
GoblinSqbOrderParam
orderParam
=
param
.
getData
();
return
goblinSqbOrderService
.
createOrder
(
userId
,
orderParam
);
}
/**
* 查询支付状态
*/
@GetMapping
(
"/pay/status"
)
@ApiOperation
(
"查询支付状态"
)
@ApiImplicitParam
(
type
=
"query"
,
required
=
true
,
dataType
=
"String"
,
name
=
"orderId"
,
value
=
"本地订单ID"
)
public
ResponseDto
<
Integer
>
queryPayStatus
(
@NotBlank
(
message
=
"orderId 不能为空"
)
@RequestParam
(
"orderId"
)
String
orderId
)
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧支付状态] 接收请求 userId={}, orderId={}"
,
userId
,
orderId
);
return
goblinSqbOrderService
.
queryPayStatus
(
userId
,
orderId
);
}
/**
* 再次付款(待支付状态下重新拉起微信支付)
*/
@PostMapping
(
"/repay"
)
@ApiOperation
(
"再次付款"
)
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"orderId"
,
value
=
"本地订单ID"
)
public
ResponseDto
<
GoblinSqbOrderCreateVo
>
repay
(
@NotBlank
(
message
=
"orderId 不能为空"
)
@RequestParam
(
"orderId"
)
String
orderId
)
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
log
.
info
(
"[收钱吧再次付款] 接收请求 userId={}, orderId={}"
,
userId
,
orderId
);
return
goblinSqbOrderService
.
repay
(
userId
,
orderId
);
}
//******************************** 回调相关 *******************************
@ApiOperation
(
"下单回调"
)
@PostMapping
(
"/order/callback"
)
public
ResponseDto
<
String
>
orderCallback
(
@RequestBody
CallbackParams
callbackParams
)
{
...
...
@@ -36,7 +82,7 @@ public class GoblinShouqianbaController {
log
.
error
(
"下单回调参数为空"
);
return
ResponseDto
.
failure
(
"下单回调参数为空"
);
}
boolean
verified
=
s
houQianBaService
.
verifySignature
(
callbackParams
);
boolean
verified
=
s
qbBiz
.
verifySignature
(
callbackParams
);
if
(!
verified
)
{
log
.
error
(
"下单回调验签失败"
);
return
ResponseDto
.
failure
(
"验签失败"
);
...
...
@@ -45,7 +91,7 @@ public class GoblinShouqianbaController {
OrderCallbackContent
orderCallbackContent
=
JsonUtils
.
fromJson
(
callbackParams
.
getContent
(),
OrderCallbackContent
.
class
);
log
.
info
(
"下单回调content: {}"
,
callbackParams
.
getContent
());
// 业务
return
s
qbOrderService
.
handlePayCallback
(
orderCallbackContent
);
return
goblinS
qbOrderService
.
handlePayCallback
(
orderCallbackContent
);
}
@ApiOperation
(
"退款回调"
)
...
...
@@ -55,7 +101,7 @@ public class GoblinShouqianbaController {
log
.
error
(
"退款回调参数为空"
);
return
ResponseDto
.
failure
(
"退款回调参数为空"
);
}
boolean
verified
=
s
houQianBaService
.
verifySignature
(
callbackParams
);
boolean
verified
=
s
qbBiz
.
verifySignature
(
callbackParams
);
if
(!
verified
)
{
log
.
error
(
"退款回调验签失败"
);
return
ResponseDto
.
failure
(
"验签失败"
);
...
...
@@ -64,7 +110,7 @@ public class GoblinShouqianbaController {
RefundCallbackContent
refundCallbackContent
=
JsonUtils
.
fromJson
(
callbackParams
.
getContent
(),
RefundCallbackContent
.
class
);
log
.
info
(
"退款回调content: {}"
,
callbackParams
.
getContent
());
// 业务
return
s
qbOrderService
.
handleRefundCallback
(
refundCallbackContent
);
return
goblinS
qbOrderService
.
handleRefundCallback
(
refundCallbackContent
);
}
@ApiOperation
(
"券状态回调"
)
...
...
@@ -74,7 +120,7 @@ public class GoblinShouqianbaController {
log
.
error
(
"券状态回调参数为空"
);
return
ResponseDto
.
failure
(
"券状态回调参数为空"
);
}
boolean
verified
=
s
houQianBaService
.
verifySignature
(
callbackParams
);
boolean
verified
=
s
qbBiz
.
verifySignature
(
callbackParams
);
if
(!
verified
)
{
log
.
error
(
"券状态回调验签失败"
);
return
ResponseDto
.
failure
(
"验签失败"
);
...
...
@@ -84,7 +130,6 @@ public class GoblinShouqianbaController {
log
.
info
(
"券状态回调content: {}"
,
callbackParams
.
getContent
());
// 业务
return
s
qbOrderService
.
handleCouponCallback
(
callbackContent
);
return
goblinS
qbOrderService
.
handleCouponCallback
(
callbackContent
);
}
}
liquidnet-bus-service/liquidnet-service-
goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin
/service/impl/GoblinSqbOrderServiceImpl.java
→
liquidnet-bus-service/liquidnet-service-
order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order
/service/impl/GoblinSqbOrderServiceImpl.java
View file @
c6d5150f
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-
goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util
/GoblinSqbConvertUtils.java
→
liquidnet-bus-service/liquidnet-service-
order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils
/GoblinSqbConvertUtils.java
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
goblin
.
util
;
package
com
.
liquidnet
.
service
.
order
.
utils
;
import
lombok.extern.slf4j.Slf4j
;
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinSqbRedisUtils.java
0 → 100644
View file @
c6d5150f
package
com
.
liquidnet
.
service
.
order
.
utils
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
/**
* 收钱吧相关 Redis 操作封装
*/
@Slf4j
@Component
public
class
GoblinSqbRedisUtils
{
@Autowired
private
RedisUtil
redisUtil
;
/* ---------------------------------------- 订单操作(TTL 2h) ---------------------------------------- */
public
void
setSqbOrder
(
String
orderId
,
GoblinSqbOrderVo
vo
)
{
redisUtil
.
set
(
GoblinRedisConst
.
SQB_ORDER
.
concat
(
orderId
),
vo
,
RedisKeyExpireConst
.
SQB_ORDER_EXPIRE
);
}
public
GoblinSqbOrderVo
getSqbOrder
(
String
orderId
)
{
return
(
GoblinSqbOrderVo
)
redisUtil
.
get
(
GoblinRedisConst
.
SQB_ORDER
.
concat
(
orderId
));
}
public
void
delSqbOrder
(
String
orderId
)
{
redisUtil
.
del
(
GoblinRedisConst
.
SQB_ORDER
.
concat
(
orderId
));
}
/* ---------------------------------------- 演出关联商品缓存(TTL 5min) ---------------------------------------- */
public
void
setPerfGoods
(
String
performancesId
,
List
<
GoblinSqbPerfGoodsVo
>
list
)
{
redisUtil
.
set
(
GoblinRedisConst
.
SQB_PERFORMANCE_GOODS
.
concat
(
performancesId
),
list
,
RedisKeyExpireConst
.
SQB_PERFORMANCE_GOODS_EXPIRE
);
}
public
List
<
GoblinSqbPerfGoodsVo
>
getPerfGoods
(
String
performancesId
)
{
return
(
List
<
GoblinSqbPerfGoodsVo
>)
redisUtil
.
get
(
GoblinRedisConst
.
SQB_PERFORMANCE_GOODS
.
concat
(
performancesId
));
}
public
void
delPerfGoods
(
String
performancesId
)
{
redisUtil
.
del
(
GoblinRedisConst
.
SQB_PERFORMANCE_GOODS
.
concat
(
performancesId
));
}
/* ---------------------------------------- 下单防重锁(TTL 10s) ---------------------------------------- */
/**
* 尝试获取下单防重锁
*
* @param userId 用户ID
* @param skuId SKU ID
* @return true 获取成功,false 已被锁定
*/
public
boolean
tryOrderLock
(
String
userId
,
String
skuId
)
{
String
key
=
GoblinRedisConst
.
SQB_ORDER_LOCK
.
concat
(
userId
).
concat
(
":"
).
concat
(
skuId
);
return
redisUtil
.
lock
(
key
,
1
,
RedisKeyExpireConst
.
SQB_ORDER_LOCK_EXPIRE
);
}
/**
* 释放下单防重锁
*
* @param userId 用户ID
* @param skuId SKU ID
*/
public
void
releaseOrderLock
(
String
userId
,
String
skuId
)
{
String
key
=
GoblinRedisConst
.
SQB_ORDER_LOCK
.
concat
(
userId
).
concat
(
":"
).
concat
(
skuId
);
redisUtil
.
uLock
(
key
);
}
/**
* 添加用户 收钱吧订单列表
* @param userId
* @param orderId
*/
public
void
addSqbOrderList
(
String
userId
,
String
orderId
)
{
String
redisKey
=
GoblinRedisConst
.
SQB_GOBLIN_ORDER_LIST
.
concat
(
userId
);
List
<
String
>
list
=
getSqbOrderList
(
userId
);
if
(
list
.
size
()
>=
40
)
{
list
.
remove
(
0
);
list
.
add
(
orderId
);
}
else
{
list
.
add
(
orderId
);
}
redisUtil
.
set
(
redisKey
,
list
);
}
/**
* 获取 收钱吧订单id列表
* @param uid
* @return
*/
public
List
<
String
>
getSqbOrderList
(
String
uid
)
{
String
redisKey
=
GoblinRedisConst
.
SQB_GOBLIN_ORDER_LIST
.
concat
(
uid
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
return
CollectionUtil
.
arrayListString
();
}
else
{
return
(
List
<
String
>)
obj
;
}
}
}
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