记得上下班打卡 | 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
145c9fd6
Commit
145c9fd6
authored
Feb 17, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~API:商品活动数据获取及店铺活动存储;
parent
bb54a6bb
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
77 additions
and
40 deletions
+77
-40
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+3
-3
GoblinStoreMarketDto.java
...om/liquidnet/service/goblin/dto/GoblinStoreMarketDto.java
+20
-0
GoblinRedisUtils.java
...a/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
+45
-33
ObjectUtil.java
...in/java/com/liquidnet/service/goblin/util/ObjectUtil.java
+9
-4
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
145c9fd6
...
...
@@ -133,10 +133,10 @@ public class GoblinRedisConst {
/* ----------------------------------------------------------------- */
/**
* 商
品SPU参与的
活动ID集合
* {goblin:s
pu_market:${spu
_id}, JsonUtils.toJson(List<com.liquidnet.service.goblin.dto.GoblinGoodsMarketDto>)}
* 商
铺
活动ID集合
* {goblin:s
tore_markets:${store
_id}, JsonUtils.toJson(List<com.liquidnet.service.goblin.dto.GoblinGoodsMarketDto>)}
*/
public
static
final
String
GOODS_MARKET
=
PREFIX
.
concat
(
"spu_market
:"
);
public
static
final
String
STORE_MARKETS
=
PREFIX
.
concat
(
"store_markets
:"
);
/* ----------------------------------------------------------------- */
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/Goblin
Goods
MarketDto.java
→
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/Goblin
Store
MarketDto.java
View file @
145c9fd6
...
...
@@ -5,10 +5,16 @@ import lombok.Data;
import
java.io.Serializable
;
@Data
public
class
Goblin
Goods
MarketDto
implements
Serializable
,
Cloneable
{
public
class
Goblin
Store
MarketDto
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
-
3312075068650898199L
;
private
String
marketId
;
/**
* 活动ID
*/
private
String
id
;
private
String
marketType
;
/**
* 活动类型:1-优惠券
*/
private
Integer
type
;
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
View file @
145c9fd6
...
...
@@ -6,7 +6,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.RandomUtil
;
import
com.liquidnet.service.goblin.constant.GoblinRedisConst
;
import
com.liquidnet.service.goblin.dto.Goblin
Goods
MarketDto
;
import
com.liquidnet.service.goblin.dto.Goblin
Store
MarketDto
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.entity.GoblinFrontBanner
;
...
...
@@ -950,58 +950,70 @@ public class GoblinRedisUtils {
return
strs
;
}
/* ---------------------------------------- 商铺活动
:商品相关
---------------------------------------- */
/* ---------------------------------------- 商铺活动 ---------------------------------------- */
public
List
<
Goblin
GoodsMarketDto
>
getGoodsMarketDtos
(
String
spu
Id
)
{
String
rk
=
GoblinRedisConst
.
GOODS_MARKET
.
concat
(
spu
Id
);
public
List
<
Goblin
StoreMarketDto
>
getStoreMarketDtos
(
String
store
Id
)
{
String
rk
=
GoblinRedisConst
.
STORE_MARKETS
.
concat
(
store
Id
);
String
valStr
=
(
String
)
redisUtil
.
get
(
rk
);
List
<
Goblin
Goods
MarketDto
>
dtos
;
List
<
Goblin
Store
MarketDto
>
dtos
;
if
(
StringUtils
.
isEmpty
(
valStr
))
{
// TODO: 2022/2/17 zhanggb mongodb 查取该商品所有参与的活动并整理集合
dtos
=
ObjectUtil
.
getGoblinGoodsMarketDtoArrayList
();
}
else
{
dtos
=
JsonUtils
.
fromJson
(
valStr
,
new
TypeReference
<
List
<
Goblin
Goods
MarketDto
>>()
{
dtos
=
JsonUtils
.
fromJson
(
valStr
,
new
TypeReference
<
List
<
Goblin
Store
MarketDto
>>()
{
});
}
return
dtos
;
}
public
boolean
addGoodsMarketDto
(
String
spuId
,
GoblinGoodsMarketDto
dto
)
{
String
rk
=
GoblinRedisConst
.
GOODS_MARKET
.
concat
(
spuId
);
String
valStr
=
(
String
)
redisUtil
.
get
(
rk
);
List
<
GoblinGoodsMarketDto
>
dtos
;
if
(
StringUtils
.
isEmpty
(
valStr
))
{
// TODO: 2022/2/17 zhanggb mongodb 查取该商品所有参与的活动并整理集合
dtos
=
ObjectUtil
.
getGoblinGoodsMarketDtoArrayList
();
}
else
{
dtos
=
JsonUtils
.
fromJson
(
valStr
,
new
TypeReference
<
List
<
GoblinGoodsMarketDto
>>()
{
});
}
public
boolean
addStoreMarketDto
(
String
spuId
,
GoblinStoreMarketDto
dto
)
{
List
<
GoblinStoreMarketDto
>
dtos
=
this
.
getStoreMarketDtos
(
spuId
);
dtos
.
add
(
dto
);
return
redisUtil
.
set
(
rk
,
JsonUtils
.
toJson
(
dtos
));
return
redisUtil
.
set
(
GoblinRedisConst
.
STORE_MARKETS
.
concat
(
spuId
)
,
JsonUtils
.
toJson
(
dtos
));
}
public
void
del
Goods
Market
(
String
spuId
)
{
redisUtil
.
del
(
GoblinRedisConst
.
GOODS_MARKET
.
concat
(
spuId
));
public
void
del
Store
Market
(
String
spuId
)
{
redisUtil
.
del
(
GoblinRedisConst
.
STORE_MARKETS
.
concat
(
spuId
));
}
public
void
delGoodsMarket
(
String
spuId
,
GoblinGoodsMarketDto
dto
)
{
String
rk
=
GoblinRedisConst
.
GOODS_MARKET
.
concat
(
spuId
);
String
valStr
=
(
String
)
redisUtil
.
get
(
rk
);
List
<
GoblinGoodsMarketDto
>
dtos
;
if
(
StringUtils
.
isEmpty
(
valStr
))
{
// TODO: 2022/2/17 zhanggb mongodb 查取该商品所有参与的活动并整理集合
dtos
=
ObjectUtil
.
getGoblinGoodsMarketDtoArrayList
();
}
else
{
dtos
=
JsonUtils
.
fromJson
(
valStr
,
new
TypeReference
<
List
<
GoblinGoodsMarketDto
>>()
{
});
}
public
void
delStoreMarket
(
String
spuId
,
GoblinStoreMarketDto
dto
)
{
String
rk
=
GoblinRedisConst
.
STORE_MARKETS
.
concat
(
spuId
);
List
<
GoblinStoreMarketDto
>
dtos
=
this
.
getStoreMarketDtos
(
spuId
);
if
(!
CollectionUtils
.
isEmpty
(
dtos
))
{
dtos
.
removeIf
(
r
->
r
.
getMarketId
().
equals
(
dto
.
getMarketId
())
&&
r
.
getMarketType
().
equals
(
dto
.
getMarketType
()));
int
beforeSize
=
dtos
.
size
();
dtos
.
removeIf
(
r
->
r
.
getId
().
equals
(
dto
.
getId
())
&&
r
.
getType
().
equals
(
dto
.
getType
()));
if
(
beforeSize
>
dtos
.
size
())
{
redisUtil
.
set
(
GoblinRedisConst
.
STORE_MARKETS
.
concat
(
spuId
),
JsonUtils
.
toJson
(
dtos
));
}
}
}
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- 商品活动 ---------------------------------------- */
public
List
<
GoblinStoreCouponVo
>
getGoodsMarketsForCoupon
(
String
spuId
,
String
storeId
)
{
List
<
GoblinStoreMarketDto
>
storeMarketDtos
=
this
.
getStoreMarketDtos
(
storeId
);
if
(
CollectionUtils
.
isEmpty
(
storeMarketDtos
))
{
return
null
;
}
ArrayList
<
GoblinStoreCouponVo
>
storeCouponVos
=
ObjectUtil
.
getGoblinStoreCouponVoArrayList
();
storeMarketDtos
.
forEach
(
dto
->
{
// 逐个活动筛选优惠券活动处理
if
(
dto
.
getType
()
==
1
)
{
// 优惠券活动
GoblinStoreCouponVo
storeCouponVo
=
this
.
getStoreCouponVo
(
dto
.
getId
());
if
(
null
!=
storeCouponVo
)
{
if
(
"0"
.
equals
(
storeCouponVo
.
getUseScope
()))
{
storeCouponVos
.
add
(
storeCouponVo
);
}
else
{
List
<
String
>
storeCouponSpuIds
=
this
.
getStoreCouponSpuIds
(
spuId
);
if
(!
CollectionUtils
.
isEmpty
(
storeCouponSpuIds
)
&&
storeCouponSpuIds
.
contains
(
spuId
))
{
storeCouponVos
.
add
(
storeCouponVo
);
}
}
}
}
});
return
storeCouponVos
;
}
/* ---------------------------------------- ---------------------------------------- */
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/ObjectUtil.java
View file @
145c9fd6
package
com
.
liquidnet
.
service
.
goblin
.
util
;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.goblin.dto.Goblin
Goods
MarketDto
;
import
com.liquidnet.service.goblin.dto.Goblin
Store
MarketDto
;
import
com.liquidnet.service.goblin.dto.GoblinGoodsSpecDto
;
import
com.liquidnet.service.goblin.dto.GoblinStoreMgtGoodsListVoExcel
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtCouponListVo
;
...
...
@@ -68,7 +68,8 @@ public class ObjectUtil {
private
static
final
ArrayList
<
GoblinGoodsInfoListVo
>
goblinGoodsInfoListVo
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStoreMgtGoodsListVoExcel
>
goblinStoreMgtGoodsListVoExcelArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStoreMgtCouponSpuListVo
>
goblinStoreMgtCouponSpuListVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinGoodsMarketDto
>
goblinGoodsMarketDtoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStoreMarketDto
>
goblinStoreMarketDtoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStoreCouponVo
>
goblinStoreCouponVoArrayList
=
new
ArrayList
<>();
private
static
final
BasicDBObject
basicDBObject
=
new
BasicDBObject
();
private
static
final
ArrayList
<
WriteModel
<
Document
>>
writeModelDocumentArrayList
=
new
ArrayList
<>();
...
...
@@ -257,8 +258,12 @@ public class ObjectUtil {
return
(
ArrayList
<
GoblinStoreMgtCouponSpuListVo
>)
goblinStoreMgtCouponSpuListVoArrayList
.
clone
();
}
public
static
ArrayList
<
GoblinGoodsMarketDto
>
getGoblinGoodsMarketDtoArrayList
()
{
return
(
ArrayList
<
GoblinGoodsMarketDto
>)
goblinGoodsMarketDtoArrayList
.
clone
();
public
static
ArrayList
<
GoblinStoreMarketDto
>
getGoblinGoodsMarketDtoArrayList
()
{
return
(
ArrayList
<
GoblinStoreMarketDto
>)
goblinStoreMarketDtoArrayList
.
clone
();
}
public
static
ArrayList
<
GoblinStoreCouponVo
>
getGoblinStoreCouponVoArrayList
()
{
return
(
ArrayList
<
GoblinStoreCouponVo
>)
goblinStoreCouponVoArrayList
.
clone
();
}
public
static
BasicDBObject
cloneBasicDBObject
()
{
...
...
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