记得上下班打卡 | 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
21472376
Commit
21472376
authored
Jan 12, 2022
by
zhengfuxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
开发购物车
parent
85c88a97
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
144 additions
and
7 deletions
+144
-7
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+2
-2
GoblinShoppingCartVo.java
...liquidnet/service/goblin/dto/vo/GoblinShoppingCartVo.java
+1
-1
GoblinShoppingCartVoo.java
...iquidnet/service/goblin/dto/vo/GoblinShoppingCartVoo.java
+6
-1
GoblinFrontLoginController.java
...service/goblin/controller/GoblinFrontLoginController.java
+2
-1
GoblinFrontServiceImpl.java
...t/service/goblin/service/impl/GoblinFrontServiceImpl.java
+125
-1
ObjectUtil.java
...in/java/com/liquidnet/service/goblin/util/ObjectUtil.java
+8
-1
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
21472376
...
...
@@ -43,8 +43,8 @@ public class GoblinRedisConst {
public
static
final
String
SELECT_GOODS
=
PREFIX
.
concat
(
"select_goods"
);
//精选商品
public
static
final
String
MOUDLE_INDEX
=
PREFIX
.
concat
(
"moudle_index"
);
//moudle_index 组件排序
public
static
final
String
COMPLIATIONS
=
PREFIX
.
concat
(
"goblinFrontCompilations"
);
// 合集
public
static
final
String
FRONT_GOBLINFRONTCUBE
=
PREFIX
.
concat
(
"goblinFrontCube"
);
//
合集
public
static
final
String
FRONT_SHOPCART
=
PREFIX
.
concat
(
"goblin_shopcart
"
);
// 合集
public
static
final
String
FRONT_GOBLINFRONTCUBE
=
PREFIX
.
concat
(
"goblinFrontCube"
);
//
魔方
public
static
final
String
FRONT_SHOPCART
=
PREFIX
.
concat
(
"goblin_shopcart
:"
);
// 购物车
/* ----------------------------------------------------------------- */
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinShoppingCartVo.java
View file @
21472376
...
...
@@ -19,7 +19,7 @@ import java.util.List;
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinShoppingCartVo
implements
Serializable
{
@ApiModelProperty
(
value
=
"该商铺下的所有商品"
)
private
List
<
GoblinShoppingCartVoDetail
>
l
ist
;
private
List
<
GoblinShoppingCartVoDetail
>
skuL
ist
;
/**
* 商铺id
*/
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinShoppingCartVoo.java
View file @
21472376
...
...
@@ -19,7 +19,12 @@ import java.util.List;
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
GoblinShoppingCartVoo
implements
Serializable
{
@ApiModelProperty
(
value
=
"根据shop分类"
)
private
List
<
GoblinShoppingCartVo
>
list
;
private
List
<
GoblinShoppingCartVo
>
shopList
;
//mongodb 对应的id
private
String
goblinShoppingCartId
;
//mongodb userid
private
String
userId
;
private
static
final
GoblinShoppingCartVoo
obj
=
new
GoblinShoppingCartVoo
();
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinFrontLoginController.java
View file @
21472376
...
...
@@ -3,6 +3,7 @@ package com.liquidnet.service.goblin.controller;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.dto.vo.GoblinShoppingCartVoo
;
import
com.liquidnet.service.goblin.service.impl.GoblinFrontServiceImpl
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
...
...
@@ -41,7 +42,7 @@ public class GoblinFrontLoginController {
@ApiOperation
(
"获得购物车"
)
public
ResponseDto
<
GoblinShoppingCartVoo
>
getShopCart
()
{
String
userId
=
CurrentUtil
.
getCurrentUid
();
redisUtil
.
del
(
GoblinRedisConst
.
FRONT_SHOPCART
.
concat
(
userId
));
return
ResponseDto
.
success
(
);
}
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinFrontServiceImpl.java
View file @
21472376
package
com
.
liquidnet
.
service
.
goblin
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
...
...
@@ -10,8 +13,12 @@ import com.liquidnet.service.goblin.entity.*;
import
com.liquidnet.service.goblin.service.GoblinFrontService
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
com.liquidnet.service.goblin.util.ObjectUtil
;
import
com.mongodb.BasicDBObject
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
...
...
@@ -29,6 +36,8 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
private
RedisUtil
redisUtil
;
@Autowired
private
GoblinRedisUtils
goblinRedisUtils
;
@Autowired
MongoTemplate
mongoTemplate
;
@Override
public
ArrayList
<
GoblinFrontBannerVo
>
getListBanner
()
{
...
...
@@ -325,16 +334,131 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
//判断该用户 redis里是否有购物车
GoblinShoppingCartVoo
goblinShoppingCartVoo
=
(
GoblinShoppingCartVoo
)
redisUtil
.
get
(
GoblinRedisConst
.
FRONT_SHOPCART
.
concat
(
userId
));
if
(
null
==
goblinShoppingCartVoo
){
//创建 voo
GoblinShoppingCartVoo
goblinShoppingCartVoo1
=
GoblinShoppingCartVoo
.
getNew
();
// 根据shop分类
ArrayList
<
GoblinShoppingCartVo
>
list
=
ObjectUtil
.
goblinShoppingCartVoArrayList
();
GoblinShoppingCartVo
goblinShoppingCartVo
=
GoblinShoppingCartVo
.
getNew
();
goblinShoppingCartVo
.
setStoreId
(
storeId
);
//该商铺下的所有商品
ArrayList
<
GoblinShoppingCartVoDetail
>
list1
=
ObjectUtil
.
goblinShoppingCartVoDetailArrayList
();
//创建 购物车vo
GoblinShoppingCartVoDetail
goblinShoppingCartVoDetail
=
this
.
setValue
(
userId
,
storeId
,
spuId
,
skuId
,
1
);
list1
.
add
(
goblinShoppingCartVoDetail
);
goblinShoppingCartVo
.
setSkuList
(
list1
);
list
.
add
(
goblinShoppingCartVo
);
goblinShoppingCartVoo1
.
setShopList
(
list
);
goblinShoppingCartVoo1
.
setGoblinShoppingCartId
(
IDGenerator
.
nextSnowId
());
saveRedisMongodbMysqlShop
(
goblinShoppingCartVoo1
,
userId
);
}
else
{
//查看是否有该商铺
List
<
GoblinShoppingCartVo
>
list
=
goblinShoppingCartVoo
.
getShopList
();
boolean
isShop
=
false
;
for
(
GoblinShoppingCartVo
goblinShoppingCartVo:
list
){
if
(
storeId
.
equals
(
goblinShoppingCartVo
.
getStoreId
())){
//有这个商铺的 东西
List
<
GoblinShoppingCartVoDetail
>
list1
=
goblinShoppingCartVo
.
getSkuList
();
//查看是否有这个商品
boolean
isGoods
=
false
;
for
(
GoblinShoppingCartVoDetail
goblinShoppingCartVoDetail:
list1
){
if
(
skuId
.
equals
(
goblinShoppingCartVoDetail
.
getSkuId
())){
isGoods
=
true
;
goblinShoppingCartVoDetail
.
setNumber
((
goblinShoppingCartVoDetail
.
getNumber
()+
1
));
}
}
if
(
isGoods
){
//添加商品 数量
//不需要做
}
else
{
//创建商品放入到list
GoblinShoppingCartVoDetail
goblinShoppingCartVoDetail
=
this
.
setValue
(
userId
,
storeId
,
spuId
,
skuId
,
1
);
list1
.
add
(
goblinShoppingCartVoDetail
);
}
isShop
=
true
;
}
}
if
(!
isShop
){
GoblinShoppingCartVo
goblinShoppingCartVo
=
GoblinShoppingCartVo
.
getNew
();
goblinShoppingCartVo
.
setStoreId
(
storeId
);
//该商铺下的所有商品
ArrayList
<
GoblinShoppingCartVoDetail
>
list1
=
ObjectUtil
.
goblinShoppingCartVoDetailArrayList
();
//创建 购物车vo
GoblinShoppingCartVoDetail
goblinShoppingCartVoDetail
=
this
.
setValue
(
userId
,
storeId
,
spuId
,
skuId
,
1
);
list1
.
add
(
goblinShoppingCartVoDetail
);
goblinShoppingCartVo
.
setSkuList
(
list1
);
list
.
add
(
goblinShoppingCartVo
);
}
saveRedisMongodbMysqlShop
(
goblinShoppingCartVoo
,
userId
);
}
return
true
;
}
/***
* @author zhangfuxin
* @Description: 修改 购物车里 数量
* @date 2022/1/11 下午6:24
*/
public
boolean
updateShopCart
(
String
spuId
,
String
storeId
,
String
skuId
,
Integer
number
,
String
userId
){
GoblinShoppingCartVoo
goblinShoppingCartVoo
=
(
GoblinShoppingCartVoo
)
redisUtil
.
get
(
GoblinRedisConst
.
FRONT_SHOPCART
.
concat
(
userId
));
if
(
null
!=
goblinShoppingCartVoo
){
List
<
GoblinShoppingCartVo
>
list
=
goblinShoppingCartVoo
.
getShopList
();
//遍历商铺
for
(
GoblinShoppingCartVo
goblinShoppingCartVo:
list
){
if
(
storeId
.
equals
(
goblinShoppingCartVo
.
getStoreId
())){
//找到 商品id
List
<
GoblinShoppingCartVoDetail
>
list1
=
goblinShoppingCartVo
.
getSkuList
();
for
(
GoblinShoppingCartVoDetail
goblinShoppingCartVoDetail:
list1
){
if
(
skuId
.
equals
(
goblinShoppingCartVoDetail
.
getSkuId
())){
goblinShoppingCartVoDetail
.
setNumber
(
number
);
}
}
}
}
//调用储存方法
//setRedisMongodbMysqlShop(goblinShoppingCartVoo,userId);
}
return
true
;
}
/**
* 删除购物车里面的商品
*/
public
GoblinShoppingCartVoo
getShoppCart
(
String
userId
){
//判断该用户 redis里是否有购物车
GoblinShoppingCartVoo
goblinShoppingCartVoo
=
(
GoblinShoppingCartVoo
)
redisUtil
.
get
(
GoblinRedisConst
.
FRONT_SHOPCART
.
concat
(
userId
));
return
goblinShoppingCartVoo
;
}
public
GoblinShoppingCartVoDetail
setValue
(
String
userId
,
String
storeId
,
String
spuId
,
String
skuId
,
Integer
number
){
GoblinShoppingCartVoDetail
goblinShoppingCartVoDetail
=
GoblinShoppingCartVoDetail
.
getNew
();
goblinShoppingCartVoDetail
.
setCarId
(
IDGenerator
.
nextSnowId
());
goblinShoppingCartVoDetail
.
setUserId
(
userId
);
goblinShoppingCartVoDetail
.
setStoreId
(
storeId
);
goblinShoppingCartVoDetail
.
setSpuId
(
spuId
);
goblinShoppingCartVoDetail
.
setSkuId
(
skuId
);
goblinShoppingCartVoDetail
.
setNumber
(
number
);
goblinShoppingCartVoDetail
.
setDelTag
(
0
);
goblinShoppingCartVoDetail
.
setCreatedAt
(
LocalDateTime
.
now
());
goblinShoppingCartVoDetail
.
setUpdatedAt
(
LocalDateTime
.
now
());
return
goblinShoppingCartVoDetail
;
}
public
void
saveRedisMongodbMysqlShop
(
GoblinShoppingCartVoo
goblinShoppingCartVoo
,
String
userId
){
goblinShoppingCartVoo
.
setUserId
(
userId
);
//redis存储
redisUtil
.
set
(
GoblinRedisConst
.
FRONT_SHOPCART
.
concat
(
userId
),
goblinShoppingCartVoo
);
//mongodb存储
boolean
exists2
=
mongoTemplate
.
exists
(
Query
.
query
(
Criteria
.
where
(
"goblinShoppingCartId"
).
is
(
goblinShoppingCartVoo
.
getGoblinShoppingCartId
())),
GoblinShoppingCartVoo
.
class
,
GoblinShoppingCartVoo
.
class
.
getSimpleName
());
if
(
exists2
){
BasicDBObject
orderObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
goblinShoppingCartVoo
)));
mongoTemplate
.
getCollection
(
GoblinShoppingCartVoo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"goblinShoppingCartId"
).
is
(
goblinShoppingCartVoo
.
getGoblinShoppingCartId
())).
getQueryObject
(),
orderObject
);
}
else
{
mongoTemplate
.
save
(
goblinShoppingCartVoo
,
GoblinShoppingCartVoo
.
class
.
getSimpleName
());
}
//mysql 消息队列
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/ObjectUtil.java
View file @
21472376
...
...
@@ -47,13 +47,20 @@ public class ObjectUtil {
private
static
final
ArrayList
<
GoblinZhengzaiPushVo
>
goblinZhengzaiPushVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStoreOrderListVo
>
goblinStoreOrderListVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStoreOrderListSkuVo
>
goblinStoreOrderListSkuVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinShoppingCartVo
>
goblinShoppingCartVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinShoppingCartVoDetail
>
goblinShoppingCartVoDetailArrayList
=
new
ArrayList
<>();
private
static
final
BasicDBObject
basicDBObject
=
new
BasicDBObject
();
public
static
PagedResult
<
GoblinStoreMgtGoodsListVo
>
getGoblinStoreMgtGoodsVoPagedResult
()
{
return
goblinStoreMgtGoodsVoPagedResult
.
clone
();
}
public
static
ArrayList
<
GoblinShoppingCartVo
>
goblinShoppingCartVoArrayList
()
{
return
(
ArrayList
<
GoblinShoppingCartVo
>)
goblinShoppingCartVoArrayList
.
clone
();
}
public
static
ArrayList
<
GoblinShoppingCartVoDetail
>
goblinShoppingCartVoDetailArrayList
()
{
return
(
ArrayList
<
GoblinShoppingCartVoDetail
>)
goblinShoppingCartVoDetailArrayList
.
clone
();
}
public
static
ArrayList
<
GoblinStoreOrderListSkuVo
>
getGoblinStoreOrderListSkuVoArrayList
()
{
return
(
ArrayList
<
GoblinStoreOrderListSkuVo
>)
goblinStoreOrderListSkuVoArrayList
.
clone
();
}
...
...
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