记得上下班打卡 | 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
3a8884fc
Commit
3a8884fc
authored
Mar 30, 2026
by
姜秀龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
收钱 goods add edit
parent
3ad34a00
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
63 additions
and
1224 deletions
+63
-1224
GoblinStoreMgtGoodsSqbAddParam.java
...ice/goblin/dto/manage/GoblinStoreMgtGoodsSqbAddParam.java
+7
-26
IGoblinSqbGoodsService.java
...uidnet/service/goblin/service/IGoblinSqbGoodsService.java
+0
-46
IGoblinStoreMgtSqbGoodsService.java
...goblin/service/manage/IGoblinStoreMgtSqbGoodsService.java
+2
-7
GoblinSqbGoodsController.java
...t/service/goblin/controller/GoblinSqbGoodsController.java
+0
-82
GoblinStoreMgtSqbGoodsController.java
...n/controller/manage/GoblinStoreMgtSqbGoodsController.java
+9
-102
GoblinSqbGoodsServiceImpl.java
...ervice/goblin/service/impl/GoblinSqbGoodsServiceImpl.java
+0
-614
GoblinStoreMgtSqbGoodsServiceImpl.java
...ervice/impl/manage/GoblinStoreMgtSqbGoodsServiceImpl.java
+45
-347
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinStoreMgtGoodsSqbAddParam.java
View file @
3a8884fc
...
...
@@ -162,32 +162,13 @@ public class GoblinStoreMgtGoodsSqbAddParam implements Serializable {
*
* @return GoblinGoodsInfoVo
*/
public
GoblinGoodsInfoVo
initEditGoodsInfoVo
()
{
GoblinGoodsInfoVo
vo
=
GoblinGoodsInfoVo
.
getNew
();
vo
.
setStoreId
(
this
.
getStoreId
());
vo
.
setSpuId
(
this
.
getSpuId
());
if
(
StringUtils
.
isBlank
(
this
.
getSpuNo
()))
{
vo
.
setSpuNo
(
vo
.
getSpuId
());
}
else
{
vo
.
setSpuNo
(
this
.
getSpuNo
());
}
vo
.
setSpuType
(
2
);
vo
.
setName
(
this
.
getName
());
// vo.setSubtitle(this.getSubtitle());
// vo.setSellPrice(this.getSellPrice());
vo
.
setIntro
(
this
.
getIntro
());
vo
.
setDetails
(
this
.
getDetails
());
vo
.
setCoverPic
(
StringUtils
.
isBlank
(
this
.
getCoverPic
())
?
this
.
getImageList
().
get
(
0
)
:
this
.
getCoverPic
());
vo
.
setVideo
(
this
.
getVideo
());
vo
.
setSpecMode
(
"1"
);
vo
.
setCateFid
(
this
.
getCateFid
());
vo
.
setCateSid
(
this
.
getCateSid
());
vo
.
setCateTid
(
this
.
getCateTid
());
vo
.
setShelvesHandle
(
this
.
getShelvesHandle
());
vo
.
setShelvesTime
(
this
.
getShelvesTime
());
vo
.
setVirtualFlg
(
"1"
);
vo
.
setImageList
(
this
.
getImageList
());
vo
.
setLogisticsTemplate
(
""
);
public
GoblinGoodsInfoVo
initEditGoodsInfoVo
(
GoblinSqbPerfGoodsVo
sqbGoods
,
GoblinGoodsInfoVo
mgtGoodsInfoVo
)
{
GoblinGoodsInfoVo
vo
=
mgtGoodsInfoVo
;
vo
.
setName
(
sqbGoods
.
getTitle
());
vo
.
setDetails
(
sqbGoods
.
getProductIntroduction
());
vo
.
setCoverPic
(
CollectionUtil
.
isEmpty
(
sqbGoods
.
getConverImages
())
?
""
:
sqbGoods
.
getConverImages
().
get
(
0
));
// vo.setImageList(sqbGoods.getConverImages());
return
vo
;
}
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinSqbGoodsService.java
deleted
100644 → 0
View file @
3ad34a00
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo
;
import
com.liquidnet.service.goblin.param.shouqianba.request.GoblinSqbGoodsSyncParam
;
import
java.util.List
;
/**
* 收钱吧商品同步服务接口
*/
public
interface
IGoblinSqbGoodsService
{
/**
* 根据搜索条件拉取商城商品列表
*
* @return 过滤后的商品列表
*/
ResponseDto
<
List
<
GoblinSqbPerfGoodsVo
>>
getProductList
();
/**
* 批量新增商品到 goblin 系统(不存在则新增)
*
* @param storeId 门店ID
* @param items 待新增商品列表
* @return 结果
*/
ResponseDto
<
String
>
addGoods
(
String
storeId
,
List
<
GoblinSqbPerfGoodsVo
>
items
);
/**
* 批量更新商品到 goblin 系统(仅更新已存在)
*
* @param storeId 门店ID
* @param items 待更新商品列表
* @return 结果
*/
ResponseDto
<
String
>
updateGoods
(
String
storeId
,
List
<
GoblinSqbPerfGoodsVo
>
items
);
/**
* 查询演出关联商品列表(先查 Redis 缓存,未命中则查 MySQL 并写入缓存)
*
* @param performancesId 演出ID
* @return 演出关联商品列表
*/
ResponseDto
<
List
<
GoblinSqbPerfGoodsVo
>>
getPerfGoods
(
String
performancesId
);
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/manage/IGoblinStoreMgtSqbGoodsService.java
View file @
3a8884fc
package
com
.
liquidnet
.
service
.
goblin
.
service
.
manage
;
import
com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsSqbAddParam
;
import
com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsSqbEditSkuParam
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo
;
import
java.util.List
;
...
...
@@ -20,10 +19,6 @@ public interface IGoblinStoreMgtSqbGoodsService {
/**
* 商品管理:商品编辑:SPU编辑-收钱吧商品
*/
boolean
sqbGoodsEditSpu
(
String
uid
,
GoblinS
toreMgtGoodsSqbAddParam
mgtGoodsSqbParam
,
GoblinGoodsInfoVo
goodsInfoVo
);
boolean
sqbGoodsEditSpu
(
String
uid
,
GoblinS
qbPerfGoodsVo
mgtGoodsSqbParam
,
GoblinGoodsInfoVo
goodsInfoVo
);
/**
* 商品管理:商品编辑:SKU编辑-收钱吧商品
*/
boolean
sqbGoodsEditSku
(
String
uid
,
GoblinStoreMgtGoodsSqbEditSkuParam
mgtGoodsSqbParam
,
GoblinGoodsInfoVo
goodsInfoVo
);
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinSqbGoodsController.java
deleted
100644 → 0
View file @
3ad34a00
package
com
.
liquidnet
.
service
.
goblin
.
controller
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbPerfGoodsVo
;
import
com.liquidnet.service.goblin.service.IGoblinSqbGoodsService
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.liquidnet.service.goblin.param.shouqianba.request.GoblinSqbGoodsSyncParam
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 收钱吧商品同步 Controller
*/
@Slf4j
@Api
(
tags
=
"收钱吧商品同步"
)
@RestController
@RequestMapping
(
"/sqb/goods"
)
public
class
GoblinSqbGoodsController
{
@Autowired
IGoblinSqbGoodsService
goblinSqbGoodsService
;
@Autowired
GoblinRedisUtils
goblinRedisUtils
;
/**
* 查询所有商城及商品列表
* 后端自动拉取所有商城,循环获取每个商城的商品列表,聚合返回前端
*/
@GetMapping
(
"/list"
)
@ApiOperation
(
"查询收钱吧所有商城及商品列表"
)
public
ResponseDto
<
List
<
GoblinSqbPerfGoodsVo
>>
list
()
{
return
goblinSqbGoodsService
.
getProductList
();
}
/**
* 批量新增收钱吧商品
*/
@PostMapping
(
"/add"
)
@ApiOperation
(
"批量新增收钱吧商品"
)
public
ResponseDto
<
String
>
addGoods
(
@RequestParam
(
"storeId"
)
String
storeId
,
@RequestBody
@Validated
List
<
GoblinSqbPerfGoodsVo
>
items
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
if
(!
goblinRedisUtils
.
hasStoreId
(
currentUid
,
storeId
))
{
log
.
warn
(
"[收钱吧商品同步] 批量新增: 无权操作该店铺, uid={}, storeId={}"
,
currentUid
,
storeId
);
return
ResponseDto
.
failure
(
"无权操作该店铺"
);
}
return
goblinSqbGoodsService
.
addGoods
(
storeId
,
items
);
}
/**
* 批量更新收钱吧商品
*/
@PostMapping
(
"/update"
)
@ApiOperation
(
"批量更新收钱吧商品"
)
public
ResponseDto
<
String
>
updateGoods
(
@RequestParam
(
"storeId"
)
String
storeId
,
@RequestBody
@Validated
List
<
GoblinSqbPerfGoodsVo
>
items
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
if
(!
goblinRedisUtils
.
hasStoreId
(
currentUid
,
storeId
))
{
log
.
warn
(
"[收钱吧商品同步] 批量更新: 无权操作该店铺, uid={}, storeId={}"
,
currentUid
,
storeId
);
return
ResponseDto
.
failure
(
"无权操作该店铺"
);
}
return
goblinSqbGoodsService
.
updateGoods
(
storeId
,
items
);
}
/**
* 查询演出关联商品列表(C端)
* 先查 Redis 缓存(TTL 5min),未命中则查 MySQL 并写入缓存
*/
@GetMapping
(
"/performance/goods/{performancesId}"
)
@ApiOperation
(
"查询演出关联商品列表"
)
public
ResponseDto
<
List
<
GoblinSqbPerfGoodsVo
>>
getPerfGoods
(
@PathVariable
String
performancesId
)
{
return
goblinSqbGoodsService
.
getPerfGoods
(
performancesId
);
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinStoreMgtSqbGoodsController.java
View file @
3a8884fc
...
...
@@ -36,7 +36,6 @@ import java.util.Objects;
/**
* 收钱吧商品管理
*/
@ApiSupport
(
order
=
1
)
@Api
(
tags
=
"收钱吧商品管理"
)
@Slf4j
@Validated
...
...
@@ -83,113 +82,21 @@ public class GoblinStoreMgtSqbGoodsController {
@ApiOperationSupport
(
order
=
2
)
@ApiOperation
(
value
=
"商品编辑:SPU编辑-收钱吧商品"
,
notes
=
"只修改商品信息,不包含价格库存相关信息"
)
@PutMapping
(
"edit_spu"
)
public
ResponseDto
<
Object
>
editSpu
(
@Valid
@RequestBody
GoblinStoreMgtGoodsSqbAddParam
mgtGoodsSqbEditParam
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
(),
storeId
=
mgtGoodsSqbEditParam
.
getStoreId
();
public
ResponseDto
<
Object
>
editSpu
(
@RequestParam
(
"storeId"
)
String
storeId
,
@RequestBody
@Validated
List
<
GoblinSqbPerfGoodsVo
>
items
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
if
(!
goblinRedisUtils
.
hasStoreId
(
currentUid
,
storeId
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149002"
));
GoblinGoodsInfoVo
mgtGoodsInfoVo
;
if
(
StringUtils
.
isBlank
(
mgtGoodsSqbEditParam
.
getSpuId
())
||
null
==
(
mgtGoodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
mgtGoodsSqbEditParam
.
getSpuId
()))
||
!
mgtGoodsInfoVo
.
getStoreId
().
equals
(
storeId
)
||
!
mgtGoodsInfoVo
.
getDelFlg
().
equals
(
"0"
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149010"
));
}
if
(
mgtGoodsInfoVo
.
getSpuType
()
!=
2
)
{
return
ResponseDto
.
failure
(
ErrorCode
.
HTTP_PARAM_ERROR
.
getCode
(),
"无效操作,该商品非券类商品"
);
}
if
(!
mgtGoodsInfoVo
.
getName
().
equals
(
mgtGoodsSqbEditParam
.
getName
())
&&
goblinMongoUtils
.
countMgtGoodsInfoVo
(
mgtGoodsSqbEditParam
.
getName
())
>
0
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149007"
));
}
if
(!
mgtGoodsSqbEditParam
.
getShelvesHandle
().
equals
(
mgtGoodsInfoVo
.
getShelvesHandle
())
&&
mgtGoodsInfoVo
.
getShelvesStatus
().
equals
(
"3"
))
{
return
ResponseDto
.
failure
(
ErrorCode
.
HTTP_PARAM_ERROR
.
getCode
(),
"上架处理方式只限商品未上架时变更"
);
}
String
cateFid
=
mgtGoodsSqbEditParam
.
getCateFid
(),
cateSid
=
mgtGoodsSqbEditParam
.
getCateSid
(),
cateTid
=
mgtGoodsSqbEditParam
.
getCateTid
();
List
<
GoblinSelfGoodsCategoryVo
>
selfGoodsCategoryVos
=
goblinStoreMgtExtraService
.
listCategoryVo
();
if
(
selfGoodsCategoryVos
.
stream
().
noneMatch
(
r
->
r
.
getCateId
().
equals
(
cateFid
)
&&
r
.
getGrade
().
equals
(
"1"
)))
{
return
ResponseDto
.
failure
(
ErrorCode
.
HTTP_PARAM_ERROR
.
getCode
(),
"商品一级分类无效"
);
}
if
(
StringUtils
.
isNotBlank
(
cateSid
)
&&
selfGoodsCategoryVos
.
stream
().
noneMatch
(
r
->
r
.
getCateId
().
equals
(
cateSid
)
&&
r
.
getGrade
().
equals
(
"2"
)))
{
return
ResponseDto
.
failure
(
ErrorCode
.
HTTP_PARAM_ERROR
.
getCode
(),
"商品二级分类无效"
);
}
if
(
StringUtils
.
isNotBlank
(
cateTid
)
&&
selfGoodsCategoryVos
.
stream
().
noneMatch
(
r
->
r
.
getCateId
().
equals
(
cateTid
)
&&
r
.
getGrade
().
equals
(
"3"
)))
{
return
ResponseDto
.
failure
(
ErrorCode
.
HTTP_PARAM_ERROR
.
getCode
(),
"商品三级分类无效"
);
}
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"收钱吧商品管理:商品编辑:SPU编辑:[GoblinStoreMgtGoodsSqbAddParam={}]"
,
JsonUtils
.
toJson
(
mgtGoodsSqbEditParam
));
}
boolean
resultFlg
=
goblinstoreMgtSqbGoodsService
.
sqbGoodsEditSpu
(
currentUid
,
mgtGoodsSqbEditParam
,
mgtGoodsInfoVo
);
return
resultFlg
?
ResponseDto
.
success
()
:
ResponseDto
.
failure
();
log
.
debug
(
"收钱吧商品管理:商品编辑:SPU编辑:[GoblinStoreMgtGoodsSqbAddParam={}]"
,
JsonUtils
.
toJson
(
items
));
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"商品编辑:SKU编辑-收钱吧商品"
,
notes
=
"只修改单品信息,不包含商品信息"
)
@PostMapping
(
"edit_sku"
)
public
ResponseDto
<
Object
>
editSku
(
@Valid
@RequestBody
GoblinStoreMgtGoodsSqbEditSkuParam
mgtGoodsSqbEditSkuParam
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
(),
storeId
=
mgtGoodsSqbEditSkuParam
.
getStoreId
();
if
(!
goblinRedisUtils
.
hasStoreId
(
currentUid
,
storeId
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149002"
));
for
(
GoblinSqbPerfGoodsVo
item
:
items
)
{
GoblinGoodsInfoVo
mgtGoodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
item
.
getSpuId
());
goblinstoreMgtSqbGoodsService
.
sqbGoodsEditSpu
(
currentUid
,
item
,
mgtGoodsInfoVo
);
}
String
paramSkuId
=
mgtGoodsSqbEditSkuParam
.
getSkuId
();
GoblinGoodsSkuInfoVo
mgtGoodsSkuInfoVo
;
if
(
StringUtils
.
isBlank
(
paramSkuId
)
||
null
==
(
mgtGoodsSkuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
paramSkuId
))
||
!
mgtGoodsSkuInfoVo
.
getStoreId
().
equals
(
storeId
)
||
!
mgtGoodsSkuInfoVo
.
getDelFlg
().
equals
(
"0"
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149011"
));
}
if
(
mgtGoodsSkuInfoVo
.
getSkuType
()
!=
2
)
{
return
ResponseDto
.
failure
(
ErrorCode
.
HTTP_PARAM_ERROR
.
getCode
(),
"无效操作,该商品非券类商品"
);
}
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"收钱吧商品管理:商品编辑:SKU编辑:[GoblinStoreMgtGoodsSqbEditSkuParam={}]"
,
JsonUtils
.
toJson
(
mgtGoodsSqbEditSkuParam
));
}
GoblinGoodsInfoVo
goodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
mgtGoodsSkuInfoVo
.
getSpuId
());
mgtGoodsSqbEditSkuParam
.
setStock
(
mgtGoodsSkuInfoVo
.
getStock
());
mgtGoodsSqbEditSkuParam
.
setSkuStock
(
mgtGoodsSkuInfoVo
.
getSkuStock
());
Integer
operStock
=
mgtGoodsSqbEditSkuParam
.
getOperStock
();
if
(
null
!=
operStock
&&
operStock
!=
0
)
{
int
operStockVal
=
Math
.
abs
(
operStock
);
Integer
stock
=
mgtGoodsSkuInfoVo
.
getStock
();
Integer
skuStock
=
mgtGoodsSkuInfoVo
.
getSkuStock
();
int
surplusStock
=
goblinRedisUtils
.
getSkuStock
(
null
,
paramSkuId
);
if
(
operStock
<
0
&&
surplusStock
>
0
&&
surplusStock
>=
operStockVal
)
{
if
(
goblinRedisUtils
.
decrSkuStock
(
null
,
paramSkuId
,
operStockVal
)
<
0
)
{
goblinRedisUtils
.
incrSkuStock
(
null
,
paramSkuId
,
operStockVal
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149012"
));
}
else
{
mgtGoodsSqbEditSkuParam
.
setSkuStock
(
skuStock
-
operStockVal
);
mgtGoodsSqbEditSkuParam
.
setStock
(
stock
-
operStockVal
);
}
}
else
if
(
operStock
>
0
)
{
goblinRedisUtils
.
incrSkuStock
(
null
,
paramSkuId
,
operStockVal
);
mgtGoodsSqbEditSkuParam
.
setSkuStock
(
skuStock
+
operStockVal
);
mgtGoodsSqbEditSkuParam
.
setStock
(
stock
+
operStockVal
);
}
else
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149012"
));
}
return
ResponseDto
.
success
();
}
if
(
goblinstoreMgtSqbGoodsService
.
sqbGoodsEditSku
(
currentUid
,
mgtGoodsSqbEditSkuParam
,
goodsInfoVo
))
{
mgtGoodsSkuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
paramSkuId
);
mgtGoodsSkuInfoVo
.
setSurplusStock
(
goblinRedisUtils
.
getSkuStock
(
null
,
paramSkuId
));
return
ResponseDto
.
success
(
mgtGoodsSkuInfoVo
);
}
else
{
if
(
null
!=
operStock
&&
operStock
!=
0
)
{
int
operStockVal
=
Math
.
abs
(
operStock
);
if
(
operStock
>
0
)
{
goblinRedisUtils
.
decrSkuStock
(
null
,
paramSkuId
,
operStockVal
);
}
else
{
goblinRedisUtils
.
incrSkuStock
(
null
,
paramSkuId
,
operStockVal
);
}
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149013"
));
}
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinSqbGoodsServiceImpl.java
deleted
100644 → 0
View file @
3ad34a00
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/manage/GoblinStoreMgtSqbGoodsServiceImpl.java
View file @
3a8884fc
This diff is collapsed.
Click to expand it.
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