记得上下班打卡 | 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
4c872b0f
Commit
4c872b0f
authored
Jun 08, 2022
by
jiangxiulong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/jxl_2262_exchange_ext' into pre
parents
cb73e80b
7156bc99
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
282 additions
and
26 deletions
+282
-26
GoblinNftExActivityVo.java
...iquidnet/service/goblin/dto/vo/GoblinNftExActivityVo.java
+7
-1
GoblinNftExActivityDelayParam.java
...t/service/goblin/param/GoblinNftExActivityDelayParam.java
+44
-0
GoblinNftExActivityParam.java
...uidnet/service/goblin/param/GoblinNftExActivityParam.java
+7
-8
IGoblinNftExActivityService.java
...t/service/goblin/service/IGoblinNftExActivityService.java
+3
-0
GoblinNftExCodeNumDto.java
...m/liquidnet/service/goblin/dto/GoblinNftExCodeNumDto.java
+18
-0
GoblinNftExActivity.java
.../liquidnet/service/goblin/entity/GoblinNftExActivity.java
+5
-0
GoblinNftExCodeTask.java
.../liquidnet/service/goblin/entity/GoblinNftExCodeTask.java
+19
-0
GoblinNftExSkuMapper.java
...liquidnet/service/goblin/mapper/GoblinNftExSkuMapper.java
+5
-0
GoblinNftExActivityMapper.xml
...idnet.service.goblin.mapper/GoblinNftExActivityMapper.xml
+3
-2
GoblinNftExSkuMapper.xml
....liquidnet.service.goblin.mapper/GoblinNftExSkuMapper.xml
+30
-5
db_0418_jxl_nft_exchange.sql
...net-service-goblin-impl/docu/db_0418_jxl_nft_exchange.sql
+2
-0
GoblinNftExActivityController.java
...roller/goblin/activity/GoblinNftExActivityController.java
+8
-2
GoblinNftExActivityServiceImpl.java
...m/service/impl/goblin/GoblinNftExActivityServiceImpl.java
+127
-4
GoblinNftExCodeServiceImpl.java
...tform/service/impl/goblin/GoblinNftExCodeServiceImpl.java
+4
-4
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinNftExActivityVo.java
View file @
4c872b0f
...
@@ -91,11 +91,17 @@ public class GoblinNftExActivityVo implements Serializable, Cloneable {
...
@@ -91,11 +91,17 @@ public class GoblinNftExActivityVo implements Serializable, Cloneable {
/**
/**
*
*
是否展示生效中
*/
*/
@ApiModelProperty
(
position
=
18
,
required
=
true
,
value
=
"是否展示生效中 0:否 1:是"
)
@ApiModelProperty
(
position
=
18
,
required
=
true
,
value
=
"是否展示生效中 0:否 1:是"
)
private
Integer
isDisplay
;
private
Integer
isDisplay
;
/**
* 是否展示延期按钮
*/
@ApiModelProperty
(
position
=
19
,
required
=
true
,
value
=
"是否展示延期按钮 0不展示 1展示"
)
private
Integer
isDelay
;
private
final
static
GoblinNftExActivityVo
obj
=
new
GoblinNftExActivityVo
();
private
final
static
GoblinNftExActivityVo
obj
=
new
GoblinNftExActivityVo
();
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinNftExActivityDelayParam.java
0 → 100644
View file @
4c872b0f
package
com
.
liquidnet
.
service
.
goblin
.
param
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
@ApiModel
(
value
=
"GoblinNftExActivityDelayParam"
,
description
=
"该活动下兑换码延期入参"
)
@Data
public
class
GoblinNftExActivityDelayParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5608646910502058970L
;
@ApiModelProperty
(
position
=
10
,
required
=
true
,
value
=
"老的活动id"
)
@NotBlank
(
message
=
"老的活动i不能为空"
)
private
String
activityId
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"活动标题"
,
example
=
""
)
@NotBlank
(
message
=
"活动标题不能为空"
)
private
String
title
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"用户id"
,
example
=
""
)
@NotBlank
(
message
=
"用户id不能为空"
)
private
String
uid
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"开始时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
@NotNull
(
message
=
"开始时间不能为空"
)
private
LocalDateTime
startTime
;
@ApiModelProperty
(
position
=
13
,
required
=
true
,
value
=
"结束时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
@NotNull
(
message
=
"结束时间不能为空"
)
private
LocalDateTime
endTime
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinNftExActivityParam.java
View file @
4c872b0f
...
@@ -7,32 +7,31 @@ import io.swagger.annotations.ApiModel;
...
@@ -7,32 +7,31 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
@ApiModel
(
value
=
"GoblinNftExActivityParam"
,
description
=
"添加方法入参"
)
@ApiModel
(
value
=
"GoblinNftExActivityParam"
,
description
=
"添加方法入参"
)
@Data
@Data
public
class
GoblinNftExActivityParam
implements
Serializable
{
public
class
GoblinNftExActivityParam
implements
Serializable
{
@ApiModelProperty
(
position
=
10
,
required
=
false
,
value
=
"nft活动id"
)
@ApiModelProperty
(
position
=
10
,
required
=
false
,
value
=
"nft活动id"
)
private
String
activityId
;
private
String
activityId
;
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"活动标题"
,
example
=
"草莓音乐节
"
)
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"活动标题"
,
example
=
"
"
)
private
String
title
;
private
String
title
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"用户id"
,
example
=
"用户id
"
)
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"用户id"
,
example
=
"
"
)
private
String
uid
;
private
String
uid
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
@ApiModelProperty
(
position
=
12
,
required
=
false
,
value
=
"开始时间"
)
@ApiModelProperty
(
position
=
12
,
required
=
false
,
value
=
"开始时间"
)
private
LocalDateTime
startTime
;
private
LocalDateTime
startTime
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
@ApiModelProperty
(
position
=
13
,
required
=
false
,
value
=
"结束时间"
)
@ApiModelProperty
(
position
=
13
,
required
=
false
,
value
=
"结束时间"
)
private
LocalDateTime
endTime
;
private
LocalDateTime
endTime
;
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"当前页(查询时传入)
"
)
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"当前页(查询时传入)"
,
example
=
"1
"
)
private
Integer
pageNum
;
private
Integer
pageNum
;
}
}
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinNftExActivityService.java
View file @
4c872b0f
...
@@ -5,6 +5,7 @@ import com.liquidnet.service.base.ResponseDto;
...
@@ -5,6 +5,7 @@ import com.liquidnet.service.base.ResponseDto;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftExActivityVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftExActivityVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftSkuVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftSkuVo
;
import
com.liquidnet.service.goblin.dto.vo.PageInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.PageInfoVo
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityDelayParam
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
@@ -43,4 +44,6 @@ public interface IGoblinNftExActivityService {
...
@@ -43,4 +44,6 @@ public interface IGoblinNftExActivityService {
* @param goblinNftExActivityParam
* @param goblinNftExActivityParam
*/
*/
void
excel
(
HttpServletResponse
httpServletResponse
,
GoblinNftExActivityParam
goblinNftExActivityParam
);
void
excel
(
HttpServletResponse
httpServletResponse
,
GoblinNftExActivityParam
goblinNftExActivityParam
);
ResponseDto
delay
(
GoblinNftExActivityDelayParam
goblinNftExActivityDelayParam
);
}
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/dto/GoblinNftExCodeNumDto.java
0 → 100644
View file @
4c872b0f
package
com
.
liquidnet
.
service
.
goblin
.
dto
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
GoblinNftExCodeNumDto
{
private
String
activityId
;
private
String
storeId
;
private
String
spuId
;
private
String
skuId
;
private
String
unbox
;
private
LocalDateTime
exStartTime
;
private
LocalDateTime
exStopTime
;
private
Integer
num
;
private
String
boxSkuId
;
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinNftExActivity.java
View file @
4c872b0f
...
@@ -37,6 +37,11 @@ public class GoblinNftExActivity implements Serializable,Cloneable {
...
@@ -37,6 +37,11 @@ public class GoblinNftExActivity implements Serializable,Cloneable {
*/
*/
private
String
title
;
private
String
title
;
/**
* 延期后的新活动id
*/
private
String
newActivityId
;
/**
/**
* 创建时间
* 创建时间
*/
*/
...
...
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinNftExCodeTask.java
View file @
4c872b0f
...
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
...
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
...
@@ -60,6 +62,23 @@ public class GoblinNftExCodeTask implements Serializable {
...
@@ -60,6 +62,23 @@ public class GoblinNftExCodeTask implements Serializable {
}
}
}
}
public
GoblinNftExCodeTask
copy
(
GoblinNftExCodeNumDto
vo
)
{
if
(
null
==
vo
)
return
this
;
this
.
setActivityId
(
vo
.
getActivityId
());
this
.
setStoreId
(
vo
.
getStoreId
());
this
.
setSpuId
(
vo
.
getSpuId
());
this
.
setSkuId
(
vo
.
getSkuId
());
this
.
setUnbox
(
vo
.
getUnbox
());
this
.
setExStock
(
vo
.
getNum
());
this
.
setExLimit
(
0
);
this
.
setExStartTime
(
vo
.
getExStartTime
());
this
.
setExStopTime
(
vo
.
getExStopTime
());
this
.
setTyp
(
1
);
return
this
;
}
}
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/mapper/GoblinNftExSkuMapper.java
View file @
4c872b0f
package
com
.
liquidnet
.
service
.
goblin
.
mapper
;
package
com
.
liquidnet
.
service
.
goblin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto
;
import
com.liquidnet.service.goblin.entity.GoblinNftExSku
;
import
com.liquidnet.service.goblin.entity.GoblinNftExSku
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -32,4 +33,8 @@ public interface GoblinNftExSkuMapper extends BaseMapper<GoblinNftExSku> {
...
@@ -32,4 +33,8 @@ public interface GoblinNftExSkuMapper extends BaseMapper<GoblinNftExSku> {
* @return
* @return
*/
*/
List
<
GoblinNftExSku
>
selectGoblinNftExSkuByActivityIds
(
@Param
(
"activityIds"
)
String
activityIds
);
List
<
GoblinNftExSku
>
selectGoblinNftExSkuByActivityIds
(
@Param
(
"activityIds"
)
String
activityIds
);
List
<
GoblinNftExCodeNumDto
>
selectExCodeNumAll
(
@Param
(
"oldActivityId"
)
String
oldActivityId
);
List
<
GoblinNftExCodeNumDto
>
selectExCodeNumBox
(
@Param
(
"oldActivityId"
)
String
oldActivityId
,
@Param
(
"skuId"
)
String
skuId
);
}
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/resources/com.liquidnet.service.goblin.mapper/GoblinNftExActivityMapper.xml
View file @
4c872b0f
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
<result
column=
"activity_id"
property=
"activityId"
jdbcType=
"VARCHAR"
/>
<result
column=
"activity_id"
property=
"activityId"
jdbcType=
"VARCHAR"
/>
<result
column=
"uid"
property=
"uid"
jdbcType=
"VARCHAR"
/>
<result
column=
"uid"
property=
"uid"
jdbcType=
"VARCHAR"
/>
<result
column=
"title"
property=
"title"
jdbcType=
"VARCHAR"
/>
<result
column=
"title"
property=
"title"
jdbcType=
"VARCHAR"
/>
<result
column=
"new_activity_id"
property=
"newActivityId"
jdbcType=
"VARCHAR"
/>
<result
column=
"created_at"
property=
"createdAt"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"created_at"
property=
"createdAt"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"updated_at"
property=
"updatedAt"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"updated_at"
property=
"updatedAt"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
</resultMap>
...
@@ -17,7 +18,7 @@
...
@@ -17,7 +18,7 @@
</select>
</select>
<select
id=
"selectPageList"
resultMap=
"BaseResult"
>
<select
id=
"selectPageList"
resultMap=
"BaseResult"
>
select activity_id,uid,title,created_at from goblin_nft_ex_activity
select activity_id,uid,title,created_at
,new_activity_id
from goblin_nft_ex_activity
<where>
<where>
<if
test=
"uid != null and uid != ''"
>
<if
test=
"uid != null and uid != ''"
>
and uid = #{uid,jdbcType=VARCHAR}
and uid = #{uid,jdbcType=VARCHAR}
...
@@ -37,7 +38,7 @@
...
@@ -37,7 +38,7 @@
</select>
</select>
<select
id=
"selectByActivityId"
resultMap=
"BaseResult"
>
<select
id=
"selectByActivityId"
resultMap=
"BaseResult"
>
select activity_id, title, created_at
select activity_id, title,
new_activity_id,
created_at
from goblin_nft_ex_activity
from goblin_nft_ex_activity
where activity_id = #{activityId,jdbcType=VARCHAR}
where activity_id = #{activityId,jdbcType=VARCHAR}
</select>
</select>
...
...
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/resources/com.liquidnet.service.goblin.mapper/GoblinNftExSkuMapper.xml
View file @
4c872b0f
...
@@ -17,14 +17,39 @@
...
@@ -17,14 +17,39 @@
<select
id=
"selectGoblinNftExSkuByActivityIds"
resultMap=
"BaseResult"
>
<select
id=
"selectGoblinNftExSkuByActivityIds"
resultMap=
"BaseResult"
>
select activity_id,sku_id,unbox,store_id,ex_start_time,ex_stop_time from goblin_nft_ex_sku where
select activity_id,sku_id,unbox,store_id,ex_start_time,ex_stop_time from goblin_nft_ex_sku where
activity_id in
activity_id in
<foreach
collection=
"activityIds.split(',')"
item=
"activityId"
open=
"("
separator=
","
close=
")"
>
<foreach
collection=
"activityIds.split(',')"
item=
"activityId"
open=
"("
separator=
","
close=
")"
>
#{activityId,jdbcType=VARCHAR}
#{activityId,jdbcType=VARCHAR}
</foreach>
</foreach>
</select>
<select
id=
"selectExCodeNumAll"
resultType=
"com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto"
>
select gnes.activity_id, gnes.store_id, gnes.spu_id, gnes.sku_id, gnes.unbox, gnes.ex_start_time, gnes.ex_stop_time, count(*) as num, gnec.box_sku_id
from goblin_nft_ex_sku as gnes
left join goblin_nft_ex_code as gnec on gnes.activity_id = gnec.activity_id and gnes.sku_id =
gnec.sku_id
<where>
gnes.activity_id = #{oldActivityId}
and (gnec.state = 3 or (gnec.state = 1 and gnes.ex_stop_time
<![CDATA[<]]>
NOW()))
group by gnes.sku_id
</where>
</select>
<select
id=
"selectExCodeNumBox"
resultType=
"com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto"
>
select gnes.activity_id, gnes.store_id, gnes.spu_id, gnes.sku_id, gnes.unbox, gnes.ex_start_time, gnes.ex_stop_time, count(*) as num, gnec.box_sku_id
from goblin_nft_ex_sku as gnes
left join goblin_nft_ex_code as gnec on gnes.activity_id = gnec.activity_id and gnes.sku_id =
gnec.sku_id
<where>
gnes.activity_id = #{oldActivityId}
and gnes.sku_id = #{skuId}
and (gnec.state = 3 or (gnec.state = 1 and gnes.ex_stop_time
<![CDATA[<]]>
NOW()))
and gnes.unbox = '1'
group by gnec.box_sku_id
</where>
</select>
</select>
<insert
id=
"addGoblinNftExSkus"
>
<insert
id=
"addGoblinNftExSkus"
>
insert into goblin_nft_ex_sku (activity_id,spu_id,sku_id,store_id,unbox,ex_stock,ex_limit,ex_start_time,ex_stop_time,created_at)
insert into goblin_nft_ex_sku
(activity_id,spu_id,sku_id,store_id,unbox,ex_stock,ex_limit,ex_start_time,ex_stop_time,created_at)
values
values
<foreach
collection=
"goblinNftExSkus"
item=
"goblinNftExSku"
separator=
","
>
<foreach
collection=
"goblinNftExSkus"
item=
"goblinNftExSku"
separator=
","
>
(
(
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/docu/db_0418_jxl_nft_exchange.sql
View file @
4c872b0f
...
@@ -38,6 +38,8 @@ CREATE TABLE `goblin_nft_ex_activity`
...
@@ -38,6 +38,8 @@ CREATE TABLE `goblin_nft_ex_activity`
PRIMARY
KEY
(
`mid`
)
USING
BTREE
,
PRIMARY
KEY
(
`mid`
)
USING
BTREE
,
INDEX
`idx_nft_activity_id`
(
`activity_id`
)
USING
BTREE
INDEX
`idx_nft_activity_id`
(
`activity_id`
)
USING
BTREE
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
CHARACTER
SET
=
utf8mb4
COLLATE
=
utf8mb4_unicode_ci
COMMENT
=
'NFT兑换活动表'
ROW_FORMAT
=
Dynamic
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
CHARACTER
SET
=
utf8mb4
COLLATE
=
utf8mb4_unicode_ci
COMMENT
=
'NFT兑换活动表'
ROW_FORMAT
=
Dynamic
;
ALTER
TABLE
`goblin_nft_ex_activity`
ADD
`new_activity_id`
varchar
(
64
)
NOT
NULL
DEFAULT
''
COMMENT
'延期后的新活动id'
after
title
;
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/goblin/activity/GoblinNftExActivityController.java
View file @
4c872b0f
package
com
.
liquidnet
.
service
.
platform
.
controller
.
goblin
.
activity
;
package
com
.
liquidnet
.
service
.
platform
.
controller
.
goblin
.
activity
;
import
com.github.pagehelper.PageInfo
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftExActivityVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftSkuVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftSkuVo
;
import
com.liquidnet.service.goblin.dto.vo.PageInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.PageInfoVo
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityDelayParam
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
import
com.liquidnet.service.goblin.service.IGoblinNftExActivityService
;
import
com.liquidnet.service.goblin.service.IGoblinNftExActivityService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -64,4 +63,11 @@ public class GoblinNftExActivityController {
...
@@ -64,4 +63,11 @@ public class GoblinNftExActivityController {
iGoblinNftExActivityService
.
excel
(
httpServletResponse
,
goblinNftExActivityParam
);
iGoblinNftExActivityService
.
excel
(
httpServletResponse
,
goblinNftExActivityParam
);
}
}
@ApiOperationSupport
(
order
=
5
)
@ApiOperation
(
value
=
"该活动下兑换码延期"
)
@PutMapping
(
"delay"
)
public
ResponseDto
delay
(
@Valid
@RequestBody
GoblinNftExActivityDelayParam
goblinNftExActivityDelayParam
)
{
return
iGoblinNftExActivityService
.
delay
(
goblinNftExActivityDelayParam
);
}
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinNftExActivityServiceImpl.java
View file @
4c872b0f
...
@@ -4,15 +4,17 @@ import com.alibaba.excel.EasyExcel;
...
@@ -4,15 +4,17 @@ import com.alibaba.excel.EasyExcel;
import
com.alibaba.excel.support.ExcelTypeEnum
;
import
com.alibaba.excel.support.ExcelTypeEnum
;
import
com.alibaba.excel.write.metadata.style.WriteCellStyle
;
import
com.alibaba.excel.write.metadata.style.WriteCellStyle
;
import
com.alibaba.excel.write.style.HorizontalCellStyleStrategy
;
import
com.alibaba.excel.write.style.HorizontalCellStyleStrategy
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.GoblinNftExCodeNumDto
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.entity.*
;
import
com.liquidnet.service.goblin.entity.*
;
import
com.liquidnet.service.goblin.mapper.*
;
import
com.liquidnet.service.goblin.mapper.*
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityDelayParam
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
import
com.liquidnet.service.goblin.param.GoblinNftExActivityParam
;
import
com.liquidnet.service.goblin.service.IGoblinNftExActivityService
;
import
com.liquidnet.service.goblin.service.IGoblinNftExActivityService
;
import
com.liquidnet.service.platform.utils.ObjectUtil
;
import
com.liquidnet.service.platform.utils.ObjectUtil
;
...
@@ -21,13 +23,15 @@ import org.apache.poi.ss.usermodel.HorizontalAlignment;
...
@@ -21,13 +23,15 @@ import org.apache.poi.ss.usermodel.HorizontalAlignment;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.OutputStream
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
/**
* @Author: wll
* @Author: wll
...
@@ -50,6 +54,8 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
...
@@ -50,6 +54,8 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
private
GoblinGoodsSkuMapper
goblinGoodsSkuMapper
;
private
GoblinGoodsSkuMapper
goblinGoodsSkuMapper
;
@Autowired
@Autowired
GoblinNftExCodeTaskMapper
goblinNftExCodeTaskMapper
;
GoblinNftExCodeTaskMapper
goblinNftExCodeTaskMapper
;
@Autowired
private
GoblinNftExCodeTaskRelationMapper
goblinNftExCodeTaskRelationMapper
;
@Override
@Override
public
ResponseDto
<
Object
>
add
(
GoblinNftExActivityParam
goblinNftExActivityParam
)
{
public
ResponseDto
<
Object
>
add
(
GoblinNftExActivityParam
goblinNftExActivityParam
)
{
...
@@ -120,10 +126,16 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
...
@@ -120,10 +126,16 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
Integer
countNumber
=
0
;
Integer
countNumber
=
0
;
Integer
useNumber
=
0
;
Integer
useNumber
=
0
;
Integer
unUseNumber
=
0
;
Integer
unUseNumber
=
0
;
Integer
invalidNumber
=
0
;
// 失效数量 包含未兑换和已失效(手动失效)的
for
(
GoblinNftExCode
goblinNftExCode
:
goblinNftExCodes
)
{
for
(
GoblinNftExCode
goblinNftExCode
:
goblinNftExCodes
)
{
if
(
goblinNftExActivity
.
getActivityId
().
equals
(
goblinNftExCode
.
getActivityId
()))
{
if
(
goblinNftExActivity
.
getActivityId
().
equals
(
goblinNftExCode
.
getActivityId
()))
{
countNumber
++;
countNumber
++;
switch
(
goblinNftExCode
.
getState
())
{
switch
(
goblinNftExCode
.
getState
())
{
case
1
:
case
3
:
unUseNumber
++;
invalidNumber
++;
break
;
case
2
:
case
2
:
useNumber
++;
useNumber
++;
break
;
break
;
...
@@ -137,7 +149,25 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
...
@@ -137,7 +149,25 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
goblinNftExActivity
.
setUseNumber
(
useNumber
);
goblinNftExActivity
.
setUseNumber
(
useNumber
);
goblinNftExActivity
.
setUnUseNumber
(
unUseNumber
);
goblinNftExActivity
.
setUnUseNumber
(
unUseNumber
);
goblinNftExActivityArrayList
.
add
(
GoblinNftExActivityVo
.
getNew
().
copy
(
goblinNftExActivity
));
GoblinNftExActivityVo
goblinNftExActivityVo
=
GoblinNftExActivityVo
.
getNew
().
copy
(
goblinNftExActivity
);
// 获取该活动最大的失效时间
goblinNftExActivityVo
.
setIsDelay
(
0
);
if
(
goblinNftExActivity
.
getNewActivityId
().
isEmpty
())
{
List
<
GoblinNftExSku
>
goblinNftExSkus
=
goblinNftExSkuMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
GoblinNftExSku
.
class
)
.
eq
(
GoblinNftExSku:
:
getActivityId
,
goblinNftExActivity
.
getActivityId
())
.
orderByDesc
(
GoblinNftExSku:
:
getExStopTime
)
);
if
(!
CollectionUtil
.
isEmpty
(
goblinNftExSkus
))
{
LocalDateTime
exStopTime
=
goblinNftExSkus
.
get
(
0
).
getExStopTime
();
if
(
LocalDateTime
.
now
().
isAfter
(
exStopTime
)
&&
invalidNumber
>
0
)
{
goblinNftExActivityVo
.
setIsDelay
(
1
);
}
}
}
goblinNftExActivityArrayList
.
add
(
goblinNftExActivityVo
);
}
}
}
}
...
@@ -204,7 +234,7 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
...
@@ -204,7 +234,7 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
gCodes.add(goblinNftExCode);
gCodes.add(goblinNftExCode);
}*/
}*/
if
(
goblinNftExCode
.
getSkuId
().
equals
(
goblinGoodsSku
.
getSkuId
())){
if
(
goblinNftExCode
.
getSkuId
().
equals
(
goblinGoodsSku
.
getSkuId
()))
{
gCodes
.
add
(
goblinNftExCode
);
gCodes
.
add
(
goblinNftExCode
);
}
}
}
}
...
@@ -330,4 +360,97 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
...
@@ -330,4 +360,97 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
return
response
.
getOutputStream
();
return
response
.
getOutputStream
();
}
}
@Transactional
@Override
public
ResponseDto
delay
(
GoblinNftExActivityDelayParam
delayParam
)
{
// 结束时间不能大于开始时间
if
(!
delayParam
.
getEndTime
().
isAfter
(
delayParam
.
getStartTime
()))
{
return
ResponseDto
.
failure
(
"结束时间必需大于开始时间!"
);
}
// 名称不能重复
String
title
=
delayParam
.
getTitle
();
String
uid
=
delayParam
.
getUid
();
GoblinNftExActivity
goblinNftExActivityShow
=
goblinNftExActivityMapper
.
selectByTitle
(
title
,
uid
);
if
(
goblinNftExActivityShow
!=
null
)
{
return
ResponseDto
.
failure
(
"活动名称已存在!"
);
}
// 已经延期过
String
oldActivityId
=
delayParam
.
getActivityId
();
GoblinNftExActivity
oldActivity
=
goblinNftExActivityMapper
.
selectByActivityId
(
oldActivityId
);
if
(!
oldActivity
.
getNewActivityId
().
isEmpty
())
{
return
ResponseDto
.
failure
(
"该活动仅支持延期一次!"
);
}
// 是否已过最大结束时间
List
<
GoblinNftExSku
>
goblinNftExSkus
=
goblinNftExSkuMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
GoblinNftExSku
.
class
)
.
eq
(
GoblinNftExSku:
:
getActivityId
,
oldActivityId
)
.
orderByDesc
(
GoblinNftExSku:
:
getExStopTime
)
);
if
(
CollectionUtil
.
isEmpty
(
goblinNftExSkus
))
{
return
ResponseDto
.
failure
(
"该活动不存在或尚未配置SKU信息!"
);
}
else
{
// TODO: 2022/6/2 时间未到 但是全部手动设置了失效????
if
(
LocalDateTime
.
now
().
isBefore
(
goblinNftExSkus
.
get
(
0
).
getExStopTime
()))
{
return
ResponseDto
.
failure
(
"该活动还有未过期的兑换码!"
);
}
}
// TODO: 2022/6/2 是否有失效的code???
// 活动入库
LocalDateTime
now
=
LocalDateTime
.
now
();
GoblinNftExActivity
goblinNftExActivity
=
GoblinNftExActivity
.
getNew
();
String
activityId
=
IDGenerator
.
nextSnowId
();
goblinNftExActivity
.
setActivityId
(
activityId
);
goblinNftExActivity
.
setUid
(
uid
);
goblinNftExActivity
.
setTitle
(
title
);
goblinNftExActivity
.
setCreatedAt
(
now
);
goblinNftExActivityMapper
.
addGoblinNftExActivity
(
goblinNftExActivity
);
// 更新活动标识 记录延期过
GoblinNftExActivity
oldActivityUp
=
GoblinNftExActivity
.
getNew
();
oldActivityUp
.
setNewActivityId
(
activityId
);
oldActivityUp
.
setUpdatedAt
(
now
);
goblinNftExActivityMapper
.
update
(
oldActivityUp
,
Wrappers
.
lambdaUpdate
(
GoblinNftExActivity
.
class
).
eq
(
GoblinNftExActivity:
:
getActivityId
,
oldActivityId
)
);
// 查询出所有过期的码 所有
List
<
GoblinNftExCodeNumDto
>
exCodeNum
=
goblinNftExSkuMapper
.
selectExCodeNumAll
(
oldActivityId
);
// 重新生成
List
<
GoblinNftExCodeTask
>
goblinNftExCodeTasks
=
ObjectUtil
.
getGoblinNftExCodeTaskArrayList
();
for
(
GoblinNftExCodeNumDto
goblinNftExCodeNumDto
:
exCodeNum
)
{
// 定时任务对象构建
GoblinNftExCodeTask
goblinNftExCodeTask
=
GoblinNftExCodeTask
.
getNew
().
copy
(
goblinNftExCodeNumDto
);
goblinNftExCodeTask
.
setActivityId
(
activityId
);
goblinNftExCodeTask
.
setTaskId
(
IDGenerator
.
nextSnowId
());
goblinNftExCodeTask
.
setExStartTime
(
delayParam
.
getStartTime
());
goblinNftExCodeTask
.
setExStopTime
(
delayParam
.
getEndTime
());
goblinNftExCodeTask
.
setCreatedAt
(
now
);
if
(
goblinNftExCodeNumDto
.
getUnbox
().
equals
(
"1"
))
{
ArrayList
<
GoblinNftExCodeTaskRelation
>
goblinNftExCodeTaskRelations
=
ObjectUtil
.
getGoblinNftExCodeTaskRelationArrayList
();
// 查询出所有过期的码 盲盒
List
<
GoblinNftExCodeNumDto
>
exCodeNumBox
=
goblinNftExSkuMapper
.
selectExCodeNumBox
(
oldActivityId
,
goblinNftExCodeNumDto
.
getSkuId
());
Integer
sNumber
=
0
;
for
(
GoblinNftExCodeNumDto
codeNumBox
:
exCodeNumBox
)
{
GoblinNftExCodeTaskRelation
goblinNftExCodeTaskRelation
=
GoblinNftExCodeTaskRelation
.
getNew
();
goblinNftExCodeTaskRelation
.
setTaskId
(
goblinNftExCodeTask
.
getTaskId
());
goblinNftExCodeTaskRelation
.
setSkuId
(
codeNumBox
.
getBoxSkuId
());
goblinNftExCodeTaskRelation
.
setStock
(
codeNumBox
.
getNum
());
goblinNftExCodeTaskRelation
.
setCreatedAt
(
now
);
goblinNftExCodeTaskRelations
.
add
(
goblinNftExCodeTaskRelation
);
sNumber
+=
codeNumBox
.
getNum
();
}
goblinNftExCodeTaskRelationMapper
.
inserts
(
goblinNftExCodeTaskRelations
);
goblinNftExCodeTask
.
setExStock
(
sNumber
);
}
goblinNftExCodeTasks
.
add
(
goblinNftExCodeTask
);
}
if
(
goblinNftExCodeTasks
.
size
()
>
0
)
{
goblinNftExCodeTaskMapper
.
addGoblinNftExCodeTasks
(
goblinNftExCodeTasks
);
}
return
ResponseDto
.
success
(
"操作成功"
);
}
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinNftExCodeServiceImpl.java
View file @
4c872b0f
...
@@ -335,7 +335,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
...
@@ -335,7 +335,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
if
(
StringUtil
.
isNotBlank
(
gnc
.
getBoxSkuId
())
&&
gnc
.
getSkuId
().
equals
(
goblinNftExSku
.
getSkuId
()))
{
if
(
StringUtil
.
isNotBlank
(
gnc
.
getBoxSkuId
())
&&
gnc
.
getSkuId
().
equals
(
goblinNftExSku
.
getSkuId
()))
{
gnc
.
setExStartTime
(
goblinNftExSku
.
getExStartTime
());
gnc
.
setExStartTime
(
goblinNftExSku
.
getExStartTime
());
gnc
.
setExStopTime
(
goblinNftExSku
.
getExStopTime
());
gnc
.
setExStopTime
(
goblinNftExSku
.
getExStopTime
());
if
(
now
.
isAfter
(
goblinNftExSku
.
getExStopTime
()))
{
if
(
now
.
isAfter
(
goblinNftExSku
.
getExStopTime
())
&&
!
gnc
.
getState
().
equals
(
2
)
)
{
gnc
.
setState
(
3
);
gnc
.
setState
(
3
);
}
}
break
;
break
;
...
@@ -343,7 +343,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
...
@@ -343,7 +343,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
if
(
gnc
.
getSkuId
().
equals
(
goblinNftExSku
.
getSkuId
()))
{
if
(
gnc
.
getSkuId
().
equals
(
goblinNftExSku
.
getSkuId
()))
{
gnc
.
setExStartTime
(
goblinNftExSku
.
getExStartTime
());
gnc
.
setExStartTime
(
goblinNftExSku
.
getExStartTime
());
gnc
.
setExStopTime
(
goblinNftExSku
.
getExStopTime
());
gnc
.
setExStopTime
(
goblinNftExSku
.
getExStopTime
());
if
(
now
.
isAfter
(
goblinNftExSku
.
getExStopTime
()))
{
if
(
now
.
isAfter
(
goblinNftExSku
.
getExStopTime
())
&&
!
gnc
.
getState
().
equals
(
2
)
)
{
gnc
.
setState
(
3
);
gnc
.
setState
(
3
);
}
}
break
;
break
;
...
@@ -401,7 +401,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
...
@@ -401,7 +401,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
}
}
phonestr
.
append
(
data
.
getPhone
()).
append
(
","
);
phonestr
.
append
(
data
.
getPhone
()).
append
(
","
);
phoneList
.
add
(
data
.
getPhone
());
phoneList
.
add
(
data
.
getPhone
());
if
(
phoneList
.
size
()>
100
)
{
if
(
phoneList
.
size
()
>
100
)
{
break
;
break
;
}
}
}
}
...
@@ -412,7 +412,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
...
@@ -412,7 +412,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
return
ResponseDto
.
failure
(
"解析文件失败!"
);
return
ResponseDto
.
failure
(
"解析文件失败!"
);
}
}
if
(
phoneList
.
size
()>=
100
)
{
if
(
phoneList
.
size
()
>=
100
)
{
return
ResponseDto
.
failure
(
"批量空投暂时数量不能大于100"
);
return
ResponseDto
.
failure
(
"批量空投暂时数量不能大于100"
);
}
}
...
...
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