记得上下班打卡 | 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
9e0f2734
Commit
9e0f2734
authored
Jun 09, 2026
by
stonepy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
可选的功能添加地图等配置
parent
2c0b39a8
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
218 additions
and
17 deletions
+218
-17
SweetManualPosition.java
...liquidnet/service/sweet/constant/SweetManualPosition.java
+96
-0
ISweetManualSortService.java
...uidnet/service/sweet/service/ISweetManualSortService.java
+8
-2
SweetManualSortOptionVo.java
...m/liquidnet/service/sweet/vo/SweetManualSortOptionVo.java
+22
-0
SweetManualSortVo.java
...ava/com/liquidnet/service/sweet/vo/SweetManualSortVo.java
+35
-0
SweetManualSortController.java
...t/service/sweet/controller/SweetManualSortController.java
+18
-7
SweetManualSortServiceImpl.java
...ervice/sweet/service/impl/SweetManualSortServiceImpl.java
+39
-8
No files found.
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/constant/SweetManualPosition.java
0 → 100644
View file @
9e0f2734
package
com
.
liquidnet
.
service
.
sweet
.
constant
;
import
com.liquidnet.service.sweet.vo.SweetManualSortOptionVo
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 草莓音乐节手册 Tab 显示模块
*/
public
enum
SweetManualPosition
{
ARTIST
(
"artist"
,
"艺人"
),
SITE_MAP
(
"siteMap"
,
"现场地图"
),
HOW_TO_REACH
(
"howToReach"
,
"交通出行"
),
OFFICIAL_SUPPORT
(
"officialSupport"
,
"官方支持"
),
AUDIENCE_NOTICE
(
"audienceNotice"
,
"观众须知"
),
STRATEGY
(
"strategy"
,
"观演攻略"
),
CUSTOMER_SERVICE
(
"customerService"
,
"客服"
),
FOOD_GUIDE
(
"foodGuide"
,
"餐饮攻略"
),
ALBUM
(
"album"
,
"相册"
),
LOST_FOUND
(
"lostFound"
,
"失物招领"
),
MAP_GEOJSON
(
"mapGeojson"
,
"互动地图"
);
private
final
String
key
;
private
final
String
label
;
SweetManualPosition
(
String
key
,
String
label
)
{
this
.
key
=
key
;
this
.
label
=
label
;
}
public
String
getKey
()
{
return
key
;
}
public
String
getLabel
()
{
return
label
;
}
public
static
boolean
isValid
(
String
key
)
{
if
(
key
==
null
)
{
return
false
;
}
for
(
SweetManualPosition
position
:
values
())
{
if
(
position
.
key
.
equals
(
key
))
{
return
true
;
}
}
return
false
;
}
public
static
String
getLabel
(
String
key
)
{
for
(
SweetManualPosition
position
:
values
())
{
if
(
position
.
key
.
equals
(
key
))
{
return
position
.
label
;
}
}
return
key
;
}
public
static
List
<
SweetManualSortOptionVo
>
allOptions
()
{
return
Arrays
.
stream
(
values
())
.
map
(
item
->
new
SweetManualSortOptionVo
(
item
.
key
,
item
.
label
))
.
collect
(
Collectors
.
toList
());
}
public
static
List
<
String
>
parsePositions
(
String
showPosition
)
{
if
(
showPosition
==
null
||
showPosition
.
trim
().
isEmpty
())
{
return
new
ArrayList
<>();
}
return
Arrays
.
stream
(
showPosition
.
split
(
","
))
.
map
(
String:
:
trim
)
.
filter
(
item
->
!
item
.
isEmpty
())
.
collect
(
Collectors
.
toList
());
}
public
static
String
normalizeContent
(
String
content
)
{
List
<
String
>
invalidKeys
=
new
ArrayList
<>();
List
<
String
>
positions
=
parsePositions
(
content
).
stream
()
.
filter
(
key
->
{
if
(
isValid
(
key
))
{
return
true
;
}
invalidKeys
.
add
(
key
);
return
false
;
})
.
collect
(
Collectors
.
toList
());
if
(!
invalidKeys
.
isEmpty
())
{
throw
new
IllegalArgumentException
(
"无效的模块标识: "
+
String
.
join
(
","
,
invalidKeys
));
}
return
String
.
join
(
","
,
positions
);
}
}
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/service/ISweetManualSortService.java
View file @
9e0f2734
...
...
@@ -3,6 +3,10 @@ package com.liquidnet.service.sweet.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.entity.SweetManualSort
;
import
com.liquidnet.service.sweet.vo.SweetManualSortOptionVo
;
import
com.liquidnet.service.sweet.vo.SweetManualSortVo
;
import
java.util.List
;
/**
* <p>
...
...
@@ -14,8 +18,10 @@ import com.liquidnet.service.sweet.entity.SweetManualSort;
*/
public
interface
ISweetManualSortService
extends
IService
<
SweetManualSort
>
{
ResponseDto
<
SweetManualSort
>
get
(
String
manualId
);
ResponseDto
<
SweetManualSortVo
>
get
(
String
manualId
);
ResponseDto
<
Boolean
>
add
(
String
manualId
,
String
content
);
ResponseDto
<
Boolean
>
add
(
String
manualId
,
String
content
);
ResponseDto
<
List
<
SweetManualSortOptionVo
>>
options
(
);
}
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/vo/SweetManualSortOptionVo.java
0 → 100644
View file @
9e0f2734
package
com
.
liquidnet
.
service
.
sweet
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
"手册显示模块选项"
)
public
class
SweetManualSortOptionVo
implements
Serializable
{
@ApiModelProperty
(
"模块标识"
)
private
String
key
;
@ApiModelProperty
(
"模块名称"
)
private
String
label
;
}
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/vo/SweetManualSortVo.java
0 → 100644
View file @
9e0f2734
package
com
.
liquidnet
.
service
.
sweet
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Data
@ApiModel
(
"手册显示模块配置"
)
public
class
SweetManualSortVo
implements
Serializable
{
@ApiModelProperty
(
"主键"
)
private
Long
mid
;
@ApiModelProperty
(
"电子手册id"
)
private
String
manualId
;
@ApiModelProperty
(
"已选模块,逗号分隔"
)
private
String
showPosition
;
@ApiModelProperty
(
"已选模块列表(按顺序)"
)
private
List
<
String
>
positions
;
@ApiModelProperty
(
"可选模块列表"
)
private
List
<
SweetManualSortOptionVo
>
options
;
@ApiModelProperty
(
"创建时间"
)
private
LocalDateTime
createdAt
;
@ApiModelProperty
(
"更新时间"
)
private
LocalDateTime
updatedAt
;
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetManualSortController.java
View file @
9e0f2734
...
...
@@ -2,8 +2,9 @@ package com.liquidnet.service.sweet.controller;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.entity.SweetManualSort
;
import
com.liquidnet.service.sweet.service.ISweetManualSortService
;
import
com.liquidnet.service.sweet.vo.SweetManualSortOptionVo
;
import
com.liquidnet.service.sweet.vo.SweetManualSortVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
...
...
@@ -11,6 +12,8 @@ import io.swagger.annotations.ApiOperation;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* <p>
* 电子宣传手册显示内容表 前端控制器
...
...
@@ -29,22 +32,30 @@ public class SweetManualSortController {
@PostMapping
(
"add"
)
@ApiOperation
(
"
操作 电子手册tag
"
)
@ApiOperation
(
"
保存电子手册显示模块
"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"manualId"
,
value
=
"电子手册id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"content"
,
value
=
"内容 例子(POSITION_1,POSITION_2)"
,
required
=
true
)
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"content"
,
value
=
"模块标识,逗号分隔。可选: artist,siteMap,howToReach,officialSupport,audienceNotice,strategy,customerService,foodGuide,album,lostFound,mapGeojson"
,
required
=
true
)
})
public
ResponseDto
<
Boolean
>
changeStatus
(
@RequestParam
()
String
manualId
,
@RequestParam
()
String
content
)
{
public
ResponseDto
<
Boolean
>
save
(
@RequestParam
String
manualId
,
@RequestParam
String
content
)
{
return
sweetManualSortService
.
add
(
manualId
,
content
);
}
@GetMapping
(
"get"
)
@ApiOperation
(
"获取
电子手册tag
"
)
@ApiOperation
(
"获取
电子手册显示模块
"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"query"
,
dataType
=
"String"
,
name
=
"manualId"
,
value
=
"电子手册id"
,
required
=
true
)
})
public
ResponseDto
<
SweetManualSort
>
changeStatus
(
@RequestParam
()
String
manualId
)
{
public
ResponseDto
<
SweetManualSort
Vo
>
get
(
@RequestParam
String
manualId
)
{
return
sweetManualSortService
.
get
(
manualId
);
}
@GetMapping
(
"options"
)
@ApiOperation
(
"获取可选显示模块列表"
)
public
ResponseDto
<
List
<
SweetManualSortOptionVo
>>
options
()
{
return
sweetManualSortService
.
options
();
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetManualSortServiceImpl.java
View file @
9e0f2734
package
com
.
liquidnet
.
service
.
sweet
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.
entity.SweetManual
;
import
com.liquidnet.service.sweet.
constant.SweetManualPosition
;
import
com.liquidnet.service.sweet.entity.SweetManualSort
;
import
com.liquidnet.service.sweet.mapper.SweetManualSortMapper
;
import
com.liquidnet.service.sweet.service.ISweetManualSortService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.service.sweet.utils.RedisDataUtils
;
import
com.liquidnet.service.sweet.vo.SweetManualSortOptionVo
;
import
com.liquidnet.service.sweet.vo.SweetManualSortVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* <p>
...
...
@@ -30,9 +33,11 @@ public class SweetManualSortServiceImpl extends ServiceImpl<SweetManualSortMappe
private
RedisDataUtils
redisDataUtils
;
@Override
public
ResponseDto
<
SweetManualSort
>
get
(
String
manualId
)
{
public
ResponseDto
<
SweetManualSort
Vo
>
get
(
String
manualId
)
{
try
{
return
ResponseDto
.
success
(
sweetManualSortMapper
.
selectOne
(
Wrappers
.
lambdaQuery
(
SweetManualSort
.
class
).
eq
(
SweetManualSort:
:
getManualId
,
manualId
)));
SweetManualSort
sort
=
sweetManualSortMapper
.
selectOne
(
Wrappers
.
lambdaQuery
(
SweetManualSort
.
class
).
eq
(
SweetManualSort:
:
getManualId
,
manualId
));
return
ResponseDto
.
success
(
toVo
(
sort
,
manualId
));
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
();
}
...
...
@@ -41,24 +46,50 @@ public class SweetManualSortServiceImpl extends ServiceImpl<SweetManualSortMappe
@Override
public
ResponseDto
<
Boolean
>
add
(
String
manualId
,
String
content
)
{
try
{
int
count
=
sweetManualSortMapper
.
selectCount
(
Wrappers
.
lambdaUpdate
(
SweetManualSort
.
class
).
eq
(
SweetManualSort:
:
getManualId
,
manualId
));
String
normalizedContent
=
SweetManualPosition
.
normalizeContent
(
content
);
int
count
=
sweetManualSortMapper
.
selectCount
(
Wrappers
.
lambdaUpdate
(
SweetManualSort
.
class
).
eq
(
SweetManualSort:
:
getManualId
,
manualId
));
if
(
count
>
0
)
{
SweetManualSort
sweetManualSort
=
SweetManualSort
.
getNew
();
sweetManualSort
.
setManualId
(
manualId
);
sweetManualSort
.
setShowPosition
(
c
ontent
);
sweetManualSort
.
setShowPosition
(
normalizedC
ontent
);
sweetManualSort
.
setUpdatedAt
(
LocalDateTime
.
now
());
sweetManualSortMapper
.
update
(
sweetManualSort
,
Wrappers
.
lambdaUpdate
(
SweetManualSort
.
class
).
eq
(
SweetManualSort:
:
getManualId
,
manualId
));
sweetManualSortMapper
.
update
(
sweetManualSort
,
Wrappers
.
lambdaUpdate
(
SweetManualSort
.
class
).
eq
(
SweetManualSort:
:
getManualId
,
manualId
));
}
else
{
SweetManualSort
sweetManualSort
=
SweetManualSort
.
getNew
();
sweetManualSort
.
setManualId
(
manualId
);
sweetManualSort
.
setShowPosition
(
c
ontent
);
sweetManualSort
.
setShowPosition
(
normalizedC
ontent
);
sweetManualSort
.
setCreatedAt
(
LocalDateTime
.
now
());
sweetManualSortMapper
.
insert
(
sweetManualSort
);
}
redisDataUtils
.
deleteSortRedisData
(
manualId
);
}
catch
(
IllegalArgumentException
e
)
{
return
ResponseDto
.
failure
(
e
.
getMessage
());
}
catch
(
Exception
e
)
{
return
ResponseDto
.
failure
();
}
return
ResponseDto
.
success
();
}
@Override
public
ResponseDto
<
List
<
SweetManualSortOptionVo
>>
options
()
{
return
ResponseDto
.
success
(
SweetManualPosition
.
allOptions
());
}
private
SweetManualSortVo
toVo
(
SweetManualSort
sort
,
String
manualId
)
{
SweetManualSortVo
vo
=
new
SweetManualSortVo
();
vo
.
setManualId
(
manualId
);
vo
.
setOptions
(
SweetManualPosition
.
allOptions
());
if
(
sort
==
null
)
{
vo
.
setPositions
(
SweetManualPosition
.
parsePositions
(
null
));
return
vo
;
}
vo
.
setMid
(
sort
.
getMid
());
vo
.
setShowPosition
(
sort
.
getShowPosition
());
vo
.
setPositions
(
SweetManualPosition
.
parsePositions
(
sort
.
getShowPosition
()));
vo
.
setCreatedAt
(
sort
.
getCreatedAt
());
vo
.
setUpdatedAt
(
sort
.
getUpdatedAt
());
return
vo
;
}
}
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