记得上下班打卡 | 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
7f2a0922
Commit
7f2a0922
authored
Dec 06, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交 erp 同步库存接口
parent
22cec264
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
374 additions
and
9 deletions
+374
-9
IGoblinErpService.java
...m/liquidnet/service/goblin/service/IGoblinErpService.java
+9
-0
ObjectUtil.java
...main/java/com/liquidnet/service/erp/utils/ObjectUtil.java
+30
-0
SyncStockVo.java
...c/main/java/com/liquidnet/service/erp/vo/SyncStockVo.java
+32
-0
FeignPlatformErpTaskClient.java
...rvice/feign/platform/task/FeignPlatformErpTaskClient.java
+23
-0
PlatformErpTaskHandler.java
...service/executor/main/handler/PlatformErpTaskHandler.java
+34
-0
WdtController.java
...uidnet/service/platform/controller/erp/WdtController.java
+18
-0
WdtServiceImpl.java
...net/service/platform/service/impl/erp/WdtServiceImpl.java
+128
-2
GoblinRedisUtils.java
...om/liquidnet/service/platform/utils/GoblinRedisUtils.java
+94
-7
ObjectUtil.java
...java/com/liquidnet/service/platform/utils/ObjectUtil.java
+5
-0
sqlmap.properties
...ervice-platform-impl/src/main/resources/sqlmap.properties
+1
-0
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinErpService.java
0 → 100644
View file @
7f2a0922
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.service.base.ResponseDto
;
public
interface
IGoblinErpService
{
public
ResponseDto
<
Boolean
>
initErpStock
(
String
spuId
,
int
min
);
}
liquidnet-bus-common/liquident-common-erp/src/main/java/com/liquidnet/service/erp/utils/ObjectUtil.java
0 → 100644
View file @
7f2a0922
package
com
.
liquidnet
.
service
.
erp
.
utils
;
import
com.liquidnet.service.erp.vo.SyncStockVo
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @class: ObjectUtil
* @Package com.liquidnet.service.dragon.utils
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/7/21 16:00
*/
@Component
public
class
ObjectUtil
{
private
static
final
HashMap
<
String
,
SyncStockVo
>
syncStockVo
=
new
HashMap
<
String
,
SyncStockVo
>();
private
static
final
ArrayList
<
SyncStockVo
>
syncStockVoList
=
new
ArrayList
();
public
static
HashMap
<
String
,
SyncStockVo
>
syncStockVo
()
{
return
(
HashMap
<
String
,
SyncStockVo
>)
syncStockVo
.
clone
();
}
public
static
ArrayList
<
SyncStockVo
>
syncStockVoList
()
{
return
(
ArrayList
<
SyncStockVo
>)
syncStockVoList
.
clone
();
}
}
liquidnet-bus-common/liquident-common-erp/src/main/java/com/liquidnet/service/erp/vo/SyncStockVo.java
0 → 100644
View file @
7f2a0922
package
com
.
liquidnet
.
service
.
erp
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* 同步库存用 vo 和 erp无关,关联业务
*/
@Data
public
class
SyncStockVo
implements
Serializable
,
Cloneable
{
// erp sku编码
private
String
specNo
;
// erp sku库存
private
BigDecimal
stockErpNum
;
// 自研商城 sku库存
private
BigDecimal
stockNum
;
// erp sku所属仓库编码
private
String
warehouseNo
;
private
static
final
SyncStockVo
obj
=
new
SyncStockVo
();
public
static
SyncStockVo
getNew
()
{
try
{
return
(
SyncStockVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
SyncStockVo
();
}
}
}
liquidnet-bus-feign/liquidnet-api-feign-platform/src/main/java/com/liquidnet/service/feign/platform/task/FeignPlatformErpTaskClient.java
0 → 100644
View file @
7f2a0922
package
com
.
liquidnet
.
service
.
feign
.
platform
.
task
;
import
com.liquidnet.service.base.ResponseDto
;
import
feign.hystrix.FallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
@Component
@FeignClient
(
name
=
"liquidnet-service-platform"
,
contextId
=
"FeignPlatformErpTaskClient"
,
path
=
"platform"
,
url
=
"${liquidnet.service.platform.url}"
,
fallback
=
FallbackFactory
.
Default
.
class
)
public
interface
FeignPlatformErpTaskClient
{
@PostMapping
(
"wdt/syncErpSpuStock"
)
ResponseDto
<
Boolean
>
syncErpSpuStock
(
@RequestParam
(
"spuId"
)
String
spuId
,
@RequestParam
(
"min"
)
Integer
min
);
}
liquidnet-bus-service/liquidnet-service-executor-all/liquidnet-service-executor-main/src/main/java/com/liquidnet/service/executor/main/handler/PlatformErpTaskHandler.java
0 → 100644
View file @
7f2a0922
package
com
.
liquidnet
.
service
.
executor
.
main
.
handler
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.DESUtils
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.service.feign.platform.task.FeignPlatformErpTaskClient
;
import
com.liquidnet.service.feign.platform.task.FeignPlatformGoblinTaskClient
;
import
com.xxl.job.core.context.XxlJobHelper
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.LinkedMultiValueMap
;
/**
* platform:goblin
*/
@Component
public
class
PlatformErpTaskHandler
{
@Autowired
private
FeignPlatformErpTaskClient
feignPlatformErpTaskClient
;
@XxlJob
(
value
=
"sev-platform:syncErpSpuStock"
)
public
void
syncErpSpuStock
()
{
try
{
XxlJobHelper
.
handleSuccess
(
"结果:"
+
feignPlatformErpTaskClient
.
syncErpSpuStock
(
""
,
Integer
.
parseInt
(
XxlJobHelper
.
getJobParam
())).
getData
());
}
catch
(
Exception
e
)
{
XxlJobHelper
.
log
(
e
);
XxlJobHelper
.
handleFail
();
}
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/erp/WdtController.java
View file @
7f2a0922
package
com
.
liquidnet
.
service
.
platform
.
controller
.
erp
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.service.IGoblinErpService
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -11,4 +14,19 @@ import org.springframework.web.bind.annotation.*;
@Validated
public
class
WdtController
{
@Autowired
IGoblinErpService
goblinErpService
;
@PostMapping
(
"syncErpSpuStock"
)
@ApiOperation
(
"同步库存"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"spuId"
,
value
=
"spuId"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"Integer"
,
name
=
"min"
,
value
=
"间隔时间"
),
})
public
ResponseDto
<
Boolean
>
initErpStock
(
@RequestParam
(
"spuId"
)
String
spuId
,
@RequestParam
(
"min"
)
Integer
min
)
{
return
goblinErpService
.
initErpStock
(
spuId
,
min
);
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/erp/WdtServiceImpl.java
View file @
7f2a0922
package
com
.
liquidnet
.
service
.
platform
.
service
.
impl
.
erp
;
import
com.liquidnet.service.platform.service.erp.IWdtService
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.candy.dto.CandyUserCouponBasicDto
;
import
com.liquidnet.service.erp.config.ErpWdtClient
;
import
com.liquidnet.service.erp.constant.ErpEnum
;
import
com.liquidnet.service.erp.utils.ObjectUtil
;
import
com.liquidnet.service.erp.vo.StockQueryBaseVo
;
import
com.liquidnet.service.erp.vo.StockQueryVo
;
import
com.liquidnet.service.erp.vo.SyncStockVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.liquidnet.service.goblin.entity.GoblinGoodsSku
;
import
com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper
;
import
com.liquidnet.service.goblin.service.IGoblinErpService
;
import
com.liquidnet.service.platform.utils.GoblinRedisUtils
;
import
com.liquidnet.service.platform.utils.QueueUtils
;
import
lombok.extern.slf4j.Slf4j
;
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
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* <p>
* 支付订单表 服务实现类
...
...
@@ -12,6 +42,102 @@ import org.springframework.stereotype.Service;
* @since 2021-07-20
*/
@Service
public
class
WdtServiceImpl
implements
IWdtService
{
@Slf4j
public
class
WdtServiceImpl
implements
IGoblinErpService
{
@Autowired
ErpWdtClient
erpWdtClient
;
@Autowired
GoblinGoodsSkuMapper
goblinGoodsSkuMapper
;
@Autowired
GoblinRedisUtils
goblinRedisUtils
;
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
QueueUtils
queueUtils
;
@Override
public
ResponseDto
<
Boolean
>
initErpStock
(
String
spuId
,
int
min
)
{
try
{
Date
nowTime
=
DateUtil
.
now
();
String
json
;
Map
<
String
,
String
>
param
=
CollectionUtil
.
linkMapStringString
();
param
.
put
(
"start_time"
,
DateUtil
.
format
(
DateUtil
.
addMin
(
nowTime
,
-
min
),
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
param
.
put
(
"end_time"
,
DateUtil
.
format
(
nowTime
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
if
(
null
!=
spuId
&&
!
""
.
equals
(
spuId
))
{
//查询 spu下的sku
GoblinGoodsInfoVo
goblinGoodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
spuId
);
for
(
String
skuId
:
goblinGoodsInfoVo
.
getSkuIdList
())
{
GoblinGoodsSkuInfoVo
skuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuId
);
if
(
skuInfoVo
.
getErpHosting
()
==
1
)
{
param
.
put
(
"warehouse_no"
,
skuInfoVo
.
getErpWarehouseNo
());
param
.
put
(
"spec_no"
,
skuInfoVo
.
getSkuErpCode
());
json
=
erpWdtClient
.
execute
(
ErpEnum
.
WdtAPI
.
STOCK_QUERY
.
getUri
(),
param
);
ArrayList
<
SyncStockVo
>
list
=
baseStock
(
json
);
syncStock
(
list
);
}
}
}
else
{
int
pageSize
=
40
;
int
allCount
=
(
int
)
mongoTemplate
.
count
(
Query
.
query
(
Criteria
.
where
(
"erpHosting"
).
is
(
1
)),
GoblinGoodsSkuInfoVo
.
class
,
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
());
//总条数
int
pageCount
=
(
allCount
/
pageSize
)
+
1
;
param
.
put
(
"page_size"
,
pageSize
+
""
);
for
(
int
i
=
0
;
i
<
pageCount
;
i
++)
{
param
.
put
(
"page_no"
,
i
+
""
);
json
=
erpWdtClient
.
execute
(
ErpEnum
.
WdtAPI
.
STOCK_QUERY
.
getUri
(),
param
);
ArrayList
<
SyncStockVo
>
list
=
baseStock
(
json
);
syncStock
(
list
);
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"调用接口失败 spuId:{},min:{}"
,
spuId
,
min
);
return
ResponseDto
.
failure
();
}
return
ResponseDto
.
success
();
}
private
ArrayList
<
SyncStockVo
>
baseStock
(
String
json
)
{
ArrayList
<
SyncStockVo
>
stockMap
=
ObjectUtil
.
syncStockVoList
();
try
{
StockQueryBaseVo
data
=
JsonUtils
.
fromJson
(
json
,
StockQueryBaseVo
.
class
);
List
<
StockQueryVo
>
stockQueryVos
=
data
.
getStocks
();
for
(
StockQueryVo
stockQueryVo
:
stockQueryVos
)
{
try
{
BigDecimal
avaliableNum
=
stockQueryVo
.
getAvaliable_num
();
//可发库存
SyncStockVo
vo
=
SyncStockVo
.
getNew
();
vo
.
setSpecNo
(
stockQueryVo
.
getSpec_no
());
vo
.
setStockErpNum
(
avaliableNum
);
vo
.
setWarehouseNo
(
stockQueryVo
.
getWarehouse_no
());
stockMap
.
add
(
vo
);
}
catch
(
Exception
e
)
{
log
.
error
(
"解析erp数据失败 内层:{}"
,
stockQueryVo
);
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"解析erp数据失败 外层:{}"
,
json
);
}
return
stockMap
;
}
//同步库存
private
boolean
syncStock
(
ArrayList
<
SyncStockVo
>
stockMap
)
{
for
(
SyncStockVo
vo
:
stockMap
)
{
String
skuId
=
""
;
try
{
GoblinGoodsSkuInfoVo
skuInfoVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"skuErpCode"
).
is
(
vo
.
getSpecNo
()).
and
(
"erpWarehouseNo"
).
is
(
vo
.
getWarehouseNo
())),
GoblinGoodsSkuInfoVo
.
class
,
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
());
int
changeStock
=
vo
.
getStockNum
().
subtract
(
BigDecimal
.
valueOf
(
skuInfoVo
.
getSkuStock
())).
intValue
();
skuId
=
skuInfoVo
.
getSkuId
();
//sql 当前库存 增加changeStock
queueUtils
.
sendMsgByGoblinRedis
(
MQConst
.
GoblinQueue
.
GOBLIN_ORDER_CLOSE
.
getKey
(),
SqlMapping
.
get
(
"goblin_sku.stock"
,
vo
.
getStockNum
().
intValue
(),
LocalDateTime
.
now
(),
vo
.
getSpecNo
(),
vo
.
getWarehouseNo
()));
//redis incr 增加changeStock
goblinRedisUtils
.
incrSkuStock
(
null
,
skuId
,
changeStock
);
}
catch
(
Exception
e
)
{
log
.
error
(
"同步库存失败 skuId:{},erpSpecNo:{},warehouseNo:{}"
,
skuId
,
vo
.
getSpecNo
(),
vo
.
getWarehouseNo
());
}
}
return
true
;
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/GoblinRedisUtils.java
View file @
7f2a0922
...
...
@@ -40,6 +40,7 @@ public class GoblinRedisUtils {
public
void
del
(
String
...
keys
)
{
getRedis
().
del
(
keys
);
}
public
boolean
set
(
String
key
,
Object
val
)
{
return
getRedis
().
set
(
key
,
val
);
}
...
...
@@ -65,6 +66,7 @@ public class GoblinRedisUtils {
return
(
GoblinOrderSkuVo
)
obj
;
}
}
//获取 spu销量
public
Integer
getSpuSaleCount
(
String
spuId
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_SALE_SPU_COUNT
.
concat
(
spuId
);
...
...
@@ -121,7 +123,7 @@ public class GoblinRedisUtils {
// 减少库存
public
int
decrSkuStock
(
String
marketPre
,
String
skuId
,
Integer
stock
){
public
int
decrSkuStock
(
String
marketPre
,
String
skuId
,
Integer
stock
)
{
String
rk
=
GoblinRedisConst
.
REAL_STOCK_SKU
;
if
(
marketPre
!=
null
&&
!
marketPre
.
equals
(
"null"
))
{
rk
=
rk
.
concat
(
marketPre
+
":"
);
...
...
@@ -202,6 +204,7 @@ public class GoblinRedisUtils {
/**
* 添加code码 添加过期时间
*
* @param code
* @param goblinNftExCodeVo
* @param millisNum
...
...
@@ -209,7 +212,7 @@ public class GoblinRedisUtils {
*/
public
boolean
addCode
(
String
code
,
GoblinNftExCodeVo
goblinNftExCodeVo
,
long
millisNum
)
{
String
key
=
GoblinRedisConst
.
ACTIVITY_SKU_CODE
.
concat
(
code
);
return
getRedis
().
set
(
key
,
goblinNftExCodeVo
,
millisNum
);
return
getRedis
().
set
(
key
,
goblinNftExCodeVo
,
millisNum
);
}
/**
...
...
@@ -235,7 +238,7 @@ public class GoblinRedisUtils {
)
{
// 可以返回库存
String
rk
=
GoblinRedisConst
.
REAL_STOCK_SKU
.
concat
(
info
.
getSkuId
());
return
(
int
)
getRedis
().
get
(
rk
);
return
(
int
)
getRedis
().
get
(
rk
);
}
else
{
// 不计入库存
return
0
;
}
...
...
@@ -243,6 +246,7 @@ public class GoblinRedisUtils {
/**
* redis codes主动失效
*
* @param code
*/
public
void
removeCode
(
String
code
)
{
...
...
@@ -252,31 +256,34 @@ public class GoblinRedisUtils {
/**
* 获取sku时间
*
* @param skuId
* @return
*/
public
GoblinNftExSkuVo
getSkuTime
(
String
skuId
)
{
String
key
=
GoblinRedisConst
.
ACTIVITY_SKU_TIME
.
concat
(
skuId
);
Object
val
=
getRedis
().
get
(
key
);
if
(!
StringUtil
.
isEmpty
(
val
)){
return
(
GoblinNftExSkuVo
)
val
;
if
(!
StringUtil
.
isEmpty
(
val
))
{
return
(
GoblinNftExSkuVo
)
val
;
}
return
null
;
}
/**
* sku时间赋值
*
* @param skuId
* @param obj
* @return
*/
public
boolean
addSkuTime
(
String
skuId
,
GoblinNftExSkuVo
goblinNftExSkuVo
)
{
public
boolean
addSkuTime
(
String
skuId
,
GoblinNftExSkuVo
goblinNftExSkuVo
)
{
String
key
=
GoblinRedisConst
.
ACTIVITY_SKU_TIME
.
concat
(
skuId
);
return
getRedis
().
set
(
key
,
goblinNftExSkuVo
);
return
getRedis
().
set
(
key
,
goblinNftExSkuVo
);
}
/**
* 获取sku库存
*
* @param skuId
* @return
*/
...
...
@@ -302,7 +309,87 @@ public class GoblinRedisUtils {
}
/**
* 商品基础信息
*
* @param spuId 商品ID
* @return GoblinGoodsInfoVo
*/
public
GoblinGoodsInfoVo
getGoodsInfoVo
(
String
spuId
)
{
String
pre
=
GoblinStatusConst
.
MarketPreStatus
.
getPre
(
spuId
);
if
(
pre
!=
null
&&
pre
.
equals
(
GoblinStatusConst
.
MarketPreStatus
.
MARKET_PRE_ZHENGZAI
.
getValue
()))
{
String
[]
spuSplitArr
=
spuId
.
split
(
GoblinStatusConst
.
MarketPreStatus
.
MARKET_PRE_ZHENGZAI
.
getValue
());
String
rk
=
GoblinRedisConst
.
BASIC_GOODS
.
concat
(
spuSplitArr
[
0
]);
GoblinGoodsInfoVo
vo
=
(
GoblinGoodsInfoVo
)
getRedis
().
get
(
rk
);
if
(
vo
==
null
)
{
return
vo
;
}
String
marketrk
=
GoblinRedisConst
.
BASIC_GOODS
.
concat
(
spuId
);
GoblinGoodsInfoVo
marketVo
=
(
GoblinGoodsInfoVo
)
getRedis
().
get
(
marketrk
);
if
(
marketVo
==
null
)
{
return
marketVo
;
}
vo
.
setSpuId
(
marketVo
.
getSpuId
());
List
<
String
>
skuIdList
=
CollectionUtil
.
linkedListString
();
for
(
String
skuIds
:
vo
.
getSkuIdList
())
{
skuIdList
.
add
(
skuIds
.
concat
(
pre
).
concat
(
spuSplitArr
[
1
]));
}
vo
.
setSkuIdList
(
skuIdList
);
vo
.
setPriceGe
(
marketVo
.
getPriceGe
());
vo
.
setPriceLe
(
marketVo
.
getPriceLe
());
vo
.
setMarketId
(
marketVo
.
getMarketId
());
vo
.
setDelFlg
(
marketVo
.
getDelFlg
().
equals
(
"1"
)
?
marketVo
.
getDelFlg
()
:
vo
.
getDelFlg
());
return
vo
;
}
else
{
String
rk
=
GoblinRedisConst
.
BASIC_GOODS
.
concat
(
spuId
);
GoblinGoodsInfoVo
vo
=
(
GoblinGoodsInfoVo
)
getRedis
().
get
(
rk
);
if
(
null
==
vo
)
{
getRedis
().
set
(
rk
,
vo
);
}
return
vo
;
}
}
/**
* 单品信息
*
* @param skuId 单品ID
* @return GoblinGoodsSkuInfoVo
*/
public
GoblinGoodsSkuInfoVo
getGoodsSkuInfoVo
(
String
skuId
)
{
String
pre
=
GoblinStatusConst
.
MarketPreStatus
.
getPre
(
skuId
);
if
(
pre
!=
null
&&
pre
.
equals
(
GoblinStatusConst
.
MarketPreStatus
.
MARKET_PRE_ZHENGZAI
.
getValue
()))
{
String
rk
=
GoblinRedisConst
.
BASIC_GOODS_SKU
.
concat
(
skuId
.
split
(
GoblinStatusConst
.
MarketPreStatus
.
MARKET_PRE_ZHENGZAI
.
getValue
())[
0
]);
GoblinGoodsSkuInfoVo
vo
=
(
GoblinGoodsSkuInfoVo
)
getRedis
().
get
(
rk
);
if
(
vo
==
null
)
{
return
vo
;
}
String
marketrk
=
GoblinRedisConst
.
BASIC_GOODS_SKU
.
concat
(
skuId
);
GoblinGoodsSkuInfoVo
marketVo
=
(
GoblinGoodsSkuInfoVo
)
getRedis
().
get
(
marketrk
);
if
(
marketVo
==
null
)
{
return
marketVo
;
}
vo
.
setSpuId
(
marketVo
.
getSpuId
());
vo
.
setSkuId
(
marketVo
.
getSkuId
());
vo
.
setPrice
(
marketVo
.
getPrice
());
vo
.
setPriceMember
(
marketVo
.
getPriceMember
());
vo
.
setSkuStock
(
marketVo
.
getSkuStock
());
vo
.
setBuyLimit
(
marketVo
.
getBuyLimit
());
vo
.
setBuyRoster
(
marketVo
.
getBuyRoster
());
vo
.
setBuyFactor
(
marketVo
.
getBuyFactor
());
// vo.setDelFlg("0");
vo
.
setDelFlg
(
marketVo
.
getDelFlg
().
equals
(
"1"
)
?
marketVo
.
getDelFlg
()
:
vo
.
getDelFlg
());
vo
.
setMarketId
(
marketVo
.
getMarketId
());
vo
.
setCreatedAt
(
LocalDateTime
.
now
());
return
vo
;
}
else
{
String
rk
=
GoblinRedisConst
.
BASIC_GOODS_SKU
.
concat
(
skuId
);
GoblinGoodsSkuInfoVo
vo
=
(
GoblinGoodsSkuInfoVo
)
getRedis
().
get
(
rk
);
return
vo
;
}
}
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/utils/ObjectUtil.java
View file @
7f2a0922
...
...
@@ -68,6 +68,7 @@ public class ObjectUtil {
private
static
final
ArrayList
<
GoblinNftExCodeTask
>
goblinNftExCodeTaskArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinStoreMarketDto
>
goblinStoreMarketDtoArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinNftExCode
>
goblinNftExCodeArrayList
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinGoodsSkuInfoVo
>
goblinGoodsSkuInfoVo
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinNftTransferOrder
>
goblinNftTransferOrders
=
new
ArrayList
<>();
private
static
final
ArrayList
<
GoblinUserDigitalArtwork
>
goblinUserDigitalArtworks
=
new
ArrayList
<>();
...
...
@@ -75,6 +76,10 @@ public class ObjectUtil {
return
(
ArrayList
<
SellDataOneVO
>)
sellDataOneVOArrayList
.
clone
();
}
public
static
ArrayList
<
GoblinGoodsSkuInfoVo
>
goblinGoodsSkuInfoVo
()
{
return
(
ArrayList
<
GoblinGoodsSkuInfoVo
>)
goblinGoodsSkuInfoVo
.
clone
();
}
public
static
ArrayList
<
AdamTagParentVo
>
getAdamTagParentVoArrayList
()
{
return
(
ArrayList
<
AdamTagParentVo
>)
adamTagParentVoArrayList
.
clone
();
}
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/resources/sqlmap.properties
View file @
7f2a0922
...
...
@@ -4,3 +4,4 @@ goblin_order.close.sku=UPDATE goblin_order_sku SET status = ? ,updated_at = ? WH
# ------------------------????----------------------------
kylin_camera_record.insert
=
INSERT INTO kylin_camera_record (camera_record_id, camera_id, person_num) VALUES (?,?,?)
goblin_sku.stock
=
UPDATE goblin_goods_sku SET sku_stock = ? ,updated_at = ? WHERE sku_erp_code = ? and erp_warehouse_no = ?
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