记得上下班打卡 | 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
8c71bb3c
Commit
8c71bb3c
authored
Apr 14, 2022
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
getIsStock
parent
e4239309
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
45 deletions
+42
-45
GoblinNftGoodsAppServiceImpl.java
...ice/goblin/service/impl/GoblinNftGoodsAppServiceImpl.java
+6
-35
GoblinOrderUtils.java
...a/com/liquidnet/service/goblin/util/GoblinOrderUtils.java
+36
-10
No files found.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinNftGoodsAppServiceImpl.java
View file @
8c71bb3c
...
@@ -10,10 +10,7 @@ import com.liquidnet.service.goblin.dto.vo.*;
...
@@ -10,10 +10,7 @@ import com.liquidnet.service.goblin.dto.vo.*;
import
com.liquidnet.service.goblin.service.GoblinCouponService
;
import
com.liquidnet.service.goblin.service.GoblinCouponService
;
import
com.liquidnet.service.goblin.service.IGoblinNftGoodsAppService
;
import
com.liquidnet.service.goblin.service.IGoblinNftGoodsAppService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinGoodsAnticipateMgService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinGoodsAnticipateMgService
;
import
com.liquidnet.service.goblin.util.GoblinMongoUtils
;
import
com.liquidnet.service.goblin.util.*
;
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
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -46,6 +43,8 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -46,6 +43,8 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
@Autowired
@Autowired
RedisUtil
redisUtil
;
RedisUtil
redisUtil
;
@Autowired
@Autowired
private
GoblinOrderUtils
goblinOrderUtils
;
@Autowired
GoblinCouponService
goblinCouponService
;
GoblinCouponService
goblinCouponService
;
@Autowired
@Autowired
IGoblinGoodsAnticipateMgService
goblinGoodsAnticipateMgService
;
IGoblinGoodsAnticipateMgService
goblinGoodsAnticipateMgService
;
...
@@ -78,7 +77,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -78,7 +77,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
GoblinNftGoodsSpuInfoVo
nftGoodsSpuInfoVo
=
GoblinNftGoodsSpuInfoVo
.
getNew
().
copy
(
goodsInfoVo
);
GoblinNftGoodsSpuInfoVo
nftGoodsSpuInfoVo
=
GoblinNftGoodsSpuInfoVo
.
getNew
().
copy
(
goodsInfoVo
);
nftGoodsSkuInfoVo
.
setGoblinNftGoodsSpuInfoVo
(
nftGoodsSpuInfoVo
);
nftGoodsSkuInfoVo
.
setGoblinNftGoodsSpuInfoVo
(
nftGoodsSpuInfoVo
);
// 库存
// 库存
HashMap
<
String
,
Integer
>
stockHashMap
=
getIsStock
(
skuInfoVo
.
getSkuId
(),
skuInfoVo
.
getUnbox
(),
skuInfoVo
.
getSoldoutStatus
(),
goodsInfoVo
.
getSkuIdList
());
HashMap
<
String
,
Integer
>
stockHashMap
=
g
oblinOrderUtils
.
g
etIsStock
(
skuInfoVo
.
getSkuId
(),
skuInfoVo
.
getUnbox
(),
skuInfoVo
.
getSoldoutStatus
(),
goodsInfoVo
.
getSkuIdList
());
nftGoodsSkuInfoVo
.
setIsStock
(
stockHashMap
.
get
(
"isStock"
));
nftGoodsSkuInfoVo
.
setIsStock
(
stockHashMap
.
get
(
"isStock"
));
// 写入列表
// 写入列表
skuList
.
add
(
nftGoodsSkuInfoVo
);
skuList
.
add
(
nftGoodsSkuInfoVo
);
...
@@ -99,7 +98,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -99,7 +98,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
GoblinNftGoodsSpuInfoVo
nftGoodsSpuInfoVo
=
GoblinNftGoodsSpuInfoVo
.
getNew
().
copy
(
goodsInfoVo
);
GoblinNftGoodsSpuInfoVo
nftGoodsSpuInfoVo
=
GoblinNftGoodsSpuInfoVo
.
getNew
().
copy
(
goodsInfoVo
);
goblinNftGoodsSkuListVo
.
setGoblinNftGoodsSpuInfoVo
(
nftGoodsSpuInfoVo
);
goblinNftGoodsSkuListVo
.
setGoblinNftGoodsSpuInfoVo
(
nftGoodsSpuInfoVo
);
// 库存
// 库存
HashMap
<
String
,
Integer
>
stockHashMap
=
getIsStock
(
skuId
,
skuInfoVo
.
getUnbox
(),
skuInfoVo
.
getSoldoutStatus
(),
goodsInfoVo
.
getSkuIdList
());
HashMap
<
String
,
Integer
>
stockHashMap
=
g
oblinOrderUtils
.
g
etIsStock
(
skuId
,
skuInfoVo
.
getUnbox
(),
skuInfoVo
.
getSoldoutStatus
(),
goodsInfoVo
.
getSkuIdList
());
goblinNftGoodsSkuListVo
.
setIsStock
(
stockHashMap
.
get
(
"isStock"
));
goblinNftGoodsSkuListVo
.
setIsStock
(
stockHashMap
.
get
(
"isStock"
));
// 写入列表
// 写入列表
skuList
.
add
(
goblinNftGoodsSkuListVo
);
skuList
.
add
(
goblinNftGoodsSkuListVo
);
...
@@ -135,7 +134,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -135,7 +134,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
GoblinNftGoodsDetailSpuInfoVo
nftGoodsDetailSpuInfoVo
=
GoblinNftGoodsDetailSpuInfoVo
.
getNew
().
copy
(
goodsInfoVo
);
GoblinNftGoodsDetailSpuInfoVo
nftGoodsDetailSpuInfoVo
=
GoblinNftGoodsDetailSpuInfoVo
.
getNew
().
copy
(
goodsInfoVo
);
nftGoodsSkuInfoVo
.
setGoblinNftGoodsDetailSpuInfoVo
(
nftGoodsDetailSpuInfoVo
);
nftGoodsSkuInfoVo
.
setGoblinNftGoodsDetailSpuInfoVo
(
nftGoodsDetailSpuInfoVo
);
// 库存
// 库存
HashMap
<
String
,
Integer
>
stockHashMap
=
getIsStock
(
skuId
,
skuInfoVo
.
getUnbox
(),
skuInfoVo
.
getSoldoutStatus
(),
goodsInfoVo
.
getSkuIdList
());
HashMap
<
String
,
Integer
>
stockHashMap
=
g
oblinOrderUtils
.
g
etIsStock
(
skuId
,
skuInfoVo
.
getUnbox
(),
skuInfoVo
.
getSoldoutStatus
(),
goodsInfoVo
.
getSkuIdList
());
nftGoodsSkuInfoVo
.
setIsStock
(
stockHashMap
.
get
(
"isStock"
));
nftGoodsSkuInfoVo
.
setIsStock
(
stockHashMap
.
get
(
"isStock"
));
// 总库存
// 总库存
if
(
skuInfoVo
.
getUnbox
().
equals
(
"1"
))
{
if
(
skuInfoVo
.
getUnbox
().
equals
(
"1"
))
{
...
@@ -149,34 +148,6 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -149,34 +148,6 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
}
}
}
}
// 判断是否售罄
private
HashMap
<
String
,
Integer
>
getIsStock
(
String
skuId
,
String
unbox
,
String
soldoutStatus
,
List
<
String
>
skuIdList
)
{
HashMap
<
String
,
Integer
>
returnMap
=
CollectionUtil
.
mapStringInteger
();
Integer
isStock
=
0
;
Integer
totalStock
=
0
;
if
(
null
==
soldoutStatus
||
soldoutStatus
.
equals
(
"0"
))
{
// 未设置售罄 查询库存
int
surplusStock
=
0
;
if
(
unbox
.
equals
(
"0"
))
{
// 不是盲盒
surplusStock
=
goblinRedisUtils
.
getSkuStock
(
null
,
skuId
);
}
else
{
for
(
String
skuIdItem
:
skuIdList
)
{
// 盲盒计算所有sku库存总数
if
(
skuIdItem
.
equals
(
skuId
))
{
// 过滤自己
continue
;
}
GoblinGoodsSkuInfoVo
itemVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuIdItem
);
surplusStock
+=
goblinRedisUtils
.
getSkuAllStatusStock
(
itemVo
);
totalStock
+=
goblinRedisUtils
.
getSkuTotalStock
(
itemVo
);
}
}
if
(
surplusStock
>
0
)
{
isStock
=
1
;
}
}
returnMap
.
put
(
"isStock"
,
isStock
);
returnMap
.
put
(
"totalStock"
,
totalStock
);
return
returnMap
;
}
@Override
@Override
public
Boolean
exchange
(
String
code
)
{
public
Boolean
exchange
(
String
code
)
{
try
{
try
{
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinOrderUtils.java
View file @
8c71bb3c
...
@@ -2,14 +2,14 @@ package com.liquidnet.service.goblin.util;
...
@@ -2,14 +2,14 @@ package com.liquidnet.service.goblin.util;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.adam.dto.vo.AdamRscPolymer01Vo
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.service.adam.dto.vo.AdamUserProfileVo
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.candy.param.BackCouponParam
;
import
com.liquidnet.service.candy.param.BackCouponParam
;
import
com.liquidnet.service.candy.vo.CandyCouponVo
;
import
com.liquidnet.service.candy.vo.CandyCouponVo
;
import
com.liquidnet.service.candy.vo.CandyUseResultVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.sun.org.apache.xpath.internal.operations.Bool
;
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.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -25,8 +25,6 @@ import java.util.List;
...
@@ -25,8 +25,6 @@ import java.util.List;
@Slf4j
@Slf4j
public
class
GoblinOrderUtils
{
public
class
GoblinOrderUtils
{
@Value
(
"${liquidnet.service.adam.url}"
)
private
String
adamUrl
;
@Value
(
"${liquidnet.service.candy.url}"
)
@Value
(
"${liquidnet.service.candy.url}"
)
private
String
candyUrl
;
private
String
candyUrl
;
@Value
(
"${liquidnet.service.stone.url}"
)
@Value
(
"${liquidnet.service.stone.url}"
)
...
@@ -52,7 +50,7 @@ public class GoblinOrderUtils {
...
@@ -52,7 +50,7 @@ public class GoblinOrderUtils {
}
}
}
}
public
CandyCouponVo
getCouponDetails
(
String
uCouponId
,
String
uid
)
{
public
CandyCouponVo
getCouponDetails
(
String
uCouponId
,
String
uid
)
{
try
{
try
{
MultiValueMap
<
String
,
String
>
header
=
CollectionUtil
.
linkedMultiValueMapStringString
();
MultiValueMap
<
String
,
String
>
header
=
CollectionUtil
.
linkedMultiValueMapStringString
();
header
.
add
(
"Authorization"
,
"Bearer "
+
CurrentUtil
.
getToken
());
header
.
add
(
"Authorization"
,
"Bearer "
+
CurrentUtil
.
getToken
());
...
@@ -64,9 +62,9 @@ public class GoblinOrderUtils {
...
@@ -64,9 +62,9 @@ public class GoblinOrderUtils {
String
returnData
=
HttpUtil
.
post
(
candyUrl
+
" /candy-coupon/receive/ListById"
,
params
,
header
);
String
returnData
=
HttpUtil
.
post
(
candyUrl
+
" /candy-coupon/receive/ListById"
,
params
,
header
);
ResponseDto
<
List
<
CandyCouponVo
>>
innerReturnVo
=
JsonUtils
.
fromJson
(
returnData
,
new
TypeReference
<
ResponseDto
<
List
<
CandyCouponVo
>>>()
{
ResponseDto
<
List
<
CandyCouponVo
>>
innerReturnVo
=
JsonUtils
.
fromJson
(
returnData
,
new
TypeReference
<
ResponseDto
<
List
<
CandyCouponVo
>>>()
{
});
});
if
(
innerReturnVo
.
getData
().
size
()>
0
)
{
if
(
innerReturnVo
.
getData
().
size
()
>
0
)
{
return
innerReturnVo
.
getData
().
get
(
0
);
return
innerReturnVo
.
getData
().
get
(
0
);
}
else
{
}
else
{
return
null
;
return
null
;
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -93,4 +91,32 @@ public class GoblinOrderUtils {
...
@@ -93,4 +91,32 @@ public class GoblinOrderUtils {
}
}
}
}
// NFT判断是否售罄
public
HashMap
<
String
,
Integer
>
getIsStock
(
String
skuId
,
String
unbox
,
String
soldoutStatus
,
List
<
String
>
skuIdList
)
{
HashMap
<
String
,
Integer
>
returnMap
=
CollectionUtil
.
mapStringInteger
();
Integer
isStock
=
0
;
Integer
totalStock
=
0
;
if
(
null
==
soldoutStatus
||
soldoutStatus
.
equals
(
"0"
))
{
// 未设置售罄 查询库存
int
surplusStock
=
0
;
if
(
unbox
.
equals
(
"0"
))
{
// 不是盲盒
surplusStock
=
redisUtils
.
getSkuStock
(
null
,
skuId
);
}
else
{
for
(
String
skuIdItem
:
skuIdList
)
{
// 盲盒计算所有sku库存总数
if
(
skuIdItem
.
equals
(
skuId
))
{
// 过滤自己
continue
;
}
GoblinGoodsSkuInfoVo
itemVo
=
redisUtils
.
getGoodsSkuInfoVo
(
skuIdItem
);
surplusStock
+=
redisUtils
.
getSkuAllStatusStock
(
itemVo
);
totalStock
+=
redisUtils
.
getSkuTotalStock
(
itemVo
);
}
}
if
(
surplusStock
>
0
)
{
isStock
=
1
;
}
}
returnMap
.
put
(
"isStock"
,
isStock
);
returnMap
.
put
(
"totalStock"
,
totalStock
);
return
returnMap
;
}
}
}
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