源码获取:俺的博客首页 "资源" 里下载!
主要功能模块
1.用户模块管理:用户登录、用户注册、用户的查询、添加、删除操作、
2.客户信息管理:.客户列表的展示、添加、修改、删除操作、
3.供应商管理:供应商详情列表的查看、添加、删除等操作、
4.退货管理和退货查询
5.公告信息管理:公告信息的查看、添加、修改、删除操作、
6.角色管理:角色查询、添加、删除、
7.系统管理、菜单管理以及权限控制
8.管理员信息管理:管理员信息的查看、修改
登录管理控制层:
/**
* <p>
* 登陆前端控制器
*/
@RestController
@RequestMapping("login")
public class LoginController {
@Autowired
private LoginfoService loginfoService;
@RequestMapping("login")
public ResultObj login(String loginname,String pwd) {
Subject subject = SecurityUtils.getSubject();
AuthenticationToken token=new UsernamePasswordToken(loginname, pwd);
try {
subject.login(token);
ActiverUser activerUser=(ActiverUser) subject.getPrincipal();
WebUtils.getSession().setAttribute("user", activerUser.getUser());
//记录登陆日志
Loginfo entity=new Loginfo();
entity.setLoginname(activerUser.getUser().getName()+"-"+activerUser.getUser().getLoginname());
entity.setLoginip(WebUtils.getRequest().getRemoteAddr());
entity.setLogintime(new Date());
loginfoService.save(entity);
return ResultObj.LOGIN_SUCCESS;
} catch (AuthenticationException e) {
e.printStackTrace();
return ResultObj.LOGIN_ERROR_PASS;
}
}
}
角色管理控制层:
@RestController
@RequestMapping("/role")
public class RoleController {
@Autowired
private RoleService roleService;
@Autowired
private PermissionService permissionService;
/**
* 查询
*/
@RequestMapping("loadAllRole")
public DataGridView loadAllRole(RoleVo roleVo) {
IPage<Role> page=new Page<>(roleVo.getPage(), roleVo.getLimit());
QueryWrapper<Role> queryWrapper=new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotBlank(roleVo.getName()), "name", roleVo.getName());
queryWrapper.like(StringUtils.isNotBlank(roleVo.getRemark()), "remark", roleVo.getRemark());
queryWrapper.eq(roleVo.getAvailable()!=null, "available", roleVo.getAvailable());
queryWrapper.orderByDesc("createtime");
this.roleService.page(page, queryWrapper);
return new DataGridView(page.getTotal(), page.getRecords());
}
/**
* 添加
*/
@RequestMapping("addRole")
public ResultObj addRole(RoleVo roleVo) {
try {
roleVo.setCreatetime(new Date());
this.roleService.save(roleVo);
return ResultObj.ADD_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.ADD_ERROR;
}
}
/**
* 修改
*/
@RequestMapping("updateRole")
public ResultObj updateRole(RoleVo roleVo) {
try {
this.roleService.updateById(roleVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
}
}
/**
* 删除
*/
@RequestMapping("deleteRole")
public ResultObj deleteRole(Integer id) {
try {
this.roleService.removeById(id);
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
}
}
/**
* 根据角色ID加载菜单和权限的树的json串
*/
@RequestMapping("initPermissionByRoleId")
public DataGridView initPermissionByRoleId(Integer roleId) {
//查询所有可用的菜单和权限
QueryWrapper<Permission> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("available", Constast.AVAILABLE_TRUE);
List<Permission> allPermissions = permissionService.list(queryWrapper);
/**
* 1,根据角色ID查询当前角色拥有的所有的权限或菜单ID
* 2,根据查询出来的菜单ID查询权限和菜单数据
*/
List<Integer> currentRolePermissions=this.roleService.queryRolePermissionIdsByRid(roleId);
List<Permission> carrentPermissions=null;
if(currentRolePermissions.size()>0) { //如果有ID就去查询
queryWrapper.in("id", currentRolePermissions);
carrentPermissions = permissionService.list(queryWrapper);
}else {
carrentPermissions=new ArrayList<>();
}
//构造 List<TreeNode>
List<TreeNode> nodes=new ArrayList<>();
for (Permission p1 : allPermissions) {
String checkArr="0";
for (Permission p2 : carrentPermissions) {
if(p1.getId()==p2.getId()) {
checkArr="1";
break;
}
}
Boolean spread=(p1.getOpen()==null||p1.getOpen()==1)?true:false;
nodes.add(new TreeNode(p1.getId(), p1.getPid(), p1.getTitle(), spread, checkArr));
}
return new DataGridView(nodes);
}
/**
* 保存角色和菜单权限之间的关系
*/
@RequestMapping("saveRolePermission")
public ResultObj saveRolePermission(Integer rid,Integer[] ids) {
try {
this.roleService.saveRolePermission(rid,ids);
return ResultObj.DISPATCH_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DISPATCH_ERROR;
}
}
}
用户管理控制层:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private DeptService deptService;
@Autowired
private RoleService roleService;
/**
* 用户全查询
*/
@RequestMapping("loadAllUser")
public DataGridView loadAllUser(UserVo userVo) {
IPage<User> page=new Page<>(userVo.getPage(), userVo.getLimit());
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.eq(StringUtils.isNotBlank(userVo.getName()), "loginname", userVo.getName()).or().eq(StringUtils.isNotBlank(userVo.getName()), "name", userVo.getName());
queryWrapper.eq(StringUtils.isNotBlank(userVo.getAddress()), "address", userVo.getAddress());
queryWrapper.eq("type", Constast.USER_TYPE_NORMAL);//查询系统用户
queryWrapper.eq(userVo.getDeptid()!=null, "deptid",userVo.getDeptid());
this.userService.page(page, queryWrapper);
System.out.println(userService.getClass().getSimpleName());
List<User> list = page.getRecords();
for (User user : list) {
Integer deptid = user.getDeptid();
if(deptid!=null) {
Dept one =deptService.getById(deptid);
user.setDeptname(one.getTitle());
}
Integer mgr = user.getMgr();
if(mgr!=null) {
User one = this.userService.getById(mgr);
user.setLeadername(one.getName());
}
}
return new DataGridView(page.getTotal(), list);
}
/**
* 加载最大的排序码
* @param deptVo
* @return
*/
@RequestMapping("loadUserMaxOrderNum")
public Map<String,Object> loadUserMaxOrderNum(){
Map<String, Object> map=new HashMap<String, Object>();
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.orderByDesc("ordernum");
IPage<User> page=new Page<>(1, 1);
List<User> list = this.userService.page(page, queryWrapper).getRecords();
if(list.size()>0) {
map.put("value", list.get(0).getOrdernum()+1);
}else {
map.put("value", 1);
}
return map;
}
/**
* 根据部门ID查询用户
*/
@RequestMapping("loadUsersByDeptId")
public DataGridView loadUsersByDeptId(Integer deptid) {
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.eq(deptid!=null, "deptid", deptid);
queryWrapper.eq("available", Constast.AVAILABLE_TRUE);
queryWrapper.eq("type", Constast.USER_TYPE_NORMAL);
List<User> list = this.userService.list(queryWrapper);
return new DataGridView(list);
}
/**
* 把用户名转成拼音
*/
@RequestMapping("changeChineseToPinyin")
public Map<String,Object> changeChineseToPinyin(String username){
Map<String,Object> map=new HashMap<>();
if(null!=username) {
map.put("value", PinyinUtils.getPingYin(username));
}else {
map.put("value", "");
}
return map;
}
/**
* 添加用户
*/
@RequestMapping("addUser")
public ResultObj addUser(UserVo userVo) {
try {
userVo.setType(Constast.USER_TYPE_NORMAL);//设置类型
userVo.setHiredate(new Date());
String salt=IdUtil.simpleUUID().toUpperCase();
userVo.setSalt(salt);//设置盐
userVo.setPwd(new Md5Hash(Constast.USER_DEFAULT_PWD, salt, 2).toString());//设置密码
this.userService.save(userVo);
return ResultObj.ADD_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.ADD_ERROR;
}
}
/**
* 根据用户ID查询一个用户
*/
@RequestMapping("loadUserById")
public DataGridView loadUserById(Integer id) {
return new DataGridView(this.userService.getById(id));
}
/**
* 修改用户
*/
@RequestMapping("updateUser")
public ResultObj updateUser(UserVo userVo) {
try {
this.userService.updateById(userVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
}
}
/**
* 删除用户
*/
@RequestMapping("deleteUser")
public ResultObj deleteUser(Integer id) {
try {
this.userService.removeById(id);
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
}
}
/**
* 重置用户密码
*/
@RequestMapping("resetPwd")
public ResultObj resetPwd(Integer id) {
try {
User user=new User();
user.setId(id);
String salt=IdUtil.simpleUUID().toUpperCase();
user.setSalt(salt);//设置盐
user.setPwd(new Md5Hash(Constast.USER_DEFAULT_PWD, salt, 2).toString());//设置密码
this.userService.updateById(user);
return ResultObj.RESET_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.RESET_ERROR;
}
}
/**
* 根据用户ID查询角色并选中已拥有的角色
*/
@RequestMapping("initRoleByUserId")
public DataGridView initRoleByUserId(Integer id) {
//1,查询所有可用的角色
QueryWrapper<Role> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("available", Constast.AVAILABLE_TRUE);
List<Map<String, Object>> listMaps = this.roleService.listMaps(queryWrapper);
//2,查询当前用户拥有的角色ID集合
List<Integer> currentUserRoleIds=this.roleService.queryUserRoleIdsByUid(id);
for (Map<String, Object> map : listMaps) {
Boolean LAY_CHECKED=false;
Integer roleId=(Integer) map.get("id");
for (Integer rid : currentUserRoleIds) {
if(rid==roleId) {
LAY_CHECKED=true;
break;
}
}
map.put("LAY_CHECKED", LAY_CHECKED);
}
return new DataGridView(Long.valueOf(listMaps.size()), listMaps);
}
/**
* 保存用户和角色的关系
*/
@RequestMapping("saveUserRole")
public ResultObj saveUserRole(Integer uid,Integer[] ids) {
try {
this.userService.saveUserRole(uid,ids);
return ResultObj.DISPATCH_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DISPATCH_ERROR;
}
}
}
源码获取:俺的博客首页 "资源" 里下载!