记得上下班打卡 | 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
670cf61c
Commit
670cf61c
authored
Apr 21, 2022
by
wanglele
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
兑换码相关
parent
2c4ff93e
Changes
26
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
1481 additions
and
2 deletions
+1481
-2
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+17
-0
GoblinNftExActivityVo.java
...iquidnet/service/goblin/dto/vo/GoblinNftExActivityVo.java
+77
-0
GoblinNftExCodeVo.java
...om/liquidnet/service/goblin/dto/vo/GoblinNftExCodeVo.java
+102
-0
GoblinNftExSkuVo.java
...com/liquidnet/service/goblin/dto/vo/GoblinNftExSkuVo.java
+100
-0
GoblinNftExActivityParam.java
...uidnet/service/goblin/param/GoblinNftExActivityParam.java
+36
-0
GoblinNftExCodeParam.java
.../liquidnet/service/goblin/param/GoblinNftExCodeParam.java
+32
-0
GoblinNftExSkuParam.java
...m/liquidnet/service/goblin/param/GoblinNftExSkuParam.java
+49
-0
IGoblinNftExActivityService.java
...t/service/goblin/service/IGoblinNftExActivityService.java
+20
-0
IGoblinNftExCodeService.java
...idnet/service/goblin/service/IGoblinNftExCodeService.java
+13
-0
IGoblinNftExSkuService.java
...uidnet/service/goblin/service/IGoblinNftExSkuService.java
+13
-0
GoblinNftExActivity.java
.../liquidnet/service/goblin/entity/GoblinNftExActivity.java
+77
-0
GoblinNftExCode.java
.../com/liquidnet/service/goblin/entity/GoblinNftExCode.java
+102
-0
GoblinNftExSku.java
...a/com/liquidnet/service/goblin/entity/GoblinNftExSku.java
+100
-0
GoblinNftExActivityMapper.java
...dnet/service/goblin/mapper/GoblinNftExActivityMapper.java
+38
-0
GoblinNftExCodeMapper.java
...iquidnet/service/goblin/mapper/GoblinNftExCodeMapper.java
+43
-0
GoblinNftExSkuMapper.java
...liquidnet/service/goblin/mapper/GoblinNftExSkuMapper.java
+35
-0
GoblinNftExActivityMapper.xml
...idnet.service.goblin.mapper/GoblinNftExActivityMapper.xml
+57
-0
GoblinNftExCodeMapper.xml
...liquidnet.service.goblin.mapper/GoblinNftExCodeMapper.xml
+76
-0
GoblinNftExSkuMapper.xml
....liquidnet.service.goblin.mapper/GoblinNftExSkuMapper.xml
+14
-0
GoblinNftExActivityController.java
...roller/goblin/activity/GoblinNftExActivityController.java
+49
-0
GoblinNftExCodeController.java
...orm/controller/goblin/code/GoblinNftExCodeController.java
+44
-0
GoblinNftExSkuController.java
...tform/controller/goblin/sku/GoblinNftExSkuController.java
+44
-0
GoblinNftExActivityServiceImpl.java
...m/service/impl/goblin/GoblinNftExActivityServiceImpl.java
+111
-0
GoblinNftExCodeServiceImpl.java
...tform/service/impl/goblin/GoblinNftExCodeServiceImpl.java
+92
-0
GoblinNftExSkuServiceImpl.java
...atform/service/impl/goblin/GoblinNftExSkuServiceImpl.java
+94
-0
GoblinRedisUtils.java
...om/liquidnet/service/platform/utils/GoblinRedisUtils.java
+46
-2
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
670cf61c
...
...
@@ -242,6 +242,23 @@ public class GoblinRedisConst {
public
static
final
String
ANTICIPATE_VALUE_SKUID
=
PREFIX
.
concat
(
"anticipate:value:skuid:"
);
/**
* nft兑换活动配置
*/
public
static
final
String
NFT_EX_ACTIVITY
=
PREFIX
.
concat
(
"nft:ex:activity:"
);
/**
* nft兑换活动和sku的关联
*/
public
static
final
String
NFT_EX_SKU
=
PREFIX
.
concat
(
"nft:ex:sku:"
);
/**
* 兑换码
*/
public
static
final
String
NFT_EX_CODE
=
PREFIX
.
concat
(
"nft:ex:code:"
);
/* ----------------------------------------------------------------- */
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinNftExActivityVo.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @Author: wll
* @Description: nft 兑换活动表
* @Date:Create:in 2022/4/19 2:14 下午
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinNftExActivityVo
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 活动id
*/
private
String
activityId
;
/**
* 活动标题
*/
private
String
title
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
/**
* 总数量
*/
private
Integer
countNumber
;
/**
* 使用数量
*/
private
Integer
useNumber
;
/**
* 未使用数量
*/
private
Integer
unUseNumber
;
private
final
static
GoblinNftExActivityVo
obj
=
new
GoblinNftExActivityVo
();
public
static
GoblinNftExActivityVo
getNew
(){
try
{
return
(
GoblinNftExActivityVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
){
return
new
GoblinNftExActivityVo
();
}
}
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinNftExCodeVo.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @Author: wll
* @Description: NFT兑换码表
* @Date:Create:in 2022/4/19 1:55 下午
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinNftExCodeVo
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 兑换码id
*/
private
String
codeId
;
/**
* 活动id
*/
private
String
activityId
;
/**
* 兑换码
*/
private
String
code
;
/**
* 款式id
*/
private
String
skuId
;
/**
* 兑换码状态 1 未兑换 2 已兑换
*/
private
Integer
state
;
/**
* 兑换用户id
*/
private
String
redeemUid
;
/**
* 操作用户id
*/
private
String
adminUid
;
/**
* 兑换时间
*/
private
LocalDateTime
redeemAt
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
/**
* 类型 默认无参 1:明盒、盲盒 2:空投盲盒/空投明盒
*/
private
Integer
isDrivi
;
private
String
sktName
;
private
static
final
GoblinNftExCodeVo
obj
=
new
GoblinNftExCodeVo
();
public
static
GoblinNftExCodeVo
getNew
()
{
try
{
return
(
GoblinNftExCodeVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
GoblinNftExCodeVo
();
}
}
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinNftExSkuVo.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.time.LocalDateTime
;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/19 2:23 下午
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinNftExSkuVo
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 活动id
*/
private
String
activityId
;
/**
* 商品id
*/
private
String
spuId
;
/**
* 款式id
*/
private
String
skuId
;
/**
* 兑换库存
*/
private
Integer
exStock
;
/**
* 兑换限购
*/
private
Integer
exLimit
;
/**
* 兑换生效开始时间
*/
private
LocalDateTime
exStartTime
;
/**
* 兑换生效结束时间
*/
private
LocalDateTime
exStopTime
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 修改时间
*/
private
LocalDateTime
updatedAt
;
private
static
final
GoblinNftExSkuVo
obj
=
new
GoblinNftExSkuVo
();
public
static
GoblinNftExSkuVo
getNew
(){
try
{
return
(
GoblinNftExSkuVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
){
return
new
GoblinNftExSkuVo
();
}
}
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinNftExActivityParam.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
param
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
@ApiModel
(
value
=
"GoblinNftExActivityParam"
,
description
=
"添加方法入参"
)
@Data
public
class
GoblinNftExActivityParam
implements
Serializable
{
@ApiModelProperty
(
position
=
10
,
required
=
false
,
value
=
"nft活动id"
)
private
String
activityId
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"活动标题"
,
example
=
"草莓音乐节"
)
private
String
title
;
@ApiModelProperty
(
position
=
12
,
required
=
false
,
value
=
"开始时间"
)
private
LocalDateTime
startTime
;
@ApiModelProperty
(
position
=
13
,
required
=
false
,
value
=
"结束时间"
)
private
LocalDateTime
endTime
;
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"当前页(查询时传入)"
)
private
Integer
pageNum
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinNftExCodeParam.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
param
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/20 5:12 下午
*/
@ApiModel
(
value
=
"GoblinNftExCodeParam"
,
description
=
"查询方法入参"
)
@Data
public
class
GoblinNftExCodeParam
{
@ApiModelProperty
(
position
=
10
,
required
=
true
,
value
=
"活动id"
)
private
String
activityId
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"当前页"
)
private
Integer
pageNum
;
@ApiModelProperty
(
position
=
12
,
required
=
false
,
value
=
"兑换码"
)
private
String
code
;
@ApiModelProperty
(
position
=
13
,
required
=
false
,
value
=
"兑换码状态 全部非传 1未兑换 2已兑换 3已失效"
)
private
Integer
state
;
@ApiModelProperty
(
position
=
14
,
required
=
false
,
value
=
"默认无参 1:明盒、盲盒 2:空投盲盒/空投明盒"
)
private
Integer
isDrivi
;
@ApiModelProperty
(
position
=
15
,
required
=
false
,
value
=
"藏品名称"
)
private
String
skuName
;
@ApiModelProperty
(
position
=
16
,
required
=
false
,
value
=
"用户id搜索"
)
private
String
userId
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinNftExSkuParam.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
param
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.time.LocalDateTime
;
/**
* @Author: wll
* @Date:Create:in 2022/4/19 5:06 下午
*/
@ApiModel
(
value
=
"GoblinNftExActivityParam"
,
description
=
"添加方法入参"
)
@Data
public
class
GoblinNftExSkuParam
{
@ApiModelProperty
(
position
=
10
,
required
=
true
,
value
=
"nft兑换活动id"
)
@NotBlank
(
message
=
"nft兑换活动id不可为空"
)
private
String
activityId
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"商品id"
)
@NotBlank
(
message
=
"商品id不可为空"
)
private
String
spuId
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"款式id"
)
@NotBlank
(
message
=
"款式id不可为空"
)
private
String
skuId
;
@ApiModelProperty
(
position
=
13
,
required
=
true
,
value
=
"兑换库存数量"
)
@NotBlank
(
message
=
"兑换库存数量不可为空"
)
private
Integer
exStock
;
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"兑换限购数量"
)
@NotBlank
(
message
=
"兑换限购数量不可为空"
)
private
Integer
exLimit
;
@ApiModelProperty
(
position
=
15
,
required
=
true
,
value
=
"兑换生效开始时间"
)
@NotBlank
(
message
=
"兑换生效开始时间不可为空"
)
private
LocalDateTime
exStartTime
;
@ApiModelProperty
(
position
=
16
,
required
=
true
,
value
=
"兑换生效结束时间"
)
@NotBlank
(
message
=
"兑换生效结束时间不可为空"
)
private
LocalDateTime
exStopTime
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinNftExActivityService.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
public
interface
IGoblinNftExActivityService
{
/**
* 新增nft活动
* @param goblinNftExActivityParam
* @return
*/
String
add
(
GoblinNftExActivityParam
goblinNftExActivityParam
);
/**
* 分页查询
* @param goblinNftExActivityParam
* @return
*/
Object
pageList
(
GoblinNftExActivityParam
goblinNftExActivityParam
);
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinNftExCodeService.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.service.goblin.param.GoblinNftExCodeParam
;
public
interface
IGoblinNftExCodeService
{
/**
* 获取兑换码
*/
Object
selectCodePageList
(
GoblinNftExCodeParam
goblinNftExCodeParam
);
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinNftExSkuService.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.service.goblin.param.GoblinNftExSkuParam
;
import
java.util.List
;
public
interface
IGoblinNftExSkuService
{
/**
* 新增nft兑换活动和sku的关联
*/
Boolean
add
(
List
<
GoblinNftExSkuParam
>
goblinNftExSkuParams
);
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinNftExActivity.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @Author: wll
* @Description: nft 兑换活动表
* @Date:Create:in 2022/4/19 2:14 下午
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinNftExActivity
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 活动id
*/
private
String
activityId
;
/**
* 活动标题
*/
private
String
title
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
/**
* 总数量
*/
private
Integer
countNumber
;
/**
* 使用数量
*/
private
Integer
useNumber
;
/**
* 未使用数量
*/
private
Integer
unUseNumber
;
private
final
static
GoblinNftExActivity
obj
=
new
GoblinNftExActivity
();
public
static
GoblinNftExActivity
getNew
(){
try
{
return
(
GoblinNftExActivity
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
){
return
new
GoblinNftExActivity
();
}
}
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinNftExCode.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @Author: wll
* @Description: NFT兑换码表
* @Date:Create:in 2022/4/19 1:55 下午
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinNftExCode
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 兑换码id
*/
private
String
codeId
;
/**
* 活动id
*/
private
String
activityId
;
/**
* 兑换码
*/
private
String
code
;
/**
* 款式id
*/
private
String
skuId
;
/**
* 兑换码状态 1 未兑换 2 已兑换
*/
private
Integer
state
;
/**
* 兑换用户id
*/
private
String
redeemUid
;
/**
* 操作用户id
*/
private
String
adminUid
;
/**
* 兑换时间
*/
private
LocalDateTime
redeemAt
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
/**
* 类型 默认无参 1:明盒、盲盒 2:空投盲盒/空投明盒
*/
private
Integer
isDrivi
;
private
String
sktName
;
private
static
final
GoblinNftExCode
obj
=
new
GoblinNftExCode
();
public
static
GoblinNftExCode
getNew
()
{
try
{
return
(
GoblinNftExCode
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
GoblinNftExCode
();
}
}
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinNftExSku.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.time.LocalDateTime
;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/19 2:23 下午
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinNftExSku
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 活动id
*/
private
String
activityId
;
/**
* 商品id
*/
private
String
spuId
;
/**
* 款式id
*/
private
String
skuId
;
/**
* 兑换库存
*/
private
Integer
exStock
;
/**
* 兑换限购
*/
private
Integer
exLimit
;
/**
* 兑换生效开始时间
*/
private
LocalDateTime
exStartTime
;
/**
* 兑换生效结束时间
*/
private
LocalDateTime
exStopTime
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 修改时间
*/
private
LocalDateTime
updatedAt
;
private
static
final
GoblinNftExSku
obj
=
new
GoblinNftExSku
();
public
static
GoblinNftExSku
getNew
(){
try
{
return
(
GoblinNftExSku
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
){
return
new
GoblinNftExSku
();
}
}
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/mapper/GoblinNftExActivityMapper.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.goblin.entity.GoblinNftExActivity
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* <p>
* NFT兑换活动表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-04-19
*/
@Repository
public
interface
GoblinNftExActivityMapper
extends
BaseMapper
<
GoblinNftExActivity
>
{
/**
* 添加ntf兑换活动数据
* @param goblinNftExActivity
* @return
*/
int
addGoblinNftExActivity
(
GoblinNftExActivity
goblinNftExActivity
);
/**
* 分页回去nft兑换活动数据
* @param title
* @param startTime
* @param endTime
* @return
*/
List
<
GoblinNftExActivity
>
selectPageList
(
@Param
(
"title"
)
String
title
,
@Param
(
"startTime"
)
LocalDateTime
startTime
,
@Param
(
"endTime"
)
LocalDateTime
endTime
);
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/mapper/GoblinNftExCodeMapper.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.goblin.entity.GoblinNftExCode
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* <p>
* NFT兑换码表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-04-19
*/
@Repository
public
interface
GoblinNftExCodeMapper
extends
BaseMapper
<
GoblinNftExCode
>
{
/**
* 批量添加兑换码信息
* @param goblinNftExCodes
* @return
*/
int
addGoblinNftExCodes
(
@Param
(
"goblinNftExCodes"
)
List
<
GoblinNftExCode
>
goblinNftExCodes
);
/**
* 根据活动ids查询
* @param activityIds
* @return
*/
List
<
GoblinNftExCode
>
selectByActivityIds
(
@Param
(
"activityIds"
)
String
activityIds
);
/**
* 条件查询 兑换码
* @param goblinNftExCode
* @return
*/
List
<
GoblinNftExCode
>
selectGoblinNftCode
(
GoblinNftExCode
goblinNftExCode
);
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/mapper/GoblinNftExSkuMapper.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
goblin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.goblin.entity.GoblinNftExSku
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* <p>
* NFT兑换活动关联SKU表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-04-19
*/
@Repository
public
interface
GoblinNftExSkuMapper
extends
BaseMapper
<
GoblinNftExSku
>
{
/**
* 批量添加兑换活动和sku的关联
* @param goblinNftExSkus
* @return
*/
int
addGoblinNftExSkus
(
@Param
(
"goblinNftExSkus"
)
List
<
GoblinNftExSku
>
goblinNftExSkus
);
/**
* 根据活动ids查询兑换和sku关联信息
* @param activityIds
* @return
*/
List
<
GoblinNftExSku
>
selectGoblinNftExSkuByActivityIds
(
@Param
(
"activityIds"
)
String
activityIds
);
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/resources/com.liquidnet.service.goblin.mapper/GoblinNftExActivityMapper.xml
0 → 100644
View file @
670cf61c
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.liquidnet.service.goblin.mapper.GoblinNftExActivityMapper"
>
<resultMap
id=
"BaseResult"
type=
"com.liquidnet.service.goblin.dto.vo.GoblinNftExActivityVo"
>
<result
column=
"activity_id"
property=
"activityId"
/>
<result
column=
"title"
property=
"title"
/>
<result
column=
"created_at"
property=
"createdAt"
/>
<result
column=
"updated_at"
property=
"updatedAt"
/>
</resultMap>
<select
id=
"selectPageList"
resultMap=
"BaseResult"
>
select activity_id,title,created_at from goblin_nft_ex_activity
<where>
<if
test=
"title != null and title != ''"
>
<bind
name=
"likeTitle"
value=
"'%'+title+'%'"
/>
and title like #{likeTitle}
</if>
<if
test=
"startTime != null"
>
and created_at
>
#{startTime}
</if>
<if
test=
"endTime != null"
>
and created_at
<
#{endTime}
</if>
</where>
</select>
<insert
id=
"addGoblinNftExActivity"
parameterType=
"com.liquidnet.service.goblin.dto.vo.GoblinNftExActivityVo"
>
insert into goblin_nft_ex_activity
(
<if
test=
"activityId != null and activityId != null"
>
activity_id,
</if>
<if
test=
"title != null and title != ''"
>
title,
</if>
<if
test=
"createdAt != null"
>
created_at,
</if>
<if
test=
"updatedAt != null"
>
updated_at
</if>
) values(
<if
test=
"activityId != null and activityId != null"
>
#{activityId},
</if>
<if
test=
"title != null and title != ''"
>
#{title},
</if>
<if
test=
"createdAt != null"
>
#{createdAt},
</if>
<if
test=
"updatedAt != null"
>
#{updatedAt}
</if>
)
</insert>
</mapper>
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/resources/com.liquidnet.service.goblin.mapper/GoblinNftExCodeMapper.xml
0 → 100644
View file @
670cf61c
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.liquidnet.service.goblin.mapper.GoblinNftExCodeMapper"
>
<resultMap
id=
"BeseResult"
type=
"com.liquidnet.service.goblin.dto.vo.GoblinNftExCodeVo"
>
<result
column=
"code_id"
property=
"codeId"
/>
<result
column=
"activity_id"
property=
"activityId"
/>
<result
column=
"code"
property=
"code"
/>
<result
column=
"sku_id"
property=
"skuId"
/>
<result
column=
"state"
property=
"state"
/>
<result
column=
"redeem_uid"
property=
"redeemUid"
/>
<result
column=
"redeem_at"
property=
"redeemAt"
/>
<result
column=
"admin_uid"
property=
"adminUid"
/>
<result
column=
"created_at"
property=
"createdAt"
/>
<result
column=
"updated_at"
property=
"updatedAt"
/>
</resultMap>
<insert
id=
"addGoblinNftExCodes"
>
insert into goblin_nft_ex_code (code_id,activity_id,code,sku_id,state,created_at)
values
<foreach
collection=
"goblinNftExCodeVos"
item=
"goblinNftExCodeVo"
separator=
","
>
(
#{codeId},
#{activityId},
#{code},
#{skuId},
#{state},
#{createdAt}
)
</foreach>
</insert>
<select
id=
"selectGoblinNftCode"
parameterType=
"com.liquidnet.service.goblin.dto.vo.GoblinNftExCodeVo"
resultMap=
"BeseResult"
>
select code_id,code,sku_id from goblin_nft_ex_code
<where>
<if
test=
"code != null and code != ''"
>
and code = #{code}
</if>
<if
test=
"activityId != null and activityId != null"
>
and activity_id = #{activityId}
</if>
<if
test=
"state != null"
>
and state = #{state}
</if>
<if
test=
"redeemUid != null and redeemUid != ''"
>
and redeem_uid = #{redeemUid}
</if>
<if
test=
"skuId != null and skuId != ''"
>
and sku_id in
<foreach
collection=
"skuId.split(',')"
item=
"sId"
open=
"("
separator=
","
close=
")"
>
#{sId}
</foreach>
</if>
<if
test=
"isDrivi != null"
>
<choose>
<when
test=
"isDrivi == 1"
>
and admin_uid is null
</when>
<when
test=
"isDrivi == 2"
>
and admin_uid is not null
</when>
</choose>
</if>
</where>
</select>
<select
id=
"selectByActivityIds"
resultMap=
"BeseResult"
>
select code_id,activity_id,state from goblin_nft_ex_code where
activity_id in
<foreach
collection=
"activityIds"
item=
"activityId"
open=
"("
close=
")"
separator=
","
>
#{activityId}
</foreach>
</select>
</mapper>
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/resources/com.liquidnet.service.goblin.mapper/GoblinNftExSkuMapper.xml
0 → 100644
View file @
670cf61c
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.liquidnet.service.goblin.mapper.GoblinNftExSkuMapper"
>
<resultMap
id=
"BaseResult"
type=
""
>
<result
column=
"activity_id"
property=
"activityId"
/>
<result
column=
"sku_id"
property=
"skuId"
/>
<result
column=
"ex_start_time"
property=
"exStartTime"
/>
<result
column=
"ex_stop_time"
property=
"exStopTime"
/>
</resultMap>
<select
id=
""
>
</select>
</mapper>
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/goblin/activity/GoblinNftExActivityController.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
platform
.
controller
.
goblin
.
activity
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
import
com.liquidnet.service.goblin.service.IGoblinNftExActivityService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
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
javax.validation.Valid
;
/**
* @Author: wll
* @Date:Create:in 2022/4/19 2:55 下午
*/
@Api
(
tags
=
"nft兑换活动"
)
@Slf4j
@Validated
@RestController
@RequestMapping
(
"activity"
)
public
class
GoblinNftExActivityController
{
@Autowired
IGoblinNftExActivityService
iGoblinNftExActivityService
;
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"添加nft兑换活动"
)
@PostMapping
(
"add"
)
public
ResponseDto
<
Object
>
add
(
@Valid
@RequestBody
GoblinNftExActivityParam
goblinNftExActivityParam
){
return
ResponseDto
.
success
(
iGoblinNftExActivityService
.
add
(
goblinNftExActivityParam
));
}
@ApiOperationSupport
(
order
=
2
)
@ApiOperation
(
value
=
"活动列表"
)
@PostMapping
(
"pageist"
)
public
ResponseDto
<
Object
>
pageList
(
@Valid
@RequestBody
GoblinNftExActivityParam
goblinNftExActivityParam
){
return
ResponseDto
.
success
(
iGoblinNftExActivityService
.
pageList
(
goblinNftExActivityParam
));
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/goblin/code/GoblinNftExCodeController.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
platform
.
controller
.
goblin
.
code
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.param.GoblinNftExCodeParam
;
import
com.liquidnet.service.goblin.service.IGoblinNftExCodeService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
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
;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/19 2:53 下午
*/
@Api
(
tags
=
"兑换码"
)
@Slf4j
@Validated
@RestController
@RequestMapping
(
"code"
)
public
class
GoblinNftExCodeController
{
@Autowired
IGoblinNftExCodeService
iGoblinNftExCodeService
;
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"根据nft兑换活动获取兑换码"
)
@PostMapping
(
"selectCodePageList"
)
public
ResponseDto
<
Object
>
selectCodePageList
(
@RequestBody
GoblinNftExCodeParam
goblinNftExCodeParam
){
return
ResponseDto
.
success
(
iGoblinNftExCodeService
.
selectCodePageList
(
goblinNftExCodeParam
));
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/goblin/sku/GoblinNftExSkuController.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
platform
.
controller
.
goblin
.
sku
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.param.GoblinNftExSkuParam
;
import
com.liquidnet.service.goblin.service.IGoblinNftExSkuService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.Valid
;
import
java.util.List
;
/**
* @Author: wll
* @Date:Create:in 2022/4/19 2:56 下午
*/
@Api
(
tags
=
"nft兑换活动和sku关联"
)
@Slf4j
@Validated
@RestController
@RequestMapping
(
"sk"
)
public
class
GoblinNftExSkuController
{
@Autowired
IGoblinNftExSkuService
iGoblinNftExSkuService
;
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"添加nft兑换和sku的关联"
)
@RequestMapping
(
"add"
)
public
ResponseDto
<
Object
>
add
(
@Valid
@RequestBody
List
<
GoblinNftExSkuParam
>
goblinNftExSkuParams
){
return
ResponseDto
.
success
(
iGoblinNftExSkuService
.
add
(
goblinNftExSkuParams
));
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinNftExActivityServiceImpl.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
platform
.
service
.
impl
.
goblin
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.goblin.entity.GoblinNftExActivity
;
import
com.liquidnet.service.goblin.entity.GoblinNftExCode
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExActivityMapper
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExCodeMapper
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
import
com.liquidnet.service.goblin.service.IGoblinNftExActivityService
;
import
com.liquidnet.service.platform.utils.GoblinRedisUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* @Author: wll
* @Description: nft兑换活动服务实现
* @Date:Create:in 2022/4/19 4:35 下午
*/
@Service
@Slf4j
public
class
GoblinNftExActivityServiceImpl
implements
IGoblinNftExActivityService
{
@Autowired
private
GoblinNftExActivityMapper
goblinNftExActivityMapper
;
@Autowired
private
GoblinRedisUtils
goblinRedisUtils
;
@Autowired
private
GoblinNftExCodeMapper
goblinNftExCodeMapper
;
@Override
public
String
add
(
GoblinNftExActivityParam
goblinNftExActivityParam
)
{
// 获取活动列表
List
<
GoblinNftExActivity
>
goblinNftExActivities
=
goblinRedisUtils
.
getActivitySku
();
LocalDateTime
now
=
LocalDateTime
.
now
();
GoblinNftExActivity
goblinNftExActivity
=
GoblinNftExActivity
.
getNew
();
BeanUtils
.
copyProperties
(
goblinNftExActivityParam
,
goblinNftExActivity
);
goblinNftExActivity
.
setActivityId
(
IDGenerator
.
nextSnowId
());
goblinNftExActivity
.
setCreatedAt
(
now
);
// mysql数据
goblinNftExActivityMapper
.
addGoblinNftExActivity
(
goblinNftExActivity
);
// 添加redis数据
// goblinRedisUtils.incrActivitySku(goblinNftExActivities, goblinNftExActivity);
return
goblinNftExActivity
.
getActivityId
();
}
@Override
public
Object
pageList
(
GoblinNftExActivityParam
goblinNftExActivityParam
)
{
PageHelper
.
startPage
(
goblinNftExActivityParam
.
getPageNum
(),
20
,
true
);
/*
* 获取分页nft兑换活动数据
*/
List
<
GoblinNftExActivity
>
goblinNftExActivities
=
goblinNftExActivityMapper
.
selectPageList
(
goblinNftExActivityParam
.
getTitle
(),
goblinNftExActivityParam
.
getStartTime
(),
goblinNftExActivityParam
.
getEndTime
());
StringBuffer
activityIds
=
new
StringBuffer
();
for
(
GoblinNftExActivity
GoblinNftExActivity
:
goblinNftExActivities
)
{
activityIds
.
append
(
GoblinNftExActivity
.
getActivityId
()).
append
(
","
);
}
if
(
StringUtil
.
isNotBlank
(
activityIds
)){
activityIds
.
deleteCharAt
(
activityIds
.
length
()-
1
);
List
<
GoblinNftExCode
>
goblinNftExCodes
=
goblinNftExCodeMapper
.
selectByActivityIds
(
activityIds
.
toString
());
for
(
GoblinNftExActivity
goblinNftExActivity
:
goblinNftExActivities
)
{
Integer
countNumber
=
0
;
Integer
useNumber
=
0
;
Integer
unUseNumber
=
0
;
for
(
GoblinNftExCode
goblinNftExCode
:
goblinNftExCodes
)
{
if
(
goblinNftExActivity
.
getActivityId
().
equals
(
goblinNftExCode
.
getActivityId
())){
countNumber
++;
switch
(
goblinNftExCode
.
getState
()){
case
1
:
useNumber
++;
break
;
default
:
unUseNumber
++;
}
}
}
goblinNftExActivity
.
setCountNumber
(
countNumber
);
goblinNftExActivity
.
setUseNumber
(
useNumber
);
goblinNftExActivity
.
setUnUseNumber
(
unUseNumber
);
}
}
PageInfo
<
GoblinNftExActivity
>
pageInfo
=
new
PageInfo
<
GoblinNftExActivity
>(
goblinNftExActivities
);
return
pageInfo
;
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinNftExCodeServiceImpl.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
platform
.
service
.
impl
.
goblin
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.goblin.entity.GoblinGoodsSku
;
import
com.liquidnet.service.goblin.entity.GoblinNftExCode
;
import
com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExCodeMapper
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExSkuMapper
;
import
com.liquidnet.service.goblin.param.GoblinNftExCodeParam
;
import
com.liquidnet.service.goblin.service.IGoblinNftExCodeService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @Author: wll
* @Description:
* @Date:Create:in 2022/4/20 5:36 下午
*/
@Service
@Slf4j
public
class
GoblinNftExCodeServiceImpl
implements
IGoblinNftExCodeService
{
@Autowired
private
GoblinGoodsSkuMapper
goblinGoodsSkuMapper
;
@Autowired
private
GoblinNftExCodeMapper
goblinNftExCodeMapper
;
@Autowired
private
GoblinNftExSkuMapper
goblinNftExSkuMapper
;
@Override
public
Object
selectCodePageList
(
GoblinNftExCodeParam
goblinNftExCodeParam
)
{
// 入参
GoblinNftExCode
goblinNftExCode
=
GoblinNftExCode
.
getNew
();
goblinNftExCode
.
setCode
(
goblinNftExCodeParam
.
getCode
());
goblinNftExCode
.
setActivityId
(
goblinNftExCodeParam
.
getActivityId
());
goblinNftExCode
.
setState
(
goblinNftExCodeParam
.
getState
());
goblinNftExCode
.
setRedeemUid
(
goblinNftExCodeParam
.
getUserId
());
goblinNftExCode
.
setIsDrivi
(
goblinNftExCodeParam
.
getIsDrivi
());
if
(
StringUtil
.
isNotBlank
(
goblinNftExCodeParam
.
getSkuName
())){
// 根据藏品名称获取 skuIds
String
skuName
=
goblinNftExCodeParam
.
getSkuName
();
List
<
GoblinGoodsSku
>
goblinGoodsSkus
=
goblinGoodsSkuMapper
.
selectSkuLikeName
(
skuName
);
if
(
goblinGoodsSkus
.
size
()
<=
0
){
return
new
PageHelper
();
}
StringBuffer
skuIds
=
new
StringBuffer
();
for
(
GoblinGoodsSku
goblinGoodsSku:
goblinGoodsSkus
)
{
skuIds
.
append
(
goblinGoodsSku
.
getSkuId
()).
append
(
","
);
}
goblinNftExCode
.
setSkuId
(
skuIds
.
deleteCharAt
(
skuIds
.
length
()-
1
).
toString
());
}
PageHelper
.
startPage
(
goblinNftExCodeParam
.
getPageNum
(),
20
,
true
);
List
<
GoblinNftExCode
>
goblinNftExCodes
=
goblinNftExCodeMapper
.
selectGoblinNftCode
(
goblinNftExCode
);
StringBuffer
skuIds
=
new
StringBuffer
();
StringBuffer
acticityIds
=
new
StringBuffer
();
for
(
GoblinNftExCode
gnc:
goblinNftExCodes
)
{
skuIds
.
append
(
gnc
.
getSkuId
()).
append
(
","
);
acticityIds
.
append
(
gnc
.
getActivityId
()).
append
(
","
);
}
// 批量查询
List
<
GoblinGoodsSku
>
goblinNftExCodeList
=
goblinGoodsSkuMapper
.
selectByIds
(
skuIds
.
toString
());
for
(
GoblinNftExCode
gnc:
goblinNftExCodes
)
{
for
(
GoblinGoodsSku
goblinGoodsSku:
goblinNftExCodeList
)
{
if
(
gnc
.
getSkuId
().
equals
(
goblinGoodsSku
.
getSkuId
())){
gnc
.
setSktName
(
goblinGoodsSku
.
getName
());
break
;
}
}
}
// 根据活动ids 获取兑换活动和sku的关联
PageInfo
<
GoblinNftExCode
>
pageInfo
=
new
PageInfo
<>(
goblinNftExCodes
);
return
null
;
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinNftExSkuServiceImpl.java
0 → 100644
View file @
670cf61c
package
com
.
liquidnet
.
service
.
platform
.
service
.
impl
.
goblin
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.goblin.entity.GoblinNftExCode
;
import
com.liquidnet.service.goblin.entity.GoblinNftExSku
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExCodeMapper
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExSkuMapper
;
import
com.liquidnet.service.goblin.param.GoblinNftExSkuParam
;
import
com.liquidnet.service.goblin.service.IGoblinNftExSkuService
;
import
com.liquidnet.service.platform.utils.GoblinRedisUtils
;
import
com.liquidnet.service.platform.utils.ObjectUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author: wll
* @Description: nft兑换活动和和sku的关联
* @Date:Create:in 2022/4/19 5:14 下午
*/
@Service
@Slf4j
public
class
GoblinNftExSkuServiceImpl
implements
IGoblinNftExSkuService
{
@Autowired
private
GoblinNftExCodeMapper
goblinNftExCodeMapper
;
@Autowired
private
GoblinNftExSkuMapper
goblinNftExSkuMapper
;
@Autowired
private
GoblinRedisUtils
goblinRedisUtils
;
@Transactional
@Override
public
Boolean
add
(
List
<
GoblinNftExSkuParam
>
goblinNftExSkuParams
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
ArrayList
<
GoblinNftExSku
>
goblinNftExSkuArrayList
=
ObjectUtil
.
getGoblinNftExSkuArrayList
();
ArrayList
<
GoblinNftExCode
>
goblinNftExCodeArrayList
=
ObjectUtil
.
getGoblinNftExCodeArrayList
();
String
activityId
=
""
;
// 构建对象
for
(
GoblinNftExSkuParam
goblinNftExSkuParam
:
goblinNftExSkuParams
)
{
if
(
StringUtil
.
isBlank
(
activityId
))
{
activityId
=
goblinNftExSkuParam
.
getActivityId
();
}
GoblinNftExSku
goblinNftExSku
=
new
GoblinNftExSku
();
BeanUtils
.
copyProperties
(
goblinNftExSkuParam
,
goblinNftExSku
);
goblinNftExSku
.
setCreatedAt
(
now
);
// 构建兑换码数量
for
(
int
i
=
0
;
i
<
goblinNftExSkuParam
.
getExStock
();
i
++)
{
GoblinNftExCode
goblinNftExCode
=
GoblinNftExCode
.
getNew
();
goblinNftExCode
.
setCodeId
(
IDGenerator
.
nextSnowId
());
goblinNftExCode
.
setActivityId
(
goblinNftExSkuParam
.
getActivityId
());
goblinNftExCode
.
setCode
(
""
);
goblinNftExCode
.
setSkuId
(
goblinNftExSkuParam
.
getSkuId
());
goblinNftExCode
.
setState
(
1
);
goblinNftExCode
.
setCreatedAt
(
now
);
goblinNftExCodeArrayList
.
add
(
goblinNftExCode
);
}
goblinNftExSkuArrayList
.
add
(
goblinNftExSku
);
}
// redis 数据
// 并联sku信息
List
<
GoblinNftExSku
>
goblinNftExSkusVos
=
goblinRedisUtils
.
getSku
(
activityId
);
goblinRedisUtils
.
incrSku
(
activityId
,
goblinNftExSkusVos
,
goblinNftExSkuArrayList
);
// 兑换码信息
List
<
GoblinNftExCode
>
goblinNftExCodes
=
goblinRedisUtils
.
getCode
(
activityId
);
goblinRedisUtils
.
incrCode
(
activityId
,
goblinNftExCodes
,
goblinNftExCodeArrayList
);
goblinNftExSkuMapper
.
addGoblinNftExSkus
(
goblinNftExSkuArrayList
);
goblinNftExCodeMapper
.
addGoblinNftExCodes
(
goblinNftExCodeArrayList
);
return
null
;
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/GoblinRedisUtils.java
View file @
670cf61c
...
...
@@ -7,13 +7,16 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.dto.GoblinStoreMarketDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinOrderSkuVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderVo
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.entity.GoblinNftExActivity
;
import
com.liquidnet.service.goblin.entity.GoblinNftExCode
;
import
com.liquidnet.service.goblin.entity.GoblinNftExSku
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
@Component
...
...
@@ -164,6 +167,47 @@ public class GoblinRedisUtils {
}
}
public
List
<
GoblinNftExActivity
>
getActivitySku
()
{
List
<
GoblinNftExActivity
>
goblinNftExActivities
=
(
List
<
GoblinNftExActivity
>)
getRedis
().
get
(
GoblinRedisConst
.
NFT_EX_ACTIVITY
);
return
goblinNftExActivities
;
}
public
boolean
incrActivitySku
(
List
<
GoblinNftExActivity
>
goblinNftExActivities
,
GoblinNftExActivity
GoblinNftExActivity
)
{
if
(
goblinNftExActivities
==
null
){
goblinNftExActivities
=
ObjectUtil
.
getGoblinNftExActivityArrayList
();
}
goblinNftExActivities
.
add
(
GoblinNftExActivity
);
return
getRedis
().
set
(
GoblinRedisConst
.
NFT_EX_ACTIVITY
,
goblinNftExActivities
);
}
public
List
<
GoblinNftExSku
>
getSku
(
String
activityId
)
{
String
key
=
GoblinRedisConst
.
NFT_EX_SKU
.
concat
(
activityId
);
List
<
GoblinNftExSku
>
goblinNftExSkus
=
(
List
<
GoblinNftExSku
>)
getRedis
().
get
(
key
);
return
goblinNftExSkus
;
}
public
boolean
incrSku
(
String
activityId
,
List
<
GoblinNftExSku
>
goblinNftExSkusVos
,
ArrayList
<
GoblinNftExSku
>
goblinNftExSkuVoArrayList
)
{
if
(
goblinNftExSkusVos
==
null
){
goblinNftExSkusVos
=
ObjectUtil
.
getGoblinNftExSkuArrayList
();
}
goblinNftExSkusVos
.
addAll
(
goblinNftExSkuVoArrayList
);
return
getRedis
().
set
(
GoblinRedisConst
.
NFT_EX_SKU
.
concat
(
activityId
),
goblinNftExSkusVos
);
}
public
List
<
GoblinNftExCode
>
getCode
(
String
activityId
)
{
String
key
=
GoblinRedisConst
.
NFT_EX_CODE
.
concat
(
activityId
);
return
(
List
<
GoblinNftExCode
>)
getRedis
().
get
(
key
);
}
public
boolean
incrCode
(
String
activityId
,
List
<
GoblinNftExCode
>
goblinNftExCodeVos
,
ArrayList
<
GoblinNftExCode
>
goblinNftExCodeVoArrayList
)
{
if
(
goblinNftExCodeVos
==
null
){
goblinNftExCodeVos
=
ObjectUtil
.
getGoblinNftExCodeArrayList
();
}
goblinNftExCodeVos
.
addAll
(
goblinNftExCodeVoArrayList
);
return
getRedis
().
set
(
GoblinRedisConst
.
NFT_EX_CODE
.
concat
(
activityId
),
goblinNftExCodeVos
);
}
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */
...
...
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