记得上下班打卡 | 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
bdae082e
Commit
bdae082e
authored
Aug 19, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
admin banner时间范围、排序必填
parent
b326d5fd
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
67 additions
and
26 deletions
+67
-26
GoblinFrontBannerBuildParam.java
...net/service/goblin/param/GoblinFrontBannerBuildParam.java
+3
-3
GoblinFrontBannerController.java
...ntroller/zhengzai/goblin/GoblinFrontBannerController.java
+22
-0
topBanner.html
...resources/templates/zhengzai/store/homeSet/topBanner.html
+42
-23
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/param/GoblinFrontBannerBuildParam.java
View file @
bdae082e
...
...
@@ -38,7 +38,7 @@ public class GoblinFrontBannerBuildParam implements Serializable {
/**
* 排序
*/
@ApiModelProperty
(
value
=
"排序"
)
@ApiModelProperty
(
value
=
"排序"
,
required
=
true
)
private
Integer
indexs
;
/**
...
...
@@ -50,14 +50,14 @@ public class GoblinFrontBannerBuildParam implements Serializable {
/**
* 开启时间
*/
@ApiModelProperty
(
value
=
"开启时间"
)
@ApiModelProperty
(
value
=
"开启时间"
,
required
=
true
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
startTime
;
/**
* 结束时间
*/
@ApiModelProperty
(
value
=
"结束时间"
)
@ApiModelProperty
(
value
=
"结束时间"
,
required
=
true
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
endTime
;
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/goblin/GoblinFrontBannerController.java
View file @
bdae082e
...
...
@@ -70,6 +70,28 @@ public class GoblinFrontBannerController extends BaseController {
@ApiOperation
(
value
=
"修改或者增加banner"
)
@ResponseBody
public
AjaxResult
updateOrCreate
(
@RequestBody
List
<
GoblinFrontBannerBuildParam
>
list
)
{
if
(
list
==
null
||
list
.
isEmpty
())
{
return
error
(
"请添加banner"
);
}
int
i
=
0
;
for
(
GoblinFrontBannerBuildParam
param
:
list
)
{
i
++;
if
(
param
.
getStartTime
()
==
null
)
{
return
error
(
"第"
+
i
+
"张banner请填写开启时间"
);
}
if
(
param
.
getEndTime
()
==
null
)
{
return
error
(
"第"
+
i
+
"张banner请填写结束时间"
);
}
if
(
param
.
getEndTime
().
isBefore
(
param
.
getStartTime
()))
{
return
error
(
"第"
+
i
+
"张banner结束时间不能早于开启时间"
);
}
// type=2 活动banner 页面隐藏了单项排序,不校验 indexs
if
(
param
.
getBannerType
()
==
null
||
param
.
getBannerType
()
!=
2
)
{
if
(
param
.
getIndexs
()
==
null
)
{
return
error
(
"第"
+
i
+
"张banner请填写排序"
);
}
}
}
List
<
GoblinFrontBanner
>
goblinFrontBannerList
=
new
ArrayList
<>();
for
(
GoblinFrontBannerBuildParam
goblinFrontBannerBuildParam1:
list
){
GoblinFrontBanner
goblinFrontBanner
=
new
GoblinFrontBanner
();
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/store/homeSet/topBanner.html
View file @
bdae082e
...
...
@@ -126,7 +126,7 @@
</div>
<div
class=
"function_btn"
id=
"showMiddleBanner"
style=
"display: none;"
>
<div
class=
"hot_title"
>
位置顺序:
位置顺序:
<span
style=
"color:#f5222d;"
>
*
</span>
</div>
<div
class=
"tags"
style=
"font-weight: 600;font-size: 16px;"
>
<input
type=
"text"
class=
"layui-input form-control titleIpt"
id=
"sorting"
value=
""
autocomplete=
"off"
placeholder=
"请输入模块顺序"
>
...
...
@@ -270,19 +270,19 @@
<div class="set_function">
<div class="set_function_time">
<div class="title">
时间设置:
时间设置:
<span style="color:#f5222d;">*</span>
</div>
<div class="select_tiem" style="display:flex;">
<input type="text" class="layui-input form-control timeStart" id="startTime
${
i
+
1
}
" value="
${
data
[
i
].
startTime
||
''
}
" autocomplete="off" placeholder="
配置活动时间
">
<input type="text" class="layui-input form-control timeEnd" id="endTime
${
i
+
1
}
" value="
${
data
[
i
].
endTime
||
''
}
" autocomplete="off" placeholder="
配置活动时间
">
<input type="text" class="layui-input form-control timeStart" id="startTime
${
i
+
1
}
" value="
${
data
[
i
].
startTime
||
''
}
" autocomplete="off" placeholder="
开始时间(必填)
">
<input type="text" class="layui-input form-control timeEnd" id="endTime
${
i
+
1
}
" value="
${
data
[
i
].
endTime
||
''
}
" autocomplete="off" placeholder="
结束时间(必填)
">
</div>
</div>
<div class="set_function_time pxBox" style="width: 40%;">
<div class="title">
排序:
排序:
<span style="color:#f5222d;">*</span>
</div>
<div class="select_tiem">
<input id="px
${
i
+
1
}
" type="text" class="layui-input form-control px" value="
${
data
[
i
].
indexs
}
" placeholder="请输入顺序数字">
<input id="px
${
i
+
1
}
" type="text" class="layui-input form-control px" value="
${
data
[
i
].
indexs
}
" placeholder="请输入顺序数字
(必填)
">
</div>
</div>
</div>
...
...
@@ -359,19 +359,19 @@
<div class="set_function">
<div class="set_function_time">
<div class="title">
时间设置:
时间设置:
<span style="color:#f5222d;">*</span>
</div>
<div class="select_tiem" style="display:flex;">
<input type="text" class="layui-input form-control timeStart" id="startTime
${
num
}
" autocomplete="off" placeholder="
配置活动时间
">
<input type="text" class="layui-input form-control timeEnd" id="endTime
${
num
}
" autocomplete="off" placeholder="
配置活动时间
">
<input type="text" class="layui-input form-control timeStart" id="startTime
${
num
}
" autocomplete="off" placeholder="
开始时间(必填)
">
<input type="text" class="layui-input form-control timeEnd" id="endTime
${
num
}
" autocomplete="off" placeholder="
结束时间(必填)
">
</div>
</div>
<div class="set_function_time pxBox" style="width: 40%;">
<div class="title">
排序:
排序:
<span style="color:#f5222d;">*</span>
</div>
<div class="select_tiem">
<input id="px
${
num
}
" type="text" class="layui-input form-control px" placeholder="请输入顺序数字">
<input id="px
${
num
}
" type="text" class="layui-input form-control px" placeholder="请输入顺序数字
(必填)
">
</div>
</div>
</div>
...
...
@@ -385,24 +385,40 @@
}
}
function
save
()
{
let
obj
=
{};
let
itmeLength
=
$
(
".banner_item"
);
let
data
=
[]
Array
.
prototype
.
forEach
.
call
(
itmeLength
,
function
(
item
,
index
,
arr
)
{
if
(
!
itmeLength
.
length
)
{
return
layer
.
msg
(
'请先添加banner'
);
}
let
data
=
[];
for
(
let
index
=
0
;
index
<
itmeLength
.
length
;
index
++
)
{
let
item
=
itmeLength
[
index
];
let
startTime
=
(
item
.
querySelector
(
'.timeStart'
).
value
||
''
).
trim
();
let
endTime
=
(
item
.
querySelector
(
'.timeEnd'
).
value
||
''
).
trim
();
let
indexs
=
(
item
.
querySelector
(
'.px'
).
value
||
''
).
trim
();
if
(
!
startTime
)
{
return
layer
.
msg
(
'请填写第'
+
(
index
+
1
)
+
'张banner的开始时间'
);
}
if
(
!
endTime
)
{
return
layer
.
msg
(
'请填写第'
+
(
index
+
1
)
+
'张banner的结束时间'
);
}
if
(
startTime
>
endTime
)
{
return
layer
.
msg
(
'第'
+
(
index
+
1
)
+
'张banner结束时间不能早于开始时间'
);
}
if
(
type
!=
2
&&
indexs
===
''
)
{
return
layer
.
msg
(
'请填写第'
+
(
index
+
1
)
+
'张banner的排序'
);
}
let
obj
=
{};
obj
.
activityUrl
=
item
.
querySelector
(
'.h5Url'
).
value
;
obj
.
bannerId
=
item
.
getAttribute
(
'data-id'
);
obj
.
bannerType
=
type
;
obj
.
createTime
=
item
.
getAttribute
(
'data-createTime'
);
obj
.
delTag
=
'0'
;
obj
.
endTime
=
item
.
getAttribute
(
'data-endTime'
);
obj
.
indexs
=
item
.
querySelector
(
'.px'
).
value
;
obj
.
indexs
=
indexs
;
obj
.
jumpType
=
item
.
querySelector
(
'#jumpSelect'
+
(
index
+
1
)
+
''
).
value
;
obj
.
mid
=
item
.
getAttribute
(
'data-mid'
)
||
0
;
//
obj
.
mid
=
item
.
getAttribute
(
'data-mid'
)
||
0
;
obj
.
picUrl
=
item
.
querySelector
(
'.imgBox'
).
getAttribute
(
'src'
);
obj
.
startTime
=
item
.
querySelector
(
'.timeStart'
).
value
;
obj
.
endTime
=
item
.
querySelector
(
'.timeEnd'
).
value
;
// obj.updateTime = item.getAttribute('data-upData');
obj
.
startTime
=
startTime
;
obj
.
endTime
=
endTime
;
if
(
item
.
querySelector
(
'#jumpSelect'
+
(
index
+
1
)
+
''
).
value
==
2
)
{
obj
.
ticketId
=
item
.
querySelector
(
'.h5Url'
).
getAttribute
(
'data-id'
);
obj
.
ticketName
=
item
.
querySelector
(
'.h5Url'
).
value
;
...
...
@@ -413,8 +429,11 @@
obj
.
ticketId
=
item
.
querySelector
(
'.storeList'
).
getAttribute
(
'data-id'
);
obj
.
ticketName
=
item
.
querySelector
(
'.storeList'
).
value
;
}
data
.
push
({...
obj
})
});
//foreach js6章封装的方法
data
.
push
(
obj
);
}
if
(
type
==
2
&&
!
(
$
(
"#sorting"
).
val
()
||
''
).
trim
())
{
return
layer
.
msg
(
'请填写位置顺序'
);
}
promiseMethods
(
'/frontBanner/updateOrCreate'
,
'post'
,
JSON
.
stringify
(
data
),
'application/json'
).
then
(
res
=>
{
if
(
type
==
2
)
{
let
data
=
{
...
...
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