Commit 3a8e899d authored by maliang's avatar maliang

data

parent 625cbedb
package com.boot.security.server.controller; package com.boot.security.server.controller;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import com.boot.security.server.model.AdvertiserUserMap; import com.boot.security.server.model.AdvertiserUserMap;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -123,7 +125,6 @@ public class UserController { ...@@ -123,7 +125,6 @@ public class UserController {
@GetMapping("/advertiserUserList") @GetMapping("/advertiserUserList")
public PageTableResponse getAdvertiserUserList(PageTableRequest request) { public PageTableResponse getAdvertiserUserList(PageTableRequest request) {
return new PageTableHandler(new CountHandler() { return new PageTableHandler(new CountHandler() {
@Override @Override
public int count(PageTableRequest request) { public int count(PageTableRequest request) {
return userDao.countAdvertiserUserMap(request.getParams()); return userDao.countAdvertiserUserMap(request.getParams());
...@@ -138,6 +139,14 @@ public class UserController { ...@@ -138,6 +139,14 @@ public class UserController {
}).handle(request); }).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获取用户") @ApiOperation(value = "根据用户id获取用户")
@GetMapping("/{id}") @GetMapping("/{id}")
@PreAuthorize("hasAuthority('sys:user:query')") @PreAuthorize("hasAuthority('sys:user:query')")
......
...@@ -24,6 +24,10 @@ public interface UserDao { ...@@ -24,6 +24,10 @@ 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);
//查询所有的广告商
@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(); List<AdvertiserUserMap> getAdvertiserUserMap();
...@@ -45,5 +49,7 @@ public interface UserDao { ...@@ -45,5 +49,7 @@ public interface UserDao {
int saveUserRoles(@Param("userId") Long userId, @Param("roleIds") List<Long> roleIds); 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); int update(SysUser user);
} }
...@@ -5,7 +5,7 @@ public class AdvertiserUserMap { ...@@ -5,7 +5,7 @@ public class AdvertiserUserMap {
public String nickname; public String nickname;
public Integer advertiserId; public Integer advertiserId;
public String advertiserName; public String advertiserName;
public Integer status; public Integer status=0;
public Long getUserId() { public Long getUserId() {
return userId; return userId;
......
...@@ -2,6 +2,7 @@ package com.boot.security.server.service.impl; ...@@ -2,6 +2,7 @@ package com.boot.security.server.service.impl;
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.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -34,7 +35,8 @@ public class UserServiceImpl implements UserService { ...@@ -34,7 +35,8 @@ public class UserServiceImpl implements UserService {
user.setStatus(Status.VALID); user.setStatus(Status.VALID);
userDao.save(user); userDao.save(user);
saveUserRoles(user.getId(), userDto.getRoleIds()); saveUserRoles(user.getId(), userDto.getRoleIds());
List<AdvertiserUserMap> advertiser = userDao.getAdvertiser();
userDao.insertAdvertiserUserMap(userDto.getId(),advertiser);
log.debug("新增用户{}", user.getUsername()); log.debug("新增用户{}", user.getUsername());
return user; return user;
} }
......
...@@ -49,6 +49,13 @@ ...@@ -49,6 +49,13 @@
</foreach> </foreach>
</insert> </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 id="update">
update sys_user t update sys_user t
<set> <set>
......
...@@ -8,31 +8,18 @@ ...@@ -8,31 +8,18 @@
<link rel="stylesheet" type="text/css" media="screen" href="../../layui/css/layui.css"> <link rel="stylesheet" type="text/css" media="screen" href="../../layui/css/layui.css">
</head> </head>
<body> <body>
<div> <div class="layui-form" lay-filter="formTest">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <table class="layui-table">
<header style="height: 100%"> <thead>
</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>用户昵称</th>
<tr>
<th>id</th>
<th>nickname</th>
<th>广告商</th> <th>广告商</th>
<!--<th>操作</th>-->
</tr> </tr>
</thead> </thead>
<tbody> <tbody id="advertiserTable">
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
</div>
</div>
</body> </body>
</html> </html>
...@@ -44,72 +31,6 @@ ...@@ -44,72 +31,6 @@
<script type="text/javascript" src="../../layui/layui.js"></script> <script type="text/javascript" src="../../layui/layui.js"></script>
<script type="text/javascript" src="../../js/dict.js"></script> <script type="text/javascript" src="../../js/dict.js"></script>
<script type="text/javascript"> <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; var form;
layui.use('form', function() { layui.use('form', function() {
...@@ -117,10 +38,85 @@ layui.use('form', function() { ...@@ -117,10 +38,85 @@ layui.use('form', function() {
form.render(); form.render();
form.on('checkbox(formCheckbox)', function(data){ form.on('checkbox(formCheckbox)', function(data){
var elem=data.elem; var elem=data.elem;
console.log(data.elem.checked); //是否被选中,true或者false
console.log(elem.getAttribute("advertiserId")); 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> </script>
\ No newline at end of file
...@@ -8,19 +8,31 @@ ...@@ -8,19 +8,31 @@
<link rel="stylesheet" type="text/css" media="screen" href="../../layui/css/layui.css"> <link rel="stylesheet" type="text/css" media="screen" href="../../layui/css/layui.css">
</head> </head>
<body> <body>
<div class="layui-form" lay-filter="formTest"> <div>
<table class="layui-table"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<thead> <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>
<th>用户昵称</th> </tr>
<tr>
<th>id</th>
<th>nickname</th>
<th>广告商</th> <th>广告商</th>
<!--<th>操作</th>-->
</tr> </tr>
</thead> </thead>
<tbody id="advertiserTable"> <tbody>
</tbody> </tbody>
</table> </table>
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button> </div>
</div> </div>
</div>
</div>
</body> </body>
</html> </html>
...@@ -32,66 +44,83 @@ ...@@ -32,66 +44,83 @@
<script type="text/javascript" src="../../layui/layui.js"></script> <script type="text/javascript" src="../../layui/layui.js"></script>
<script type="text/javascript" src="../../js/dict.js"></script> <script type="text/javascript" src="../../js/dict.js"></script>
<script type="text/javascript"> <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; var form;
layui.use('form', function() { layui.use('form', function() {
form = layui.form; form = layui.form;
form.render(); form.render();
form.on('submit(formDemo)', function(data){
var data1 = form.val("formTest");
console.log(data1);
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
form.on('checkbox(formCheckbox)', function(data){ form.on('checkbox(formCheckbox)', function(data){
var elem=data.elem; var elem=data.elem;
console.log(elem.getAttribute("advertiserId"));
console.log(data.elem.checked); //是否被选中,true或者false 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> </script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment