记得上下班打卡 | 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
3d0d7f5a
Commit
3d0d7f5a
authored
Jul 05, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交接口
parent
a402d6c1
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
357 additions
and
6 deletions
+357
-6
GoblinOrderServiceImpl.java
...et/service/order/service/impl/GoblinOrderServiceImpl.java
+7
-4
MixOrderServiceImpl.java
...idnet/service/order/service/impl/MixOrderServiceImpl.java
+269
-2
GoblinNftOrderUtils.java
...om/liquidnet/service/order/utils/GoblinNftOrderUtils.java
+59
-0
GoblinRedisUtils.java
...a/com/liquidnet/service/order/utils/GoblinRedisUtils.java
+16
-0
ObjectUtil.java
...in/java/com/liquidnet/service/order/utils/ObjectUtil.java
+6
-0
No files found.
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/GoblinOrderServiceImpl.java
View file @
3d0d7f5a
...
...
@@ -573,7 +573,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
sqlDataOrder
.
add
(
new
Object
[]{
storeOrder
.
getMasterOrderCode
(),
storeOrder
.
getOrderId
(),
storeOrder
.
getStoreId
(),
storeOrder
.
getStoreName
(),
storeOrder
.
getOrderCode
(),
storeOrder
.
getUserId
(),
storeOrder
.
getUserName
(),
storeOrder
.
getUserMobile
(),
storeOrder
.
getPriceTotal
(),
storeOrder
.
getPayCode
(),
storeOrder
.
getPriceActual
(),
storeOrder
.
getPriceRefund
(),
storeOrder
.
getPriceExpress
(),
storeOrder
.
getPriceCoupon
(),
storeOrder
.
getStorePriceCoupon
(),
storeOrder
.
getPriceVoucher
(),
storeOrder
.
getStatus
(),
storeOrder
.
getUcouponId
(),
storeOrder
.
getStoreCouponId
(),
storeOrder
.
getPayType
(),
storeOrder
.
getDeviceFrom
(),
storeOrder
.
getSource
(),
storeOrder
.
getVersion
(),
storeOrder
.
getIsMember
(),
storeOrder
.
getOrderType
(),
storeOrder
.
getWriteOffCode
(),
storeOrder
.
getPayCountdownMinute
(),
storeOrder
.
getIpAddress
(),
storeOrder
.
getMarketId
(),
storeOrder
.
getMarketType
(),
storeOrder
.
getCreatedAt
(),
""
storeOrder
.
getSource
(),
storeOrder
.
getVersion
(),
storeOrder
.
getIsMember
(),
storeOrder
.
getOrderType
(),
storeOrder
.
getWriteOffCode
(),
storeOrder
.
getPayCountdownMinute
(),
storeOrder
.
getIpAddress
(),
storeOrder
.
getMarketId
(),
storeOrder
.
getMarketType
(),
storeOrder
.
getCreatedAt
(),
""
});
GoblinOrderAttr
orderAttr
=
item
.
getOrderAttr
();
sqlDataAttr
.
add
(
new
Object
[]{
...
...
@@ -585,7 +585,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
GoblinOrderAttrVo
orderAttrVo
=
GoblinOrderAttrVo
.
getNew
().
copy
(
orderAttr
);
//待支付发送队列
queueUtils
.
sendMsgByRedisGoblinStock
(
orderVo
.
getMasterOrderCode
(),
storeOrder
.
getCreatedAt
(),
"GOBLIN"
,
5
);
queueUtils
.
sendMsgByRedisGoblinStock
(
orderVo
.
getMasterOrderCode
(),
storeOrder
.
getCreatedAt
(),
"GOBLIN"
,
5
);
//redis 赋值
orderVo
.
setOrderAttrVo
(
orderAttrVo
);
orderVo
.
setOrderSkuVoIds
(
goblinOrderSkuIdList
);
...
...
@@ -983,8 +983,11 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
String
pre
=
GoblinStatusConst
.
MarketPreStatus
.
getPre
(
orderSkuVo
.
getSkuId
());
String
skuId
=
orderSkuVo
.
getSkuId
();
//需要判断是否超时支付
redisUtils
.
incrSkuStock
(
pre
,
skuId
,
orderSkuVo
.
getNum
());
redisUtils
.
decrSkuCountByUid
(
orderVo
.
getUserId
(),
skuId
,
orderSkuVo
.
getNum
());
if
(!
"超时支付自动退款"
.
equals
(
backOrderVo
.
getDescribes
()))
{
redisUtils
.
incrSkuStock
(
pre
,
skuId
,
orderSkuVo
.
getNum
());
redisUtils
.
decrSkuCountByUid
(
orderVo
.
getUserId
(),
skuId
,
orderSkuVo
.
getNum
());
}
}
redisUtils
.
setGoblinOrderSku
(
backOrderSkuVo
.
getOrderSkuId
(),
orderSkuVo
);
mongoUtils
.
updateGoblinOrderSkuVo
(
backOrderSkuVo
.
getOrderSkuId
(),
orderSkuVo
);
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/MixOrderServiceImpl.java
View file @
3d0d7f5a
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinNftOrderUtils.java
View file @
3d0d7f5a
package
com
.
liquidnet
.
service
.
order
.
utils
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.base.ResponseDto
;
...
...
@@ -569,4 +570,62 @@ public class GoblinNftOrderUtils {
return
null
;
}
}
/**
* 生成我的藏品
*
* @param orderVo
*/
public
void
generateUserArtwork
(
GoblinNftOrderVo
orderVo
,
Integer
source
)
{
String
uid
=
orderVo
.
getUserId
(),
skuId
=
orderVo
.
getSkuId
(),
orderId
=
orderVo
.
getOrderId
(),
spuId
=
orderVo
.
getSpuId
();
if
(
goblinRedisUtils
.
hasGenUserDigitalArtwork
(
uid
,
skuId
,
orderId
))
{
// 已生成
log
.
warn
(
"#GEN_ARTWORK EXIST_ART[uid={},skuId={},orderId={},source={}]"
,
uid
,
skuId
,
orderId
,
source
);
return
;
}
GoblinGoodsInfoVo
goodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
spuId
);
LocalDateTime
now
=
LocalDateTime
.
now
();
GoblinUserDigitalArtworkVo
digitalArtworkVo
=
GoblinUserDigitalArtworkVo
.
getNew
();
// String artworkId = IDGenerator.nextMilliId2();
String
artworkId
=
IDGenerator
.
nextSnowId
();
digitalArtworkVo
.
setArtworkId
(
artworkId
);
digitalArtworkVo
.
setSkuId
(
skuId
);
digitalArtworkVo
.
setUid
(
uid
);
digitalArtworkVo
.
setOrderId
(
orderId
);
digitalArtworkVo
.
setSource
(
source
);
digitalArtworkVo
.
setState
(
source
==
31
?
5
:
0
);
digitalArtworkVo
.
setDelFlg
(
"0"
);
digitalArtworkVo
.
setCreatedAt
(
now
);
digitalArtworkVo
.
setAuthor
(
goodsInfoVo
.
getAuthor
());
digitalArtworkVo
.
setPublisher
(
goodsInfoVo
.
getPublisher
());
// Redis记录VO
goblinRedisUtils
.
setGoblinUserDigitalArtworkVo
(
digitalArtworkVo
);
// Redis更新藏品ID列表
goblinRedisUtils
.
addGoblinUserDigitalArtworkIds
(
uid
,
artworkId
);
// 缓存用户藏品数
goblinRedisUtils
.
incrGoblinUserDigitalArtworks
(
uid
);
// Redis生成标记(缓存三天),用于上面的生成检查
goblinRedisUtils
.
markGenUserDigitalArtwork
(
uid
,
skuId
,
orderId
);
// Mongo记录VO
goblinOrderUtils
.
setMongoList
(
GoblinUserDigitalArtworkVo
.
class
.
getSimpleName
(),
"artworkId"
,
digitalArtworkVo
.
getArtworkId
(),
GoblinRedisConst
.
USER_DIGITAL_ARTWORK
,
1
);
// goblinMongoUtils.insertGoblinUserDigitalArtworkVo(digitalArtworkVo);
if
(
source
!=
31
)
{
// 空投需要领取再发行
GoblinGoodsSkuInfoVo
goodsSkuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuId
);
if
(
"0"
.
equals
(
goodsSkuInfoVo
.
getUnbox
()))
{
// 非盲盒,NFT发行购买
ObjectNode
bizNftBuyNode
=
JsonUtils
.
OM
().
createObjectNode
().
put
(
"nftOrderPayId"
,
orderId
).
put
(
"routerType"
,
goodsSkuInfoVo
.
getRouteType
())
.
put
(
"skuId"
,
skuId
).
put
(
"userId"
,
uid
).
put
(
"buyTimestamp"
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
now
));
queueUtils
.
sendMsgByRedis
(
MQConst
.
GalaxyQueue
.
JSON_NFT_PUBLISH_AND_BUY
.
getKey
(),
bizNftBuyNode
.
toString
());
}
}
// Mysql持久化
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
toMqSqls
.
add
(
SqlMapping
.
get
(
"goblin_user_digital_artwork.insert"
));
LinkedList
<
Object
[]>
initUserDigitalArtworkObjs
=
CollectionUtil
.
linkedListObjectArr
();
initUserDigitalArtworkObjs
.
add
(
new
Object
[]{
digitalArtworkVo
.
getArtworkId
(),
skuId
,
uid
,
orderId
,
source
,
digitalArtworkVo
.
getState
(),
now
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
SQL_ARTWORK_GEN
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
initUserDigitalArtworkObjs
));
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinRedisUtils.java
View file @
3d0d7f5a
...
...
@@ -461,6 +461,22 @@ public class GoblinRedisUtils {
}
}
public
HashMap
<
String
,
String
[]>
getMixMasterCode
(
String
masterCode
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_ORDER_MASTER
.
concat
(
masterCode
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
return
null
;
}
else
{
String
[]
a
=
((
String
)
obj
).
split
(
"&&"
);
String
[]
nftA
=
a
[
0
].
split
(
","
);
String
[]
goblinA
=
a
[
1
].
split
(
","
);
HashMap
<
String
,
String
[]>
map
=
ObjectUtil
.
mixIdMap
();
map
.
put
(
"nft"
,
nftA
);
map
.
put
(
"goblin"
,
goblinA
);
return
map
;
}
}
//主订单对应的出货吗
public
void
setOffCode
(
String
writeOffCode
,
String
masterCode
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_ORDER_OFFCODE
.
concat
(
writeOffCode
);
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/ObjectUtil.java
View file @
3d0d7f5a
...
...
@@ -57,10 +57,16 @@ public class ObjectUtil {
private
static
final
ArrayList
<
GoblinGoodsSkuInfoVo
>
goblinGoodsSkuInfoVos
=
new
ArrayList
<>();
private
static
final
HashMap
<
String
,
List
<
GoblinStoreOrder
>>
hashMapSp
=
new
HashMap
();
private
static
final
HashMap
<
String
,
List
<
GoblinGoodsSkuInfoVo
>>
goblinGoodsSkuInfoVoMap
=
new
HashMap
();
private
static
final
HashMap
<
String
,
String
[]>
mixIdMap
=
new
HashMap
();
public
static
Object
[]
objectsArray
;
public
static
final
Integer
[]
integerArray2
=
new
Integer
[
2
];
public
static
HashMap
<
String
,
String
[]>
mixIdMap
()
{
return
(
HashMap
<
String
,
String
[]>)
mixIdMap
.
clone
();
}
public
static
ArrayList
<
GoblinGoodsSkuInfoVo
>
goblinGoodsSkuInfoVos
()
{
return
(
ArrayList
<
GoblinGoodsSkuInfoVo
>)
goblinGoodsSkuInfoVos
.
clone
();
}
...
...
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