记得上下班打卡 | 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
14f2add9
Commit
14f2add9
authored
Apr 03, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加收钱吧商品扩展 redis缓存
parent
6beeefde
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
78 additions
and
61 deletions
+78
-61
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+1
-0
GoblinStoreMgtSqbGoodsController.java
...n/controller/manage/GoblinStoreMgtSqbGoodsController.java
+9
-10
GoblinSqbRedisUtils.java
...om/liquidnet/service/goblin/util/GoblinSqbRedisUtils.java
+15
-0
GoblinSqbOrderServiceImpl.java
...service/order/service/impl/GoblinSqbOrderServiceImpl.java
+26
-20
GoblinSqbConvertUtils.java
.../liquidnet/service/order/utils/GoblinSqbConvertUtils.java
+2
-19
GoblinSqbRedisUtils.java
...om/liquidnet/service/order/utils/GoblinSqbRedisUtils.java
+25
-12
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
14f2add9
...
@@ -445,6 +445,7 @@ public class GoblinRedisConst {
...
@@ -445,6 +445,7 @@ public class GoblinRedisConst {
*/
*/
public
static
final
String
SQB_ORDER_LOCK
=
PREFIX
.
concat
(
"sqb:order:lock:"
);
public
static
final
String
SQB_ORDER_LOCK
=
PREFIX
.
concat
(
"sqb:order:lock:"
);
public
static
final
String
SQB_GOBLIN_GOODS_EXT_KEY
=
PREFIX
.
concat
(
"sqb:goods:ext:"
);
/**
/**
* 收钱吧 用户订单列表
* 收钱吧 用户订单列表
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinStoreMgtSqbGoodsController.java
View file @
14f2add9
...
@@ -9,14 +9,12 @@ import com.liquidnet.commons.lang.util.JsonUtils;
...
@@ -9,14 +9,12 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsSqbAddParam
;
import
com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsSqbAddParam
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
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.entity.GoblinSqbGoodsExt
;
import
com.liquidnet.service.goblin.mapper.GoblinSqbGoodsExtMapper
;
import
com.liquidnet.service.goblin.mapper.GoblinSqbGoodsExtMapper
;
import
com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtSqbGoodsService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtSqbGoodsService
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
com.liquidnet.service.goblin.util.GoblinSqbRedisUtils
;
import
com.liquidnet.service.goblin.util.ObjectUtil
;
import
com.liquidnet.service.goblin.util.ObjectUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -29,11 +27,7 @@ import org.springframework.validation.annotation.Validated;
...
@@ -29,11 +27,7 @@ import org.springframework.validation.annotation.Validated;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 收钱吧商品管理
* 收钱吧商品管理
...
@@ -50,6 +44,8 @@ public class GoblinStoreMgtSqbGoodsController {
...
@@ -50,6 +44,8 @@ public class GoblinStoreMgtSqbGoodsController {
@Autowired
@Autowired
private
GoblinRedisUtils
goblinRedisUtils
;
private
GoblinRedisUtils
goblinRedisUtils
;
@Autowired
@Autowired
private
GoblinSqbRedisUtils
goblinSqbRedisUtils
;
@Autowired
private
GoblinSqbGoodsExtMapper
goblinSqbGoodsExtMapper
;
private
GoblinSqbGoodsExtMapper
goblinSqbGoodsExtMapper
;
@Autowired
@Autowired
private
SqbBiz
goblinShouQianBaService
;
private
SqbBiz
goblinShouQianBaService
;
...
@@ -211,6 +207,9 @@ public class GoblinStoreMgtSqbGoodsController {
...
@@ -211,6 +207,9 @@ public class GoblinStoreMgtSqbGoodsController {
ext
.
setCreatedAt
(
now
);
ext
.
setCreatedAt
(
now
);
ext
.
setUpdatedAt
(
now
);
ext
.
setUpdatedAt
(
now
);
goblinSqbGoodsExtMapper
.
insert
(
ext
);
goblinSqbGoodsExtMapper
.
insert
(
ext
);
// 设置正在商品获取收钱吧相关信息缓存
goblinSqbRedisUtils
.
setSqbGoodsExt
(
ext
.
getSpuId
(),
ext
.
getSkuId
(),
GoblinSqbGoodsExtVo
.
of
(
ext
.
getSpuId
(),
ext
.
getSkuId
(),
ext
.
getMallSn
(),
ext
.
getSignature
(),
ext
.
getSqbSpuId
(),
ext
.
getSqbSkuId
()));
}
}
}
}
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinSqbRedisUtils.java
View file @
14f2add9
...
@@ -2,8 +2,10 @@ package com.liquidnet.service.goblin.util;
...
@@ -2,8 +2,10 @@ package com.liquidnet.service.goblin.util;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbGoodsExtVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -94,4 +96,17 @@ public class GoblinSqbRedisUtils {
...
@@ -94,4 +96,17 @@ public class GoblinSqbRedisUtils {
}
}
/**
* 设置正在商品获取收钱吧相关信息缓存
* @param spuId 正在spuId
* @param skuId 正在skuId
* @param sqbGoodsExtVo
*/
public
void
setSqbGoodsExt
(
String
spuId
,
String
skuId
,
GoblinSqbGoodsExtVo
sqbGoodsExtVo
)
{
if
(
StringUtil
.
isBlank
(
spuId
)
||
StringUtil
.
isBlank
(
skuId
))
{
return
;
}
String
redisKey
=
GoblinRedisConst
.
SQB_GOBLIN_GOODS_EXT_KEY
.
concat
(
spuId
).
concat
(
":"
).
concat
(
skuId
);
redisUtil
.
set
(
redisKey
,
sqbGoodsExtVo
);
}
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/GoblinSqbOrderServiceImpl.java
View file @
14f2add9
...
@@ -8,13 +8,17 @@ import com.liquidnet.common.third.sqb.param.request.CashierQueryRequest;
...
@@ -8,13 +8,17 @@ import com.liquidnet.common.third.sqb.param.request.CashierQueryRequest;
import
com.liquidnet.common.third.sqb.param.request.CommonRequest
;
import
com.liquidnet.common.third.sqb.param.request.CommonRequest
;
import
com.liquidnet.common.third.sqb.param.request.CreateWechatPrepayOrderRequest
;
import
com.liquidnet.common.third.sqb.param.request.CreateWechatPrepayOrderRequest
;
import
com.liquidnet.common.third.sqb.param.request.SettlementCreateRequest
;
import
com.liquidnet.common.third.sqb.param.request.SettlementCreateRequest
;
import
com.liquidnet.common.third.sqb.param.response.data.*
;
import
com.liquidnet.common.third.sqb.param.response.data.CashierQueryData
;
import
com.liquidnet.common.third.sqb.param.response.data.CreateWechatPrepayOrderData
;
import
com.liquidnet.common.third.sqb.param.response.data.OrderCreateData
;
import
com.liquidnet.common.third.sqb.param.response.data.SettlementCreateData
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.manage.GoblinSqbOrderParam
;
import
com.liquidnet.service.goblin.dto.manage.GoblinSqbOrderParam
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.entity.GoblinSqbPerformanceGoods
;
import
com.liquidnet.service.goblin.service.IGoblinSqbOrderService
;
import
com.liquidnet.service.goblin.service.IGoblinSqbOrderService
;
import
com.liquidnet.service.order.utils.*
;
import
com.liquidnet.service.order.utils.*
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -49,8 +53,6 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -49,8 +53,6 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
private
static
final
DateTimeFormatter
DTF
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
private
static
final
DateTimeFormatter
DTF
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
@Autowired
private
GoblinSqbConvertUtils
sqbConvertUtils
;
// ================================ 创建订单 ================================
// ================================ 创建订单 ================================
...
@@ -72,20 +74,20 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -72,20 +74,20 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
try
{
try
{
// Step 2: 校验演出-商品关联
// Step 2: 校验演出-商品关联
List
<
GoblinSqbPerf
GoodsVo
>
perfGoods
=
goblinSqbRedisUtils
.
getPerfGoods
(
performancesId
);
List
<
GoblinSqbPerf
ormanceGoods
>
performanceGoodsListCache
=
goblinSqbRedisUtils
.
getSqbPerformanceGoodsListCache
(
performancesId
);
if
(
perf
Goods
.
isEmpty
())
{
if
(
perf
ormanceGoodsListCache
.
isEmpty
())
{
log
.
error
(
"[收钱吧下单] 演出关联商品列表为空,performancesId={}, skuId={}"
,
performancesId
,
skuId
);
log
.
error
(
"[收钱吧下单] 演出关联商品列表为空,performancesId={}, skuId={}"
,
performancesId
,
skuId
);
return
ResponseDto
.
failure
(
"商品与演出关联不存在"
);
return
ResponseDto
.
failure
(
"商品与演出关联不存在"
);
}
}
boolean
skuIdExists
=
false
;
boolean
skuIdExists
=
false
;
for
(
GoblinSqbPerfGoodsVo
perfGood
:
perfGoods
)
{
for
(
MallProductsQueryData
.
Sku
skuResult
:
perfGood
.
getSkuResults
()
)
{
for
(
GoblinSqbPerformanceGoods
goblinSqbPerformanceGoods
:
performanceGoodsListCache
)
{
if
(
skuId
.
equals
(
skuResult
.
getSkuId
()))
{
if
(
skuId
.
equals
(
goblinSqbPerformanceGoods
.
getSkuId
()))
{
skuIdExists
=
true
;
skuIdExists
=
true
;
}
}
}
}
}
if
(!
skuIdExists
)
{
if
(!
skuIdExists
)
{
log
.
error
(
"[收钱吧下单] 演出-商品关联不存在或已禁用,performancesId={}, skuId={}"
,
performancesId
,
skuId
);
log
.
error
(
"[收钱吧下单] 演出-商品关联不存在或已禁用,performancesId={}, skuId={}"
,
performancesId
,
skuId
);
return
ResponseDto
.
failure
(
"商品与演出关联不存在"
);
return
ResponseDto
.
failure
(
"商品与演出关联不存在"
);
...
@@ -113,15 +115,19 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -113,15 +115,19 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
}
}
log
.
info
(
"[收钱吧下单] 扣减库存成功,skuId={}, 剩余库存={}"
,
skuId
,
remaining
);
log
.
info
(
"[收钱吧下单] 扣减库存成功,skuId={}, 剩余库存={}"
,
skuId
,
remaining
);
//TODO 获取该商品对应的商城的编号和密码
// 获取该商品对应的商城的编号和密码
Map
<
String
,
String
>
sqbInfoMap
=
sqbConvertUtils
.
getSqbInfoByzhengzaiSkuIdAndSpuId
(
skuId
,
spuId
);
GoblinSqbGoodsExtVo
sqbGoodsExt
=
goblinSqbRedisUtils
.
getSqbGoodsExt
(
skuId
,
spuId
);
if
(
sqbGoodsExt
==
null
)
{
log
.
error
(
"[收钱吧下单] 正在商品对应收钱吧参数为空, skuId: {}, spuId: {}"
,
skuId
,
spuId
);
return
ResponseDto
.
failure
(
"下单失败"
);
}
SettlementCreateData
settlementData
=
sqbBiz
.
createSettlement
(
SettlementCreateData
settlementData
=
sqbBiz
.
createSettlement
(
sqb
InfoMap
.
get
(
"mallSn"
),
sqb
GoodsExt
.
getMallSn
(
),
sqb
InfoMap
.
get
(
"signature"
),
sqb
GoodsExt
.
getSignature
(
),
userId
,
userId
,
Collections
.
singletonList
(
buildSqbCheckOutItem
(
skuVo
,
Collections
.
singletonList
(
buildSqbCheckOutItem
(
skuVo
,
quantity
,
sqb
InfoMap
.
get
(
"sqbSkuId"
),
sqbInfoMap
.
get
(
"sqbSpuId"
))));
quantity
,
sqb
GoodsExt
.
getSqbSkuId
(),
sqbGoodsExt
.
getSqbSpuId
(
))));
if
(
settlementData
==
null
)
{
if
(
settlementData
==
null
)
{
goblinRedisUtils
.
incrSkuStock
(
null
,
skuId
,
quantity
);
goblinRedisUtils
.
incrSkuStock
(
null
,
skuId
,
quantity
);
return
ResponseDto
.
failure
(
"创建结算明细失败"
);
return
ResponseDto
.
failure
(
"创建结算明细失败"
);
...
@@ -132,8 +138,8 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -132,8 +138,8 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
// Step 4.2: createOrder → 得 sqbOrderSn + sqbOrderSignature + sqbAcquiringSn
// Step 4.2: createOrder → 得 sqbOrderSn + sqbOrderSignature + sqbAcquiringSn
String
goodsName
=
skuVo
.
getName
();
String
goodsName
=
skuVo
.
getName
();
OrderCreateData
orderData
=
sqbBiz
.
createOrder
(
OrderCreateData
orderData
=
sqbBiz
.
createOrder
(
sqb
InfoMap
.
get
(
"mallSn"
),
sqb
GoodsExt
.
getMallSn
(
),
sqb
InfoMap
.
get
(
"signature"
),
sqb
GoodsExt
.
getSignature
(
),
checkoutItemsId
,
checkoutItemsId
,
userId
,
userId
,
buildRequestId
(
IDGenerator
.
nextSnowId
()),
buildRequestId
(
IDGenerator
.
nextSnowId
()),
...
@@ -252,7 +258,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -252,7 +258,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
orderVo
.
setSpuId
(
spuId
);
orderVo
.
setSpuId
(
spuId
);
orderVo
.
setSkuId
(
skuId
);
orderVo
.
setSkuId
(
skuId
);
orderVo
.
setQuantity
(
quantity
);
orderVo
.
setQuantity
(
quantity
);
orderVo
.
setAmount
(
s
qbConvertUtils
.
yuanToFen
(
priceTotal
));
orderVo
.
setAmount
(
GoblinS
qbConvertUtils
.
yuanToFen
(
priceTotal
));
orderVo
.
setSqbOrderSn
(
sqbOrderSn
);
orderVo
.
setSqbOrderSn
(
sqbOrderSn
);
orderVo
.
setSqbOrderSignature
(
sqbOrderSignature
);
orderVo
.
setSqbOrderSignature
(
sqbOrderSignature
);
orderVo
.
setSqbAcquiringSn
(
sqbAcquiringSn
);
orderVo
.
setSqbAcquiringSn
(
sqbAcquiringSn
);
...
@@ -305,7 +311,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -305,7 +311,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
LinkedList
<
Object
[]>
sqlDataSqbOrder
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
sqlDataSqbOrder
=
new
LinkedList
<>();
sqlDataSqbOrder
.
add
(
new
Object
[]{
sqlDataSqbOrder
.
add
(
new
Object
[]{
orderId
,
userId
,
performancesId
,
spuId
,
skuId
,
quantity
,
orderId
,
userId
,
performancesId
,
spuId
,
skuId
,
quantity
,
s
qbConvertUtils
.
yuanToFen
(
priceTotal
),
GoblinS
qbConvertUtils
.
yuanToFen
(
priceTotal
),
sqbOrderSn
,
sqbOrderSignature
,
sqbAcquiringSn
,
sqbAcquiringSign
,
checkoutItemsId
,
sqbOrderSn
,
sqbOrderSignature
,
sqbAcquiringSn
,
sqbAcquiringSign
,
checkoutItemsId
,
0
,
now
,
now
0
,
now
,
now
});
});
...
@@ -360,7 +366,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
...
@@ -360,7 +366,7 @@ public class GoblinSqbOrderServiceImpl implements IGoblinSqbOrderService {
SettlementCreateRequest
.
CheckoutItem
checkoutItem
=
new
SettlementCreateRequest
.
CheckoutItem
();
SettlementCreateRequest
.
CheckoutItem
checkoutItem
=
new
SettlementCreateRequest
.
CheckoutItem
();
checkoutItem
.
setSpuId
(
sqbSpuId
);
checkoutItem
.
setSpuId
(
sqbSpuId
);
checkoutItem
.
setSkuId
(
sqbSkuId
);
checkoutItem
.
setSkuId
(
sqbSkuId
);
checkoutItem
.
setPrice
(
s
qbConvertUtils
.
yuanToFen
(
skuVo
.
getPrice
()));
checkoutItem
.
setPrice
(
GoblinS
qbConvertUtils
.
yuanToFen
(
skuVo
.
getPrice
()));
checkoutItem
.
setQuantity
(
String
.
valueOf
(
quantity
));
checkoutItem
.
setQuantity
(
String
.
valueOf
(
quantity
));
checkoutItem
.
setType
((
byte
)
0
);
checkoutItem
.
setType
((
byte
)
0
);
checkoutItem
.
setTitle
(
skuVo
.
getName
());
checkoutItem
.
setTitle
(
skuVo
.
getName
());
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinSqbConvertUtils.java
View file @
14f2add9
package
com
.
liquidnet
.
service
.
order
.
utils
;
package
com
.
liquidnet
.
service
.
order
.
utils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
/**
* 收钱吧参数转换工具类
* 收钱吧参数转换工具类
* 1. 金额转换:元(BigDecimal) -> 分(Long)
* 1. 金额转换:元(BigDecimal) -> 分(Long)
*/
*/
@Slf4j
@Component
public
class
GoblinSqbConvertUtils
{
public
class
GoblinSqbConvertUtils
{
/**
/**
* 元转分 (BigDecimal -> Long)
* 元转分 (BigDecimal -> Long)
*
* @param amount 元
* @param amount 元
* @return 分
* @return 分
*/
*/
public
Long
yuanToFen
(
BigDecimal
amount
)
{
public
static
Long
yuanToFen
(
BigDecimal
amount
)
{
if
(
amount
==
null
)
{
if
(
amount
==
null
)
{
return
0L
;
return
0L
;
}
}
...
@@ -34,15 +28,4 @@ public class GoblinSqbConvertUtils {
...
@@ -34,15 +28,4 @@ public class GoblinSqbConvertUtils {
.
longValue
();
.
longValue
();
}
}
/**
* 根据正在的skuId、spuId获取收钱吧信息
* @param skuId
* @param spuId
* @return
*/
public
Map
<
String
,
String
>
getSqbInfoByzhengzaiSkuIdAndSpuId
(
String
skuId
,
String
spuId
)
{
return
new
HashMap
<>();
}
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinSqbRedisUtils.java
View file @
14f2add9
...
@@ -4,8 +4,9 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
...
@@ -4,8 +4,9 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbGoodsExtVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderVo
;
import
com.liquidnet.service.goblin.
dto.vo.GoblinSqbPerfGoodsVo
;
import
com.liquidnet.service.goblin.
entity.GoblinSqbPerformanceGoods
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -46,27 +47,20 @@ public class GoblinSqbRedisUtils {
...
@@ -46,27 +47,20 @@ public class GoblinSqbRedisUtils {
/* ---------------------------------------- 演出关联商品缓存(TTL 5min) ---------------------------------------- */
/* ---------------------------------------- 演出关联商品缓存(TTL 5min) ---------------------------------------- */
public
void
setPerfGoods
(
String
performancesId
,
List
<
GoblinSqbPerfGoodsVo
>
list
)
{
redisUtil
.
set
(
GoblinRedisConst
.
SQB_PERFORMANCE_GOODS
.
concat
(
performancesId
),
list
,
RedisKeyExpireConst
.
SQB_PERFORMANCE_GOODS_EXPIRE
);
}
/**
/**
* 获取演出关联商品
* 获取演出关联商品
*
* @param performancesId
* @param performancesId
* @return
* @return
*/
*/
public
List
<
GoblinSqbPerf
GoodsVo
>
getPerfGoods
(
String
performancesId
)
{
public
List
<
GoblinSqbPerf
ormanceGoods
>
getSqbPerformanceGoodsListCache
(
String
performancesId
)
{
String
key
=
GoblinRedisConst
.
SQB_PERFORMANCE_GOODS
.
concat
(
performancesId
);
String
key
=
GoblinRedisConst
.
SQB_PERFORMANCE_GOODS
.
concat
(
performancesId
);
Object
object
=
redisUtil
.
get
(
key
);
Object
object
=
redisUtil
.
get
(
key
);
if
(
null
==
object
)
{
if
(
null
==
object
)
{
return
Collections
.
emptyList
();
return
Collections
.
emptyList
();
}
else
{
}
else
{
return
(
List
<
GoblinSqbPerfGoodsVo
>)
object
;
return
(
List
<
GoblinSqbPerformanceGoods
>)
object
;
}
}
}
public
void
delPerfGoods
(
String
performancesId
)
{
redisUtil
.
del
(
GoblinRedisConst
.
SQB_PERFORMANCE_GOODS
.
concat
(
performancesId
));
}
}
/* ---------------------------------------- 下单防重锁(TTL 10s) ---------------------------------------- */
/* ---------------------------------------- 下单防重锁(TTL 10s) ---------------------------------------- */
...
@@ -96,6 +90,7 @@ public class GoblinSqbRedisUtils {
...
@@ -96,6 +90,7 @@ public class GoblinSqbRedisUtils {
/**
/**
* 添加用户 收钱吧订单列表
* 添加用户 收钱吧订单列表
*
* @param userId
* @param userId
* @param orderId
* @param orderId
*/
*/
...
@@ -114,6 +109,7 @@ public class GoblinSqbRedisUtils {
...
@@ -114,6 +109,7 @@ public class GoblinSqbRedisUtils {
/**
/**
* 获取 收钱吧订单id列表
* 获取 收钱吧订单id列表
*
* @param uid
* @param uid
* @return
* @return
*/
*/
...
@@ -126,4 +122,21 @@ public class GoblinSqbRedisUtils {
...
@@ -126,4 +122,21 @@ public class GoblinSqbRedisUtils {
return
(
List
<
String
>)
obj
;
return
(
List
<
String
>)
obj
;
}
}
}
}
/**
* 获取正在商品获取收钱吧相关信息缓存
*
* @param spuId
* @param skuId
* @return
*/
public
GoblinSqbGoodsExtVo
getSqbGoodsExt
(
String
spuId
,
String
skuId
)
{
String
redisKey
=
GoblinRedisConst
.
SQB_GOBLIN_GOODS_EXT_KEY
.
concat
(
spuId
).
concat
(
":"
).
concat
(
skuId
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
return
null
;
}
else
{
return
(
GoblinSqbGoodsExtVo
)
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