记得上下班打卡 | 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
ffab6dcc
Commit
ffab6dcc
authored
Jun 27, 2025
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doudou二期需求-活动列表接口
parent
c97cb5a0
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
104 additions
and
8 deletions
+104
-8
SweetConstant.java
...a/com/liquidnet/service/sweet/constant/SweetConstant.java
+1
-0
SweetDouDouActiveVo.java
...a/com/liquidnet/service/sweet/vo/SweetDouDouActiveVo.java
+25
-2
RedisKeyExpireConst.java
.../liquidnet/service/base/constant/RedisKeyExpireConst.java
+3
-0
SweetDoudouActive.java
...com/liquidnet/service/sweet/entity/SweetDoudouActive.java
+4
-4
SweetDoudouServiceImpl.java
...et/service/sweet/service/impl/SweetDoudouServiceImpl.java
+45
-2
RedisDataUtils.java
...ava/com/liquidnet/service/sweet/utils/RedisDataUtils.java
+26
-0
No files found.
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/constant/SweetConstant.java
View file @
ffab6dcc
...
...
@@ -63,6 +63,7 @@ public class SweetConstant {
// doudou
public
final
static
String
REDIS_KEY_SWEET_DOUDOU_USER
=
"sweet:doudou:uid:"
;
public
final
static
String
REDIS_KEY_SWEET_DOUDOU_SCOPE_MOBILE
=
"sweet:doudou:scope:mobile:"
;
public
static
final
String
REDIS_KEY_SWEET_DOUDOU_ACTIVE
=
"sweet:doudou:active"
;
// 城市投票活动
public
final
static
String
REDIS_KEY_SWEET_CITY_VOTE_STAT_LIST
=
":StatList"
;
public
final
static
String
REDIS_KEY_SWEET_CITY_VOTE_CITY_CODE
=
":cityCode:"
;
...
...
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/vo/SweetDouDouActiveVo.java
View file @
ffab6dcc
package
com
.
liquidnet
.
service
.
sweet
.
vo
;
import
com.liquidnet.service.sweet.entity.SweetDoudouActive
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
@@ -23,11 +24,33 @@ public class SweetDouDouActiveVo implements Serializable, Cloneable {
private
String
detailImages
;
@ApiModelProperty
(
"活动详情URL"
)
private
String
target
_u
rl
;
private
String
target
U
rl
;
@ApiModelProperty
(
"活动状态:2:进行中 3:已结束"
)
private
Integer
activeStatus
;
@ApiModelProperty
(
"状态 1已登记 2未中签 3已中签 4已核销"
)
@ApiModelProperty
(
"状态
0未登记
1已登记 2未中签 3已中签 4已核销"
)
private
Integer
status
;
private
static
final
SweetDouDouActiveVo
obj
=
new
SweetDouDouActiveVo
();
public
static
SweetDouDouActiveVo
getNew
()
{
try
{
return
(
SweetDouDouActiveVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
SweetDouDouActiveVo
();
}
}
public
SweetDouDouActiveVo
copy
(
SweetDoudouActive
source
)
{
if
(
null
==
source
)
return
this
;
this
.
activeId
=
source
.
getActiveId
();
this
.
title
=
source
.
getTitle
();
this
.
cardImages
=
source
.
getCardImages
();
this
.
detailImages
=
source
.
getDetailImages
();
this
.
targetUrl
=
source
.
getTargetUrl
();
return
this
;
}
}
liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/constant/RedisKeyExpireConst.java
View file @
ffab6dcc
...
...
@@ -43,4 +43,7 @@ public class RedisKeyExpireConst {
// kylin:luckybag 过期时间30天
public
static
final
long
KYLIN_LUCKY_BAG_EXPIRE
=
30
*
24
*
60
*
60
;
// sweet:douduo:active 过期时间30天
public
static
final
long
SWEET_DOUDOU_ACTIVE_EXPIRE
=
30
*
24
*
60
*
60
;
}
liquidnet-bus-do/liquidnet-service-sweet-do/src/main/java/com/liquidnet/service/sweet/entity/SweetDoudouActive.java
View file @
ffab6dcc
...
...
@@ -19,7 +19,7 @@ public class SweetDoudouActive {
/**
* active_id
*/
private
String
active
_i
d
;
private
String
active
I
d
;
/**
* 标题
...
...
@@ -39,17 +39,17 @@ public class SweetDoudouActive {
/**
* 活动详情URL
*/
private
String
target
_u
rl
;
private
String
target
U
rl
;
/**
* 开始时间
*/
private
String
begin
_a
t
;
private
String
begin
A
t
;
/**
* 结束时间
*/
private
String
end
_a
t
;
private
String
end
A
t
;
/**
* 排序,越大越靠前
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetDoudouServiceImpl.java
View file @
ffab6dcc
...
...
@@ -10,6 +10,7 @@ import com.liquidnet.service.base.ResponseDto;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.sweet.entity.SweetDoudou
;
import
com.liquidnet.service.sweet.entity.SweetDoudouActive
;
import
com.liquidnet.service.sweet.mapper.SweetDoudouMapper
;
import
com.liquidnet.service.sweet.param.SweetDouDouCheckParam
;
import
com.liquidnet.service.sweet.param.SweetDouDouParam
;
...
...
@@ -185,11 +186,53 @@ public class SweetDoudouServiceImpl extends ServiceImpl<SweetDoudouMapper, Sweet
return
ResponseDto
.
success
();
}
//TODO 1.
// 1. 获取活动列表,并设置进行状态
List
<
SweetDoudouActive
>
sweetDoudouActiveList
=
redisDataUtils
.
getSweetDouDouActive
();
if
(
sweetDoudouActiveList
.
isEmpty
()){
log
.
info
(
"暂无活动"
);
return
ResponseDto
.
success
();
}
List
<
SweetDouDouActiveVo
>
sweetDouDouActiveVos
=
new
ArrayList
<>(
sweetDoudouActiveList
.
size
());
for
(
SweetDoudouActive
doudouActive
:
sweetDoudouActiveList
)
{
// 1. 判断活动是否已经开始或结束
Integer
activeStatus
=
checkActiveStatus
(
doudouActive
.
getBeginAt
(),
doudouActive
.
getEndAt
());
if
(
activeStatus
.
equals
(
1
)){
log
.
info
(
"活动未开始, activeId: {}, title: {}."
,
doudouActive
.
getActiveId
(),
doudouActive
.
getTitle
());
continue
;
}
SweetDouDouActiveVo
douDouActiveVo
=
SweetDouDouActiveVo
.
getNew
().
copy
(
doudouActive
);
douDouActiveVo
.
setActiveStatus
(
activeStatus
);
// 2. 查询用户是否参与该活动
SweetDouDouVo
sweetDouDou
=
redisDataUtils
.
getSweetDouDou
(
uid
);
if
(
sweetDouDou
==
null
)
{
douDouActiveVo
.
setStatus
(
0
);
}
else
{
douDouActiveVo
.
setStatus
(
sweetDouDou
.
getStatus
());
}
sweetDouDouActiveVos
.
add
(
douDouActiveVo
);
}
return
ResponseDto
.
success
(
sweetDouDouActiveVos
);
}
public
Integer
checkActiveStatus
(
String
beginAt
,
String
endAt
)
{
final
String
nowTime
=
com
.
liquidnet
.
commons
.
lang
.
util
.
DateUtil
.
getNowTime
();
if
(
null
!=
beginAt
&&
null
!=
endAt
&&
!
beginAt
.
isEmpty
()
&&
!
endAt
.
isEmpty
())
{
if
(
com
.
liquidnet
.
commons
.
lang
.
util
.
DateUtil
.
compareStrDay
(
nowTime
,
beginAt
)
<
0
)
{
// 当前时间小雨开始时间 还未开始呢
// 未开始
return
1
;
}
else
if
(
com
.
liquidnet
.
commons
.
lang
.
util
.
DateUtil
.
compareStrDay
(
endAt
,
nowTime
)
<
0
)
{
// 解释时间大于当前时间 已过期
// 已结束
return
3
;
}
else
{
// 进行中
return
2
;
}
}
return
3
;
}
@Override
public
ResponseDto
<
SweetDouDouActiveVo
>
getActiveDetail
(
String
activeId
)
{
return
null
;
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/utils/RedisDataUtils.java
View file @
ffab6dcc
...
...
@@ -61,6 +61,9 @@ public class RedisDataUtils {
private
SweetIntegralActivityDrawMapper
sweetIntegralActivityDrawMapper
;
@Autowired
private
SweetDoudouScopeMapper
sweetDoudouScopeMapper
;
@Autowired
private
SweetDoudouActiveMapper
sweetDoudouActiveMapper
;
@Autowired
@Lazy
private
FeignSlimeApiClient
feignSlimeApiClient
;
...
...
@@ -966,4 +969,27 @@ public class RedisDataUtils {
}
}
public
List
<
SweetDoudouActive
>
getSweetDouDouActive
()
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_DOUDOU_ACTIVE
;
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
LambdaQueryWrapper
<
SweetDoudouActive
>
queryWrapper
=
new
QueryWrapper
<
SweetDoudouActive
>()
.
lambda
()
.
eq
(
SweetDoudouActive:
:
getStatus
,
1
)
.
orderByDesc
(
SweetDoudouActive:
:
getSort
);
List
<
SweetDoudouActive
>
doudouActives
=
sweetDoudouActiveMapper
.
selectList
(
queryWrapper
);
if
(
doudouActives
.
isEmpty
())
{
return
Collections
.
emptyList
();
}
setSweetDouDouActive
(
doudouActives
);
return
doudouActives
;
}
else
{
return
(
List
<
SweetDoudouActive
>)
obj
;
}
}
public
void
setSweetDouDouActive
(
List
<
SweetDoudouActive
>
activeList
){
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_DOUDOU_ACTIVE
;
redisUtil
.
set
(
redisKey
,
activeList
,
RedisKeyExpireConst
.
SWEET_DOUDOU_ACTIVE_EXPIRE
);
}
}
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