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
3a8e899d
Commit
3a8e899d
authored
Apr 21, 2020
by
maliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
data
parent
625cbedb
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
239 additions
and
93 deletions
+239
-93
UserController.java
...a/com/boot/security/server/controller/UserController.java
+10
-1
UserDao.java
src/main/java/com/boot/security/server/dao/UserDao.java
+6
-0
AdvertiserUserMap.java
...ava/com/boot/security/server/model/AdvertiserUserMap.java
+1
-1
UserServiceImpl.java
...om/boot/security/server/service/impl/UserServiceImpl.java
+3
-1
UserMapper.xml
src/main/resources/mybatis-mappers/UserMapper.xml
+7
-0
AdvertiserUserList.html
src/main/resources/static/pages/user/AdvertiserUserList.html
+86
-90
AdvertiserUserList2.html
...main/resources/static/pages/user/AdvertiserUserList2.html
+126
-0
No files found.
src/main/java/com/boot/security/server/controller/UserController.java
View file @
3a8e899d
package
com
.
boot
.
security
.
server
.
controller
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
com.boot.security.server.model.AdvertiserUserMap
;
import
org.slf4j.Logger
;
...
...
@@ -123,7 +125,6 @@ public class UserController {
@GetMapping
(
"/advertiserUserList"
)
public
PageTableResponse
getAdvertiserUserList
(
PageTableRequest
request
)
{
return
new
PageTableHandler
(
new
CountHandler
()
{
@Override
public
int
count
(
PageTableRequest
request
)
{
return
userDao
.
countAdvertiserUserMap
(
request
.
getParams
());
...
...
@@ -138,6 +139,14 @@ public class UserController {
}).
handle
(
request
);
}
@ApiOperation
(
value
=
"改变广告商和用户的映射关系"
)
@PostMapping
(
"/updateAdvertiserUserMap"
)
public
void
updateAdvertiserUserMap
(
@RequestBody
AdvertiserUserMap
request
)
{
ArrayList
<
AdvertiserUserMap
>
advertiserUserMaps
=
new
ArrayList
<>();
advertiserUserMaps
.
add
(
request
);
userDao
.
insertAdvertiserUserMap
(
request
.
getUserId
(),
advertiserUserMaps
);
}
@ApiOperation
(
value
=
"根据用户id获取用户"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"hasAuthority('sys:user:query')"
)
...
...
src/main/java/com/boot/security/server/dao/UserDao.java
View file @
3a8e899d
...
...
@@ -24,6 +24,10 @@ public interface UserDao {
@Select
(
"select * from sys_user t where t.id = #{id}"
)
SysUser
getById
(
Long
id
);
//查询所有的广告商
@Select
(
"select advertiser_id as advertiserId,advertiser_name as advertiserName from advert_list t group by advertiser_id,advertiser_name"
)
List
<
AdvertiserUserMap
>
getAdvertiser
();
//查询广告商用户的映射关系
List
<
AdvertiserUserMap
>
getAdvertiserUserMap
();
...
...
@@ -45,5 +49,7 @@ public interface UserDao {
int
saveUserRoles
(
@Param
(
"userId"
)
Long
userId
,
@Param
(
"roleIds"
)
List
<
Long
>
roleIds
);
int
insertAdvertiserUserMap
(
@Param
(
"userId"
)
Long
userId
,
@Param
(
"advertiserUserMap"
)
List
<
AdvertiserUserMap
>
advertiserUserMap
);
int
update
(
SysUser
user
);
}
src/main/java/com/boot/security/server/model/AdvertiserUserMap.java
View file @
3a8e899d
...
...
@@ -5,7 +5,7 @@ public class AdvertiserUserMap {
public
String
nickname
;
public
Integer
advertiserId
;
public
String
advertiserName
;
public
Integer
status
;
public
Integer
status
=
0
;
public
Long
getUserId
()
{
return
userId
;
...
...
src/main/java/com/boot/security/server/service/impl/UserServiceImpl.java
View file @
3a8e899d
...
...
@@ -2,6 +2,7 @@ package com.boot.security.server.service.impl;
import
java.util.List
;
import
com.boot.security.server.model.AdvertiserUserMap
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -34,7 +35,8 @@ public class UserServiceImpl implements UserService {
user
.
setStatus
(
Status
.
VALID
);
userDao
.
save
(
user
);
saveUserRoles
(
user
.
getId
(),
userDto
.
getRoleIds
());
List
<
AdvertiserUserMap
>
advertiser
=
userDao
.
getAdvertiser
();
userDao
.
insertAdvertiserUserMap
(
userDto
.
getId
(),
advertiser
);
log
.
debug
(
"新增用户{}"
,
user
.
getUsername
());
return
user
;
}
...
...
src/main/resources/mybatis-mappers/UserMapper.xml
View file @
3a8e899d
...
...
@@ -49,6 +49,13 @@
</foreach>
</insert>
<insert
id=
"insertAdvertiserUserMap"
>
insert into advertiser_user_map(user_id,advertiser_id, advertiser_name,status) values
<foreach
collection=
"advertiserUserMap"
item=
"advertiser"
separator=
","
>
(#{userId},#{advertiser.advertiserId},#{advertiser.advertiserName},#{advertiser.status})
</foreach>
</insert>
<update
id=
"update"
>
update sys_user t
<set>
...
...
src/main/resources/static/pages/user/AdvertiserUserList.html
View file @
3a8e899d
...
...
@@ -8,31 +8,18 @@
<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>
<div
class=
"layui-form"
lay-filter=
"formTest"
>
<table
class=
"layui-table"
>
<thead>
<tr>
</tr>
<tr>
<th>
id
</th>
<th>
nickname
</th>
<th>
用户昵称
</th>
<th>
广告商
</th>
<!--<th>操作</th>-->
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</thead>
<tbody
id=
"advertiserTable"
>
</tbody>
</table>
</div>
</body>
</html>
...
...
@@ -44,72 +31,6 @@
<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
()
{
...
...
@@ -117,10 +38,85 @@ layui.use('form', function() {
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得到
console
.
log
(
elem
.
getAttribute
(
"userId"
));
console
.
log
(
elem
.
checked
);
//是否被选中,true或者false
if
(
elem
.
checked
){
changeAdvertiserUserMap
(
elem
.
getAttribute
(
"userId"
),
elem
.
getAttribute
(
"advertiserId"
),
elem
.
getAttribute
(
"title"
),
1
)
}
else
{
changeAdvertiserUserMap
(
elem
.
getAttribute
(
"userId"
),
elem
.
getAttribute
(
"advertiserId"
),
elem
.
getAttribute
(
"title"
),
0
)
}
});
});
var
pers
=
checkPermission
();
var
table
=
$
(
"#advertiserTable"
);
function
setTable
(
data
)
{
for
(
var
i
in
data
){
if
(
data
[
i
].
status
===
0
){
table
.
append
(
"<tr><td>"
+
data
[
i
].
nickname
+
"</td><td><input lay-filter='formCheckbox' type=
\"
checkbox
\"
advertiserId=
\"
"
+
data
[
i
].
advertiserId
+
"
\"
title=
\"
"
+
data
[
i
].
advertiserName
+
"
\"
userId=
\"
"
+
data
[
i
].
userId
+
"
\"
></td></tr>"
);
}
else
{
table
.
append
(
"<tr><td>"
+
data
[
i
].
nickname
+
"</td><td><input lay-filter='formCheckbox' type=
\"
checkbox
\"
advertiserId=
\"
"
+
data
[
i
].
advertiserId
+
"
\"
title=
\"
"
+
data
[
i
].
advertiserName
+
"
\"
userId=
\"
"
+
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
);
}
});
}
function
changeAdvertiserUserMap
(
userId
,
advertiserId
,
advertiserName
,
status
){
var
str
=
{
userId
:
userId
,
advertiserId
:
advertiserId
,
advertiserName
:
advertiserName
,
status
:
status
};
$
.
ajax
({
//请求方式
type
:
"post"
,
//请求的媒体类型
contentType
:
"application/json;charset=UTF-8"
,
//请求地址
url
:
"/users/updateAdvertiserUserMap"
,
async
:
true
,
//数据,json字符串
data
:
JSON
.
stringify
(
str
),
//请求成功
success
:
function
(
result
)
{
console
.
log
(
"修改所属广告商成功"
);
//form.render();
},
//请求失败,包含具体的错误信息
error
:
function
(
e
){
console
.
log
(
e
.
status
);
console
.
log
(
e
.
responseText
);
}
});
}
init
();
</script>
\ No newline at end of file
src/main/resources/static/pages/user/AdvertiserUserList
1
.html
→
src/main/resources/static/pages/user/AdvertiserUserList
2
.html
View file @
3a8e899d
...
...
@@ -8,19 +8,31 @@
<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>
<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>
<th>
用户昵称
</th>
</tr>
<tr>
<th>
id
</th>
<th>
nickname
</th>
<th>
广告商
</th>
<!--<th>操作</th>-->
</tr>
</thead>
<tbody
id=
"advertiserTable"
>
</tbody>
</table>
<button
class=
"layui-btn"
lay-submit
lay-filter=
"formDemo"
>
立即提交
</button>
</div>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>
...
...
@@ -32,66 +44,83 @@
<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
(
'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得到
console
.
log
(
elem
.
getAttribute
(
"advertiserId"
));
console
.
log
(
elem
.
getAttribute
(
"userId"
));
//复选框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