Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mall-server
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
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
yimu
mall-server
Commits
be844cab
Commit
be844cab
authored
Mar 21, 2022
by
wlx@33.cn
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
https://gitlab.33.cn/yimu/mall-server
into dev
parents
43b36bd1
6009804f
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
88 additions
and
13 deletions
+88
-13
SpuStatusEnum.java
...server/admin/goods_center/enums/status/SpuStatusEnum.java
+2
-1
ISpuService.java
...m/mall/server/admin/goods_center/service/ISpuService.java
+2
-0
SkuServiceImpl.java
...erver/admin/goods_center/service/impl/SkuServiceImpl.java
+14
-8
SpuServiceImpl.java
...erver/admin/goods_center/service/impl/SpuServiceImpl.java
+14
-2
NftConsumer.java
...ll/server/admin/mq/consumer/goods_center/NftConsumer.java
+15
-2
GoodsTask.java
.../java/com/fzm/mall/server/admin/task/goods/GoodsTask.java
+41
-0
No files found.
mall-server-admin/src/main/java/com/fzm/mall/server/admin/goods_center/enums/status/SpuStatusEnum.java
View file @
be844cab
...
...
@@ -22,7 +22,8 @@ public enum SpuStatusEnum {
CHECK_FAIL
(
6
),
//审核未通过
CHECK_PASS
(
7
),
//审核通过
CANCEL
(
8
),
//取消发布
DRAFT
(
9
);
//草稿
DRAFT
(
9
),
//草稿
PREHEAT
(
10
);
//预热
private
Integer
status
;
...
...
mall-server-admin/src/main/java/com/fzm/mall/server/admin/goods_center/service/ISpuService.java
View file @
be844cab
...
...
@@ -161,4 +161,6 @@ public interface ISpuService extends IService<Spu> {
*/
List
<
GoodsListVO
>
getSpuByVague
(
String
goodsInfo
,
String
merchantId
);
List
<
Spu
>
listForPreheat
();
}
mall-server-admin/src/main/java/com/fzm/mall/server/admin/goods_center/service/impl/SkuServiceImpl.java
View file @
be844cab
...
...
@@ -84,12 +84,16 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements ISkuS
if
(
StringUtils
.
isBlank
(
kDTO
.
getImage
()))
{
sku
.
setThumb
(
thumb
);
}
if
(
salesType
.
equals
(
SalesTypeEnum
.
ORDINARY
.
getType
()))
{
if
(
salesType
==
null
)
{
sku
.
setCirculation
(
kDTO
.
getStock
());
sku
.
setPrice
(
kDTO
.
getOriginalPrice
());
}
if
(
salesType
!=
null
&&
salesType
.
equals
(
SalesTypeEnum
.
ORDINARY
.
getType
()))
{
sku
.
setCirculation
(
kDTO
.
getStock
());
sku
.
setOriginalPrice
(
price
);
sku
.
setPrice
(
price
);
}
if
(
salesType
.
equals
(
SalesTypeEnum
.
BLIND_BOX
.
getType
()))
{
if
(
salesType
!=
null
&&
salesType
.
equals
(
SalesTypeEnum
.
BLIND_BOX
.
getType
()))
{
sku
.
setOriginalPrice
(
blindBoxPrice
);
sku
.
setPrice
(
blindBoxPrice
);
}
...
...
@@ -100,7 +104,7 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements ISkuS
//规格属性入库
skuPropService
.
add
(
kDTO
.
getPropertyList
(),
skuId
);
if
(
salesType
.
equals
(
SalesTypeEnum
.
BLIND_BOX
.
getType
()))
{
if
(
salesType
!=
null
&&
salesType
.
equals
(
SalesTypeEnum
.
BLIND_BOX
.
getType
()))
{
if
(
commodityPass
.
equals
(
CommodityPassTypeEnum
.
INNER
.
getType
()))
{
long
tokenId
=
System
.
currentTimeMillis
();
sku
.
setCoinName
(
MALLGlobalConfig
.
NFT_PREFIX
+
tokenId
);
...
...
@@ -146,7 +150,7 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements ISkuS
//发行NFT
ExternalToken
externalToken
=
externalTokenService
.
queryByLabelNameAndMerchantId
(
kDTO
.
getCoinName
(),
merchantId
);
String
tokenId
=
externalToken
.
getTokenId
().
toString
();
/*
String tokenId = externalToken.getTokenId().toString();
long[] nos = new long[Math.toIntExact(kDTO.getStock())];
String[] hashs = new String[Math.toIntExact(kDTO.getStock())];
for (int i = 0; i < kDTO.getStock(); i++) {
...
...
@@ -155,15 +159,17 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements ISkuS
String hash = chainUtil.evmPublishTokenSplit(addr, suffixAll, 1L);
nos[i] = suffixAll;
hashs[i] = hash;
}
}
*/
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"goodsId"
,
goodsId
);
map
.
put
(
"hashs"
,
hashs
);
map
.
put
(
"prefix"
,
tokenId
);
//
map.put("hashs", hashs);
map
.
put
(
"prefix"
,
externalToken
.
getTokenId
().
toString
()
);
map
.
put
(
"merchantId"
,
merchantId
);
map
.
put
(
"commodityPassId"
,
externalToken
.
getCommodityPassId
());
map
.
put
(
"nos"
,
JSONArray
.
toJSON
(
nos
));
// map.put("nos", JSONArray.toJSON(nos));
map
.
put
(
"stock"
,
kDTO
.
getStock
());
map
.
put
(
"addr"
,
addr
);
producer
.
sendTTL
(
map
,
QueueTTLTypeEnum
.
NFT_USU_TTL
,
10
*
1000
);
}
}
...
...
mall-server-admin/src/main/java/com/fzm/mall/server/admin/goods_center/service/impl/SpuServiceImpl.java
View file @
be844cab
...
...
@@ -31,6 +31,7 @@ import com.fzm.mall.server.admin.home_page.service.IMerchantService;
import
com.fzm.mall.server.admin.opration.service.IFloorGoodsService
;
import
com.fzm.mall.server.admin.util.UUIDUtil
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.dozer.DozerBeanMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -52,6 +53,7 @@ import static com.fzm.mall.server.admin.goods_center.enums.type.GoodsTypeEnum.*;
* @since JDK 1.8
*/
@Service
@Slf4j
@Transactional
public
class
SpuServiceImpl
extends
ServiceImpl
<
SpuMapper
,
Spu
>
implements
ISpuService
{
...
...
@@ -110,7 +112,8 @@ public class SpuServiceImpl extends ServiceImpl<SpuMapper, Spu> implements ISpuS
goodsId
=
UUIDUtil
.
getUUID
();
}
if
(
pDTO
.
getSalesType
().
equals
(
SalesTypeEnum
.
ORDINARY
.
getType
()))
{
log
.
info
(
"salesType:"
+
pDTO
.
getSalesType
());
if
(
pDTO
.
getSalesType
()
!=
null
&&
pDTO
.
getSalesType
().
equals
(
SalesTypeEnum
.
ORDINARY
.
getType
()))
{
nftService
.
add
(
pDTO
.
getNftdto
(),
goodsId
,
pDTO
.
getName
(),
addr
,
merchantId
,
timestamp
);
if
(
pDTO
.
getNftdto
().
getTzType
().
equals
(
1
))
{
List
<
GoodsSkuDTO
>
objects
=
pDTO
.
getSkuList
().
stream
().
peek
(
v
->
{
...
...
@@ -132,13 +135,14 @@ public class SpuServiceImpl extends ServiceImpl<SpuMapper, Spu> implements ISpuS
spu
=
beanMapper
.
map
(
pDTO
,
Spu
.
class
);
spu
.
setGoodsId
(
goodsId
);
spu
.
setMerchantId
(
merchantId
);
spu
.
setBlindBoxRule
(
"无"
);
Integer
status
=
SpuStatusEnum
.
WAIT_CHECK
.
getStatus
();
if
((
pDTO
.
getCommodityPass
().
equals
(
CommodityPassTypeEnum
.
COPY
.
getType
())
&&
pDTO
.
getSkuList
().
get
(
0
).
getNftSalesType
().
equals
(
NFTSalesTypeEnum
.
COPY
.
getType
()))
||
pDTO
.
getCommodityPass
().
equals
(
CommodityPassTypeEnum
.
INNER
.
getType
()))
{
status
=
SpuStatusEnum
.
ISSUE
.
getStatus
();
}
spu
.
setStatus
(
status
);
//设置商品最大最小值
if
(
pDTO
.
getSalesType
().
equals
(
SalesTypeEnum
.
BLIND_BOX
.
getType
()))
{
if
(
pDTO
.
getSalesType
()
!=
null
&&
pDTO
.
getSalesType
()
.
equals
(
SalesTypeEnum
.
BLIND_BOX
.
getType
()))
{
spu
.
setMaxPrice
(
pDTO
.
getBlindBoxPrice
());
spu
.
setDefaultPrice
(
pDTO
.
getBlindBoxPrice
());
}
else
{
...
...
@@ -541,4 +545,12 @@ public class SpuServiceImpl extends ServiceImpl<SpuMapper, Spu> implements ISpuS
externalTokenService
.
updateById
(
externalToken
);
}
}
@Override
public
List
<
Spu
>
listForPreheat
()
{
LambdaQueryWrapper
<
Spu
>
qw
=
new
LambdaQueryWrapper
<>();
qw
.
eq
(
Spu:
:
getStatus
,
SpuStatusEnum
.
PREHEAT
.
getStatus
());
return
list
(
qw
);
}
}
mall-server-admin/src/main/java/com/fzm/mall/server/admin/mq/consumer/goods_center/NftConsumer.java
View file @
be844cab
...
...
@@ -60,13 +60,26 @@ public class NftConsumer {
public
void
usuCoinsPrice
(
Map
<
String
,
Object
>
obj
)
{
try
{
String
goodsId
=
obj
.
get
(
"goodsId"
)
+
""
;
String
[]
hashs
=
(
String
[])
obj
.
get
(
"hashs"
);
//
String[] hashs = (String[]) obj.get("hashs");
String
prefix
=
obj
.
get
(
"prefix"
)
+
""
;
String
nos
=
obj
.
get
(
"nos"
)
+
""
;
//
String nos = obj.get("nos") + "";
String
merchantId
=
obj
.
get
(
"merchantId"
)
+
""
;
String
commodityPassId
=
obj
.
get
(
"commodityPassId"
)
+
""
;
// String tokenId = obj.get("tokenId") + "";
Long
stock
=
(
Long
)
obj
.
get
(
"stock"
);
String
addr
=
obj
.
get
(
"addr"
)
+
""
;
System
.
err
.
println
(
"obj:"
+
obj
);
long
[]
nos
=
new
long
[
Math
.
toIntExact
(
stock
)];
String
[]
hashs
=
new
String
[
Math
.
toIntExact
(
stock
)];
for
(
int
i
=
0
;
i
<
stock
;
i
++)
{
String
suffix
=
i
+
1
+
""
;
Long
suffixAll
=
Long
.
parseLong
(
prefix
+
"00000000"
.
substring
(
0
,
8
-
suffix
.
length
())
+
suffix
);
String
hash
=
chainUtil
.
evmPublishTokenSplit
(
addr
,
suffixAll
,
1L
);
nos
[
i
]
=
suffixAll
;
hashs
[
i
]
=
hash
;
}
int
length
=
hashs
.
length
;
//发行token
...
...
mall-server-admin/src/main/java/com/fzm/mall/server/admin/task/goods/GoodsTask.java
0 → 100644
View file @
be844cab
package
com
.
fzm
.
mall
.
server
.
admin
.
task
.
goods
;
import
com.fzm.mall.server.admin.goods_center.enums.status.SpuStatusEnum
;
import
com.fzm.mall.server.admin.goods_center.model.Spu
;
import
com.fzm.mall.server.admin.goods_center.service.ISpuService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
* @author wangp
* @date 2021/6/18 10:43
* @description 订单定时任务
* @since JDK 1.8
*/
@Component
@Slf4j
@Transactional
public
class
GoodsTask
{
@Autowired
private
ISpuService
spuService
;
//预热商品上架
@Scheduled
(
cron
=
"10 * * * * ?"
)
public
void
yrsj
()
{
List
<
Spu
>
spuList
=
spuService
.
listForPreheat
();
spuList
.
forEach
(
v
->
{
if
(
v
.
getPreheatEndTime
()
<
System
.
currentTimeMillis
())
{
//修改状态为上架
spuService
.
updateStatus
(
v
.
getGoodsId
(),
SpuStatusEnum
.
ON
.
getStatus
(),
""
);
}
});
}
}
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