记得上下班打卡 | 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
2d9d4972
Commit
2d9d4972
authored
Apr 12, 2022
by
GaoHu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
exit
parent
4d7797ec
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
99 additions
and
30 deletions
+99
-30
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+6
-0
IGoblinGoodsAnticipateService.java
...service/goblin/service/IGoblinGoodsAnticipateService.java
+1
-1
GoblinGoodsAnticipateController.java
...ce/goblin/controller/GoblinGoodsAnticipateController.java
+48
-0
GoblinGoodsAnticipateMgController.java
.../controller/manage/GoblinGoodsAnticipateMgController.java
+1
-10
GoblinGoodsAnticipateServiceImpl.java
...goblin/service/impl/GoblinGoodsAnticipateServiceImpl.java
+28
-10
GoblinMongoUtils.java
...a/com/liquidnet/service/goblin/util/GoblinMongoUtils.java
+3
-7
GoblinRedisUtils.java
...a/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
+12
-2
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
2d9d4972
...
...
@@ -224,6 +224,12 @@ public class GoblinRedisConst {
*/
public
static
final
String
ANTICIPATE_SKUID
=
PREFIX
.
concat
(
"anticipate:skuId:"
);
/**
* skuId保存预约用户头像
* {anticipate:skuId:avatar:${skuId},List<String>}
*/
public
static
final
String
ANTICIPATE_SKUID_AVATAR
=
PREFIX
.
concat
(
"anticipate:skuId:avatar:"
);
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinGoodsAnticipateService.java
View file @
2d9d4972
...
...
@@ -45,6 +45,6 @@ public interface IGoblinGoodsAnticipateService {
/**
* 用户预约
*/
ResponseDto
<
Object
>
userAbout
(
String
skuId
,
String
uid
,
String
phone
,
Integer
state
);
ResponseDto
<
Object
>
userAbout
(
String
skuId
,
String
uid
,
String
phone
,
Integer
state
,
String
url
);
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinGoodsAnticipateController.java
0 → 100644
View file @
2d9d4972
package
com
.
liquidnet
.
service
.
goblin
.
controller
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateAddParam
;
import
com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateValueParam
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo
;
import
com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService
;
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.http.HttpRequest
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigInteger
;
/**
* <p>
* 预约表 前端控制器
* </p>
*
* @author liquidnet
* @since 2022-04-07
*/
@Slf4j
@RestController
@Api
(
tags
=
"预约相关"
)
@RequestMapping
(
"/goblin/anticipate"
)
public
class
GoblinGoodsAnticipateController
{
@Autowired
IGoblinGoodsAnticipateService
goblinGoodsAnticipateService
;
@ApiOperation
(
"用户预约(state预约标识:0为预约,1为取消预约)"
)
@PostMapping
(
"/userAbout"
)
public
ResponseDto
<
Object
>
userAbout
(
HttpServletRequest
request
,
@RequestParam
(
name
=
"skuId"
,
required
=
true
)
String
skuId
,
@RequestParam
(
name
=
"uid"
,
required
=
true
)
String
uid
,
@RequestParam
(
name
=
"phone"
,
required
=
true
)
String
phone
)
{
String
url
=
"url"
;
return
goblinGoodsAnticipateService
.
userAbout
(
skuId
,
uid
,
phone
,
0
,
url
);
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinGoodsAnticipateController.java
→
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinGoodsAnticipate
Mg
Controller.java
View file @
2d9d4972
...
...
@@ -30,7 +30,7 @@ import java.util.List;
@RestController
@Api
(
tags
=
"预约相关"
)
@RequestMapping
(
"/goblin/anticipate"
)
public
class
GoblinGoodsAnticipateController
{
public
class
GoblinGoodsAnticipate
Mg
Controller
{
@Autowired
IGoblinGoodsAnticipateService
goblinGoodsAnticipateService
;
...
...
@@ -59,13 +59,4 @@ public class GoblinGoodsAnticipateController {
return
goblinGoodsAnticipateService
.
delete
(
skuId
);
}
@ApiOperation
(
"用户预约(state预约标识:0为预约,1为取消预约)"
)
@PostMapping
(
"/userAbout"
)
public
ResponseDto
<
Object
>
userAbout
(
@RequestParam
(
name
=
"skuId"
,
required
=
true
)
String
skuId
,
@RequestParam
(
name
=
"uid"
,
required
=
true
)
String
uid
,
@RequestParam
(
name
=
"phone"
,
required
=
true
)
String
phone
,
@RequestParam
(
name
=
"state"
,
required
=
true
)
Integer
state
)
{
return
goblinGoodsAnticipateService
.
userAbout
(
skuId
,
uid
,
phone
,
state
);
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinGoodsAnticipateServiceImpl.java
View file @
2d9d4972
...
...
@@ -146,16 +146,16 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
LocalDateTime
aboutEndDate
=
anticipateValueVo
.
getAboutEndDate
();
LocalDateTime
now
=
LocalDateTime
.
now
();
if
(
aboutStartDate
.
is
Before
(
now
))
{
if
(
aboutStartDate
.
is
After
(
now
))
{
//未开始 0
anticipateValueVo
.
setState
(
0
);
}
if
(
!
aboutStartDate
.
isBefore
(
now
)
&&
aboutEndDate
.
isAfter
(
now
))
{
//预约中
if
(
aboutStartDate
.
isBefore
(
now
)
&&
aboutEndDate
.
isAfter
(
now
))
{
//预约中
1
anticipateValueVo
.
setState
(
1
);
}
if
(
aboutEndDate
.
isBefore
(
now
))
{
//已结束
//已结束
2
anticipateValueVo
.
setState
(
2
);
}
}
...
...
@@ -180,6 +180,15 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
@Override
public
ResponseDto
<
Object
>
delete
(
String
skuId
)
{
//更具skuId查询
GoblinGoodsAnticipateValueVo
goodsAnticipateValueVo
=
goblinMongoUtils
.
getAnticipateValueVo
(
skuId
);
//没有开启则可以删除预约
LocalDateTime
aboutStartDate
=
goodsAnticipateValueVo
.
getAboutStartDate
();
LocalDateTime
now
=
LocalDateTime
.
now
();
if
(
aboutStartDate
.
isAfter
(
now
)){
return
ResponseDto
.
failure
(
"预约开启,不可以删除"
);
}
//mysql删除
LinkedList
<
Object
[]>
sqlValue
=
CollectionUtil
.
linkedListObjectArr
();
sqlValue
.
add
(
new
Object
[]{
...
...
@@ -189,8 +198,6 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
sendRedis
(
"goblin_goods_anticipate_value_delete"
,
sqlValue
);
//删除mongodb
goblinMongoUtils
.
delGoodsAnticipateValueVo
(
skuId
);
//删除用户预约sku相关的数据
delUserBySkuId
(
skuId
);
return
ResponseDto
.
success
();
}
...
...
@@ -206,12 +213,16 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
}
@Override
public
ResponseDto
<
Object
>
userAbout
(
String
skuId
,
String
uid
,
String
phone
,
Integer
state
)
{
public
ResponseDto
<
Object
>
userAbout
(
String
skuId
,
String
uid
,
String
phone
,
Integer
state
,
String
url
)
{
//查询该用户是否预
GoblinGoodAnticipateUserVo
userVo
=
goblinRedisUtils
.
getUserAboutAut
(
skuId
,
uid
);
LinkedList
<
Object
[]>
sqlValue
=
CollectionUtil
.
linkedListObjectArr
();
if
(
state
.
equals
(
GoblinGoodAnticipateUserVo
.
STATE_VALID
)
&&
userVo
==
null
)
{
GoblinGoodAnticipateUserVo
user
=
new
GoblinGoodAnticipateUserVo
(
uid
,
skuId
,
phone
,
state
);
GoblinGoodAnticipateUserVo
user
=
new
GoblinGoodAnticipateUserVo
();
user
.
setUid
(
uid
);
user
.
setSkuId
(
skuId
);
user
.
setPhone
(
phone
);
user
.
setState
(
state
);
//mongodb记录
goblinRedisUtils
.
setUserAboutSku
(
user
);
//用户没有预约过
...
...
@@ -224,8 +235,10 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
});
sendRedis
(
"goblin_goods_anticipate_user"
,
sqlValue
);
goblinRedisUtils
.
setSkuIdPeople
(
skuId
,
state
);
//储存用户头像
userAvatar
(
skuId
,
url
);
}
if
(
state
.
equals
(
GoblinGoodAnticipateUserVo
.
STATE_INVALID
)&&
userVo
!=
null
)
{
/*
if (state.equals(GoblinGoodAnticipateUserVo.STATE_INVALID)&&userVo != null) {
//mysql删除用户记录
sqlValue.add(new Object[]{
uid,
...
...
@@ -235,10 +248,15 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
//删除缓存 redis和mongodb
goblinRedisUtils.delUserAboutSku(skuId, uid);
goblinRedisUtils.setSkuIdPeople(skuId, state);
}
}
*/
return
ResponseDto
.
success
();
}
private
void
userAvatar
(
String
skuId
,
String
url
)
{
//获取
goblinRedisUtils
.
setUserAvatar
(
skuId
,
url
);
}
public
void
sendRedis
(
String
sqlKey
,
LinkedList
<
Object
[]>
sqlData
)
{
LinkedList
<
String
>
sql
=
CollectionUtil
.
linkedListString
();
sql
.
add
(
SqlMapping
.
get
(
sqlKey
));
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinMongoUtils.java
View file @
2d9d4972
...
...
@@ -122,13 +122,9 @@ public class GoblinMongoUtils {
mongoTemplate
.
remove
(
query
,
GoblinGoodsAnticipateValueVo
.
class
.
getSimpleName
()).
getDeletedCount
();
}
/**
* 根据antId修改 预约人数
*/
public
void
updateGoblinGoodsAnticipateVo
(
GoblinGoodsAnticipateUpdateParam
goodsAnticipateUpdateParam
)
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"antId"
).
is
(
goodsAnticipateUpdateParam
.
getAntId
()));
Update
update
=
new
Update
().
set
(
"name"
,
goodsAnticipateUpdateParam
.
getName
()).
set
(
"rule"
,
goodsAnticipateUpdateParam
.
getRule
()).
set
(
"updateDate"
,
LocalDateTime
.
now
());
mongoTemplate
.
updateFirst
(
query
,
update
,
GoblinGoodsAnticipateVo
.
class
.
getSimpleName
());
public
GoblinGoodsAnticipateValueVo
getAnticipateValueVo
(
String
skuId
)
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"skuId"
).
is
(
skuId
));
return
mongoTemplate
.
findOne
(
query
,
GoblinGoodsAnticipateValueVo
.
class
,
GoblinGoodsAnticipateValueVo
.
class
.
getSimpleName
());
}
/**
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
View file @
2d9d4972
...
...
@@ -59,8 +59,6 @@ public class GoblinRedisUtils {
redisUtil
.
del
(
GoblinRedisConst
.
ANTICIPATE_SKUID
.
concat
(
skuId
));
}
/**
* 获取关联
*/
...
...
@@ -118,6 +116,18 @@ public class GoblinRedisUtils {
redisUtil
.
del
(
GoblinRedisConst
.
ANTICIPATE_SKUID
.
concat
(
skuId
));
}
/**
* 保存用户头像
*/
public
void
setUserAvatar
(
String
skuId
,
String
url
)
{
List
<
String
>
list
=
(
List
)
redisUtil
.
get
(
GoblinRedisConst
.
ANTICIPATE_SKUID_AVATAR
.
concat
(
skuId
));
List
<
String
>
urlList
=
list
!=
null
?
list
:
new
ArrayList
<
String
>();
if
(
urlList
.
size
()<=
5
){
urlList
.
add
(
url
);
redisUtil
.
set
(
GoblinRedisConst
.
ANTICIPATE_SKUID_AVATAR
.
concat
(
skuId
),
urlList
);
}
}
/* ---------------------------------------- sku库存相关 ---------------------------------------- */
public
void
setSkuStock
(
String
marketPre
,
String
skuId
,
Integer
stock
)
{
String
rk
=
GoblinRedisConst
.
REAL_STOCK_SKU
;
...
...
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