记得上下班打卡 | 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
43767c0b
Commit
43767c0b
authored
Jan 20, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~API:商品管理:SKU编辑;
parent
ce553850
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
64 additions
and
33 deletions
+64
-33
GoblinStoreMgtGoodsEditSkuParam.java
...ce/goblin/dto/manage/GoblinStoreMgtGoodsEditSkuParam.java
+26
-18
IGoblinstoreMgtGoodsService.java
...ce/goblin/service/manage/IGoblinstoreMgtGoodsService.java
+2
-1
GoblinStoreMgtGoodsController.java
...blin/controller/manage/GoblinStoreMgtGoodsController.java
+25
-11
GoblinStoreMgtGoodsServiceImpl.java
...n/service/impl/manage/GoblinStoreMgtGoodsServiceImpl.java
+9
-2
errors.properties
...-service-goblin-impl/src/main/resources/errors.properties
+2
-1
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinStoreMgtGoodsEditSkuParam.java
View file @
43767c0b
...
@@ -7,6 +7,7 @@ import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
...
@@ -7,6 +7,7 @@ import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
org.springframework.util.CollectionUtils
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.Pattern
;
import
javax.validation.constraints.Pattern
;
...
@@ -62,24 +63,31 @@ public class GoblinStoreMgtGoodsEditSkuParam implements Serializable {
...
@@ -62,24 +63,31 @@ public class GoblinStoreMgtGoodsEditSkuParam implements Serializable {
private
Integer
operStock
;
private
Integer
operStock
;
public
GoblinGoodsSkuInfoVo
initEditGoodsSkuInfoVo
()
{
public
GoblinGoodsSkuInfoVo
initEditGoodsSkuInfoVo
()
{
GoblinGoodsSkuInfoVo
vo
=
GoblinGoodsSkuInfoVo
.
getNew
();
GoblinGoodsSkuInfoVo
goodsSkuInfoVo
=
GoblinGoodsSkuInfoVo
.
getNew
();
vo
.
setSkuId
(
this
.
getSkuId
());
List
<
GoblinGoodsSpecDto
>
skuSpecList
=
this
.
getSkuSpecList
();
vo
.
setSkuPic
(
this
.
getSkuPic
());
if
(!
CollectionUtils
.
isEmpty
(
skuSpecList
))
{
vo
.
setSkuSpecList
(
this
.
getSkuSpecList
());
goodsSkuInfoVo
.
setName
(
""
);
vo
.
setSellPrice
(
this
.
getSellPrice
());
for
(
GoblinGoodsSpecDto
goblinGoodsSpecDto
:
skuSpecList
)
{
vo
.
setPrice
(
this
.
getPrice
());
goodsSkuInfoVo
.
setName
(
goodsSkuInfoVo
.
getName
().
concat
(
goblinGoodsSpecDto
.
getSpecVname
()));
vo
.
setPriceMember
(
this
.
getPriceMember
());
}
vo
.
setWeight
(
this
.
getWeight
());
}
vo
.
setStock
(
this
.
getStock
());
goodsSkuInfoVo
.
setSkuId
(
this
.
getSkuId
());
vo
.
setSkuStock
(
this
.
getSkuStock
());
goodsSkuInfoVo
.
setSkuPic
(
this
.
getSkuPic
());
vo
.
setWarningStock
(
this
.
getWarningStock
());
goodsSkuInfoVo
.
setSkuSpecList
(
skuSpecList
);
vo
.
setSkuAppear
(
this
.
getSkuAppear
());
goodsSkuInfoVo
.
setSellPrice
(
this
.
getSellPrice
());
vo
.
setSkuIsbn
(
this
.
getSkuIsbn
());
goodsSkuInfoVo
.
setPrice
(
this
.
getPrice
());
vo
.
setBuyFactor
(
this
.
getBuyFactor
());
goodsSkuInfoVo
.
setPriceMember
(
this
.
getPriceMember
());
vo
.
setBuyRoster
(
this
.
getBuyRoster
());
goodsSkuInfoVo
.
setWeight
(
this
.
getWeight
());
vo
.
setBuyLimit
(
this
.
getBuyLimit
());
goodsSkuInfoVo
.
setStock
(
this
.
getStock
());
vo
.
setSkuValidity
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
this
.
getSkuValidity
()));
goodsSkuInfoVo
.
setSkuStock
(
this
.
getSkuStock
());
return
vo
;
goodsSkuInfoVo
.
setWarningStock
(
this
.
getWarningStock
());
goodsSkuInfoVo
.
setSkuAppear
(
this
.
getSkuAppear
());
goodsSkuInfoVo
.
setSkuIsbn
(
this
.
getSkuIsbn
());
goodsSkuInfoVo
.
setBuyFactor
(
this
.
getBuyFactor
());
goodsSkuInfoVo
.
setBuyRoster
(
this
.
getBuyRoster
());
goodsSkuInfoVo
.
setBuyLimit
(
this
.
getBuyLimit
());
goodsSkuInfoVo
.
setSkuValidity
(
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
this
.
getSkuValidity
()));
return
goodsSkuInfoVo
;
}
}
public
GoblinGoodsSkuInfoVo
initEditAddGoodsSkuInfoVo
()
{
public
GoblinGoodsSkuInfoVo
initEditAddGoodsSkuInfoVo
()
{
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/manage/IGoblinstoreMgtGoodsService.java
View file @
43767c0b
...
@@ -46,11 +46,12 @@ public interface IGoblinstoreMgtGoodsService {
...
@@ -46,11 +46,12 @@ public interface IGoblinstoreMgtGoodsService {
/**
/**
* 商品管理:商品编辑:SKU编辑
* 商品管理:商品编辑:SKU编辑
*
*
* @param uid UID
* @param storeMgtGoodsEditSkuParam GoblinStoreMgtGoodsEditSkuParam
* @param storeMgtGoodsEditSkuParam GoblinStoreMgtGoodsEditSkuParam
* @param goodsInfoVo GoblinGoodsInfoVo
* @param goodsInfoVo GoblinGoodsInfoVo
* @return boolean
* @return boolean
*/
*/
boolean
goodsEditSku
(
GoblinStoreMgtGoodsEditSkuParam
storeMgtGoodsEditSkuParam
,
GoblinGoodsInfoVo
goodsInfoVo
);
boolean
goodsEditSku
(
String
uid
,
GoblinStoreMgtGoodsEditSkuParam
storeMgtGoodsEditSkuParam
,
GoblinGoodsInfoVo
goodsInfoVo
);
/**
/**
* 商品管理:商品编辑:SKU添加
* 商品管理:商品编辑:SKU添加
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinStoreMgtGoodsController.java
View file @
43767c0b
...
@@ -214,7 +214,8 @@ public class GoblinStoreMgtGoodsController {
...
@@ -214,7 +214,8 @@ public class GoblinStoreMgtGoodsController {
@ApiOperation
(
value
=
"商品编辑:SKU编辑"
,
notes
=
"只修改单品信息,不包含商品信息"
)
@ApiOperation
(
value
=
"商品编辑:SKU编辑"
,
notes
=
"只修改单品信息,不包含商品信息"
)
@PostMapping
(
"edit_sku"
)
@PostMapping
(
"edit_sku"
)
public
ResponseDto
<
Object
>
editSku
(
@Valid
@RequestBody
GoblinStoreMgtGoodsEditSkuParam
storeMgtGoodsEditSkuParam
)
{
public
ResponseDto
<
Object
>
editSku
(
@Valid
@RequestBody
GoblinStoreMgtGoodsEditSkuParam
storeMgtGoodsEditSkuParam
)
{
if
(!
goblinRedisUtils
.
hasStoreId
(
CurrentUtil
.
getCurrentUid
(),
storeMgtGoodsEditSkuParam
.
getStoreId
()))
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
if
(!
goblinRedisUtils
.
hasStoreId
(
currentUid
,
storeMgtGoodsEditSkuParam
.
getStoreId
()))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149002"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149002"
));
}
}
GoblinGoodsSkuInfoVo
mgtGoodsSkuInfoVo
=
goblinRedisUtils
.
getMgtGoodsSkuInfoVo
(
storeMgtGoodsEditSkuParam
.
getSkuId
());
GoblinGoodsSkuInfoVo
mgtGoodsSkuInfoVo
=
goblinRedisUtils
.
getMgtGoodsSkuInfoVo
(
storeMgtGoodsEditSkuParam
.
getSkuId
());
...
@@ -252,15 +253,27 @@ public class GoblinStoreMgtGoodsController {
...
@@ -252,15 +253,27 @@ public class GoblinStoreMgtGoodsController {
storeMgtGoodsEditSkuParam
.
setStock
(
stock
+
operStockVal
);
storeMgtGoodsEditSkuParam
.
setStock
(
stock
+
operStockVal
);
}
}
}
}
List
<
GoblinGoodsSpecDto
>
paramSkuSpecList
=
storeMgtGoodsEditSkuParam
.
getSkuSpecList
();
List
<
String
>
skuIdList
=
goodsInfoVo
.
getSkuIdList
();
List
<
String
>
skuIdList
=
goodsInfoVo
.
getSkuIdList
();
for
(
String
skuId
:
skuIdList
)
{
// 比对所有SKU规格信息
for
(
String
skuId
:
skuIdList
)
{
// 比对所有SKU规格信息
GoblinGoodsSkuInfoVo
existMgtGoodsSkuInfoVo
=
goblinRedisUtils
.
getMgtGoodsSkuInfoVo
(
skuId
);
GoblinGoodsSkuInfoVo
existMgtGoodsSkuInfoVo
=
goblinRedisUtils
.
getMgtGoodsSkuInfoVo
(
skuId
);
Map
<
String
,
String
>
editBefSkuSpecMap
=
existMgtGoodsSkuInfoVo
.
getSkuSpecList
().
stream
()
Map
<
String
,
String
>
editBefSkuSpecMap
=
existMgtGoodsSkuInfoVo
.
getSkuSpecList
().
stream
()
.
collect
(
Collectors
.
toMap
(
GoblinGoodsSpecDto:
:
getSpecName
,
GoblinGoodsSpecDto:
:
getSpecVname
,
(
k1
,
k2
)
->
k2
));
.
collect
(
Collectors
.
toMap
(
GoblinGoodsSpecDto:
:
getSpecName
,
GoblinGoodsSpecDto:
:
getSpecVname
,
(
k1
,
k2
)
->
k2
));
boolean
diffSpecFlg
=
false
;
boolean
diffSpecFlg
=
false
;
List
<
GoblinGoodsSpecDto
>
paramSkuSpecList
=
storeMgtGoodsEditSkuParam
.
getSkuSpecList
();
if
(
paramSkuSpecList
.
size
()
!=
editBefSkuSpecMap
.
size
())
{
log
.
warn
(
"商品管理:商品编辑:SKU编辑:规格信息不一致[skuId={},editBefSkuSpecMap={},paramGoodsSpecDto={}]"
,
paramSkuId
,
editBefSkuSpecMap
,
paramSkuSpecList
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149014"
));
}
for
(
GoblinGoodsSpecDto
paramGoodsSpecDto
:
paramSkuSpecList
)
{
for
(
GoblinGoodsSpecDto
paramGoodsSpecDto
:
paramSkuSpecList
)
{
if
(!
editBefSkuSpecMap
.
get
(
paramGoodsSpecDto
.
getSpecName
()).
equals
(
paramGoodsSpecDto
.
getSpecVname
()))
{
String
editBefSkuSpecVname
=
editBefSkuSpecMap
.
get
(
paramGoodsSpecDto
.
getSpecName
());
if
(
null
==
editBefSkuSpecVname
)
{
// 入参规格不存在于原SKU中,则参数有误
log
.
warn
(
"商品管理:商品编辑:SKU编辑:规格信息不一致[skuId={},editBefSkuSpecMap={},paramGoodsSpecDto={}]"
,
paramSkuId
,
editBefSkuSpecMap
,
paramGoodsSpecDto
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149014"
));
}
if
(!
editBefSkuSpecVname
.
equals
(
paramGoodsSpecDto
.
getSpecVname
()))
{
diffSpecFlg
=
true
;
// 多个规格中只要存在一个不一致,即可跳过,标记为允许添加
diffSpecFlg
=
true
;
// 多个规格中只要存在一个不一致,即可跳过,标记为允许添加
break
;
break
;
}
}
...
@@ -275,11 +288,11 @@ public class GoblinStoreMgtGoodsController {
...
@@ -275,11 +288,11 @@ public class GoblinStoreMgtGoodsController {
if
(
specVo
.
getSpecName
().
equals
(
entry
.
getKey
()))
{
if
(
specVo
.
getSpecName
().
equals
(
entry
.
getKey
()))
{
List
<
GoblinGoodsSpecValueVo
>
specValues
=
specVo
.
getSpecValues
();
List
<
GoblinGoodsSpecValueVo
>
specValues
=
specVo
.
getSpecValues
();
int
idx
=
IntStream
.
range
(
0
,
specValues
.
size
())
int
idx
=
IntStream
.
range
(
0
,
specValues
.
size
())
.
filter
(
i
->
specValues
.
get
(
i
).
getSpecVname
().
equals
(
entry
.
getValue
()))
.
filter
(
i
->
specValues
.
get
(
i
).
getSpecVname
().
equals
(
entry
.
getValue
())).
findFirst
().
orElse
(-
1
);
.
findFirst
().
orElse
(-
1
);
if
(
idx
==
-
1
)
{
if
(
idx
==
-
1
)
{
log
.
warn
(
"商品管理:商品编辑:SKU编辑:规格信息不一致[specVoList={},editBefSkuSpecMap={}]"
,
JsonUtils
.
toJson
(
specVoList
),
editBefSkuSpecMap
);
log
.
warn
(
"商品管理:商品编辑:SKU编辑:规格信息不一致[skuId={},specVoList={},editBefSkuSpecMap={}]"
,
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149013"
));
paramSkuId
,
JsonUtils
.
toJson
(
specValues
),
editBefSkuSpecMap
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149014"
));
}
else
{
}
else
{
specValues
.
get
(
idx
).
setSpecVname
(
paramSkuSpecMap
.
get
(
specVo
.
getSpecName
()));
specValues
.
get
(
idx
).
setSpecVname
(
paramSkuSpecMap
.
get
(
specVo
.
getSpecName
()));
}
}
...
@@ -292,11 +305,12 @@ public class GoblinStoreMgtGoodsController {
...
@@ -292,11 +305,12 @@ public class GoblinStoreMgtGoodsController {
continue
;
continue
;
}
}
if
(!
diffSpecFlg
)
{
if
(!
diffSpecFlg
)
{
log
.
warn
(
"商品管理:商品编辑:SKU编辑:重复的规格信息[editBefSkuSpecMap={},paramSkuSpecMap={}]"
,
editBefSkuSpecMap
,
JsonUtils
.
toJson
(
paramSkuSpecList
));
log
.
warn
(
"商品管理:商品编辑:SKU编辑:重复的规格信息[skuId={},editBefSkuSpecMap={},paramSkuSpecMap={}]"
,
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149014"
));
paramSkuId
,
editBefSkuSpecMap
,
JsonUtils
.
toJson
(
paramSkuSpecList
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149015"
));
}
}
}
}
if
(
goblinstoreMgtGoodsService
.
goodsEditSku
(
storeMgtGoodsEditSkuParam
,
goodsInfoVo
))
{
if
(
goblinstoreMgtGoodsService
.
goodsEditSku
(
currentUid
,
storeMgtGoodsEditSkuParam
,
goodsInfoVo
))
{
return
ResponseDto
.
success
(
goblinRedisUtils
.
getMgtGoodsSkuInfoVo
(
paramSkuId
));
return
ResponseDto
.
success
(
goblinRedisUtils
.
getMgtGoodsSkuInfoVo
(
paramSkuId
));
}
else
{
}
else
{
if
(
null
!=
operStock
&&
operStock
!=
0
)
{
// 处理库存:回滚
if
(
null
!=
operStock
&&
operStock
!=
0
)
{
// 处理库存:回滚
...
@@ -337,7 +351,7 @@ public class GoblinStoreMgtGoodsController {
...
@@ -337,7 +351,7 @@ public class GoblinStoreMgtGoodsController {
}
}
if
(!
diffSpecFlg
)
{
if
(!
diffSpecFlg
)
{
log
.
warn
(
"商品管理:商品编辑:SKU添加:重复的规格信息[skuSpecMap={},paramSkuSpecMap={}]"
,
skuSpecMap
,
JsonUtils
.
toJson
(
skuSpecList
));
log
.
warn
(
"商品管理:商品编辑:SKU添加:重复的规格信息[skuSpecMap={},paramSkuSpecMap={}]"
,
skuSpecMap
,
JsonUtils
.
toJson
(
skuSpecList
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"14901
4
"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"14901
5
"
));
}
}
}
}
List
<
GoblinGoodsSpecVo
>
specVoList
=
goodsInfoVo
.
getSpecVoList
();
List
<
GoblinGoodsSpecVo
>
specVoList
=
goodsInfoVo
.
getSpecVoList
();
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/manage/GoblinStoreMgtGoodsServiceImpl.java
View file @
43767c0b
...
@@ -209,12 +209,19 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
...
@@ -209,12 +209,19 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
}
}
@Override
@Override
public
boolean
goodsEditSku
(
GoblinStoreMgtGoodsEditSkuParam
storeMgtGoodsEditSkuParam
,
GoblinGoodsInfoVo
goodsInfoVo
)
{
public
boolean
goodsEditSku
(
String
uid
,
GoblinStoreMgtGoodsEditSkuParam
storeMgtGoodsEditSkuParam
,
GoblinGoodsInfoVo
goodsInfoVo
)
{
GoblinGoodsSkuInfoVo
editGoodsSkuInfoVo
=
storeMgtGoodsEditSkuParam
.
initEditGoodsSkuInfoVo
();
GoblinGoodsSkuInfoVo
editGoodsSkuInfoVo
=
storeMgtGoodsEditSkuParam
.
initEditGoodsSkuInfoVo
();
editGoodsSkuInfoVo
.
setUpdatedBy
(
uid
);
editGoodsSkuInfoVo
.
setUpdatedAt
(
LocalDateTime
.
now
());
if
(
goblinMongoUtils
.
updateGoodsSkuInfoVo
(
editGoodsSkuInfoVo
))
{
if
(
goblinMongoUtils
.
updateGoodsSkuInfoVo
(
editGoodsSkuInfoVo
))
{
goblinRedisUtils
.
setSkuStock
(
null
,
editGoodsSkuInfoVo
.
getSkuId
(),
editGoodsSkuInfoVo
.
getSkuStock
());
Integer
operStock
=
storeMgtGoodsEditSkuParam
.
getOperStock
();
if
(
null
!=
operStock
&&
operStock
!=
0
)
{
goblinRedisUtils
.
setSkuStock
(
null
,
editGoodsSkuInfoVo
.
getSkuId
(),
editGoodsSkuInfoVo
.
getSkuStock
());
}
if
(!
CollectionUtils
.
isEmpty
(
storeMgtGoodsEditSkuParam
.
getSkuSpecList
()))
{
// 更改了规格,需要同步SPU里的规格信息
if
(!
CollectionUtils
.
isEmpty
(
storeMgtGoodsEditSkuParam
.
getSkuSpecList
()))
{
// 更改了规格,需要同步SPU里的规格信息
goodsInfoVo
.
setUpdatedBy
(
uid
);
goodsInfoVo
.
setUpdatedAt
(
editGoodsSkuInfoVo
.
getUpdatedAt
());
goblinMongoUtils
.
updateGoodsInfoVo
(
goodsInfoVo
);
goblinMongoUtils
.
updateGoodsInfoVo
(
goodsInfoVo
);
}
}
// TODO: 2022/1/5 zhanggb redis+sql
// TODO: 2022/1/5 zhanggb redis+sql
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/resources/errors.properties
View file @
43767c0b
...
@@ -28,7 +28,8 @@
...
@@ -28,7 +28,8 @@
149011
=
SKU不存在,请核实
149011
=
SKU不存在,请核实
149012
=
SKU库存不足,请核实
149012
=
SKU库存不足,请核实
149013
=
SKU编辑失败
149013
=
SKU编辑失败
149014
=
SKU添加失败,重复的规格信息
149014
=
SKU编辑失败,规格信息有误
149015
=
SKU添加失败,重复的规格信息
148001
=
库存不足
148001
=
库存不足
...
...
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