记得上下班打卡 | 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
4d7ba024
Commit
4d7ba024
authored
Jan 04, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交 下单接口 未完成
parent
f448c376
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
336 additions
and
17 deletions
+336
-17
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+3
-0
GoblinStatusConst.java
.../liquidnet/service/goblin/constant/GoblinStatusConst.java
+9
-0
GoblinOrderParam.java
...liquidnet/service/goblin/dto/manage/GoblinOrderParam.java
+20
-12
GoblinOrderSkuParam.java
...uidnet/service/goblin/dto/manage/GoblinOrderSkuParam.java
+17
-0
GoblinOrderSpuParam.java
...uidnet/service/goblin/dto/manage/GoblinOrderSpuParam.java
+24
-0
IDGenerator.java
...ain/java/com/liquidnet/commons/lang/util/IDGenerator.java
+19
-0
pom.xml
...dnet-service-goblin/liquidnet-service-goblin-impl/pom.xml
+6
-0
GoblinAppOrderServiceImpl.java
...ervice/goblin/service/impl/GoblinAppOrderServiceImpl.java
+123
-4
GoblinOrderUtils.java
...a/com/liquidnet/service/goblin/util/GoblinOrderUtils.java
+61
-0
GoblinRedisUtils.java
...a/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
+47
-0
ObjectUtil.java
...in/java/com/liquidnet/service/goblin/util/ObjectUtil.java
+7
-1
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
4d7ba024
...
@@ -45,6 +45,9 @@ public class GoblinRedisConst {
...
@@ -45,6 +45,9 @@ public class GoblinRedisConst {
public
static
final
String
REDIS_GOBLIN_ZHENGZAI_LIST
=
PREFIX
.
concat
(
"zhengzai:list"
);
//全部正在下单内容
public
static
final
String
REDIS_GOBLIN_ZHENGZAI_LIST
=
PREFIX
.
concat
(
"zhengzai:list"
);
//全部正在下单内容
public
static
final
String
REDIS_GOBLIN_STORE_MARKET_ISCONFIG
=
PREFIX
.
concat
(
"store:is_config:"
);
//商铺活动-该活动配置了款式的商品
public
static
final
String
REDIS_GOBLIN_STORE_MARKET_ISCONFIG
=
PREFIX
.
concat
(
"store:is_config:"
);
//商铺活动-该活动配置了款式的商品
public
static
final
String
REDIS_GOBLIN_BUY_COUNT
=
PREFIX
.
concat
(
"uid:"
);
//用户sku购买数量 key:uid:skuId:$skuId
public
static
final
String
REDIS_GOBLIN_SALE_COUNT
=
PREFIX
.
concat
(
"sale:skuId:"
);
//用户sku购买数量 key:sale:skuId:$skuId
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/**
/**
* SKU剩余库存
* SKU剩余库存
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinStatusConst.java
View file @
4d7ba024
...
@@ -94,6 +94,15 @@ public class GoblinStatusConst {
...
@@ -94,6 +94,15 @@ public class GoblinStatusConst {
public
String
getDesc
()
{
public
String
getDesc
()
{
return
desc
;
return
desc
;
}
}
public
static
String
getPre
(
String
goblinId
)
{
if
(
goblinId
.
contains
(
MARKET_PRE_ZHENGZAI
.
getValue
()))
{
return
MARKET_PRE_ZHENGZAI
.
getValue
();
}
else
if
(
goblinId
.
contains
(
MARKET_PRE_PURCHASE
.
getValue
()))
{
return
MARKET_PRE_PURCHASE
.
getValue
();
}
return
null
;
}
}
}
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinOrderParam.java
View file @
4d7ba024
...
@@ -4,25 +4,33 @@ import io.swagger.annotations.ApiModel;
...
@@ -4,25 +4,33 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
@ApiModel
(
value
=
"GoblinOrderParam"
)
@ApiModel
(
value
=
"GoblinOrderParam"
)
@Data
@Data
public
class
GoblinOrderParam
{
public
class
GoblinOrderParam
{
@ApiModelProperty
(
required
=
false
,
value
=
"
活动id[添加操作不需要]"
,
example
=
"1
"
)
@ApiModelProperty
(
required
=
false
,
value
=
"
收货地址id[虚拟物品不需要]
"
)
private
ArrayList
<
String
>
addressIds
;
private
ArrayList
<
String
>
addressIds
;
@ApiModelProperty
(
value
=
"代理id"
)
private
String
agentId
;
@ApiModelProperty
(
value
=
"支付类型"
)
@NotNull
(
message
=
"支付类型不能为空"
)
private
String
payType
;
@ApiModelProperty
(
value
=
"支付来源"
)
@NotNull
(
message
=
"支付来源不能为空"
)
private
String
deviceFrom
;
@ApiModelProperty
(
value
=
"openId"
)
private
String
openId
;
@ApiModelProperty
(
value
=
"showUrl"
)
private
String
showUrl
;
@ApiModelProperty
(
value
=
"returnUrl"
)
private
String
returnUrl
;
@ApiModelProperty
(
value
=
"商品相关参数集合"
)
private
List
<
GoblinOrderSpuParam
>
goblinOrderSpuParamList
;
@ApiModelProperty
(
required
=
true
,
value
=
"商铺id"
,
example
=
"活动名称"
)
private
String
storeId
;
@ApiModelProperty
(
required
=
true
,
value
=
"活动名称"
,
example
=
"活动名称"
)
private
String
name
;
@ApiModelProperty
(
required
=
true
,
value
=
"活动开始时间"
,
example
=
"2021-12-11 12:00:00"
)
private
String
startTime
;
@ApiModelProperty
(
required
=
true
,
value
=
"活动结束时间"
,
example
=
"2021-12-12 12:00:00"
)
private
String
endTime
;
}
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinOrderSkuParam.java
0 → 100644
View file @
4d7ba024
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
manage
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.ArrayList
;
@ApiModel
(
value
=
"GoblinOrderParam"
)
@Data
public
class
GoblinOrderSkuParam
{
@ApiModelProperty
(
required
=
true
,
value
=
"skuId"
)
private
String
skuIds
;
@ApiModelProperty
(
required
=
true
,
value
=
"数量"
)
private
Integer
number
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinOrderSpuParam.java
0 → 100644
View file @
4d7ba024
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
manage
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.util.ArrayList
;
@ApiModel
(
value
=
"GoblinOrderParam"
)
@Data
public
class
GoblinOrderSpuParam
{
@ApiModelProperty
(
required
=
true
,
value
=
"spuId"
)
private
String
spuId
;
@ApiModelProperty
(
value
=
"平台券码"
)
private
String
platVoucherCode
;
@ApiModelProperty
(
value
=
"商品券码"
)
private
String
storeVoucherCode
;
@ApiModelProperty
(
required
=
true
,
value
=
"款式相关数据集合"
)
private
ArrayList
<
GoblinOrderSkuParam
>
goblinOrderSkuParamArrayList
;
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/IDGenerator.java
View file @
4d7ba024
...
@@ -58,6 +58,25 @@ public class IDGenerator {
...
@@ -58,6 +58,25 @@ public class IDGenerator {
return
orderCode
;
return
orderCode
;
}
}
/**
* 根据订单id生成总订单号
*
* @param orderId
* @return
*/
public
static
String
storeCode
(
String
orderId
)
{
return
ticketOrderCode
(
orderId
);
}
/**
* 根据订单id生成总订单号
*
* @return
*/
public
static
String
storeMasterCode
()
{
return
nextSnowId
();
}
public
static
Long
getDamaiCode
(
String
code
)
{
public
static
Long
getDamaiCode
(
String
code
)
{
if
(
code
.
length
()
<
13
)
{
if
(
code
.
length
()
<
13
)
{
return
Long
.
valueOf
(
code
);
return
Long
.
valueOf
(
code
);
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/pom.xml
View file @
4d7ba024
...
@@ -36,6 +36,12 @@
...
@@ -36,6 +36,12 @@
<artifactId>
liquidnet-service-goblin-api
</artifactId>
<artifactId>
liquidnet-service-goblin-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-service-adam-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
</dependencies>
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinAppOrderServiceImpl.java
View file @
4d7ba024
package
com
.
liquidnet
.
service
.
goblin
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
goblin
.
service
.
impl
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.adam.dto.vo.AdamRscPolymer01Vo
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.manage.GoblinOrderParam
;
import
com.liquidnet.service.goblin.dto.manage.GoblinOrderParam
;
import
com.liquidnet.service.goblin.dto.manage.GoblinOrderSkuParam
;
import
com.liquidnet.service.goblin.dto.manage.GoblinOrderSpuParam
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinPayInnerResultVo
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinPayInnerResultVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.liquidnet.service.goblin.service.IGoblinAppOrderService
;
import
com.liquidnet.service.goblin.service.IGoblinAppOrderService
;
import
com.liquidnet.service.goblin.service.IGoblinAppZhengzaiService
;
import
com.liquidnet.service.goblin.service.IGoblinAppZhengzaiService
;
import
com.liquidnet.service.goblin.util.
GoblinMongoUtils
;
import
com.liquidnet.service.goblin.util.
*
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
com.liquidnet.service.goblin.util.Queue
Utils
;
import
org.apache.commons.lang.String
Utils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
@Service
@Slf4j
public
class
GoblinAppOrderServiceImpl
implements
IGoblinAppOrderService
{
public
class
GoblinAppOrderServiceImpl
implements
IGoblinAppOrderService
{
@Autowired
@Autowired
...
@@ -20,9 +37,111 @@ public class GoblinAppOrderServiceImpl implements IGoblinAppOrderService {
...
@@ -20,9 +37,111 @@ public class GoblinAppOrderServiceImpl implements IGoblinAppOrderService {
GoblinMongoUtils
mongoUtils
;
GoblinMongoUtils
mongoUtils
;
@Autowired
@Autowired
QueueUtils
queueUtils
;
QueueUtils
queueUtils
;
@Autowired
GoblinOrderUtils
orderUtils
;
@Override
@Override
public
ResponseDto
<
GoblinPayInnerResultVo
>
checkOrder
(
GoblinOrderParam
param
)
{
public
ResponseDto
<
GoblinPayInnerResultVo
>
checkOrder
(
GoblinOrderParam
param
)
{
return
null
;
boolean
isDownGeneral
=
false
;
//是否需要回滚库存
List
<
AdamEntersVo
>
entersVoList
=
ObjectUtil
.
cloneArrayListObject
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
List
<
String
>
skuAndPreListAndNumber
=
CollectionUtil
.
arrayListString
();
try
{
String
orderMasterCode
=
IDGenerator
.
storeMasterCode
();
//总订单id
List
<
GoblinOrderSpuParam
>
goblinOrderSpuParamList
=
param
.
getGoblinOrderSpuParamList
();
//分订单
//获取用户相关
String
addressId
;
if
(
param
.
getAddressIds
()
==
null
||
param
.
getAddressIds
().
size
()
==
0
)
{
addressId
=
""
;
}
else
{
addressId
=
StringUtils
.
join
(
param
.
getAddressIds
(),
","
);
}
AdamRscPolymer01Vo
userVo
=
orderUtils
.
adamAddressEnterMember
(
uid
,
null
,
addressId
);
AdamAddressesVo
addressesVo
;
boolean
isMember
;
if
(
userVo
==
null
)
{
isMember
=
false
;
addressesVo
=
null
;
}
else
{
addressesVo
=
userVo
.
getAddressesVo
();
switch
(
userVo
.
getMembership
())
{
case
10
:
case
11
:
isMember
=
true
;
break
;
default
:
isMember
=
false
;
break
;
}
}
for
(
GoblinOrderSpuParam
spuParam
:
goblinOrderSpuParamList
)
{
String
orderId
=
IDGenerator
.
nextSnowId
();
String
orderCode
=
IDGenerator
.
storeCode
(
orderId
);
String
spuId
=
spuParam
.
getSpuId
();
GoblinGoodsInfoVo
goblinGoodsInfoVo
=
redisUtils
.
getGoodsInfoVo
(
spuId
);
if
(
goblinGoodsInfoVo
==
null
)
{
return
null
;
//参数异常
}
if
(!(
goblinGoodsInfoVo
.
getStatus
().
equals
(
"3"
)
&&
goblinGoodsInfoVo
.
getShelvesStatus
().
equals
(
"3"
)))
{
return
null
;
//该spu不可购买
}
String
storeId
=
goblinGoodsInfoVo
.
getStoreId
();
String
platVoucherCode
=
spuParam
.
getPlatVoucherCode
();
String
storeVoucherCode
=
spuParam
.
getStoreVoucherCode
();
for
(
GoblinOrderSkuParam
skuParam
:
spuParam
.
getGoblinOrderSkuParamArrayList
())
{
String
skuId
=
skuParam
.
getSkuIds
();
int
number
=
skuParam
.
getNumber
();
if
(!
goblinGoodsInfoVo
.
getSkuIdList
().
contains
(
skuId
))
{
return
null
;
//参数异常
}
GoblinGoodsSkuInfoVo
skuVo
=
redisUtils
.
getGoodsSkuInfoVo
(
skuId
);
if
(!(
skuVo
.
getStatus
().
equals
(
"3"
)
&&
skuVo
.
getShelvesStatus
().
equals
(
"3"
)))
{
return
null
;
//该sku不可购买
}
// 判断库存
String
pre
=
GoblinStatusConst
.
MarketPreStatus
.
getPre
(
skuId
);
int
limitCount
=
skuVo
.
getBuyLimit
()
==
0
?
Integer
.
MAX_VALUE
:
skuVo
.
getBuyLimit
();
int
surplusGeneral
=
redisUtils
.
decrSkuStock
(
pre
,
skuId
,
number
);
if
(
surplusGeneral
<
0
)
{
//库存回滚
redisUtils
.
incrSkuStock
(
pre
,
skuId
,
number
);
return
null
;
//售罄
}
else
{
skuAndPreListAndNumber
.
add
(
skuId
+
","
+
pre
+
","
+
number
);
isDownGeneral
=
true
;
//判断限购
String
res1
=
orderUtils
.
judgeOrderLimit
(
uid
,
skuId
,
number
,
limitCount
);
if
(!
res1
.
equals
(
""
))
{
redisUtils
.
incrSkuStock
(
pre
,
skuId
,
number
);
return
ResponseDto
.
failure
(
res1
);
//乱七八糟异常
}
//下单
isDownGeneral
=
false
;
return
null
;
}
}
//GoblinOrderSkuParam
}
//GoblinOrderSpuParam
return
null
;
//参数异常
}
catch
(
Exception
e
)
{
log
.
error
(
"Kylin Order Pay Error = {}"
,
e
);
if
(
isDownGeneral
)
{
//回顾限购 回滚库存
for
(
String
item
:
skuAndPreListAndNumber
)
{
String
[]
array
=
item
.
split
(
","
);
String
skuId
=
array
[
0
];
String
pre
=
array
[
1
];
int
number
=
Integer
.
parseInt
(
array
[
2
]);
redisUtils
.
incrSkuStock
(
pre
,
skuId
,
number
);
redisUtils
.
decrSkuCountByUid
(
uid
,
skuId
,
number
);
}
log
.
error
(
"回滚库存"
);
}
if
(
e
.
getMessage
()
==
null
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20018"
));
//乱七八糟异常
}
else
if
(
e
.
getMessage
().
equals
(
"券不可用"
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20030"
));
//券不可用
}
else
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20018"
));
//乱七八糟异常
}
}
}
}
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinOrderUtils.java
0 → 100644
View file @
4d7ba024
package
com
.
liquidnet
.
service
.
goblin
.
util
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.adam.dto.vo.AdamRscPolymer01Vo
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.MultiValueMap
;
@Component
@Slf4j
public
class
GoblinOrderUtils
{
@Value
(
"${liquidnet.adam.url}"
)
private
String
adamUrl
;
@Value
(
"${liquidnet.candy.url}"
)
private
String
candyUrl
;
@Value
(
"${liquidnet.service.stone.url}"
)
private
String
stoneUrl
;
@Autowired
GoblinRedisUtils
redisUtils
;
public
AdamRscPolymer01Vo
adamAddressEnterMember
(
String
uid
,
String
enterIds
,
String
addressId
)
{
try
{
MultiValueMap
<
String
,
String
>
header
=
CollectionUtil
.
linkedMultiValueMapStringString
();
header
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
MultiValueMap
<
String
,
String
>
params
=
CollectionUtil
.
linkedMultiValueMapStringString
();
params
.
add
(
"addressId"
,
addressId
);
params
.
add
(
"entersIds"
,
enterIds
);
params
.
add
(
"uid"
,
uid
);
String
resultData
=
HttpUtil
.
post
(
adamUrl
+
"/adam/rsc/inquire/of_buy_ticket"
,
params
,
header
);
ResponseDto
<
AdamRscPolymer01Vo
>
vo
=
JsonUtils
.
fromJson
(
resultData
,
new
TypeReference
<
ResponseDto
<
AdamRscPolymer01Vo
>>()
{
});
if
(
null
!=
vo
.
getData
())
{
return
vo
.
getData
();
}
else
{
return
null
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取用户信息,e:{}"
,
e
);
e
.
printStackTrace
();
return
null
;
}
}
public
String
judgeOrderLimit
(
String
uid
,
String
skuId
,
int
number
,
int
limitCount
)
{
int
buyCount
=
redisUtils
.
getSkuCountByUid
(
uid
,
skuId
);
if
(
buyCount
+
number
>
limitCount
)
{
return
"已超出限购数量"
;
}
else
{
redisUtils
.
incrSkuCountByUid
(
uid
,
skuId
,
number
);
return
""
;
}
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
View file @
4d7ba024
...
@@ -335,4 +335,51 @@ public class GoblinRedisUtils {
...
@@ -335,4 +335,51 @@ public class GoblinRedisUtils {
return
(
List
<
GoblinSelfMarketingVo
>)
obj
;
return
(
List
<
GoblinSelfMarketingVo
>)
obj
;
}
}
}
}
//获取 用户sku购买个数
public
Integer
getSkuCountByUid
(
String
uid
,
String
skuId
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_BUY_COUNT
.
concat
(
uid
+
":skuId:"
+
skuId
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
return
null
;
}
else
{
return
(
Integer
)
obj
;
}
}
// 增加 用户sku购买个数
public
int
incrSkuCountByUid
(
String
uid
,
String
skuId
,
int
number
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_BUY_COUNT
.
concat
(
uid
+
":skuId:"
+
skuId
);
return
(
int
)
redisUtil
.
incr
(
redisKey
,
number
);
}
// 减少 用户sku购买个数
public
int
decrSkuCountByUid
(
String
uid
,
String
skuId
,
int
number
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_BUY_COUNT
.
concat
(
uid
+
":skuId:"
+
skuId
);
return
(
int
)
redisUtil
.
decr
(
redisKey
,
number
);
}
//获取 sku销量
public
Integer
getSkuSaleCount
(
String
skuId
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_SALE_COUNT
.
concat
(
skuId
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
return
null
;
}
else
{
return
(
Integer
)
obj
;
}
}
// 增加 sku销量
public
int
incrSkuSaleCount
(
String
skuId
,
int
number
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_SALE_COUNT
.
concat
(
skuId
);
return
(
int
)
redisUtil
.
incr
(
redisKey
,
number
);
}
// 减少 sku销量
public
int
decrSkuSaleCount
(
String
skuId
,
int
number
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_SALE_COUNT
.
concat
(
skuId
);
return
(
int
)
redisUtil
.
decr
(
redisKey
,
number
);
}
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/ObjectUtil.java
View file @
4d7ba024
package
com
.
liquidnet
.
service
.
goblin
.
util
;
package
com
.
liquidnet
.
service
.
goblin
.
util
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo
;
import
com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo
;
...
@@ -8,7 +9,6 @@ import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
...
@@ -8,7 +9,6 @@ import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.BasicDBObject
;
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
<>();
...
@@ -28,6 +28,8 @@ public class ObjectUtil {
...
@@ -28,6 +28,8 @@ public class ObjectUtil {
private
static
final
ArrayList
<
GoblinStorePurchaseSkuVo
>
goblinStorePurchaseSkuVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStorePurchaseSkuVo
>
goblinStorePurchaseSkuVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinSelfZhengzaiSkuVo
>
goblinSelfZhengzaiSkuVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinSelfZhengzaiSkuVo
>
goblinSelfZhengzaiSkuVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinShowStoreInfoVo
>
goblinShowStoreInfoVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinShowStoreInfoVo
>
goblinShowStoreInfoVoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
AdamEntersVo
>
arrayListObject
=
new
ArrayList
<>();
private
static
final
BasicDBObject
basicDBObject
=
new
BasicDBObject
();
private
static
final
BasicDBObject
basicDBObject
=
new
BasicDBObject
();
...
@@ -35,6 +37,10 @@ public class ObjectUtil {
...
@@ -35,6 +37,10 @@ public class ObjectUtil {
return
goblinStoreMgtGoodsVoPagedResult
.
clone
();
return
goblinStoreMgtGoodsVoPagedResult
.
clone
();
}
}
public
static
ArrayList
<
AdamEntersVo
>
cloneArrayListObject
()
{
return
(
ArrayList
<
AdamEntersVo
>)
arrayListObject
.
clone
();
}
public
static
ArrayList
<
GoblinShowStoreInfoVo
>
getGoblinShowStoreInfoVoArrayList
()
{
public
static
ArrayList
<
GoblinShowStoreInfoVo
>
getGoblinShowStoreInfoVoArrayList
()
{
return
(
ArrayList
<
GoblinShowStoreInfoVo
>)
goblinShowStoreInfoVoArrayList
.
clone
();
return
(
ArrayList
<
GoblinShowStoreInfoVo
>)
goblinShowStoreInfoVoArrayList
.
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