ssh layer

<%@page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ include file="/jsp/common.jsp" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <base href="<%=basePath%>">
  <meta charset="utf-8">
  <title>用户管理</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<meta http-equiv="description" content="This is my page">
	<link rel="stylesheet" type="text/css" href="<%=basePath %>js/layui-v2.5.5/layui/css/layui.css" charset="utf-8">
</head>

<body>

<div class="layui-fluid">
	<div class="layui-card">
		<div class="layui-form layui-card-header">
	      <div class="layui-form-item">
	          <div class="layui-inline">
	            <label class="layui-form-label">工号</label>
	            <div class="layui-input-inline">
	              <input type="text" name="_workId" placeholder="请输入工号" autocomplete="off" class="layui-input">
	            </div>
	          </div>
	          <div class="layui-inline">
	            <label class="layui-form-label">用户名</label>
	            <div class="layui-input-inline">
	              <input type="text" name="_name" placeholder="请输入用户名" autocomplete="off" class="layui-input">
	            </div>
	          </div>
	          <div class="layui-inline">
          		<button class="layui-btn layui-btn-sm" lay-submit lay-filter="user-tbl-search"><i class="layui-icon layui-icon-search"></i>  查 询</button>
	          </div>
	       </div>
		</div>
		<div class="layui-card-body">
		    <!-- 系统模块原始容器: -->
			<table class="layui-hide" id="user-tbl" lay-filter="user-tbl"></table>
		</div>
	</div>	
</div>	

	<div id="org-table" style="display:none;padding:10px 10px;">
		<table class="layui-hide" id="org-tbl" lay-filter="org-tbl"></table>
	</div>
  
  <!-- 添加用户弹出层 -->
  <div id="add-user-layer" style="display: none; padding: 20px">
    <form id="add-user-form" class="layui-form layui-form-pane" >
       <div class="layui-form-item" style="margin-top:5px;">
		    <label class="layui-form-label">姓名</label>
		    <div class="layui-input-inline">
		      <input type="text" name="_name" required  lay-verify="required" placeholder="请输入姓名" autocomplete="off" class="layui-input">
		    </div>
		  </div>
		 <div class="layui-form-item">
		    <label class="layui-form-label">所属组织</label>
		    <div class="layui-input-inline">
		    	<input class="layui-input" type="hidden" id="_orgId" name="_orgId">
		 		<input type="text" id="_orgName" name="_orgName"  readonly="readonly" onclick="selectOrg();" autocomplete="off" class="layui-input" lay-verify="required">
		    </div>
		  </div> 
		   <div class="layui-form-item">
		    <label class="layui-form-label">工号</label>
		    <div class="layui-input-inline">
		      <input type="text" name="_workId" required lay-verify="required" placeholder="请输入工号" autocomplete="off" class="layui-input">
		    </div>
		  </div>
		  <div class="layui-form-item">
		    <label class="layui-form-label">邮箱</label>
		    <div class="layui-input-inline">
		      <input type="text" name="_email" required lay-verify="required" placeholder="请输入邮箱" autocomplete="off" class="layui-input">
		    </div>
		  </div>
    	  <div class="layui-form-item">
	          <button class="layui-btn" lay-submit lay-filter="add-user-form-submit">提交</button>
	          <button type="reset" class="layui-btn layui-btn-primary">重置</button>
        </div>
      </div>
    </form>
  </div>
  
  <!-- 更新弹出层 -->
  <div id="update-user-layer" style="display: none; padding: 20px">
     <form id="update-user-form" class="layui-form layui-form-pane" lay-filter="update-user-form">
      <div class="layui-form-item" style="display: none;">
        <label class="layui-form-label">_id</label>
        <div class="layui-input-block">
          <input type="text" name="_id" class="layui-input" readonly>
        </div>
      </div>
       <div class="layui-form-item" style="margin-top:5px;">
		    <label class="layui-form-label">姓名</label>
		    <div class="layui-input-inline">
		      <input type="text" name="_name" required  lay-verify="required" placeholder="请输入姓名" autocomplete="off" class="layui-input">
		    </div>
		  </div>
		 <div class="layui-form-item">
		    <label class="layui-form-label">所属组织</label>
		    <div class="layui-input-inline">
		    	<input class="layui-input" type="hidden" name="_orgId">
		 		<input type="text"  name="_orgName" readonly="readonly" autocomplete="off" class="layui-input" lay-verify="required">
		    </div>
		  </div> 
		   <div class="layui-form-item">
		    <label class="layui-form-label">工号</label>
		    <div class="layui-input-inline">
		      <input type="text" name="_workId" required lay-verify="required" placeholder="请输入工号" autocomplete="off" class="layui-input">
		    </div>
		  </div>
		  <div class="layui-form-item">
		    <label class="layui-form-label">邮箱</label>
		    <div class="layui-input-inline">
		      <input type="text" name="_email" required lay-verify="required" placeholder="请输入邮箱" autocomplete="off" class="layui-input">
		    </div>
		  </div>
    	  <div class="layui-form-item">
	          <button class="layui-btn" lay-submit lay-filter="update-module-form-submit">提交</button>
	          <button type="reset" class="layui-btn layui-btn-primary">重置</button>
        </div>
      </div>
    </form>
  </div>
	<script type="text/javascript" src="<%=basePath %>js/layui-v2.5.5/layui/layui.js" charset="utf-8"></script>
	
	<script type="text/html" id="user-tbl-toolbar">
 	 <div class="layui-btn-container">
 		<button class="layui-btn layui-btn-sm" lay-event="refresh">刷新</button>
    	<button class="layui-btn layui-btn-sm" lay-event="add-user-btn" >添加</button>
	 </div>
	</script>
	<script type="text/html" id="operation">
	 	<div class="layui-btn-container">
	 		<button class="layui-btn layui-btn-sm" lay-event="confirm">确认</button>
		</div>
	</script>
	
	<script type="text/html" id="user-rowtbl-toolbar">
		<a class="layui-btn layui-btn-xs" lay-event="updateUser">编辑</a>
      	<a class="layui-btn layui-btn-xs" lay-event="resetPwd">初始化密码</a>
      	<a class="layui-btn layui-btn-xs" lay-event="setRole">设置角色</a>

		{{#  if(d._type){ }}
      		<a class="layui-btn layui-btn-xs" lay-event="disableUser">禁用账号</a>
		{{#  } else{ }}
      		<a class="layui-btn layui-btn-xs" lay-event="disableUser">启用账号</a>
		{{#  } }}

      	<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="deleteUser">删除</a>
    </script>
    
	
	<script>
		var basePath = "<%=basePath %>";
	</script>
	
	<script type="text/javascript"src="<%=basePath %>test.js?v=202001022106"></script>
	</body>
</html>
VisualSVN Server
 sensor / sensor / WebContent / test.jsRevision: HEAD   
Download
layui.use([ 'jquery', 'table', 'layer', 'form' ], function() {
	// 加载layui模块,使用其推荐的【预先加载】方式,详见官网【模块规范】一节
	var $ = layui.$;
	var table = layui.table;
	var layer = layui.layer;
	var form = layui.form;
	var table = layui.table;
	table.render({
		elem : '#user-tbl',
		url : 'user/toList.do',
		toolbar : '#user-tbl-toolbar', //开启头部工具栏,并为其绑定左侧模板
		defaultToolbar : [ 'filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
			title : '提示',
			layEvent : 'LAYTABLE_TIPS',
			icon : 'layui-icon-tips'
		} ],
		title : '用户数据表',
		cols : [ [ {
			field : '_name',
			title : '用户名'
		}, {
			field : '_workId',
			title : '工号',
			sort : true
		}, {
			field : '_email',
			title : '邮箱'
		}, {
			field : '_lastlogintime',
			title : '最后登录时间'
		}, {
			field : '_logintimes',
			title : '登录次数',
			sort : true
		}, {
			fixed : 'right',
			title : '操作',
			width : 340,
			toolbar : '#user-rowtbl-toolbar'
		} ] ],
		page : true
	});
	
	//查询监听
	form.on('submit(user-tbl-search)', function(data) {
		table.reload('user-tbl', {
			where : data.field
		})
	});
	
	table.render({
		elem : '#org-tbl',
		method : 'post',
		url : 'user/getTableOrg.do',
		cols : [ [ {
			field : '_orgId',
			title : '序号'
		}, {
			field : '_name',
			title : '组织名',
			width : 150
		}, {
			field : 'right',
			title : '操作',
			toolbar : '#operation',
			width : 100
		} ] ],
		// 表格容器id,用于表格重载
		id : 'org-tbl',
	});

	//org-tbl 行监听器
	table.on('tool(org-tbl)', function(obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
		var data = obj.data; //获得当前行数据
		console.log(data)
		var event = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
		if (event === 'confirm') {
			$('#_orgId').val(data._orgId);
			$('#_orgName').val(data._name);
			layer.close(OrgLayer);
		}
	})

	table.on('toolbar(user-tbl)', function(obj) {
		// 获取当前行数据和lay-event的值
		var data = obj.data;
		var event = obj.event;
		if (event == "add-user-btn") {
			// 每次显示前重置表单
			$('#add-user-form')[0].reset();
			layer.open({
				type : 1,
				title : '添加用户',
				skin : 'layui-layer-molv',
				area : 'auto',
				content : $('#add-user-layer')
			});
		}
	})
	// 添加用户表单提交
	form.on('submit(add-user-form-submit)', function(data) {
		$.ajax({
			url : basePath + 'user/edit.do',
			type : "POST",
			data : data.field,
			dataType : 'json',
			success : function(result) {
				if (result.success) {
					layer.closeAll();
					layer.msg('添加成功');
					table.reload('user-tbl');
				} else {
					layer.msg(result.msg);
				}
			},
			error : function() {
				console.log("ajax error");
			}
		});
		// 阻止表单跳转
		return false;
	});

	// 监听行工具栏事件:删除用户与更新用户
	table.on('tool(user-tbl)', function(obj) {
		// 获取当前行数据和lay-event的值
		var data = obj.data;
		var event = obj.event;
		switch (event) {
		case 'deleteUser':
			layer.confirm('确定删除该数据吗?', function(index) {
				$.ajax({
					url : basePath + "user/delete.do?_id=" + data._id,
					type : 'GET',
					dataType : 'json',
					success : function(result) {
						if (result.success) {
							layer.msg("操作成功");
							table.reload('user-tbl')
						} else {
							layer.msg(result.msg);
						}
					},
					error : function() {
						layer.msg("ajax error");
					}
				})
			})
			break;
		case 'updateUser': //更新用户
			// 每次显示更新用户的表单前自动为表单填写该行的数据
			form.val('update-user-form', {
				"_id" : data._id,
				"_name" : data._name,
				"_orgId" : data._orgId,
				"_orgName" : data._orgName,
				"_workId" : data._workId,
				"_email" : data._email
			});
			// 显示更新用户表单的弹出层
			layer.open({
				type : 1,
				title : '更新用户',
				skin : 'layui-layer-molv',
				area : [ '500px' ],
				content : $('#update-user-layer')
			});
			// 更新用户表单提交
			form.on('submit(update-module-form-submit)', function(data) {
				// ajax方式更新用户
				$.ajax({
					url : basePath + "user/edit.do",
					type : "GET",
					data : data.field,
					//            contentType: 'application/json',
					dataType : 'json',
					success : function(result) {
						if (result.success) {
							layer.closeAll();
							layer.msg('更新成功');
							table.reload('user-tbl');
						} else {
							layer.msg(result.msg);
						}
					},
					error : function() {
						console.log("ajax error");
					}
				});
				// 阻止表单跳转
				return false;
			});
			break;
		case 'disableUser'://禁用/启用账号
			layer.confirm('确定禁用/启用该账号吗?', function(index) {
				$.ajax({
					url : basePath + "user/disabled.do?_id=" + data._id,
					type : 'GET',
					dataType : 'json',
					success : function(result) {
						if (result.success) {
							layer.msg("操作成功");
							table.reload('user-tbl')
						} else {
							layer.msg(result.msg);
						}
					},
					error : function() {
						layer.msg("ajax error");
					}
				})
			})
			break;
		case 'resetPwd': //密码初始化
			layer.confirm('确定初始化该账号密码吗?', function(index) {
				$.ajax({
					url : basePath + "user/reset.do?_id=" + data._id,
					type : 'GET',
					dataType : 'json',
					success : function(result) {
						if (result.success) {
							layer.msg("操作成功");
							table.reload('user-tbl')
						} else {
							layer.msg(result.msg);
						}
					},
					error : function() {
						layer.msg("ajax error");
					}
				})
			})
			break;
		default:
			break;
		}
		
	});
});
var OrgLayer;
function selectOrg() {
	OrgLayer = layer.open({
		type : 1,
		title : '选择组织',
		skin: 'layui-layer-molv',
		area : 'auto',
		content : $('#org-table')
	});
}
package auto.system.module.controller;

import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import auto.system.common.entity.PageData;
import auto.system.module.server.OrganizationService;
import auto.system.module.server.UserService;
import auto.system.utils.ActionResult;
import auto.system.utils.TextValue;

@Controller
@RequestMapping(value="/user")
public class _TUserController extends BaseController {
	
	@Resource
	private UserService userService;

	@Resource
	private OrganizationService orgService;
	
	//主页
	@RequestMapping(value="/index.do")
	public String index(HttpServletRequest request){
		return "/jsp/system/user/index.jsp";
	}
	
	@RequestMapping(value="/getTableOrg.do")
	@ResponseBody
	public PageData getTableOrg(HttpServletRequest request){
		return orgService.getTableOrg();
	}
	
	@RequestMapping(value="/edit.do")
	@ResponseBody
	public ActionResult edit(HttpServletRequest request,HttpServletResponse response) throws Exception{
		return userService.edit(request);
	}
	
	@RequestMapping(value="/getList.do")
	@ResponseBody
	public List<?> getList(HttpServletRequest request){
		return userService.getList(request);
	}
	
	@RequestMapping(value="/toList.do")
	@ResponseBody
	public PageData toList(HttpServletRequest request,Integer limit,Integer page) throws Exception {
		return userService.toList(request,limit,page);
	}
 
	@RequestMapping(value="/getCombobox.do")
	@ResponseBody
	public List<TextValue> getCombobox(){
		return userService.getCombobox();
	}
	
	//初始密码
	@RequestMapping(value="/reset.do")
	@ResponseBody
	public ActionResult reset(HttpServletRequest request,String _id){
		 return userService.reset(_id);
	}
	
	//禁用账号
	@RequestMapping(value="/disabled.do")
	@ResponseBody
	public ActionResult disabled(HttpServletRequest request,String _id){
		return userService.disabled(_id);
	}
	
	@RequestMapping(value="/delete.do")
	@ResponseBody
	public ActionResult delete(HttpServletRequest request,String _id){
		return userService.delete(_id);
	}
	
	@RequestMapping(value="/userSetRoleUI.do")
	public String userSetRoleUI(HttpServletRequest request){
		userService.userSetRoleUI(request);
		return "/jsp/system/user/user_role.jsp";
	}

	@RequestMapping(value="/userSetRole.do")
	public String userSetRole(HttpServletRequest request){
		userService.userSetRole(request);
		return "/jsp/system/user/index.jsp";
	}

	@RequestMapping(value="/setpass.do")
	@ResponseBody
	public Boolean setpass(HttpServletRequest request,String oldPassword,String newPassword){
		return userService.setpass(request,oldPassword,newPassword).getSuccess();
	}
	
}

package auto.system.module.server;

import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import auto.system.common.entity.PageData;
import auto.system.module.core.AccessTree;
import auto.system.module.core.CommonFunction;
import auto.system.module.core.DTOBuilder;
import auto.system.module.core.SessionUtils;
import auto.system.module.core.StringConfig;
import auto.system.module.server.dao.SystemBaseDAO;
import auto.system.module.system.model._Organization;
import auto.system.module.system.model._Role;
import auto.system.module.system.model._TUser;
import auto.system.module.system.model._UserRole;
import auto.system.third.util.UUIDUtils;
import auto.system.utils.ActionResult;
import auto.system.utils.TextValue;
import auto.system.utils.TimeUtils;
import db.utils.DBUtils;

@Service
public class UserService extends BaseService {

	@Resource
	private SystemBaseDAO systemBaseDAO;
	
	
	@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
	public ActionResult edit(HttpServletRequest request) throws Exception{
		ActionResult result = new ActionResult();
		String _id = res.getParameter(request, "_id", "");
		_TUser obj = null;
		try {
			if("".equals(_id)){
			//添加
			obj = (_TUser) DTOBuilder.getDTO(request, _TUser.class);
			obj.set_id(UUIDUtils.getUUID());
			obj.set_is_hidden(false);
			obj.set_type(true);
			obj.set_inputdate(TimeUtils.getYearMonthDayHourMinuteStr());
			obj.set_inputmen(SessionUtils.getUser(request).get_name());
			obj.set_password(CommonFunction.fu_GenPasswordWith(res.getParameter(request, "_workId", ""), StringConfig.DEFAULTPWD));
			systemBaseDAO.save(obj);
			result.setSuccess(true);
		}else{
			//修改
			obj = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
			DTOBuilder.updateDTO(request, obj);
			obj.set_inputdate(TimeUtils.getYearMonthDayHourMinuteStr());
			obj.set_inputmen(SessionUtils.getUser(request).get_name());
			systemBaseDAO.attachDirty(obj, null);
				result.setSuccess(true);
			}
		} catch (Exception e) {
			result.setSuccess(false);
			result.setMsg(e.getMessage());
		}
		return result;
	}
	
	@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
	public List<?> getList(HttpServletRequest request){
		String search = res.getParameter(request, "search", "");
		String hql = "from _TUser where _type = 1 and _is_hidden = 0 order by _inputdate desc";
		if(!"".equals(search)){
			hql = "from _TUser where _name like '%"+ search +"%' or _workId like '%"+ search +"%' order by _name,_inputdate desc";
		}
		return (List<?>) systemBaseDAO.findAll(hql);
	}
	 
	@SuppressWarnings("unchecked")
	@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
	public PageData toList(HttpServletRequest request, Integer limit,Integer page) throws Exception {
		String _name = res.getParameter(request, "_name", "");
		String _workId = res.getParameter(request, "_workId", "");
		StringBuffer hql = new StringBuffer();
		StringBuffer sql = new StringBuffer();
		hql.append("from _TUser where 1 = 1 ");
		sql.append("select count(1) from _TUser where 1 = 1 ");
		if(StringUtils.isEmpty(_name) && StringUtils.isEmpty(_workId)){
			hql.append("and _type = 1 and _is_hidden = 0 ");
			sql.append("and _type = 1 and _is_hidden = 0 ");
		}else{
			if(StringUtils.isNotEmpty(_name)){
				hql.append(" and _name like '%"+ _name +"%%' ");
				sql.append(" and _name like '%"+ _name +"%' ");
			}
			if(StringUtils.isNotEmpty(_workId)){
				hql.append(" and _workId like '%"+ _workId +"%%' ");
				sql.append(" and _workId like '%"+ _workId +"%' ");
			}
		}
		hql.append(" order by _inputdate desc");
		List<_TUser> list = (List<_TUser>) systemBaseDAO.findAll(hql.toString(), limit, page);// 每页显示条数
		for(_TUser user:list){
			if(user.get_orgId() !=null){
				_Organization organization=(_Organization) systemBaseDAO.findById(_Organization.class, user.get_orgId());
				user.set_orgName(organization.get_name());
			}
		}
		return PageData.successData(list,DBUtils.getTotal(sql.toString()));
	}
	
	@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
	public List<?> getList(){
		String hql = "from _TUser order by _inputdate desc";
		return (List<?>) systemBaseDAO.findAll(hql);
	}

	@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
	public _TUser getObject(String id){
		_TUser user = (_TUser) systemBaseDAO.findById(_TUser.class, id);
		_Organization org = (_Organization) systemBaseDAO.findById(_Organization.class, user.get_orgId());
		if(org != null)
			user.setOrgName(org.get_name());
		return user;
	}
	
	@SuppressWarnings("unchecked")
	@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
	public List<TextValue> getCombobox(){
		List<TextValue> list = new ArrayList<TextValue>();
		List<_TUser> _list = (List<_TUser>) systemBaseDAO.findAll("from _TUser order by _inputdate desc");
		for (_TUser m : _list) {
			TextValue tv = new TextValue(m.get_name(),m.get_orgId());
			list.add(tv);
		}
		return list;
	}
	
	@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
	public ActionResult reset(String _id){
		ActionResult result = new ActionResult();
		try{
			_TUser record = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
			if(record != null){
				record.set_password(CommonFunction.fu_GenPasswordWith(record.get_workId(), StringConfig.DEFAULTPWD));
				systemBaseDAO.attachDirty(record,null);
				result.setSuccess(true);
			}
		}catch(Exception e){
			result.setSuccess(false);
			result.setMsg(e.getMessage());
			e.printStackTrace();
		}
		return result;
	}
	
	@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
	public ActionResult disabled(String _id){
		ActionResult result = new ActionResult();
		try{
			_TUser record = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
			if(record != null){
				record.set_type(!record.get_type());
				systemBaseDAO.attachDirty(record,null);
				result.setSuccess(true);
			}
		}catch(Exception e){
			result.setSuccess(false);
			result.setMsg(e.getMessage());
			e.printStackTrace();
		}
		return result;
	}
	
	@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
	public ActionResult delete(String _id){
		ActionResult result = new ActionResult();
		try{
			_TUser record = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
			int total = systemBaseDAO.getTotal("from _UserRole where _user_id ='" + record.get_id()+"'");
			if(record != null && total == 0){
				result.setSuccess(true);
				systemBaseDAO.delete(record);
			}else{
				result.setSuccess(false);
				result.setMsg("请清空用户角色信息后再删除用户信息。");
			}
		}catch(Exception e){
			result.setSuccess(false);
			result.setMsg(e.getMessage());
			e.printStackTrace();
		}
		return result;
	}
	

	@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
	public ActionResult toDelete(String _id){
		ActionResult result = new ActionResult();
		try{
			_TUser record = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
			int total = systemBaseDAO.getTotal("from _UserRole where _user_id = " + record.get_id());
			if(record != null && total == 0){
				result.setSuccess(true);
				systemBaseDAO.delete(record);
			}else{
				result.setSuccess(false);
				result.setMsg("请清空用户角色信息后再删除用户信息。");
			}
		}catch(Exception e){
			result.setSuccess(false);
			result.setMsg(e.getMessage());
			e.printStackTrace();
		}
		return result;
	}
	
	@SuppressWarnings("unchecked")
	@Transactional(propagation = Propagation.REQUIRED,readOnly = true)
	public void userSetRoleUI(HttpServletRequest request) {
		String _user_id = res.getParameter(request, "_id", "");
		List<AccessTree> list = new ArrayList<AccessTree>();
		String hql = "from _Role r order by r._name";
		List<_Role> roleList = (List<_Role>) systemBaseDAO.findAll(hql);
		for (int i = 0; i < roleList.size(); i++) {
			String pdHql = "from _UserRole r where r._user_id = '" + _user_id + "' and r._role_id = '" + roleList.get(i).get_id() + "'";
			int total = systemBaseDAO.getTotal(pdHql);
			AccessTree at = new AccessTree();
			at.set_id(roleList.get(i).get_id());
			at.set_name(roleList.get(i).get_name());
			if (total == 1) {
				at.set_flag(true);
			} else {
				at.set_flag(false);
			}
			list.add(at);
		}
		request.setAttribute("_user_id", _user_id);
		request.setAttribute("list", list);
	}

	@SuppressWarnings("unchecked")
	@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
	public void userSetRole(HttpServletRequest request){
		String _user_id = res.getParameter(request, "_user_id","");
		String hql = "from _UserRole r where r._user_id = '"+ _user_id +"'";
		List<_UserRole> list = (List<_UserRole>) systemBaseDAO.findAll(hql);
		String[] roleIDs = request.getParameterValues("id");
		List<String> addList = new ArrayList<String>();
		List<String> delList = new ArrayList<String>();
		//增加权限筛选
		if(roleIDs == null){
			if(list != null && list.size()>0){
				for(int i = 0;i < list.size();i++){
					systemBaseDAO.delete(list.get(i));
				}
			}
		}else{
			if(roleIDs.length > 0){
				for(int i = 0;i < roleIDs.length;i++){
					boolean flag = true;
					for(int j = 0;j < list.size();j++){
						if(roleIDs[i].equals(list.get(j).get_role_id()+"")){
							flag = false;
							break;
						}
					}
					if(flag){
						addList.add(roleIDs[i]);
					}
				}
				//删除权限筛选
				if(list.size()>0){
					for(int i = 0;i < list.size();i++){
						boolean flag = true;//默认删除
						for(int j = 0;j < roleIDs.length;j++){
							if((list.get(i).get_role_id()+"").equals(roleIDs[j])){
								flag = false;
								break;
							}
						}
						if(flag){
							delList.add(list.get(i).get_role_id()+"");
						}
					}
				}
				//执行增加
				if(addList.size()>0){
					for(int j = 0;j < addList.size();j++){
						_UserRole r = new _UserRole();
						r.set_user_id(_user_id);
						r.set_role_id(addList.get(j));
						systemBaseDAO.save(r);
					}
				}
				//执行删除
				if(delList.size()>0){
					for(int j = 0;j < delList.size();j++){
						String del_hql = "from _UserRole r where r._user_id = '"+ _user_id +"' and r._role_id = '"+ delList.get(j) +"'";
						_UserRole r = (_UserRole) systemBaseDAO.findObjectByHql(del_hql);
						systemBaseDAO.delete(r);
					}
				}
			}
		}
	}

	@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
	public ActionResult setpass(HttpServletRequest request,String oldPassword,String newPassword){
		ActionResult result = new ActionResult();
		_TUser user = SessionUtils.getUser(request);
		result.setSuccess(true);
		if((CommonFunction.fu_GenPasswordWith(user.get_workId(), oldPassword)).equals(user.get_password())){
			user.set_password(CommonFunction.fu_GenPasswordWith(user.get_workId(), newPassword));
			systemBaseDAO.attachDirty(user, null);
		}else{
			result.setSuccess(false);
		}
		return result;
	}

	
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值