Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
lwby_ad_data
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
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
maliang
lwby_ad_data
Commits
625cbedb
Commit
625cbedb
authored
Apr 21, 2020
by
maliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
权限控制
parent
16f8b8ef
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
332 additions
and
1 deletion
+332
-1
AdvertiserManagerController.java
...curity/server/controller/AdvertiserManagerController.java
+5
-1
UserController.java
...a/com/boot/security/server/controller/UserController.java
+21
-0
UserDao.java
src/main/java/com/boot/security/server/dao/UserDao.java
+6
-0
AdvertiserUserMap.java
...ava/com/boot/security/server/model/AdvertiserUserMap.java
+49
-0
UserMapper.xml
src/main/resources/mybatis-mappers/UserMapper.xml
+13
-0
jq.js
src/main/resources/static/js/jq.js
+15
-0
AdvertiserUserList.html
src/main/resources/static/pages/user/AdvertiserUserList.html
+126
-0
AdvertiserUserList1.html
...main/resources/static/pages/user/AdvertiserUserList1.html
+97
-0
No files found.
src/main/java/com/boot/security/server/controller/AdvertiserManagerController.java
View file @
625cbedb
...
@@ -18,7 +18,7 @@ public class AdvertiserManagerController {
...
@@ -18,7 +18,7 @@ public class AdvertiserManagerController {
JSONObject
item
=
new
JSONObject
();
JSONObject
item
=
new
JSONObject
();
JSONArray
array
=
new
JSONArray
();
JSONArray
array
=
new
JSONArray
();
item
.
put
(
"id"
,
1
);
item
.
put
(
"id"
,
1
);
item
.
put
(
"advertiser"
,
"
百度联盟
"
);
item
.
put
(
"advertiser"
,
"
麦子
"
);
item
.
put
(
"balance"
,
100000
);
item
.
put
(
"balance"
,
100000
);
item
.
put
(
"AccumulatedConsumptionAmount"
,
100000
);
item
.
put
(
"AccumulatedConsumptionAmount"
,
100000
);
item
.
put
(
"leader"
,
"高飞"
);
item
.
put
(
"leader"
,
"高飞"
);
...
@@ -31,4 +31,8 @@ public class AdvertiserManagerController {
...
@@ -31,4 +31,8 @@ public class AdvertiserManagerController {
jsonObject
.
put
(
"data"
,
array
);
jsonObject
.
put
(
"data"
,
array
);
return
jsonObject
.
toJSONString
();
return
jsonObject
.
toJSONString
();
}
}
//返回所有用户和其对应的广告商列表
public
String
getUserAdvertiserMap
()
{
return
null
;
}
}
}
src/main/java/com/boot/security/server/controller/UserController.java
View file @
625cbedb
...
@@ -2,6 +2,7 @@ package com.boot.security.server.controller;
...
@@ -2,6 +2,7 @@ package com.boot.security.server.controller;
import
java.util.List
;
import
java.util.List
;
import
com.boot.security.server.model.AdvertiserUserMap
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
...
@@ -95,6 +96,7 @@ public class UserController {
...
@@ -95,6 +96,7 @@ public class UserController {
@ApiOperation
(
value
=
"用户列表"
)
@ApiOperation
(
value
=
"用户列表"
)
@PreAuthorize
(
"hasAuthority('sys:user:query')"
)
@PreAuthorize
(
"hasAuthority('sys:user:query')"
)
public
PageTableResponse
listUsers
(
PageTableRequest
request
)
{
public
PageTableResponse
listUsers
(
PageTableRequest
request
)
{
System
.
out
.
println
(
request
.
getLimit
());
return
new
PageTableHandler
(
new
CountHandler
()
{
return
new
PageTableHandler
(
new
CountHandler
()
{
@Override
@Override
...
@@ -117,6 +119,25 @@ public class UserController {
...
@@ -117,6 +119,25 @@ public class UserController {
return
UserUtil
.
getLoginUser
();
return
UserUtil
.
getLoginUser
();
}
}
@ApiOperation
(
value
=
"获取广告商和用户的映射关系"
)
@GetMapping
(
"/advertiserUserList"
)
public
PageTableResponse
getAdvertiserUserList
(
PageTableRequest
request
)
{
return
new
PageTableHandler
(
new
CountHandler
()
{
@Override
public
int
count
(
PageTableRequest
request
)
{
return
userDao
.
countAdvertiserUserMap
(
request
.
getParams
());
}
},
new
ListHandler
()
{
@Override
public
List
<
AdvertiserUserMap
>
list
(
PageTableRequest
request
)
{
List
<
AdvertiserUserMap
>
list
=
userDao
.
getAdvertiserUserMap
();
return
list
;
}
}).
handle
(
request
);
}
@ApiOperation
(
value
=
"根据用户id获取用户"
)
@ApiOperation
(
value
=
"根据用户id获取用户"
)
@GetMapping
(
"/{id}"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"hasAuthority('sys:user:query')"
)
@PreAuthorize
(
"hasAuthority('sys:user:query')"
)
...
...
src/main/java/com/boot/security/server/dao/UserDao.java
View file @
625cbedb
...
@@ -3,6 +3,7 @@ package com.boot.security.server.dao;
...
@@ -3,6 +3,7 @@ package com.boot.security.server.dao;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
com.boot.security.server.model.AdvertiserUserMap
;
import
org.apache.ibatis.annotations.Delete
;
import
org.apache.ibatis.annotations.Delete
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
...
@@ -23,6 +24,9 @@ public interface UserDao {
...
@@ -23,6 +24,9 @@ public interface UserDao {
@Select
(
"select * from sys_user t where t.id = #{id}"
)
@Select
(
"select * from sys_user t where t.id = #{id}"
)
SysUser
getById
(
Long
id
);
SysUser
getById
(
Long
id
);
//查询广告商用户的映射关系
List
<
AdvertiserUserMap
>
getAdvertiserUserMap
();
@Select
(
"select * from sys_user t where t.username = #{username}"
)
@Select
(
"select * from sys_user t where t.username = #{username}"
)
SysUser
getUser
(
String
username
);
SysUser
getUser
(
String
username
);
...
@@ -31,6 +35,8 @@ public interface UserDao {
...
@@ -31,6 +35,8 @@ public interface UserDao {
Integer
count
(
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
Integer
count
(
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
Integer
countAdvertiserUserMap
(
@Param
(
"params"
)
Map
<
String
,
Object
>
params
);
List
<
SysUser
>
list
(
@Param
(
"params"
)
Map
<
String
,
Object
>
params
,
@Param
(
"offset"
)
Integer
offset
,
List
<
SysUser
>
list
(
@Param
(
"params"
)
Map
<
String
,
Object
>
params
,
@Param
(
"offset"
)
Integer
offset
,
@Param
(
"limit"
)
Integer
limit
);
@Param
(
"limit"
)
Integer
limit
);
...
...
src/main/java/com/boot/security/server/model/AdvertiserUserMap.java
0 → 100644
View file @
625cbedb
package
com
.
boot
.
security
.
server
.
model
;
public
class
AdvertiserUserMap
{
public
Long
userId
;
public
String
nickname
;
public
Integer
advertiserId
;
public
String
advertiserName
;
public
Integer
status
;
public
Long
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
public
String
getNickname
()
{
return
nickname
;
}
public
void
setNickname
(
String
nickname
)
{
this
.
nickname
=
nickname
;
}
public
Integer
getAdvertiserId
()
{
return
advertiserId
;
}
public
void
setAdvertiserId
(
Integer
advertiserId
)
{
this
.
advertiserId
=
advertiserId
;
}
public
String
getAdvertiserName
()
{
return
advertiserName
;
}
public
void
setAdvertiserName
(
String
advertiserName
)
{
this
.
advertiserName
=
advertiserName
;
}
public
Integer
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Integer
status
)
{
this
.
status
=
status
;
}
}
src/main/resources/mybatis-mappers/UserMapper.xml
View file @
625cbedb
...
@@ -22,6 +22,19 @@
...
@@ -22,6 +22,19 @@
<include
refid=
"where"
/>
<include
refid=
"where"
/>
</select>
</select>
<select
id=
"countAdvertiserUserMap"
resultType=
"int"
>
SELECT count(1)
FROM advertiser_user_map a INNER JOIN sys_user b
ON a.user_id=b.id
</select>
<select
id=
"getAdvertiserUserMap"
resultType=
"com.boot.security.server.model.AdvertiserUserMap"
>
SELECT user_id as userId,nickname,advertiser_id as advertiserId,advertiser_name as advertiserName,a.status as status
FROM advertiser_user_map a INNER JOIN sys_user b
ON a.user_id=b.id
ORDER BY user_id,advertiser_id
</select>
<select
id=
"list"
resultType=
"SysUser"
>
<select
id=
"list"
resultType=
"SysUser"
>
select * from sys_user t
select * from sys_user t
<include
refid=
"where"
/>
<include
refid=
"where"
/>
...
...
src/main/resources/static/js/jq.js
View file @
625cbedb
...
@@ -44,6 +44,21 @@ function buttonEdit(href, permission, pers){
...
@@ -44,6 +44,21 @@ function buttonEdit(href, permission, pers){
return
btn
.
prop
(
"outerHTML"
);
return
btn
.
prop
(
"outerHTML"
);
}
}
function
checkboxEdit
(
data
,
advertiserName
,
advertiserId
,
userId
,
permission
,
pers
){
if
(
permission
!=
""
){
if
(
$
.
inArray
(
permission
,
pers
)
<
0
)
{
return
""
;
}
}
var
check
;
//console.log(advertiserName)
if
(
data
===
0
)
check
=
"<input lay-filter='formCheckbox' type=
\"
checkbox
\"
advertiserId=
\"
"
+
advertiserId
+
"
\"
title=
\"
"
+
advertiserName
+
"
\"
userId=
\"
"
+
userId
+
"
\"
>"
;
else
check
=
"<input lay-filter='formCheckbox' type=
\"
checkbox
\"
advertiserId=
\"
"
+
advertiserId
+
"
\"
title=
\"
"
+
advertiserName
+
"
\"
userId=
\"
"
+
userId
+
"
\"
checked>"
;
return
check
}
function
deleteCurrentTab
(){
function
deleteCurrentTab
(){
var
lay_id
=
$
(
parent
.
document
).
find
(
"ul.layui-tab-title"
).
children
(
"li.layui-this"
).
attr
(
"lay-id"
);
var
lay_id
=
$
(
parent
.
document
).
find
(
"ul.layui-tab-title"
).
children
(
"li.layui-this"
).
attr
(
"lay-id"
);
...
...
src/main/resources/static/pages/user/AdvertiserUserList.html
0 → 100644
View file @
625cbedb
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title>
广告商负责人设置
</title>
<link
rel=
"stylesheet"
type=
"text/css"
media=
"screen"
href=
"../../css/bootstrap.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
media=
"screen"
href=
"../../css/dataTables.bootstrap.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
media=
"screen"
href=
"../../layui/css/layui.css"
>
</head>
<body>
<div>
<div
class=
"col-xs-12 col-sm-12 col-md-12 col-lg-12"
>
<header
style=
"height: 100%"
>
</header>
<div
class=
"layui-form"
>
<div
class=
"widget-body no-padding"
>
<table
id=
"dt-table"
class=
"table table-striped table-bordered table-hover"
style=
"width:100%"
>
<thead>
<tr>
</tr>
<tr>
<th>
id
</th>
<th>
nickname
</th>
<th>
广告商
</th>
<!--<th>操作</th>-->
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>
<script
type=
"text/javascript"
src=
"../../js/libs/jquery-2.1.1.min.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/jq.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/plugin/datatables/jquery.dataTables.min.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/plugin/datatables/dataTables.bootstrap.min.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/my/permission.js"
></script>
<script
type=
"text/javascript"
src=
"../../layui/layui.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/dict.js"
></script>
<script
type=
"text/javascript"
>
// layui.use([ 'layer' ], function() {
// var layer = layui.layer;
// });
var
pers
=
checkPermission
();
var
example
;
function
init
(){
example
=
$
(
'#dt-table'
).
DataTable
({
"searching"
:
false
,
"processing"
:
false
,
"serverSide"
:
true
,
"language"
:
{
"url"
:
"/js/plugin/datatables/Chinese.lang"
},
"ajax"
:
{
"url"
:
"/users/advertiserUserList"
,
"type"
:
"get"
,
"error"
:
function
(
xhr
,
textStatus
,
errorThrown
){
var
msg
=
xhr
.
responseText
;
console
.
log
(
msg
);
var
response
=
JSON
.
parse
(
msg
);
var
code
=
response
.
code
;
var
message
=
response
.
message
;
if
(
code
==
400
)
{
layer
.
msg
(
message
);
}
else
if
(
code
==
401
)
{
localStorage
.
removeItem
(
"token"
);
layer
.
msg
(
"token过期,请先登录"
,
{
shift
:
-
1
,
time
:
1000
},
function
(){
location
.
href
=
'/login.html'
;
});
}
else
if
(
code
==
403
)
{
console
.
log
(
"未授权:"
+
message
);
layer
.
msg
(
'未授权'
);
}
else
if
(
code
==
500
)
{
layer
.
msg
(
'系统错误:'
+
message
);
}
}
},
"dom"
:
"<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-10 col-xs-12 hidden-xs'i><'col-xs-12 col-sm-10' p v>>"
,
"columns"
:
[
{
"data"
:
"userId"
,
"defaultContent"
:
""
,
"visible"
:
false
},
{
"data"
:
"nickname"
,
"defaultContent"
:
""
},
{
"data"
:
"status"
,
"defaultContent"
:
""
,
"orderable"
:
false
,
"render"
:
function
(
data
,
type
,
row
)
{
var
advertiserName
=
row
[
'advertiserName'
];
//console.log(advertiserName)
var
advertiserId
=
row
[
'advertiserId'
];
var
userId
=
row
[
'userId'
];
var
adCb
=
checkboxEdit
(
data
,
advertiserName
,
advertiserId
,
userId
,
"sys:user:add"
,
pers
);
return
"<input lay-filter='formCheckbox' type=
\"
checkbox
\"
advertiserId=
\"
"
+
advertiserId
+
"
\"
title=
\"
"
+
advertiserName
+
"
\"
userId=
\"
"
+
userId
+
"
\"
checked>"
;
}
}
],
"order"
:
[[
0
,
"desc"
],[
1
,
"asc"
]]
}
);
}
init
();
var
form
;
layui
.
use
(
'form'
,
function
()
{
form
=
layui
.
form
;
form
.
render
();
form
.
on
(
'checkbox(formCheckbox)'
,
function
(
data
){
var
elem
=
data
.
elem
;
console
.
log
(
data
.
elem
.
checked
);
//是否被选中,true或者false
console
.
log
(
elem
.
getAttribute
(
"advertiserId"
));
console
.
log
(
elem
.
getAttribute
(
"userId"
));
//复选框value值,也可以通过data.elem.value得到
});
});
</script>
\ No newline at end of file
src/main/resources/static/pages/user/AdvertiserUserList1.html
0 → 100644
View file @
625cbedb
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title>
广告商负责人设置
</title>
<link
rel=
"stylesheet"
type=
"text/css"
media=
"screen"
href=
"../../css/bootstrap.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
media=
"screen"
href=
"../../css/dataTables.bootstrap.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
media=
"screen"
href=
"../../layui/css/layui.css"
>
</head>
<body>
<div
class=
"layui-form"
lay-filter=
"formTest"
>
<table
class=
"layui-table"
>
<thead>
<tr>
<th>
用户昵称
</th>
<th>
广告商
</th>
</tr>
</thead>
<tbody
id=
"advertiserTable"
>
</tbody>
</table>
<button
class=
"layui-btn"
lay-submit
lay-filter=
"formDemo"
>
立即提交
</button>
</div>
</body>
</html>
<script
type=
"text/javascript"
src=
"../../js/libs/jquery-2.1.1.min.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/jq.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/plugin/datatables/jquery.dataTables.min.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/plugin/datatables/dataTables.bootstrap.min.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/my/permission.js"
></script>
<script
type=
"text/javascript"
src=
"../../layui/layui.js"
></script>
<script
type=
"text/javascript"
src=
"../../js/dict.js"
></script>
<script
type=
"text/javascript"
>
var
form
;
layui
.
use
(
'form'
,
function
()
{
form
=
layui
.
form
;
form
.
render
();
form
.
on
(
'submit(formDemo)'
,
function
(
data
){
var
data1
=
form
.
val
(
"formTest"
);
console
.
log
(
data1
);
return
false
;
//阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
form
.
on
(
'checkbox(formCheckbox)'
,
function
(
data
){
var
elem
=
data
.
elem
;
console
.
log
(
elem
.
getAttribute
(
"advertiserId"
));
console
.
log
(
data
.
elem
.
checked
);
//是否被选中,true或者false
console
.
log
(
data
.
value
);
//复选框value值,也可以通过data.elem.value得到
});
});
var
pers
=
checkPermission
();
var
table
=
$
(
"#advertiserTable"
);
function
setTable
(
data
)
{
for
(
var
i
in
data
){
table
.
append
(
"<tr><td>"
+
data
[
i
].
nickname
+
"</td><td><input lay-filter='formCheckbox' type=
\"
checkbox
\"
advertiserId=
\"
"
+
data
[
i
].
advertiserId
+
"
\"
name=
\"
"
+
data
[
i
].
advertiserId
+
"
\"
title=
\"
"
+
data
[
i
].
advertiserName
+
"
\"
value=
\"
"
+
data
[
i
].
userId
+
"
\"
checked></td></tr>"
);
}
}
function
init
(){
$
.
ajax
({
//请求方式
type
:
"get"
,
//请求的媒体类型
contentType
:
"application/json;charset=UTF-8"
,
//请求地址
url
:
"/users/advertiserUserList"
,
async
:
false
,
//数据,json字符串
//data : JSON.stringify(list),
//请求成功
success
:
function
(
result
)
{
setTable
(
result
.
data
);
//console.log(result.data);
//form.render();
},
//请求失败,包含具体的错误信息
error
:
function
(
e
){
console
.
log
(
e
.
status
);
console
.
log
(
e
.
responseText
);
}
});
//var adCb = checkboxEdit(data,advertiserName, "sys:user:add", pers);
}
init
();
</script>
\ No newline at end of file
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