package com.webside.user.controller;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.webside.base.basecontroller.BaseController;
import com.webside.common.Common;
import com.webside.dtgrid.model.Pager;
import com.webside.dtgrid.util.ExportUtils;
import com.webside.exception.AjaxException;
import com.webside.exception.ServiceException;
import com.webside.role.model.RoleEntity;
import com.webside.role.service.RoleService;
import com.webside.shiro.ShiroAuthenticationManager;
import com.webside.user.model.UserEntity;
import com.webside.user.model.UserInfoEntity;
import com.webside.user.service.UserService;
import com.webside.util.PageUtil;
import com.webside.util.RandomUtil;
import com.webside.util.crypto.EndecryptUtils;
@Controller
@Scope("prototype")
@RequestMapping("/user/")
public class UserController extends BaseController {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Value("${shiro.hashIterations}")
private String hashIterations;
@RequestMapping("listUI.html")
public String listUI(Model model, HttpServletRequest request) {
try
{
PageUtil page = new PageUtil();
if(request.getParameterMap().containsKey("page")){
page.setPageNum(Integer.valueOf(request.getParameter("page")));
page.setPageSize(Integer.valueOf(request.getParameter("rows")));
page.setOrderByColumn(request.getParameter("sidx"));
page.setOrderByType(request.getParameter("sord"));
}
model.addAttribute("page", page);
return Common.BACKGROUND_PATH + "/user/list";
}catch(Exception e)
{
throw new AjaxException(e);
}
}
/**
* ajax分页动态加载模式
* @param dtGridPager Pager对象
* @throws Exception
*/
@RequestMapping(value = "/list.html", method = RequestMethod.POST)
@ResponseBody
public Object list(String gridPager, HttpServletResponse response) throws Exception{
Map<String, Object> parameters = null;
//1、映射Pager对象
Pager pager = JSON.parseObject(gridPager, Pager.class);
//2、设置查询参数
parameters = pager.getParameters();
parameters.put("creatorName", ShiroAuthenticationManager.getUserAccountName());
if (parameters.size() < 0) {
parameters.put("userName", null);
}
//3、判断是否是导出操作
if(pager.getIsExport())
{
if(pager.getExportAllData())
{
//3.1、导出全部数据
List<UserEntity> list = userService.queryListByPage(parameters);
ExportUtils.exportAll(response, pager, list);
return null;
}else
{
//3.2、导出当前页数据
ExportUtils.export(response, pager);
return null;
}
}else
{
//设置分页,page里面包含了分页信息
Page<Object> page = PageHelper.startPage(pager.getNowPage(),pager.getPageSize(), true);
List<UserEntity> list = userService.queryListByPage(parameters);
parameters.clear();
parameters.put("isSuccess", Boolean.TRUE);
parameters.put("nowPage", pager.getNowPage());
parameters.put("pageSize", pager.getPageSize());
parameters.put("pageCount", page.getPages());
parameters.put("recordCount", page.getTotal());
parameters.put("startRecord", page.getStartRow());
//列表展示数据
parameters.put("exhibitDatas", list);
return parameters;
}
}
@RequestMapping("addUI.html")
public String addUI(Model model) {
try
{
List<RoleEntity> list = roleService.queryListByPage(new HashMap<String, Object>());
model.addAttribute("roleList", list);
return Common.BACKGROUND_PATH + "/user/form";
}catch(Exception e)
{
throw new AjaxException(e);
}
}
@RequestMapping("add.html")
@ResponseBody
public Object add(UserEntity userEntity) throws AjaxException
{
Map<String, Object> map = new HashMap<String, Object>();
try
{
String password = userEntity.getPassword();
// 加密用户输入的密码,得到密码和加密盐,保存到数据库
UserEntity user = EndecryptUtils.md5Password(userEntity.getAccountName(), userEntity.getPassword(), 2);
//设置添加用户的密码和加密盐
userEntity.setPassword(user.getPassword());
userEntity.setCredentialsSalt(user.getCredentialsSalt());
//设置创建者姓名
userEntity.setCreatorName(ShiroAuthenticationManager.getUserAccountName());
userEntity.setCreateTime(new Date(System.currentTimeMillis()));
//设置锁定状态:未锁定;删除状态:未删除
userEntity.setLocked(0);
userEntity.setDeleteStatus(0);
UserInfoEntity userInfo = new UserInfoEntity();
userEntity.setUserInfo(userInfo);
int result = userService.insert(userEntity, password);
if(result == 1)
{
map.put("success", Boolean.TRUE);
map.put("data", null);
map.put("message", "添加成功");
}else
{
map.put("success", Boolean.FALSE);
map.put("data", null);
map.put("message", "添加失败");
}
}catch(ServiceException e)
{
throw new AjaxException(e);
}
return map;
}
@RequestMapping("editUI.html")
public String editUI(Model model, HttpServletRequest request, Long id) {
try
{
UserEntity userEntity = userService.findById(id);
PageUtil page = new PageUtil();
page.setPageNum(Integer.valueOf(request.getParameter("page")));
page.setPageSize(Integer.valueOf(request.getParameter("rows")));
page.setOrderByColumn(request.getParameter("sidx"));
page.setOrderByType(request.getParameter("sord"));
List<RoleEntity> list = roleService.queryListByPage(new HashMap<String, Object>());
model.addAttribute("page", page);
model.addAttribute("userEntity", userEntity);
model.addAttribute("roleList", list);
return Common.BACKGROUND_PATH + "/user/form";
}catch(Exception e)
{
throw new AjaxException(e);
}
}
@RequestMapping("edit.html")
@ResponseBody
public Object update(UserEntity userEntity) throws AjaxException
{
Map<String, Object> map = new HashMap<String, Object>();
try
{
//设置创建者姓名
userEntity.setCreatorName(ShiroAuthenticationManager.getUserAccountName());
int result = userService.update(userEntity);
if(result == 1)
{
map.put("success", Boolean.TRUE);
map.put("data", null);
map.put("message", "编辑成功");
}else
{
map.put("success", Boolean.FALSE);
map.put("data", null);
map.put("message", "编辑失败");
}
}catch(Exception e)
{
throw new AjaxException(e);
}
return map;
}
@RequestMapping("lock.html")
@ResponseBody
public Object lock(UserEntity userEntity) throws AjaxException
{
Map<String, Object> map = new HashMap<String, Object>();
try
{
userEntity.setLocked(1);
int result = userService.updateOnly(userEntity);
if(result == 1)
{
map.put("success", Boolean.TRUE);
map.put("data", null);
map.put("message", "账户已锁定");
}else
{
map.put("success", Boolean.FALSE);
map.put("data", null);
map.put("message", "账户锁定失败");
}
}catch(Exception e)
{
throw new AjaxException(e);
}
return map;
}
@Reque
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Java的webside完全响应式权限管理系统设计源码,该项目包含344个文件,主要文件类型有135个java源文件,以及78个javascript文件。此外,还包括31个jsp页面文件,24个css样式文件,以及22个xml配置文件。该项目是一个基于Java的webside完全响应式权限管理系统设计源码,可能涉及用户界面设计、应用逻辑实现、数据存储等多个方面。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java的webside完全响应式权限管理系统设计源码 (344个子文件)
ace.min.css 498KB
bootstrap.min.css 115KB
ace-part2.min.css 108KB
ace-skins.min.css 82KB
style.css 34KB
style.css 31KB
font-awesome.min.css 30KB
animate.css 23KB
bootstrap-datepicker3.standalone.min.css 21KB
animate.min.css 17KB
select2.min.css 15KB
layer.css 14KB
ace-ie.min.css 9KB
bootstrap-switch.min.css 6KB
cropper.min.css 4KB
dlshouwen.grid.min.css 3KB
font-webside-ie7.min.css 3KB
font-webside.min.css 2KB
webside-icon.min.css 608B
webuploader.css 515B
ace-fonts.min.css 308B
backgroundSlider.css 177B
cronGen.css 98B
webside.min.css 60B
ip2region.db 1.56MB
fontawesome-webfont.eot 162KB
glyphicons-halflings-regular.eot 20KB
webside.eot 8KB
loading-0.gif 6KB
throbber.gif 2KB
throbber.gif 2KB
loading-2.gif 2KB
loading-1.gif 701B
index.html 0B
webside.ico 17KB
UserController.java 15KB
ScheduleJobController.java 14KB
ExportUtils.java 14KB
DbSearcher.java 12KB
RedisManager.java 12KB
ScheduleJobServiceImpl.java 12KB
ImageKitUtil.java 11KB
IndexController.java 11KB
ResourceController.java 10KB
SHA1HMAC.java 10KB
LogAspect.java 9KB
RoleController.java 8KB
AES.java 7KB
MyDBRealm.java 7KB
KickoutSessionFilter.java 6KB
DruidConnectionProviderManager.java 6KB
QuartzSessionValidationScheduler.java 6KB
UserSessionServiceImpl.java 6KB
SnowflakeIdWorker.java 6KB
ScheduleJobEntity.java 5KB
MyByteSource.java 5KB
RedisShiroCache.java 5KB
ChainDefinitionService.java 5KB
TreeUtil.java 5KB
Pager.java 5KB
ResourceEntity.java 4KB
EhCacheShiroSessionRepository.java 4KB
ShiroAuthenticationManager.java 4KB
EndecryptUtils.java 4KB
TestSearcher.java 4KB
Util.java 4KB
RedisShiroSessionRepository.java 4KB
TestUnit.java 4KB
ChainDefinitionServiceImpl.java 4KB
ScheduleJobService.java 4KB
EhcacheShiroCache.java 4KB
UserServiceImpl.java 4KB
RedisDistributedLock.java 4KB
RandomUtil.java 3KB
UserSessionController.java 3KB
CookieUtil.java 3KB
GlobalDefaultExceptionHandler.java 3KB
LoginInfoController.java 3KB
LimitRetryCredentialsMatcher.java 3KB
ThreadPool.java 3KB
PermissionFilter.java 3KB
RoleServiceImpl.java 3KB
URLFilter.java 3KB
BaseService.java 3KB
TestStringEqual.java 3KB
KickoutAuthFilter.java 2KB
LogInfoController.java 2KB
SpringContextUtil.java 2KB
AbstractService.java 2KB
QuartzSessionValidationJob.java 2KB
UserEntity.java 2KB
RoleEntity.java 2KB
MD5.java 2KB
IndexBlock.java 2KB
GridUtils.java 2KB
SerializeUtil.java 2KB
ShiroUtils.java 2KB
LoginFilter.java 2KB
ResourceServiceImpl.java 2KB
RoleFilter.java 2KB
共 344 条
- 1
- 2
- 3
- 4
资源评论
沐知全栈开发
- 粉丝: 4767
- 资源: 3372
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功