记得上下班打卡 | 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
c2c56741
Commit
c2c56741
authored
Apr 27, 2022
by
GaoHu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
exit 助力达到自动预约
parent
cadeb60e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
66 additions
and
54 deletions
+66
-54
RedisUtil.java
...java/com.liquidnet.common.cache/redis/util/RedisUtil.java
+1
-1
GoblinGoodsAnticipateMgController.java
.../controller/manage/GoblinGoodsAnticipateMgController.java
+5
-5
GoblinGoodsAnticipateServiceImpl.java
...goblin/service/impl/GoblinGoodsAnticipateServiceImpl.java
+60
-48
No files found.
liquidnet-bus-common/liquidnet-common-cache/liquidnet-common-cache-redis/src/main/java/com.liquidnet.common.cache/redis/util/RedisUtil.java
View file @
c2c56741
...
...
@@ -34,7 +34,7 @@ public final class RedisUtil extends AbstractRedisUtil{
public
static
void
main
(
String
[]
args
)
{
String
[]
keys
=
{
"
smile:user1013431194887946248794794
"
,
"
goblin:anticipate:share:help:vo:221171244233767221729
"
,
};
for
(
String
key
:
keys
)
{
long
value
=
key
.
hashCode
();
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinGoodsAnticipateMgController.java
View file @
c2c56741
...
...
@@ -66,10 +66,10 @@ public class GoblinGoodsAnticipateMgController {
// return goblinGoodsAnticipateMgService.delete(skuId);
// }
//
@ApiOperation("更具sku获取信息")
//
@GetMapping("/getAnticipateValueBySkuId")
//
public AnticipateValueVo getAnticipateValueBySkuId(@RequestParam(name = "skuId") String skuId){
//
return goblinGoodsAnticipateMgService.getAnticipateValueBySkuId(skuId,1);
//
}
@ApiOperation
(
"更具sku获取信息"
)
@GetMapping
(
"/getAnticipateValueBySkuId"
)
public
AnticipateValueVo
getAnticipateValueBySkuId
(
@RequestParam
(
name
=
"skuId"
)
String
skuId
){
return
goblinGoodsAnticipateMgService
.
getAnticipateValueBySkuId
(
skuId
,
1
);
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinGoodsAnticipateServiceImpl.java
View file @
c2c56741
...
...
@@ -61,60 +61,66 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
}
//查询该用户是否预
String
uid
=
CurrentUtil
.
getCurrentUid
();
GoblinGoodAnticipateUserVo
userVo
=
goblinRedisUtils
.
getUserAboutAut
(
skuId
,
uid
);
LinkedList
<
Object
[]>
sqlValue
=
CollectionUtil
.
linkedListObjectArr
();
if
(
userVo
==
null
)
{
//接入助力人数判断
//获取需要多少人助力
return
getBooleanResponseDto
(
skuId
,
uid
,
anticipateValueVo
);
}
return
ResponseDto
.
failure
(
"该预约不存在!"
);
}
private
ResponseDto
<
Boolean
>
getBooleanResponseDto
(
String
skuId
,
String
uid
,
GoblinGoodsAnticipateValueVo
anticipateValueVo
)
{
GoblinGoodAnticipateUserVo
userVo
=
goblinRedisUtils
.
getUserAboutAut
(
skuId
,
uid
);
if
(
userVo
==
null
)
{
//接入助力人数判断
//获取需要多少人助力
// GoblinGoodsAnticipateHelp sharePeopleBySkuId = goblinRedisUtils.getSharePeopleBySkuId(skuId);
//判断如果所需助力人数
if
(
anticipateValueVo
.
getPeopleType
()
!=
0
)
{
//用户得到助力人数
String
sid
=
goblinRedisUtils
.
getShare
(
skuId
,
uid
);
if
(
sid
!=
null
)
{
Integer
people
=
goblinRedisUtils
.
getHelpSidAddHelp
(
sid
);
if
(
anticipateValueVo
.
getPeopleType
()
>
people
)
{
log
.
debug
(
" skuId:{},分享sid:{},预约uid:{},需要助力人数:{},助力人数:{}"
,
skuId
,
sid
,
uid
,
anticipateValueVo
.
getPeopleType
(),
people
);
return
ResponseDto
.
failure
(
"预约失败!"
);
}
}
else
{
log
.
debug
(
"skuId:{},需要助力人数:{},uid:{},该用户未开启分享助力!"
,
skuId
,
anticipateValueVo
.
getPeopleType
(),
uid
);
//判断如果所需助力人数
if
(
anticipateValueVo
.
getPeopleType
()
!=
0
)
{
//用户得到助力人数
String
sid
=
goblinRedisUtils
.
getShare
(
skuId
,
uid
);
if
(
sid
!=
null
)
{
Integer
people
=
goblinRedisUtils
.
getHelpSidAddHelp
(
sid
);
if
(
anticipateValueVo
.
getPeopleType
()
>
people
)
{
log
.
debug
(
" skuId:{},分享sid:{},预约uid:{},需要助力人数:{},助力人数:{}"
,
skuId
,
sid
,
uid
,
anticipateValueVo
.
getPeopleType
(),
people
);
return
ResponseDto
.
failure
(
"预约失败!"
);
}
}
GoblinGoodAnticipateUserVo
user
=
new
GoblinGoodAnticipateUserVo
();
user
.
setUid
(
uid
);
user
.
setSkuId
(
skuId
);
String
mobile
=
StringUtils
.
defaultString
(((
String
)
CurrentUtil
.
getTokenClaims
().
get
(
CurrentUtil
.
TOKEN_MOBILE
)),
""
);
user
.
setPhone
(
mobile
);
user
.
setState
(
0
);
user
.
setCreatedDate
(
LocalDateTime
.
now
());
//mongodb记录
goblinRedisUtils
.
setUserAboutSku
(
user
);
//用户没有预约过
//发送redis消息修改mysql记录用户预约
sqlValue
.
add
(
new
Object
[]{
user
.
getUid
(),
skuId
,
user
.
getPhone
(),
0
,
user
.
getCreatedDate
()
});
sendRedis
(
"goblin_goods_anticipate_user"
,
sqlValue
);
goblinRedisUtils
.
setSkuIdPeople
(
skuId
);
//获取用户头像个数小于等于2则保存用户头像
List
<
String
>
userAvatar
=
goblinRedisUtils
.
getUserAvatar
(
skuId
);
if
(
userAvatar
!=
null
&&
userAvatar
.
size
()
<=
2
)
{
//查询用户信息获取用户头像并保存
AdamUserInfoVo
userInfo
=
goblinAnticipateUtils
.
getUserInfo
();
goblinRedisUtils
.
setUserAvatar
(
skuId
,
userInfo
.
getAvatar
());
}
else
{
log
.
debug
(
"skuId:{},需要助力人数:{},uid:{},该用户未开启分享助力!"
,
skuId
,
anticipateValueVo
.
getPeopleType
(),
uid
);
return
ResponseDto
.
failure
(
"预约失败!"
);
}
}
return
ResponseDto
.
success
();
uidAboutBySkuId
(
skuId
,
uid
);
}
return
ResponseDto
.
success
();
}
private
void
uidAboutBySkuId
(
String
skuId
,
String
uid
)
{
GoblinGoodAnticipateUserVo
user
=
new
GoblinGoodAnticipateUserVo
();
user
.
setUid
(
uid
);
user
.
setSkuId
(
skuId
);
String
mobile
=
StringUtils
.
defaultString
(((
String
)
CurrentUtil
.
getTokenClaims
().
get
(
CurrentUtil
.
TOKEN_MOBILE
)),
""
);
user
.
setPhone
(
mobile
);
user
.
setState
(
0
);
user
.
setCreatedDate
(
LocalDateTime
.
now
());
//mongodb记录
goblinRedisUtils
.
setUserAboutSku
(
user
);
//用户没有预约过
//发送redis消息修改mysql记录用户预约
LinkedList
<
Object
[]>
sqlValue
=
CollectionUtil
.
linkedListObjectArr
();
sqlValue
.
add
(
new
Object
[]{
user
.
getUid
(),
skuId
,
user
.
getPhone
(),
0
,
user
.
getCreatedDate
()
});
sendRedis
(
"goblin_goods_anticipate_user"
,
sqlValue
);
goblinRedisUtils
.
setSkuIdPeople
(
skuId
);
//获取用户头像个数小于等于2则保存用户头像
List
<
String
>
userAvatar
=
goblinRedisUtils
.
getUserAvatar
(
skuId
);
if
(
userAvatar
!=
null
&&
userAvatar
.
size
()
<=
2
)
{
//查询用户信息获取用户头像并保存
AdamUserInfoVo
userInfo
=
goblinAnticipateUtils
.
getUserInfo
();
goblinRedisUtils
.
setUserAvatar
(
skuId
,
userInfo
.
getAvatar
());
}
return
ResponseDto
.
failure
(
"该预约不存在!"
);
}
@Override
...
...
@@ -245,6 +251,12 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
//新增助力头像
goblinRedisUtils
.
setHelpUserAvatar
(
sid
,
userInfo
.
getAvatar
());
}
//判断主力人数是否达标,达标则自动预约
if
(
shareVo
.
getPeopleType
().
equals
(
goblinRedisUtils
.
getHelpSidAddHelp
(
sid
))){
//主力人数达到可预约条件
uidAboutBySkuId
(
shareVo
.
getSkuId
(),
shareVo
.
getUid
());
}
return
ResponseDto
.
success
(
true
);
}
log
.
debug
(
"help() false ------> sid:{}"
,
sid
);
...
...
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