记得上下班打卡 | 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
f5b6e0c9
Commit
f5b6e0c9
authored
Apr 28, 2022
by
wanglele
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
兑换码定时任务 空投
parent
162c7396
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
552 additions
and
48 deletions
+552
-48
GoblinNftExCodeParam.java
.../liquidnet/service/goblin/param/GoblinNftExCodeParam.java
+2
-1
IGoblinNftExCodeService.java
...idnet/service/goblin/service/IGoblinNftExCodeService.java
+1
-1
IGoblinNftExCodeTaskService.java
...t/service/goblin/service/IGoblinNftExCodeTaskService.java
+9
-0
IDGenerator.java
...ain/java/com/liquidnet/commons/lang/util/IDGenerator.java
+0
-2
GoblinNftExCodeTaskRelation.java
...et/service/goblin/entity/GoblinNftExCodeTaskRelation.java
+60
-0
GoblinNftExCodeMapper.java
...iquidnet/service/goblin/mapper/GoblinNftExCodeMapper.java
+7
-0
GoblinNftExCodeTaskRelationMapper.java
...vice/goblin/mapper/GoblinNftExCodeTaskRelationMapper.java
+34
-0
GoblinNftExCodeMapper.xml
...liquidnet.service.goblin.mapper/GoblinNftExCodeMapper.xml
+10
-1
GoblinNftExCodeTaskRelationMapper.xml
...rvice.goblin.mapper/GoblinNftExCodeTaskRelationMapper.xml
+36
-0
FeignPlatformGoblinTaskClient.java
...ce/feign/platform/task/FeignPlatformGoblinTaskClient.java
+5
-0
PlatformGoblinTaskHandler.java
...vice/executor/main/handler/PlatformGoblinTaskHandler.java
+10
-0
db_0418_jxl_nft_exchange.sql
...net-service-goblin-impl/docu/db_0418_jxl_nft_exchange.sql
+13
-0
GoblinNftExCodeController.java
...orm/controller/goblin/code/GoblinNftExCodeController.java
+2
-2
GoblinNftExCodeTaskController.java
...oller/goblin/code/task/GoblinNftExCodeTaskController.java
+29
-0
GoblinNftExActivityServiceImpl.java
...m/service/impl/goblin/GoblinNftExActivityServiceImpl.java
+5
-5
GoblinNftExCodeServiceImpl.java
...tform/service/impl/goblin/GoblinNftExCodeServiceImpl.java
+36
-11
GoblinNftExCodeTaskServiceImpl.java
...m/service/impl/goblin/GoblinNftExCodeTaskServiceImpl.java
+227
-0
GoblinNftExSkuServiceImpl.java
...atform/service/impl/goblin/GoblinNftExSkuServiceImpl.java
+53
-25
GoblinRedisUtils.java
...om/liquidnet/service/platform/utils/GoblinRedisUtils.java
+13
-0
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinNftExCodeParam.java
View file @
f5b6e0c9
...
...
@@ -31,7 +31,8 @@ public class GoblinNftExCodeParam implements Serializable {
private
String
userId
;
@ApiModelProperty
(
position
=
17
,
required
=
true
,
value
=
"手机号/ 发送空投时传入"
)
private
String
phone
;
@ApiModelProperty
(
position
=
18
,
required
=
true
,
value
=
"当操作用户id/发送空投时传入"
)
private
String
adminUid
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinNftExCodeService.java
View file @
f5b6e0c9
...
...
@@ -27,7 +27,7 @@ public interface IGoblinNftExCodeService {
* @param goblinNftExCodeParam
* @return
*/
ResponseDto
<
Object
>
addAirdrop
(
GoblinNftExCodeParam
goblinNftExCodeParam
);
ResponseDto
<
Boolean
>
addAirdrop
(
GoblinNftExCodeParam
goblinNftExCodeParam
);
/**
* 兑换码导出
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinNftExCodeTaskService.java
0 → 100644
View file @
f5b6e0c9
package
com
.
liquidnet
.
service
.
goblin
.
service
;
public
interface
IGoblinNftExCodeTaskService
{
/**
* 定时生成兑换码
*/
void
generateCode
();
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/IDGenerator.java
View file @
f5b6e0c9
...
...
@@ -158,8 +158,6 @@ public class IDGenerator {
* @return
*/
public
static
String
createCode
(
int
num
,
int
sec
,
boolean
bol
)
{
//
StringBuffer
str
=
new
StringBuffer
();
for
(
int
k
=
0
;
k
<
num
;
k
++)
{
for
(
int
i
=
0
;
i
<
sec
;
i
++){
...
...
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinNftExCodeTaskRelation.java
0 → 100644
View file @
f5b6e0c9
package
com
.
liquidnet
.
service
.
goblin
.
entity
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 兑换码定时任务生成副表
* </p>
*
* @author jiangxiulong
* @since 2022-04-28
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinNftExCodeTaskRelation
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
mid
;
/**
* 定时id
*/
private
String
taskId
;
/**
* sku_id
*/
private
String
skuId
;
/**
* 库存
*/
private
Integer
stock
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 修改时间
*/
private
LocalDateTime
updatedAt
;
private
final
static
GoblinNftExCodeTaskRelation
obj
=
new
GoblinNftExCodeTaskRelation
();
public
static
GoblinNftExCodeTaskRelation
getNew
(){
try
{
return
(
GoblinNftExCodeTaskRelation
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
){
return
new
GoblinNftExCodeTaskRelation
();
}
}
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/mapper/GoblinNftExCodeMapper.java
View file @
f5b6e0c9
...
...
@@ -69,4 +69,11 @@ public interface GoblinNftExCodeMapper extends BaseMapper<GoblinNftExCode> {
* 获取数量
*/
int
selectGoblinNftCodeCount
(
GoblinNftExCode
goblinNftExCode
);
/**
* 修改操作用户
* @param goblinNftExCode
* @return
*/
int
updateCodeAdminUid
(
GoblinNftExCode
goblinNftExCode
);
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/mapper/GoblinNftExCodeTaskRelationMapper.java
0 → 100644
View file @
f5b6e0c9
package
com
.
liquidnet
.
service
.
goblin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.goblin.entity.GoblinNftExCodeTaskRelation
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* <p>
* 兑换码定时任务生成副表 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2022-04-28
*/
@Repository
public
interface
GoblinNftExCodeTaskRelationMapper
extends
BaseMapper
<
GoblinNftExCodeTaskRelation
>
{
/**
* 根据定时任务ids查询
* @param taskIds
* @return
*/
List
<
GoblinNftExCodeTaskRelation
>
selectByTaskIds
(
@Param
(
"taskIds"
)
String
taskIds
);
/**
* 批量添加定时任务附表
* @param goblinNftExCodeTaskRelations
* @return
*/
int
inserts
(
@Param
(
"goblinNftExCodeTaskRelations"
)
List
<
GoblinNftExCodeTaskRelation
>
goblinNftExCodeTaskRelations
);
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/resources/com.liquidnet.service.goblin.mapper/GoblinNftExCodeMapper.xml
View file @
f5b6e0c9
...
...
@@ -25,7 +25,7 @@
</select>
<select
id=
"selectGoblinNftCodeByCode"
resultMap=
"BeseResult"
>
select code_id, activity_id, code, box_sku_id from goblin_nft_ex_code where code = #{code}
select code_id, activity_id, code, box_sku_id
,state
from goblin_nft_ex_code where code = #{code}
</select>
<insert
id=
"addGoblinNftExCodes"
>
...
...
@@ -55,6 +55,15 @@
</foreach>
</update>
<update
id=
"updateCodeAdminUid"
parameterType=
"com.liquidnet.service.goblin.entity.GoblinNftExCode"
>
update goblin_nft_ex_code
<set>
admin_uid = #{adminUid}
</set>
where code_id = #{codeId}
</update>
<select
id=
"selectGoblinNftCode"
parameterType=
"com.liquidnet.service.goblin.entity.GoblinNftExCode"
resultMap=
"BeseResult"
>
select code_id,code,sku_id,box_sku_id,activity_id,state,redeem_uid,redeem_at,admin_uid,created_at from goblin_nft_ex_code
...
...
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/resources/com.liquidnet.service.goblin.mapper/GoblinNftExCodeTaskRelationMapper.xml
0 → 100644
View file @
f5b6e0c9
<?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.GoblinNftExCodeTaskRelationMapper"
>
<resultMap
id=
"BaseResult"
type=
"com.liquidnet.service.goblin.entity.GoblinNftExCodeTaskRelation"
>
<result
column=
"task_id"
property=
"taskId"
jdbcType=
"VARCHAR"
/>
<result
column=
"sku_id"
property=
"skuId"
jdbcType=
"VARCHAR"
/>
<result
column=
"stock"
property=
"stock"
jdbcType=
"VARCHAR"
/>
<result
column=
"created_at"
property=
"createdAt"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"updated_at"
property=
"updatedAt"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<select
id=
"selectByTaskIds"
resultMap=
"BaseResult"
>
select task_id,sku_id,stock,created_at,updated_at from goblin_nft_ex_code_task_relation where task_id in
<foreach
collection=
"taskIds.split(',')"
item=
"taskId"
open=
"("
separator=
","
close=
")"
>
#{taskId}
</foreach>
</select>
<insert
id=
"inserts"
>
insert into goblin_nft_ex_code_task_relation (task_id,sku_id,stock,created_at)
values
<foreach
collection=
"goblinNftExCodeTaskRelations"
item=
"goblinNftExCodeTaskRelation"
separator=
","
>
(
#{goblinNftExCodeTaskRelation.taskId},
#{goblinNftExCodeTaskRelation.skuId},
#{goblinNftExCodeTaskRelation.stock},
#{goblinNftExCodeTaskRelation.createdAt}
)
</foreach>
</insert>
</mapper>
liquidnet-bus-feign/liquidnet-api-feign-platform/src/main/java/com/liquidnet/service/feign/platform/task/FeignPlatformGoblinTaskClient.java
View file @
f5b6e0c9
...
...
@@ -25,4 +25,9 @@ public interface FeignPlatformGoblinTaskClient {
@PostMapping
(
"spu/goblin/setCount"
)
ResponseDto
<
String
>
setCount
();
@PostMapping
(
"codeTask/generateCode"
)
ResponseDto
<
String
>
codeCount
();
}
liquidnet-bus-service/liquidnet-service-executor-all/liquidnet-service-executor-main/src/main/java/com/liquidnet/service/executor/main/handler/PlatformGoblinTaskHandler.java
View file @
f5b6e0c9
...
...
@@ -43,4 +43,14 @@ public class PlatformGoblinTaskHandler {
}
}
@XxlJob
(
value
=
"sev-platform:codeCount"
)
public
void
codeCount
()
{
// 设置商城 商品数量
try
{
XxlJobHelper
.
handleSuccess
(
"结果:"
+
feignPlatformGoblinTaskClient
.
codeCount
().
toJson
());
}
catch
(
Exception
e
)
{
XxlJobHelper
.
log
(
e
);
XxlJobHelper
.
handleFail
();
}
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/docu/db_0418_jxl_nft_exchange.sql
View file @
f5b6e0c9
...
...
@@ -82,3 +82,16 @@ CREATE TABLE `goblin_nft_ex_code_task`
PRIMARY
KEY
(
`mid`
)
USING
BTREE
)
ENGINE
=
InnoDB
CHARACTER
SET
=
utf8mb4
COLLATE
=
utf8mb4_unicode_ci
COMMENT
=
'兑换码定时任务表'
ROW_FORMAT
=
Dynamic
;
DROP
TABLE
IF
EXISTS
`goblin_nft_ex_code_task_relation`
;
CREATE
TABLE
`goblin_nft_ex_code_task_relation`
(
`mid`
bigint
(
0
)
NOT
NULL
AUTO_INCREMENT
,
`task_id`
varchar
(
32
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
NOT
NULL
COMMENT
'定时id'
,
`sku_id`
varchar
(
32
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
NOT
NULL
COMMENT
'sku_id'
,
`stock`
int
(
0
)
NOT
NULL
COMMENT
'库存'
,
`created_at`
datetime
(
0
)
NOT
NULL
COMMENT
'创建时间'
,
`updated_at`
datetime
(
0
)
NULL
DEFAULT
NULL
COMMENT
'修改时间'
,
PRIMARY
KEY
(
`mid`
)
USING
BTREE
)
ENGINE
=
InnoDB
CHARACTER
SET
=
utf8mb4
COLLATE
=
utf8mb4_unicode_ci
COMMENT
=
'兑换码定时任务生成副表'
ROW_FORMAT
=
Dynamic
;
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/goblin/code/GoblinNftExCodeController.java
View file @
f5b6e0c9
...
...
@@ -49,8 +49,8 @@ public class GoblinNftExCodeController {
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"空投发送"
)
@PostMapping
(
"addAirdrop"
)
public
ResponseDto
<
Object
>
addAirdrop
(
@RequestBody
GoblinNftExCodeParam
goblinNftExCodeParam
){
return
ResponseDto
.
success
(
iGoblinNftExCodeService
.
addAirdrop
(
goblinNftExCodeParam
)
);
public
ResponseDto
<
Boolean
>
addAirdrop
(
@RequestBody
GoblinNftExCodeParam
goblinNftExCodeParam
){
return
iGoblinNftExCodeService
.
addAirdrop
(
goblinNftExCodeParam
);
}
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/goblin/code/task/GoblinNftExCodeTaskController.java
0 → 100644
View file @
f5b6e0c9
package
com
.
liquidnet
.
service
.
platform
.
controller
.
goblin
.
code
.
task
;
import
com.liquidnet.service.goblin.service.IGoblinNftExCodeTaskService
;
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.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@Api
(
tags
=
"code定时任务"
)
@Slf4j
@Validated
@RestController
@RequestMapping
(
"codeTask"
)
public
class
GoblinNftExCodeTaskController
{
@Autowired
IGoblinNftExCodeTaskService
iGoblinNftExCodeTaskService
;
@PostMapping
(
"generateCode"
)
@ApiOperation
(
value
=
"定时自动生成兑换码"
)
public
void
generateCode
(){
iGoblinNftExCodeTaskService
.
generateCode
();
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinNftExActivityServiceImpl.java
View file @
f5b6e0c9
...
...
@@ -101,19 +101,19 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
activityIds
.
deleteCharAt
(
activityIds
.
length
()
-
1
);
// 根据活动ids查询正在生成的兑换码
//
List<GoblinNftExCodeTask> goblinNftExCodeTasks = goblinNftExCodeTaskMapper.selectByActivityIds(activityIds.toString());
List
<
GoblinNftExCodeTask
>
goblinNftExCodeTasks
=
goblinNftExCodeTaskMapper
.
selectByActivityIds
(
activityIds
.
toString
());
long
k
=
System
.
currentTimeMillis
();
List
<
GoblinNftExCode
>
goblinNftExCodes
=
goblinNftExCodeMapper
.
selectByActivityIds
(
activityIds
.
toString
());
log
.
debug
(
"#MYS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
k
);
for
(
GoblinNftExActivity
goblinNftExActivity
:
goblinNftExActivities
)
{
/* for (GoblinNftExCodeTask goblinNftExCodeTask
: goblinNftExCodeTasks) {
if (goblinNftExActivity.getActivityId().equals(goblinNftExCodeTask.getActivityId())){
for
(
GoblinNftExCodeTask
goblinNftExCodeTask
:
goblinNftExCodeTasks
)
{
if
(
goblinNftExActivity
.
getActivityId
().
equals
(
goblinNftExCodeTask
.
getActivityId
()))
{
goblinNftExActivity
.
setIsDisplay
(
1
);
break
;
}
}
*/
}
Integer
countNumber
=
0
;
Integer
useNumber
=
0
;
...
...
@@ -139,7 +139,7 @@ public class GoblinNftExActivityServiceImpl implements IGoblinNftExActivityServi
}
}
PageInfoVo
pageInfo
=
new
PageInfoVo
(
goblinNftExActivityArrayList
,
count
,
0
);
PageInfoVo
pageInfo
=
new
PageInfoVo
(
goblinNftExActivityArrayList
,
count
,
0
);
return
pageInfo
;
}
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinNftExCodeServiceImpl.java
View file @
f5b6e0c9
...
...
@@ -5,6 +5,7 @@ import com.alibaba.excel.support.ExcelTypeEnum;
import
com.alibaba.excel.write.metadata.style.WriteCellStyle
;
import
com.alibaba.excel.write.style.HorizontalCellStyleStrategy
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.commons.lang.util.*
;
...
...
@@ -32,6 +33,7 @@ import org.apache.poi.ss.usermodel.HorizontalAlignment;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
...
...
@@ -67,8 +69,6 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
private
AdamUserMapper
adamUserMapper
;
@Value
(
"${liquidnet.service.order.url}"
)
private
String
orderUrl
;
/* @Autowired
private */
@Override
public
PageInfoVo
selectCodePageList
(
GoblinNftExCodeParam
goblinNftExCodeParam
)
{
...
...
@@ -172,7 +172,7 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
}
PageInfoVo
pageInfo
=
new
PageInfoVo
(
goblinNftExCodeArrayList
,
count
);
PageInfoVo
pageInfo
=
new
PageInfoVo
(
goblinNftExCodeArrayList
,
count
);
return
pageInfo
;
}
...
...
@@ -208,33 +208,50 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
skuMap
.
put
(
skuId
,
number
+
1
);
}
goblinRedisUtils
.
removeCode
(
goblinNftExCode
.
getCode
());
}
if
(
skuMap
.
size
()
>
0
)
{
for
(
String
key
:
skuMap
.
keySet
())
{
goblinRedisUtils
.
incrSkuStock
(
null
,
key
,
skuMap
.
get
(
key
));
//
goblinRedisUtils.incrSkuStock(null, key, skuMap.get(key));
}
}
// 批量修改
goblinNftExCodeMapper
.
updateCodes
(
goblinNftExCodes
);
return
true
;
}
@Override
public
ResponseDto
<
Object
>
addAirdrop
(
GoblinNftExCodeParam
goblinNftExCodeParam
)
{
@Transactional
public
ResponseDto
<
Boolean
>
addAirdrop
(
GoblinNftExCodeParam
goblinNftExCodeParam
)
{
String
code
=
goblinNftExCodeParam
.
getCode
();
String
phone
=
goblinNftExCodeParam
.
getPhone
();
AdamUserInfoDto
adamUserInfoDto
=
adamUserMapper
.
selectByPhone
(
phone
);
if
(
adamUserInfoDto
==
null
)
{
return
ResponseDto
.
failure
(
"
兑换码不正确或已失效
"
);
return
ResponseDto
.
failure
(
"
用户不存在!
"
);
}
// 根据兑换code查询兑换码信息
GoblinNftExCode
goblinNftExCode
=
goblinNftExCodeMapper
.
selectGoblinNftCodeByCode
(
code
);
if
(
goblinNftExCode
==
null
)
{
return
ResponseDto
.
failure
(
"兑换码不存在!"
);
}
if
(
goblinNftExCode
.
getState
().
equals
(
2
))
{
return
ResponseDto
.
failure
(
"兑换码已领取!"
);
}
GoblinNftExCodeVo
goblinNftExCodeVo
=
goblinRedisUtils
.
getGoblinNftExCodeVo
(
goblinNftExCode
.
getCode
());
if
(
goblinNftExCodeVo
==
null
)
{
return
ResponseDto
.
failure
(
"兑换码已失效!"
);
}
if
(
goblinNftExCodeVo
.
getState
().
equals
(
2
))
{
return
ResponseDto
.
failure
(
"兑换码已领取!"
);
}
// 验证吗时间校验
try
{
MultiValueMap
<
String
,
String
>
params
=
new
LinkedMultiValueMap
();
params
.
add
(
"code"
,
code
);
...
...
@@ -243,10 +260,18 @@ public class GoblinNftExCodeServiceImpl implements IGoblinNftExCodeService {
headers
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
headers
.
add
(
"Authorization"
,
"Bearer "
+
CurrentUtil
.
getToken
());
String
post
=
HttpUtil
.
post
(
orderUrl
+
"/order/goblin/nft/airdrop"
,
params
,
headers
);
return
ResponseDto
.
success
();
ResponseDto
<
Boolean
>
rsp
=
JsonUtils
.
fromJson
(
post
,
new
TypeReference
<
ResponseDto
<
Boolean
>>()
{
});
if
(
rsp
.
getData
()
!=
null
&&
rsp
.
getData
())
{
goblinNftExCode
.
setAdminUid
(
goblinNftExCodeParam
.
getAdminUid
());
goblinNftExCodeMapper
.
updateCodeAdminUid
(
goblinNftExCode
);
}
else
{
return
ResponseDto
.
failure
(
rsp
.
getMessage
());
}
return
rsp
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ResponseDto
.
failure
();
return
ResponseDto
.
failure
(
"发送公投失败!"
);
}
}
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/
task/code/GoblinCodeTask
.java
→
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/
service/impl/goblin/GoblinNftExCodeTaskServiceImpl
.java
View file @
f5b6e0c9
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinNftExSkuServiceImpl.java
View file @
f5b6e0c9
...
...
@@ -7,18 +7,13 @@ import com.liquidnet.commons.lang.util.StringUtil;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftExCodeVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinNftExSkuVo
;
import
com.liquidnet.service.goblin.entity.GoblinGoodsSku
;
import
com.liquidnet.service.goblin.entity.GoblinNftExCode
;
import
com.liquidnet.service.goblin.entity.GoblinNftExCodeTask
;
import
com.liquidnet.service.goblin.entity.GoblinNftExSku
;
import
com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExCodeMapper
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExCodeTaskMapper
;
import
com.liquidnet.service.goblin.mapper.GoblinNftExSkuMapper
;
import
com.liquidnet.service.goblin.entity.*
;
import
com.liquidnet.service.goblin.mapper.*
;
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
io.swagger.models.auth.In
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -51,6 +46,8 @@ public class GoblinNftExSkuServiceImpl implements IGoblinNftExSkuService {
private
GoblinGoodsSkuMapper
goblinGoodsSkuMapper
;
@Autowired
GoblinNftExCodeTaskMapper
goblinNftExCodeTaskMapper
;
@Autowired
private
GoblinNftExCodeTaskRelationMapper
goblinNftExCodeTaskRelationMapper
;
@Transactional
...
...
@@ -96,23 +93,17 @@ public class GoblinNftExSkuServiceImpl implements IGoblinNftExSkuService {
}
List
<
GoblinNftExSku
>
goblinNftExSkus
=
new
ArrayList
<>();
// List<GoblinNftExCodeTask> goblinNftExCodeTasks = new ArrayList<>();
List
<
GoblinNftExCode
>
goblinNftExCodes
=
new
ArrayList
<>();
List
<
GoblinNftExCodeTask
>
goblinNftExCodeTasks
=
new
ArrayList
<>();
// List<GoblinNftExCode> goblinNftExCodes = new ArrayList<>();
// sku ---> 兑换码关联
Map
<
String
,
GoblinNftExSkuParam
>
goblinNftExSkuParamMap
=
new
HashMap
<>();
//
Map<String, GoblinNftExSkuParam> goblinNftExSkuParamMap = new HashMap<>();
// 构建对象
for
(
GoblinNftExSkuParam
goblinNftExSkuParam
:
goblinNftExSkuParams
)
{
GoblinNftExSku
goblinNftExSku
=
new
GoblinNftExSku
();
BeanUtils
.
copyProperties
(
goblinNftExSkuParam
,
goblinNftExSku
);
goblinNftExSku
.
setCreatedAt
(
now
);
goblinNftExSkus
.
add
(
goblinNftExSku
);
// 定时任务对象构建
/*
GoblinNftExCodeTask goblinNftExCodeTask = GoblinNftExCodeTask.getNew();
GoblinNftExCodeTask
goblinNftExCodeTask
=
GoblinNftExCodeTask
.
getNew
();
goblinNftExCodeTask
.
setTaskId
(
IDGenerator
.
nextSnowId
());
goblinNftExCodeTask
.
setActivityId
(
goblinNftExSkuParam
.
getActivityId
());
goblinNftExCodeTask
.
setStoreId
(
goblinNftExSkuParam
.
getStoreId
());
...
...
@@ -125,14 +116,50 @@ public class GoblinNftExSkuServiceImpl implements IGoblinNftExSkuService {
goblinNftExCodeTask
.
setExStopTime
(
goblinNftExSkuParam
.
getExStopTime
());
goblinNftExCodeTask
.
setTyp
(
1
);
goblinNftExCodeTask
.
setCreatedAt
(
now
);
goblinNftExCodeTasks.add(goblinNftExCodeTask);*/
if
(
goblinNftExSkuParam
.
getUnbox
().
equals
(
"1"
))
{
List
<
GoblinNftExCodeTaskRelation
>
goblinNftExCodeTaskRelations
=
new
ArrayList
<>();
// sku ---> 库存
Map
<
String
,
Integer
>
skuMap
=
getSkuHitRatio
(
goblinNftExSkuParam
.
getExStock
(),
map
);
Integer
sNumber
=
0
;
for
(
String
key
:
skuMap
.
keySet
())
{
Integer
stockNum
=
skuMap
.
get
(
key
);
// 根据sku减库存
int
stock
=
goblinRedisUtils
.
decrSkuStock
(
null
,
key
,
stockNum
);
if
(
stock
<
0
)
{
goblinRedisUtils
.
incrSkuStock
(
null
,
key
,
stockNum
);
}
else
{
GoblinNftExCodeTaskRelation
goblinNftExCodeTaskRelation
=
new
GoblinNftExCodeTaskRelation
();
goblinNftExCodeTaskRelation
.
setTaskId
(
goblinNftExCodeTask
.
getTaskId
());
goblinNftExCodeTaskRelation
.
setSkuId
(
key
);
goblinNftExCodeTaskRelation
.
setStock
(
stockNum
);
goblinNftExCodeTaskRelation
.
setCreatedAt
(
now
);
goblinNftExCodeTaskRelations
.
add
(
goblinNftExCodeTaskRelation
);
}
sNumber
+=
stockNum
;
}
goblinNftExCodeTaskRelationMapper
.
inserts
(
goblinNftExCodeTaskRelations
);
goblinNftExCodeTask
.
setExStock
(
sNumber
);
}
else
{
int
stock
=
goblinRedisUtils
.
decrSkuStock
(
null
,
goblinNftExSkuParam
.
getSkuId
(),
goblinNftExSkuParam
.
getExStock
());
if
(
stock
<
0
)
{
goblinRedisUtils
.
incrSkuStock
(
null
,
goblinNftExSkuParam
.
getSkuId
(),
goblinNftExSkuParam
.
getExStock
());
}
}
goblinNftExCodeTasks
.
add
(
goblinNftExCodeTask
);
// 盲盒 概率
switch
(
goblinNftExSkuParam
.
getUnbox
())
{
/*
switch (goblinNftExSkuParam.getUnbox()) {
case "1":
// sku ---> 库存
Map<String, Integer> skuMap = getSkuHitRatio(goblinNftExSkuParam.getExStock(), map);
for (String key : skuMap.keySet()) {
Integer stockNum = skuMap.get(key);
...
...
@@ -176,7 +203,7 @@ public class GoblinNftExSkuServiceImpl implements IGoblinNftExSkuService {
goblinNftExCode.setSkuId(goblinNftExSkuParam.getSkuId());
}
goblinNftExSkuParamMap
.
put
(
key
,
goblinNftExSkuParam
);
//
goblinNftExSkuParamMap.put(key, goblinNftExSkuParam);
}
}
...
...
@@ -232,12 +259,13 @@ public class GoblinNftExSkuServiceImpl implements IGoblinNftExSkuService {
// goblinNftExSkuArrayList.add(GoblinNftExSkuVo.getNew().copy(goblinNftExSku));
}
}
*/
}
/*
for (String key : goblinNftExSkuParamMap.keySet()) {
GoblinNftExSkuVo goblinNftExSkuVo = goblinRedisUtils.getSkuTime(key);
...
...
@@ -270,13 +298,13 @@ public class GoblinNftExSkuServiceImpl implements IGoblinNftExSkuService {
goblinRedisUtils.addSkuTime(key, goblinNftExSku);
}
*/
// 数据库操作
long
startm
=
System
.
currentTimeMillis
();
goblinNftExSkuMapper
.
addGoblinNftExSkus
(
goblinNftExSkus
);
// goblinNftExCodeTaskMapper.addGoblinNftExCodeTasks(goblinNftExCodeTasks);
goblinNftExCodeMapper
.
addGoblinNftExCodes
(
goblinNftExCodes
);
goblinNftExCodeTaskMapper
.
addGoblinNftExCodeTasks
(
goblinNftExCodeTasks
);
// goblinNftExCodeMapper.addGoblinNftExCodes(goblinNftExCodes);
log
.
debug
(
"MSQ耗时:ms"
,
System
.
currentTimeMillis
()
-
startm
);
return
true
;
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/GoblinRedisUtils.java
View file @
f5b6e0c9
...
...
@@ -208,6 +208,19 @@ public class GoblinRedisUtils {
return
getRedis
().
set
(
key
,
goblinNftExCodeVo
,
millisNum
);
}
/**
* 兑换码
*/
public
GoblinNftExCodeVo
getGoblinNftExCodeVo
(
String
code
)
{
String
redisKey
=
GoblinRedisConst
.
ACTIVITY_SKU_CODE
.
concat
(
code
);
Object
obj
=
getRedis
().
get
(
redisKey
);
if
(
obj
==
null
)
{
return
null
;
}
else
{
return
(
GoblinNftExCodeVo
)
obj
;
}
}
// 获取盲盒下藏品的库存 各种状态下不能算库存的排除掉
public
int
getSkuAllStatusStock
(
GoblinGoodsSku
info
)
{
if
(
...
...
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