记得上下班打卡 | 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
339fdeb3
Commit
339fdeb3
authored
Mar 31, 2026
by
姜秀龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
收钱 goblin商品列表
parent
fd0e404d
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
162 additions
and
3 deletions
+162
-3
GoblinStoreMgtGoodsSqbAddParam.java
...ice/goblin/dto/manage/GoblinStoreMgtGoodsSqbAddParam.java
+3
-3
GoblinSqbPerformanceGoodsInfoVo.java
...ervice/goblin/dto/vo/GoblinSqbPerformanceGoodsInfoVo.java
+23
-0
GoblinFrontService.java
.../liquidnet/service/goblin/service/GoblinFrontService.java
+5
-0
GoblinSqbController.java
...uidnet/service/goblin/controller/GoblinSqbController.java
+19
-0
GoblinFrontServiceImpl.java
...t/service/goblin/service/impl/GoblinFrontServiceImpl.java
+112
-0
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinStoreMgtGoodsSqbAddParam.java
View file @
339fdeb3
...
...
@@ -133,9 +133,9 @@ public class GoblinStoreMgtGoodsSqbAddParam implements Serializable {
vo
.
setCoverPic
(
CollectionUtil
.
isEmpty
(
sqbGoods
.
getConverImages
())
?
""
:
sqbGoods
.
getConverImages
().
get
(
0
));
vo
.
setVideo
(
""
);
vo
.
setSpecMode
(
"1"
);
vo
.
setCateFid
(
"2
2196120924543
"
);
vo
.
setCateSid
(
"2
2199134037630
"
);
vo
.
setCateTid
(
"2
2199134105660
"
);
vo
.
setCateFid
(
"2
690132621531
"
);
vo
.
setCateSid
(
"2
690132639617
"
);
vo
.
setCateTid
(
"2
690132656988
"
);
vo
.
setShelvesHandle
(
"1"
);
vo
.
setShelvesTime
(
null
);
vo
.
setVirtualFlg
(
"1"
);
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinSqbPerformanceGoodsInfoVo.java
0 → 100644
View file @
339fdeb3
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.math.BigDecimal
;
/**
* 收钱吧-演出关联商品前端展示VO
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"GoblinSqbPerformanceGoodsInfoVo"
,
description
=
"收钱吧-演出关联商品前端展示VO"
)
public
class
GoblinSqbPerformanceGoodsInfoVo
extends
GoblinGoodsInfoVo
{
@ApiModelProperty
(
value
=
"正常售价"
)
private
BigDecimal
price
;
@ApiModelProperty
(
value
=
"换购价(不设置则按正常价)"
)
private
BigDecimal
settlementPrice
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/GoblinFrontService.java
View file @
339fdeb3
...
...
@@ -42,6 +42,11 @@ public interface GoblinFrontService {
*/
GoblinFrontSelectGoodVo
getSelectGoods
(
int
page
,
int
pageSize
);
/**
* 按演出ID查询已关联商品列表
*/
GoblinFrontSelectGoodVo
getPerformanceSelectGoods
(
String
performancesId
,
int
page
,
int
pageSize
);
//根据艺人标签和演出id查询商品列表
List
<
GoblinGoodsInfoVo
>
getGoodByMusicTagP
(
String
musicTag
,
String
performanceId
);
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinSqbController.java
View file @
339fdeb3
...
...
@@ -2,11 +2,14 @@ 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.GoblinFrontSelectGoodVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbCouponVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinSqbOrderDetailVo
;
import
com.liquidnet.service.goblin.service.GoblinFrontService
;
import
com.liquidnet.service.goblin.service.IGoblinSqbService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -26,6 +29,8 @@ public class GoblinSqbController {
@Autowired
private
IGoblinSqbService
goblinSqbService
;
@Autowired
private
GoblinFrontService
goblinFrontService
;
/**
...
...
@@ -96,5 +101,19 @@ public class GoblinSqbController {
return
goblinSqbService
.
getOrderDetail
(
userId
,
orderId
);
}
@GetMapping
(
"/performance/selectGoods"
)
@ApiOperation
(
"按演出ID获得已关联商品列表(pageNumber从0开始)"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
paramType
=
"query"
,
required
=
true
,
dataType
=
"String"
,
name
=
"performancesId"
,
value
=
"演出ID"
),
@ApiImplicitParam
(
paramType
=
"query"
,
required
=
true
,
dataType
=
"int"
,
name
=
"pageSize"
,
value
=
"分页大小"
),
@ApiImplicitParam
(
paramType
=
"query"
,
required
=
true
,
dataType
=
"int"
,
name
=
"pageNumber"
,
value
=
"页码(从0开始)"
)
})
public
ResponseDto
<
GoblinFrontSelectGoodVo
>
getPerformanceSelectGoods
(
@RequestParam
(
name
=
"performancesId"
,
required
=
true
)
String
performancesId
,
@RequestParam
(
name
=
"pageSize"
,
required
=
true
)
int
pageSize
,
@RequestParam
(
name
=
"pageNumber"
,
required
=
true
)
int
pageNumber
)
{
return
ResponseDto
.
success
(
goblinFrontService
.
getPerformanceSelectGoods
(
performancesId
,
pageNumber
,
pageSize
));
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinFrontServiceImpl.java
View file @
339fdeb3
package
com
.
liquidnet
.
service
.
goblin
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.*
;
...
...
@@ -12,6 +13,7 @@ import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.entity.*
;
import
com.liquidnet.service.goblin.mapper.GoblinSqbPerformanceGoodsMapper
;
import
com.liquidnet.service.goblin.enums.GoblinStoreConf
;
import
com.liquidnet.service.goblin.service.GoblinCouponService
;
import
com.liquidnet.service.goblin.service.GoblinFrontService
;
...
...
@@ -58,6 +60,8 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
GoblinMongoUtils
mongoUtils
;
@Autowired
GoblinCouponService
goblinCouponService
;
@Autowired
private
GoblinSqbPerformanceGoodsMapper
goblinSqbPerformanceGoodsMapper
;
@Override
public
ArrayList
<
GoblinFrontBannerVo
>
getListBanner
()
{
...
...
@@ -1056,6 +1060,114 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
// return null;
}
@Override
public
GoblinFrontSelectGoodVo
getPerformanceSelectGoods
(
String
performancesId
,
int
page
,
int
pageSize
)
{
GoblinFrontSelectGoodVo
respVo
=
GoblinFrontSelectGoodVo
.
getNew
();
if
(
StringUtil
.
isBlank
(
performancesId
))
{
respVo
.
setCount
(
0
);
respVo
.
setGoblinGoodsInfoVoList
(
ObjectUtil
.
goblinGoodsInfoVoArrayList
());
return
respVo
;
}
int
safePage
=
Math
.
max
(
page
,
0
);
int
safePageSize
=
pageSize
<=
0
?
40
:
Math
.
min
(
pageSize
,
100
);
List
<
GoblinSqbPerformanceGoods
>
relations
=
goblinSqbPerformanceGoodsMapper
.
selectList
(
new
LambdaQueryWrapper
<
GoblinSqbPerformanceGoods
>()
.
eq
(
GoblinSqbPerformanceGoods:
:
getPerformancesId
,
performancesId
)
.
eq
(
GoblinSqbPerformanceGoods:
:
getStatus
,
1
)
.
orderByAsc
(
GoblinSqbPerformanceGoods:
:
getSort
,
GoblinSqbPerformanceGoods:
:
getMid
));
if
(
CollectionUtils
.
isEmpty
(
relations
))
{
respVo
.
setCount
(
0
);
respVo
.
setGoblinGoodsInfoVoList
(
ObjectUtil
.
goblinGoodsInfoVoArrayList
());
return
respVo
;
}
ArrayList
<
GoblinGoodsInfoVo
>
allGoods
=
ObjectUtil
.
goblinGoodsInfoVoArrayList
();
for
(
GoblinSqbPerformanceGoods
rel
:
relations
)
{
if
(
rel
==
null
||
StringUtils
.
isBlank
(
rel
.
getSpuId
()))
{
continue
;
}
GoblinGoodsInfoVo
goodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
rel
.
getSpuId
());
if
(
goodsInfoVo
==
null
)
{
continue
;
}
// 演出关联列表只保留可售商品,避免下架/删除商品混入
if
(!
"0"
.
equals
(
goodsInfoVo
.
getDelFlg
()))
{
continue
;
}
if
(!
"0"
.
equals
(
goodsInfoVo
.
getSpuAppear
()))
{
continue
;
}
// if (!"3".equals(goodsInfoVo.getShelvesStatus())) {
// continue;
// }
if
(
StringUtil
.
isNotBlank
(
goodsInfoVo
.
getMarketId
()))
{
continue
;
}
GoblinSqbPerformanceGoodsInfoVo
frontGoods
=
new
GoblinSqbPerformanceGoodsInfoVo
();
BeanUtils
.
copyProperties
(
goodsInfoVo
,
frontGoods
);
BigDecimal
normalPrice
=
resolveGoodsSellPrice
(
goodsInfoVo
);
frontGoods
.
setSellPrice
(
normalPrice
);
frontGoods
.
setPrice
(
normalPrice
);
frontGoods
.
setSettlementPrice
(
rel
.
getSettlementPrice
());
allGoods
.
add
(
frontGoods
);
}
int
total
=
allGoods
.
size
();
int
start
=
safePage
*
safePageSize
;
if
(
start
>=
total
)
{
respVo
.
setCount
(
total
);
respVo
.
setGoblinGoodsInfoVoList
(
ObjectUtil
.
goblinGoodsInfoVoArrayList
());
return
respVo
;
}
int
end
=
Math
.
min
(
start
+
safePageSize
,
total
);
ArrayList
<
GoblinGoodsInfoVo
>
pageList
=
ObjectUtil
.
goblinGoodsInfoVoArrayList
();
pageList
.
addAll
(
allGoods
.
subList
(
start
,
end
));
respVo
.
setCount
(
total
);
respVo
.
setGoblinGoodsInfoVoList
(
pageList
);
return
respVo
;
}
private
BigDecimal
resolveGoodsSellPrice
(
GoblinGoodsInfoVo
goodsInfoVo
)
{
if
(
goodsInfoVo
==
null
)
{
return
null
;
}
if
(
goodsInfoVo
.
getSellPrice
()
!=
null
)
{
return
goodsInfoVo
.
getSellPrice
();
}
BigDecimal
minSkuPrice
=
null
;
if
(!
CollectionUtils
.
isEmpty
(
goodsInfoVo
.
getSkuIdList
()))
{
for
(
String
skuId
:
goodsInfoVo
.
getSkuIdList
())
{
GoblinGoodsSkuInfoVo
skuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuId
);
if
(
skuInfoVo
==
null
)
{
continue
;
}
BigDecimal
skuShowPrice
=
skuInfoVo
.
getSellPrice
()
!=
null
?
skuInfoVo
.
getSellPrice
()
:
skuInfoVo
.
getPrice
();
if
(
skuShowPrice
==
null
)
{
continue
;
}
if
(
minSkuPrice
==
null
||
skuShowPrice
.
compareTo
(
minSkuPrice
)
<
0
)
{
minSkuPrice
=
skuShowPrice
;
}
}
}
if
(
minSkuPrice
!=
null
)
{
return
minSkuPrice
;
}
if
(
goodsInfoVo
.
getPriceGe
()
!=
null
)
{
return
goodsInfoVo
.
getPriceGe
();
}
return
goodsInfoVo
.
getPriceLe
();
}
@Override
public
List
<
GoblinGoodsInfoVo
>
getGoodByMusicTagP
(
String
musicTag
,
String
performanceId
)
{
return
goblinRedisUtils
.
getMusicTagList
(
musicTag
,
performanceId
);
...
...
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