记得上下班打卡 | 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
37b1b734
Commit
37b1b734
authored
May 06, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交 配置 优先购
parent
c3d61cd8
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
217 additions
and
47 deletions
+217
-47
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+4
-5
GoblinListCollectVo.java
.../liquidnet/service/goblin/dto/vo/GoblinListCollectVo.java
+39
-0
GoblinListDetailsItemVo.java
...uidnet/service/goblin/dto/vo/GoblinListDetailsItemVo.java
+11
-2
GoblinListDetailsVo.java
.../liquidnet/service/goblin/dto/vo/GoblinListDetailsVo.java
+8
-2
GoblinListVo.java
...ava/com/liquidnet/service/goblin/dto/vo/GoblinListVo.java
+4
-2
GoblinListCreateItemParam.java
...idnet/service/goblin/param/GoblinListCreateItemParam.java
+14
-0
GoblinListCreateParam.java
...liquidnet/service/goblin/param/GoblinListCreateParam.java
+8
-3
GoblinList.java
.../java/com/liquidnet/service/goblin/entity/GoblinList.java
+12
-2
GoblinListServiceImpl.java
...ice/goblin/service/impl/manage/GoblinListServiceImpl.java
+92
-28
GoblinRedisUtils.java
...a/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
+16
-0
ObjectUtil.java
...in/java/com/liquidnet/service/goblin/util/ObjectUtil.java
+7
-1
sqlmap.properties
...-service-goblin-impl/src/main/resources/sqlmap.properties
+2
-2
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
37b1b734
...
@@ -123,10 +123,6 @@ public class GoblinRedisConst {
...
@@ -123,10 +123,6 @@ public class GoblinRedisConst {
public
static
final
String
REDIS_GOBLIN_TEMP_COUPON_MARKET
=
PREFIX
.
concat
(
"temp:coupon:marketId:"
);
//id 列表 $key:$marketId
public
static
final
String
REDIS_GOBLIN_TEMP_COUPON_MARKET
=
PREFIX
.
concat
(
"temp:coupon:marketId:"
);
//id 列表 $key:$marketId
public
static
final
String
REDIS_GOBLIN_TEMP_COUPON
=
PREFIX
.
concat
(
"temp:coupon:"
);
//详情 $key:$ucouponId
public
static
final
String
REDIS_GOBLIN_TEMP_COUPON
=
PREFIX
.
concat
(
"temp:coupon:"
);
//详情 $key:$ucouponId
public
static
final
String
REDIS_BLACK
=
PREFIX
.
concat
(
"black:"
);
//黑名单 key:$skuId:$mobile
public
static
final
String
REDIS_WHITE
=
PREFIX
.
concat
(
"white:"
);
//白名单 key:$skuId:$mobile
/* --------------------------------NFT--------------------------------- */
/* --------------------------------NFT--------------------------------- */
/*public static final String REDIS_GOBLIN_NFT_ORDER_INFO = PREFIX.concat("nftOrder:");// nft订单详情 orderId
/*public static final String REDIS_GOBLIN_NFT_ORDER_INFO = PREFIX.concat("nftOrder:");// nft订单详情 orderId
public static final String REDIS_GOBLIN_NFT_ORDER_ID_OF_CODE = PREFIX.concat("nftOrder:orderCode:");// nft订单ID获取 orderCode
public static final String REDIS_GOBLIN_NFT_ORDER_ID_OF_CODE = PREFIX.concat("nftOrder:orderCode:");// nft订单ID获取 orderCode
...
@@ -160,7 +156,7 @@ public class GoblinRedisConst {
...
@@ -160,7 +156,7 @@ public class GoblinRedisConst {
*/
*/
public
static
final
String
STORE_COUPON
=
PREFIX
.
concat
(
"s_coupon:"
);
public
static
final
String
STORE_COUPON
=
PREFIX
.
concat
(
"s_coupon:"
);
/**
/**
* 商铺活动:优惠券适用商品ID集合
* 商铺活动:优惠券适用商品ID集合
item
* {goblin:s_coupon_r:${store_coupon_id}, JsonUtils.toJson(List<String:spu_id>)}
* {goblin:s_coupon_r:${store_coupon_id}, JsonUtils.toJson(List<String:spu_id>)}
*/
*/
public
static
final
String
STORE_COUPON_RULE
=
PREFIX
.
concat
(
"s_coupon_r:"
);
public
static
final
String
STORE_COUPON_RULE
=
PREFIX
.
concat
(
"s_coupon_r:"
);
...
@@ -248,6 +244,9 @@ public class GoblinRedisConst {
...
@@ -248,6 +244,9 @@ public class GoblinRedisConst {
public
static
final
String
NFT_PAY_TYPE
=
PREFIX
.
concat
(
"nft:payType"
);
public
static
final
String
NFT_PAY_TYPE
=
PREFIX
.
concat
(
"nft:payType"
);
public
static
final
String
LIST_DETAILS
=
PREFIX
.
concat
(
"list:"
);
//名单列表详情 $key:$listId
public
static
final
String
LIST_DETAILS
=
PREFIX
.
concat
(
"list:"
);
//名单列表详情 $key:$listId
public
static
final
String
REDIS_BLACK
=
PREFIX
.
concat
(
"black:"
);
//黑名单 key:$skuId:$mobile
public
static
final
String
REDIS_WHITE
=
PREFIX
.
concat
(
"white:"
);
//白名单 key:$skuId:$mobile
public
static
final
String
LIST_COLLECT
=
PREFIX
.
concat
(
"list:collect"
);
//名单列表详情 $key:$skuId
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinListCollectVo.java
0 → 100644
View file @
37b1b734
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
GoblinListCollectVo
implements
Serializable
,
Cloneable
{
@ApiModelProperty
(
value
=
"spuId"
)
private
String
spuId
;
@ApiModelProperty
(
value
=
"skuId"
)
private
String
skuId
;
@ApiModelProperty
(
value
=
"标签[0-提前购买|1-分段购买]"
)
private
Integer
tagType
;
@ApiModelProperty
(
value
=
"android价格"
)
private
BigDecimal
price
;
@ApiModelProperty
(
value
=
"苹果价格"
)
private
BigDecimal
priceV
;
@ApiModelProperty
(
value
=
"苹果价格id"
)
private
String
productId
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
LocalDateTime
timeStart
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
LocalDateTime
timeEnd
;
private
static
final
GoblinListCollectVo
obj
=
new
GoblinListCollectVo
();
public
static
GoblinListCollectVo
getNew
()
{
try
{
return
(
GoblinListCollectVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
GoblinListCollectVo
();
}
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinListDetailsItemVo.java
View file @
37b1b734
...
@@ -3,7 +3,9 @@ package com.liquidnet.service.goblin.dto.vo;
...
@@ -3,7 +3,9 @@ package com.liquidnet.service.goblin.dto.vo;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
@Data
@Data
public
class
GoblinListDetailsItemVo
implements
Serializable
,
Cloneable
{
public
class
GoblinListDetailsItemVo
implements
Serializable
,
Cloneable
{
...
@@ -13,11 +15,18 @@ public class GoblinListDetailsItemVo implements Serializable, Cloneable{
...
@@ -13,11 +15,18 @@ public class GoblinListDetailsItemVo implements Serializable, Cloneable{
private
String
skuId
;
private
String
skuId
;
@ApiModelProperty
(
value
=
"sku名称"
)
@ApiModelProperty
(
value
=
"sku名称"
)
private
String
skuName
;
private
String
skuName
;
@ApiModelProperty
(
value
=
"线上库存"
)
private
Integer
stock
;
@ApiModelProperty
(
value
=
"剩余库存"
)
@ApiModelProperty
(
value
=
"剩余库存"
)
private
Integer
surplusStock
;
private
Integer
surplusStock
;
@ApiModelProperty
(
value
=
"android价格"
)
private
BigDecimal
price
;
@ApiModelProperty
(
value
=
"库存"
)
private
Integer
skuStock
;
@ApiModelProperty
(
value
=
"苹果价格"
)
private
BigDecimal
priceV
;
@ApiModelProperty
(
value
=
"苹果价格id"
)
private
String
productId
;
private
static
final
GoblinListDetailsItemVo
obj
=
new
GoblinListDetailsItemVo
();
private
static
final
GoblinListDetailsItemVo
obj
=
new
GoblinListDetailsItemVo
();
public
static
GoblinListDetailsItemVo
getNew
()
{
public
static
GoblinListDetailsItemVo
getNew
()
{
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinListDetailsVo.java
View file @
37b1b734
...
@@ -18,8 +18,14 @@ public class GoblinListDetailsVo implements Serializable, Cloneable {
...
@@ -18,8 +18,14 @@ public class GoblinListDetailsVo implements Serializable, Cloneable {
private
Integer
whiteType
;
private
Integer
whiteType
;
@ApiModelProperty
(
value
=
"优先购文件地址"
)
@ApiModelProperty
(
value
=
"优先购文件地址"
)
private
String
whiteUrl
;
private
String
whiteUrl
;
@ApiModelProperty
(
value
=
"优先购提前时间"
)
private
Integer
advanceMin
;
@ApiModelProperty
(
value
=
"标签[0-提前购买|1-分段购买]"
)
private
Integer
tagType
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
timeStart
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
timeEnd
;
@ApiModelProperty
(
value
=
"黑名单文件地址"
)
@ApiModelProperty
(
value
=
"黑名单文件地址"
)
private
String
blackUrl
;
private
String
blackUrl
;
@ApiModelProperty
(
value
=
"商品数据"
)
@ApiModelProperty
(
value
=
"商品数据"
)
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinListVo.java
View file @
37b1b734
...
@@ -12,8 +12,10 @@ public class GoblinListVo implements Serializable, Cloneable {
...
@@ -12,8 +12,10 @@ public class GoblinListVo implements Serializable, Cloneable {
private
String
listId
;
private
String
listId
;
@ApiModelProperty
(
value
=
"优先购名称"
)
@ApiModelProperty
(
value
=
"优先购名称"
)
private
String
name
;
private
String
name
;
@ApiModelProperty
(
value
=
"优先购提前时间"
)
@ApiModelProperty
(
value
=
"开始时间"
)
private
Integer
advanceMin
;
private
String
timeStart
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
timeEnd
;
@ApiModelProperty
(
value
=
"是否有黑名单[1-有|2-无]"
)
@ApiModelProperty
(
value
=
"是否有黑名单[1-有|2-无]"
)
private
Integer
hasBlack
;
private
Integer
hasBlack
;
@ApiModelProperty
(
value
=
"商品数量"
)
@ApiModelProperty
(
value
=
"商品数量"
)
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinListCreateItemParam.java
View file @
37b1b734
...
@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
...
@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
@Data
@Data
public
class
GoblinListCreateItemParam
{
public
class
GoblinListCreateItemParam
{
...
@@ -13,4 +14,17 @@ public class GoblinListCreateItemParam {
...
@@ -13,4 +14,17 @@ public class GoblinListCreateItemParam {
@ApiModelProperty
(
value
=
"skuId"
)
@ApiModelProperty
(
value
=
"skuId"
)
@NotNull
(
message
=
"skuId不能为空"
)
@NotNull
(
message
=
"skuId不能为空"
)
private
String
skuId
;
private
String
skuId
;
@ApiModelProperty
(
value
=
"android价格"
)
@NotNull
(
message
=
"price不能为空"
)
private
BigDecimal
price
;
@ApiModelProperty
(
value
=
"库存"
)
@NotNull
(
message
=
"库存不能为空"
)
private
Integer
skuStock
;
@ApiModelProperty
(
value
=
"苹果价格"
)
@NotNull
(
message
=
"苹果价格不能为空"
)
private
BigDecimal
priceV
;
@ApiModelProperty
(
value
=
"苹果价格id"
)
@NotNull
(
message
=
"苹果价格id不能为空"
)
private
String
productId
;
}
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinListCreateParam.java
View file @
37b1b734
...
@@ -14,11 +14,16 @@ public class GoblinListCreateParam {
...
@@ -14,11 +14,16 @@ public class GoblinListCreateParam {
@ApiModelProperty
(
value
=
"优先购类型[0-会员|1-指定用户]"
)
@ApiModelProperty
(
value
=
"优先购类型[0-会员|1-指定用户]"
)
@NotNull
(
message
=
"优先购类型不能为空"
)
@NotNull
(
message
=
"优先购类型不能为空"
)
private
Integer
whiteType
;
private
Integer
whiteType
;
@ApiModelProperty
(
value
=
"标签[0-提前购买|1-分段购买]"
)
@NotNull
(
message
=
"标签类型不能为空"
)
private
Integer
tagType
;
@ApiModelProperty
(
value
=
"优先购文件地址"
)
@ApiModelProperty
(
value
=
"优先购文件地址"
)
private
String
whiteUrl
;
private
String
whiteUrl
;
@ApiModelProperty
(
value
=
"优先购提前时间"
)
@ApiModelProperty
(
value
=
"开始时间"
)
@NotNull
(
message
=
"优先购提前时间不能为空"
)
@NotNull
(
message
=
"开始时间不能为空"
)
private
Integer
advanceMin
;
private
String
timeStart
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
timeEnd
;
@ApiModelProperty
(
value
=
"黑名单文件地址"
)
@ApiModelProperty
(
value
=
"黑名单文件地址"
)
private
String
blackUrl
;
private
String
blackUrl
;
@ApiModelProperty
(
value
=
"商品数据"
)
@ApiModelProperty
(
value
=
"商品数据"
)
...
...
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/entity/GoblinList.java
View file @
37b1b734
...
@@ -44,15 +44,25 @@ public class GoblinList implements Serializable {
...
@@ -44,15 +44,25 @@ public class GoblinList implements Serializable {
*/
*/
private
Integer
whiteType
;
private
Integer
whiteType
;
/**
* 标签[0-提前购买|1-分段购买]
*/
private
Integer
tagType
;
/**
/**
* 白名单xls地址
* 白名单xls地址
*/
*/
private
String
whiteUrl
;
private
String
whiteUrl
;
/**
/**
* 提前购买时间
* 开始时间
*/
private
LocalDateTime
timeStart
;
/**
* 结束时间
*/
*/
private
Integer
advanceMin
;
private
LocalDateTime
timeEnd
;
/**
/**
* 黑名单类型[0-会员|1-指定用户]
* 黑名单类型[0-会员|1-指定用户]
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/manage/GoblinListServiceImpl.java
View file @
37b1b734
...
@@ -8,10 +8,7 @@ import com.liquidnet.service.base.PagedResult;
...
@@ -8,10 +8,7 @@ import com.liquidnet.service.base.PagedResult;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.GoblinListDetailsItemVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinListDetailsVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinListVo
;
import
com.liquidnet.service.goblin.param.GoblinListCreateItemParam
;
import
com.liquidnet.service.goblin.param.GoblinListCreateItemParam
;
import
com.liquidnet.service.goblin.param.GoblinListCreateParam
;
import
com.liquidnet.service.goblin.param.GoblinListCreateParam
;
import
com.liquidnet.service.goblin.param.GoblinListUpdateParam
;
import
com.liquidnet.service.goblin.param.GoblinListUpdateParam
;
...
@@ -24,10 +21,13 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -24,10 +21,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.List
;
import
static
com
.
liquidnet
.
commons
.
lang
.
util
.
DateUtil
.
DTF_YMD_HMS
;
/**
/**
* <p>
* <p>
* 商城-名单表 服务实现类
* 商城-名单表 服务实现类
...
@@ -56,7 +56,8 @@ public class GoblinListServiceImpl implements IGoblinListService {
...
@@ -56,7 +56,8 @@ public class GoblinListServiceImpl implements IGoblinListService {
GoblinListVo
vo
=
GoblinListVo
.
getNew
();
GoblinListVo
vo
=
GoblinListVo
.
getNew
();
vo
.
setListId
(
item
.
getListId
());
vo
.
setListId
(
item
.
getListId
());
vo
.
setName
(
item
.
getName
());
vo
.
setName
(
item
.
getName
());
vo
.
setAdvanceMin
(
item
.
getAdvanceMin
());
vo
.
setTimeStart
(
item
.
getTimeStart
());
vo
.
setTimeEnd
(
item
.
getTimeEnd
());
vo
.
setSkuCount
(
item
.
getItemVo
().
size
());
vo
.
setSkuCount
(
item
.
getItemVo
().
size
());
vo
.
setHasBlack
(
item
.
getBlackUrl
().
equals
(
""
)
?
0
:
1
);
vo
.
setHasBlack
(
item
.
getBlackUrl
().
equals
(
""
)
?
0
:
1
);
}
}
...
@@ -74,25 +75,26 @@ public class GoblinListServiceImpl implements IGoblinListService {
...
@@ -74,25 +75,26 @@ public class GoblinListServiceImpl implements IGoblinListService {
for
(
GoblinListDetailsItemVo
item
:
vo
.
getItemVo
())
{
for
(
GoblinListDetailsItemVo
item
:
vo
.
getItemVo
())
{
GoblinGoodsSkuInfoVo
skuVo
=
redisUtils
.
getGoodsSkuInfoVo
(
item
.
getSkuId
());
GoblinGoodsSkuInfoVo
skuVo
=
redisUtils
.
getGoodsSkuInfoVo
(
item
.
getSkuId
());
item
.
setSkuName
(
skuVo
.
getName
());
item
.
setSkuName
(
skuVo
.
getName
());
if
(
skuVo
.
getUnbox
().
equals
(
"0"
))
{
item
.
setSurplusStock
(
redisUtils
.
getSkuStock
(
listId
,
skuVo
.
getSkuId
()));
item
.
setSurplusStock
(
redisUtils
.
getSkuStock
(
null
,
item
.
getSkuId
()));
// if (skuVo.getUnbox().equals("0")) {
item
.
setStock
(
skuVo
.
getSkuStock
());
// item.setSurplusStock(redisUtils.getSkuStock(null, item.getSkuId()));
}
else
{
// item.setStock(skuVo.getSkuStock());
List
<
String
>
skuIdList
=
redisUtils
.
getGoodsInfoVo
(
item
.
getSpuId
()).
getSkuIdList
();
// } else {
int
surplusStock
=
0
;
// List<String> skuIdList = redisUtils.getGoodsInfoVo(item.getSpuId()).getSkuIdList();
int
stock
=
0
;
// int surplusStock = 0;
for
(
String
skuIdItem
:
skuIdList
)
{
// 盲盒计算所有sku库存总数
// int stock = 0;
if
(
skuIdItem
.
equals
(
item
.
getSkuId
()))
{
// 过滤自己
// for (String skuIdItem : skuIdList) {// 盲盒计算所有sku库存总数
stock
+=
skuVo
.
getSkuStock
();
// if (skuIdItem.equals(item.getSkuId())) {// 过滤自己
continue
;
// stock += skuVo.getSkuStock();
}
// continue;
GoblinGoodsSkuInfoVo
itemVo
=
redisUtils
.
getGoodsSkuInfoVo
(
skuIdItem
);
// }
surplusStock
+=
redisUtils
.
getSkuAllStatusStock
(
itemVo
);
// GoblinGoodsSkuInfoVo itemVo = redisUtils.getGoodsSkuInfoVo(skuIdItem);
stock
+=
itemVo
.
getSkuStock
();
// surplusStock += redisUtils.getSkuAllStatusStock(itemVo);
}
// stock += itemVo.getSkuStock();
item
.
setSurplusStock
(
surplusStock
);
// }
item
.
setStock
(
stock
);
// item.setSurplusStock(surplusStock);
}
// item.setStock(stock);
// }
}
}
return
ResponseDto
.
success
(
vo
);
return
ResponseDto
.
success
(
vo
);
}
}
...
@@ -106,12 +108,50 @@ public class GoblinListServiceImpl implements IGoblinListService {
...
@@ -106,12 +108,50 @@ public class GoblinListServiceImpl implements IGoblinListService {
LinkedList
<
Object
[]>
goblinListDetails
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
goblinListDetails
=
CollectionUtil
.
linkedListObjectArr
();
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
//时间
if
(
param
.
getItemParams
().
size
()
>
1
)
{
return
ResponseDto
.
failure
(
"只能配置一个sku"
);
}
String
skuId
=
param
.
getItemParams
().
get
(
0
).
getSkuId
();
GoblinGoodsSkuInfoVo
skuInfoVo
=
redisUtils
.
getGoodsSkuInfoVo
(
skuId
);
LocalDateTime
st
=
LocalDateTime
.
parse
(
param
.
getTimeStart
(),
DTF_YMD_HMS
);
LocalDateTime
et
=
null
;
List
<
GoblinListCollectVo
>
collectVos
;
if
(
param
.
getTimeEnd
()
!=
null
)
{
//传结束时间
et
=
LocalDateTime
.
parse
(
param
.
getTimeEnd
(),
DTF_YMD_HMS
);
if
(
st
.
isAfter
(
et
))
{
return
ResponseDto
.
failure
(
"开始时间不能晚于结束时间"
);
}
if
(
et
.
isAfter
(
skuInfoVo
.
getSaleStartTime
()))
{
return
ResponseDto
.
failure
(
"结束时间不能晚于商品开售时间"
);
}
collectVos
=
redisUtils
.
getGoblinListCollect
(
skuId
);
for
(
GoblinListCollectVo
collectItem
:
collectVos
)
{
if
(
st
.
isAfter
(
collectItem
.
getTimeStart
())
||
st
.
isBefore
(
collectItem
.
getTimeEnd
())
||
et
.
isAfter
(
collectItem
.
getTimeStart
())
||
et
.
isBefore
(
collectItem
.
getTimeEnd
()))
{
return
ResponseDto
.
failure
(
"sku时间不能重合"
);
}
}
}
else
{
//未结束时间
if
(
st
.
isAfter
(
skuInfoVo
.
getSaleStartTime
()))
{
return
ResponseDto
.
failure
(
"结束时间不能晚于商品开售时间"
);
}
collectVos
=
redisUtils
.
getGoblinListCollect
(
skuId
);
for
(
GoblinListCollectVo
collectItem
:
collectVos
)
{
if
(
st
.
isAfter
(
collectItem
.
getTimeStart
())
||
st
.
isBefore
(
collectItem
.
getTimeEnd
()))
{
return
ResponseDto
.
failure
(
"sku时间不能重合"
);
}
}
}
GoblinListDetailsVo
vo
=
GoblinListDetailsVo
.
getNew
();
GoblinListDetailsVo
vo
=
GoblinListDetailsVo
.
getNew
();
List
<
GoblinListDetailsItemVo
>
voItemList
=
ObjectUtil
.
goblinListDetailsItemVoArrayList
();
List
<
GoblinListDetailsItemVo
>
voItemList
=
ObjectUtil
.
goblinListDetailsItemVoArrayList
();
vo
.
setListId
(
IDGenerator
.
nextTimeId2
());
vo
.
setListId
(
IDGenerator
.
nextTimeId2
());
vo
.
setUid
(
CurrentUtil
.
getCurrentUid
());
vo
.
setUid
(
CurrentUtil
.
getCurrentUid
());
vo
.
setName
(
param
.
getName
());
vo
.
setName
(
param
.
getName
());
vo
.
setAdvanceMin
(
param
.
getAdvanceMin
());
vo
.
setTagType
(
param
.
getTagType
());
vo
.
setTimeStart
(
param
.
getTimeStart
());
vo
.
setTimeEnd
(
param
.
getTimeEnd
());
vo
.
setWhiteType
(
param
.
getWhiteType
());
vo
.
setWhiteType
(
param
.
getWhiteType
());
//判断 白名单类型
//判断 白名单类型
if
(
param
.
getWhiteType
().
equals
(
1
))
{
//需要xls文件
if
(
param
.
getWhiteType
().
equals
(
1
))
{
//需要xls文件
...
@@ -127,19 +167,43 @@ public class GoblinListServiceImpl implements IGoblinListService {
...
@@ -127,19 +167,43 @@ public class GoblinListServiceImpl implements IGoblinListService {
GoblinListDetailsItemVo
itemVo
=
GoblinListDetailsItemVo
.
getNew
();
GoblinListDetailsItemVo
itemVo
=
GoblinListDetailsItemVo
.
getNew
();
itemVo
.
setSkuId
(
item
.
getSkuId
());
itemVo
.
setSkuId
(
item
.
getSkuId
());
itemVo
.
setSpuId
(
item
.
getSpuId
());
itemVo
.
setSpuId
(
item
.
getSpuId
());
itemVo
.
setPrice
(
item
.
getPrice
());
itemVo
.
setPriceV
(
item
.
getPriceV
());
itemVo
.
setSkuStock
(
item
.
getSkuStock
());
itemVo
.
setProductId
(
item
.
getProductId
());
//库存
int
skuStock
=
redisUtils
.
decrSkuStock
(
null
,
itemVo
.
getSkuId
(),
itemVo
.
getSkuStock
());
if
(
skuStock
<
0
)
{
redisUtils
.
incrSkuStock
(
null
,
itemVo
.
getSkuId
(),
itemVo
.
getSkuStock
());
return
ResponseDto
.
failure
(
"库存不足"
);
}
else
{
redisUtils
.
setSkuStock
(
vo
.
getListId
(),
itemVo
.
getSkuId
(),
itemVo
.
getSkuStock
());
}
//集合
GoblinListCollectVo
collectVo
=
GoblinListCollectVo
.
getNew
();
collectVo
.
setSpuId
(
itemVo
.
getSpuId
());
collectVo
.
setSkuId
(
itemVo
.
getSkuId
());
collectVo
.
setPrice
(
itemVo
.
getPrice
());
collectVo
.
setPriceV
(
itemVo
.
getPriceV
());
collectVo
.
setProductId
(
itemVo
.
getProductId
());
collectVo
.
setTimeStart
(
st
);
collectVo
.
setTimeEnd
(
et
);
collectVo
.
setTagType
(
vo
.
getTagType
());
collectVos
.
add
(
collectVo
);
redisUtils
.
setGoblinListCollect
(
itemVo
.
getSkuId
(),
collectVos
);
// 白名单
// 白名单
queueUtils
.
sendMsgByRedisXls
(
param
.
getWhiteUrl
(),
""
,
"3"
,
item
.
getSkuId
());
queueUtils
.
sendMsgByRedisXls
(
param
.
getWhiteUrl
(),
""
,
"3"
,
item
.
getSkuId
());
// 黑名单
// 黑名单
queueUtils
.
sendMsgByRedisXls
(
param
.
getBlackUrl
(),
""
,
"4"
,
item
.
getSkuId
());
queueUtils
.
sendMsgByRedisXls
(
param
.
getBlackUrl
(),
""
,
"4"
,
item
.
getSkuId
());
goblinListDetails
.
add
(
new
Object
[]{
goblinListDetails
.
add
(
new
Object
[]{
vo
.
getListId
(),
itemVo
.
getSpuId
(),
itemVo
.
getSkuId
(),
now
vo
.
getListId
(),
itemVo
.
getSpuId
(),
itemVo
.
getSkuId
(),
now
,
itemVo
.
getSkuStock
(),
itemVo
.
getPriceV
(),
itemVo
.
getProductId
(),
itemVo
.
getPrice
()
});
});
}
}
vo
.
setItemVo
(
voItemList
);
vo
.
setItemVo
(
voItemList
);
redisUtils
.
setGoblinListDetailsVo
(
vo
);
redisUtils
.
setGoblinListDetailsVo
(
vo
);
mongoUtils
.
insertGoblinListDetailsVo
(
vo
);
mongoUtils
.
insertGoblinListDetailsVo
(
vo
);
goblinList
.
add
(
new
Object
[]{
goblinList
.
add
(
new
Object
[]{
vo
.
getListId
(),
vo
.
getUid
(),
vo
.
getName
(),
vo
.
getWhiteType
(),
vo
.
getWhiteUrl
(),
vo
.
get
AdvanceMin
(),
vo
.
getBlackUrl
(),
now
vo
.
getListId
(),
vo
.
getUid
(),
vo
.
getName
(),
vo
.
getWhiteType
(),
vo
.
getWhiteUrl
(),
vo
.
get
TimeStart
(),
vo
.
getTimeEnd
(),
vo
.
getTagType
(),
vo
.
getBlackUrl
(),
now
});
});
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
GOBLIN_STORE_MARKET
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
goblinList
,
goblinListDetails
));
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
GOBLIN_STORE_MARKET
.
getKey
(),
SqlMapping
.
gets
(
sqls
,
goblinList
,
goblinListDetails
));
return
ResponseDto
.
success
();
return
ResponseDto
.
success
();
...
@@ -175,7 +239,7 @@ public class GoblinListServiceImpl implements IGoblinListService {
...
@@ -175,7 +239,7 @@ public class GoblinListServiceImpl implements IGoblinListService {
}
}
redisUtils
.
setGoblinListDetailsVo
(
vo
);
redisUtils
.
setGoblinListDetailsVo
(
vo
);
mongoUtils
.
changeGoblinListDetailsVo
(
param
.
getListId
(),
vo
);
mongoUtils
.
changeGoblinListDetailsVo
(
param
.
getListId
(),
vo
);
//
todo
sql入库
//sql入库
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
GOBLIN_STORE_MARKET
.
getKey
(),
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
GOBLIN_STORE_MARKET
.
getKey
(),
SqlMapping
.
get
(
"goblin_list_update"
,
param
.
getWhiteUrl
(),
param
.
getWhiteType
(),
param
.
getBlackUrl
(),
now
,
param
.
getListId
()));
SqlMapping
.
get
(
"goblin_list_update"
,
param
.
getWhiteUrl
(),
param
.
getWhiteType
(),
param
.
getBlackUrl
(),
now
,
param
.
getListId
()));
return
ResponseDto
.
success
();
return
ResponseDto
.
success
();
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
View file @
37b1b734
...
@@ -1736,6 +1736,22 @@ public class GoblinRedisUtils {
...
@@ -1736,6 +1736,22 @@ public class GoblinRedisUtils {
}
}
}
}
/**
* 设置 分批购数据
*/
public
void
setGoblinListCollect
(
String
skuId
,
List
<
GoblinListCollectVo
>
vo
)
{
redisUtil
.
set
(
GoblinRedisConst
.
LIST_COLLECT
.
concat
(
skuId
),
vo
);
}
public
List
<
GoblinListCollectVo
>
getGoblinListCollect
(
String
skuId
)
{
Object
obj
=
redisUtil
.
get
(
GoblinRedisConst
.
LIST_COLLECT
.
concat
(
skuId
));
if
(
obj
==
null
){
return
ObjectUtil
.
getGoblinStoreCouponVoArrayList
()
}
else
{
return
(
List
<
GoblinListCollectVo
>)
obj
;
}
}
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/ObjectUtil.java
View file @
37b1b734
...
@@ -20,6 +20,7 @@ import com.mongodb.client.model.WriteModel;
...
@@ -20,6 +20,7 @@ import com.mongodb.client.model.WriteModel;
import
org.bson.Document
;
import
org.bson.Document
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
ObjectUtil
{
public
class
ObjectUtil
{
private
static
final
PagedResult
<
GoblinStoreMgtGoodsListVo
>
goblinStoreMgtGoodsVoPagedResult
=
new
PagedResult
<>();
private
static
final
PagedResult
<
GoblinStoreMgtGoodsListVo
>
goblinStoreMgtGoodsVoPagedResult
=
new
PagedResult
<>();
...
@@ -91,7 +92,7 @@ public class ObjectUtil {
...
@@ -91,7 +92,7 @@ public class ObjectUtil {
private
static
final
ArrayList
<
GoblinStoreMgtGoodsSkuListVo
>
goblinStoreMgtGoodsSkuListVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStoreMgtGoodsSkuListVo
>
goblinStoreMgtGoodsSkuListVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinNftGoodsSkuListJobVo
>
goblinNftGoodsSkuListJobVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinNftGoodsSkuListJobVo
>
goblinNftGoodsSkuListJobVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinListDetailsItemVo
>
goblinListDetailsItemVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinListDetailsItemVo
>
goblinListDetailsItemVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinListCollectVo
>
goblinListCollectVo
=
new
ArrayList
<>();
private
static
final
BasicDBObject
basicDBObject
=
new
BasicDBObject
();
private
static
final
BasicDBObject
basicDBObject
=
new
BasicDBObject
();
private
static
final
ArrayList
<
WriteModel
<
Document
>>
writeModelDocumentArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
WriteModel
<
Document
>>
writeModelDocumentArrayList
=
new
ArrayList
<>();
...
@@ -99,6 +100,10 @@ public class ObjectUtil {
...
@@ -99,6 +100,10 @@ public class ObjectUtil {
return
(
ArrayList
<
GoblinListVo
>)
goblinListVo
.
clone
();
return
(
ArrayList
<
GoblinListVo
>)
goblinListVo
.
clone
();
}
}
public
static
ArrayList
<
GoblinListCollectVo
>
getGoblinListCollectVo
()
{
return
(
ArrayList
<
GoblinListCollectVo
>)
goblinListCollectVo
.
clone
();
}
public
static
PagedResult
<
GoblinStoreMgtGoodsListVo
>
getGoblinStoreMgtGoodsVoPagedResult
()
{
public
static
PagedResult
<
GoblinStoreMgtGoodsListVo
>
getGoblinStoreMgtGoodsVoPagedResult
()
{
return
goblinStoreMgtGoodsVoPagedResult
.
clone
();
return
goblinStoreMgtGoodsVoPagedResult
.
clone
();
}
}
...
@@ -166,6 +171,7 @@ public class ObjectUtil {
...
@@ -166,6 +171,7 @@ public class ObjectUtil {
public
static
ArrayList
<
GoblinGoodsInfoListVo
>
getGoblinGoodsInfoListVo
()
{
public
static
ArrayList
<
GoblinGoodsInfoListVo
>
getGoblinGoodsInfoListVo
()
{
return
(
ArrayList
<
GoblinGoodsInfoListVo
>)
goblinGoodsInfoListVo
.
clone
();
return
(
ArrayList
<
GoblinGoodsInfoListVo
>)
goblinGoodsInfoListVo
.
clone
();
}
}
public
static
ArrayList
<
GoblinUserCouponVo
>
getGoblinUserCouponVo
()
{
public
static
ArrayList
<
GoblinUserCouponVo
>
getGoblinUserCouponVo
()
{
return
(
ArrayList
<
GoblinUserCouponVo
>)
goblinUserCouponVo
.
clone
();
return
(
ArrayList
<
GoblinUserCouponVo
>)
goblinUserCouponVo
.
clone
();
}
}
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/resources/sqlmap.properties
View file @
37b1b734
...
@@ -150,6 +150,6 @@ adam_user_busi_acct.add=INSERT INTO adam_user_busi_acct (`uid`, busi, uuid, `wor
...
@@ -150,6 +150,6 @@ adam_user_busi_acct.add=INSERT INTO adam_user_busi_acct (`uid`, busi, uuid, `wor
#---- \u9ED1\u767D\u540D\u5355 ----
#---- \u9ED1\u767D\u540D\u5355 ----
goblin_list_insert
=
"INSERT INTO goblin_list (`list_id`,`uid`,`name`,`white_type`,`white_url`,`
advance_min``,`black_url`,`created_at`) VALUES (
?,?,?,?,?,?,?,?)"
goblin_list_insert
=
"INSERT INTO goblin_list (`list_id`,`uid`,`name`,`white_type`,`white_url`,`
time_start`,`time_end`,`tag_type`,`black_url`,`created_at`) VALUES (?,?,
?,?,?,?,?,?,?,?)"
goblin_list_detail_insert
=
"INSERT INTO goblin_list_details (`list_id`,`spu_id`,`sku_id`,`created_at`
) VALUES (
?,?,?,?)"
goblin_list_detail_insert
=
"INSERT INTO goblin_list_details (`list_id`,`spu_id`,`sku_id`,`created_at`
,`sku_stock`,`price_v`,`product_id`,`price`) VALUES (?,?,?,?,
?,?,?,?)"
goblin_list_update
=
"UPDATE goblin_list SET white_url = ? ,white_type = ? , black_url = ? , updated_at = ? WHERE list_id = ?"
goblin_list_update
=
"UPDATE goblin_list SET white_url = ? ,white_type = ? , black_url = ? , updated_at = ? WHERE list_id = ?"
\ No newline at end of file
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