Commit 3c0c6e6f authored by zjy's avatar zjy

user/role/tright 5.13

parent 13496897
package com.pangding.web.tright.controller; package com.pangding.web.authority.controller;
import com.pangding.web.tright.currency.Result; import com.pangding.web.authority.currency.Result;
import com.pangding.web.tright.service.TrightService; import com.pangding.web.authority.service.AuthorityService;
import com.pangding.web.tright.vo.TrightVo; import com.pangding.web.authority.vo.AuthorityVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -14,38 +14,34 @@ import java.util.List; ...@@ -14,38 +14,34 @@ import java.util.List;
* @author zhangjinyao * @author zhangjinyao
*/ */
@RestController @RestController
@RequestMapping("/tright") @RequestMapping("/authority")
public class TrightController { public class AuthorityController {
@Autowired @Autowired
TrightService trightServiceImpl; AuthorityService authorityServiceImpl;
/** /**
* 新增权限 * 新增权限
* @param trightVo * @param authorityVo
* @return * @return
*/ */
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object saveTright(@RequestBody TrightVo trightVo){ public Object saveAuthority(@RequestBody AuthorityVo authorityVo){
if (!trightServiceImpl.checkValid(trightVo)){ authorityServiceImpl.checkValid(authorityVo);
return new Result(4001,"该权限不合法,请修改权限名或权限url",null); authorityServiceImpl.save(authorityVo);
}
trightServiceImpl.save(trightVo);
Result result = new Result(0,"SUCCESS",null); Result result = new Result(0,"SUCCESS",null);
return result; return result;
} }
/** /**
* 修改权限信息 * 修改权限信息
* @param trightVo * @param authorityVo
* @return * @return
*/ */
@RequestMapping(value = "/update", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/update", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object updateTright(@RequestBody TrightVo trightVo){ public Object updateAuthority(@RequestBody AuthorityVo authorityVo){
if (!trightServiceImpl.checkValid(trightVo)){ authorityServiceImpl.checkValid(authorityVo);
return new Result(4001,"该权限不合法,请修改权限名或权限url",null); authorityServiceImpl.update(authorityVo);
}
trightServiceImpl.update(trightVo);
Result result = new Result(0,"SUCCESS",null); Result result = new Result(0,"SUCCESS",null);
return result; return result;
} }
...@@ -55,8 +51,8 @@ public class TrightController { ...@@ -55,8 +51,8 @@ public class TrightController {
* @return * @return
*/ */
@RequestMapping(value = "/list", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/list", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object listTrights(){ public Object listAuthoritys(){
List<TrightVo> list = trightServiceImpl.listAllTright(); List<AuthorityVo> list = authorityServiceImpl.listAllAuthority();
if (list == null){ if (list == null){
return new Result(4001,"暂无权限,请先添加",null); return new Result(4001,"暂无权限,请先添加",null);
} }
...@@ -68,8 +64,8 @@ public class TrightController { ...@@ -68,8 +64,8 @@ public class TrightController {
* @return * @return
*/ */
@RequestMapping(value = "/firstLevel", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/firstLevel", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object parentTrights(){ public Object parentAuthoritys(){
List<TrightVo> list = trightServiceImpl.listLevel1(); List<AuthorityVo> list = authorityServiceImpl.listLevel1();
if (list == null){ if (list == null){
return new Result(4001,"暂无一级权限,请先添加",null); return new Result(4001,"暂无一级权限,请先添加",null);
} }
...@@ -82,12 +78,12 @@ public class TrightController { ...@@ -82,12 +78,12 @@ public class TrightController {
* @return * @return
*/ */
@RequestMapping(value = "/role/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/role/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object tright(@PathVariable String id){ public Object authority(@PathVariable String id){
TrightVo trightVo = trightServiceImpl.getTrightById(id); AuthorityVo authorityVo = authorityServiceImpl.getAuthorityById(id);
if (trightVo == null){ if (authorityVo == null){
return new Result(4001,"未查询到该权限",null); return new Result(4001,"未查询到该权限",null);
} }
return new Result(0,"SUCCESS",trightVo); return new Result(0,"SUCCESS",authorityVo);
} }
/** /**
...@@ -97,29 +93,10 @@ public class TrightController { ...@@ -97,29 +93,10 @@ public class TrightController {
*/ */
@RequestMapping(value = "/delete/{id}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object delete(@PathVariable String id){ public Object delete(@PathVariable String id){
Boolean checkResult = trightServiceImpl.checkChild(id);
if (checkResult){
trightServiceImpl.deleteTrightById(id);
return new Result(0,"SUCCESS",null);
}
return new Result(4001,"该权限具有子权限,删除该权限会将其子权限一并删除",null);
}
/** authorityServiceImpl.deleteAuthorityById(id);
* 删除权限及其子权限
* @param id
* @return
*/
@RequestMapping(value = "/delete/{id}/commit", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object deleteWithChild(@PathVariable String id){
List<String> childIdList = trightServiceImpl.getChildIdList(id);
if (childIdList != null && childIdList.size() != 0){
for (String childId:childIdList) {
deleteWithChild(childId);
}
}
trightServiceImpl.deleteTrightById(id);
return new Result(0,"SUCCESS",null); return new Result(0,"SUCCESS",null);
} }
} }
......
package com.pangding.web.tright.controller; package com.pangding.web.authority.controller;
import com.pangding.web.tright.currency.Result; import com.pangding.web.authority.currency.Result;
import com.pangding.web.tright.dto.RoleDto; import com.pangding.web.authority.dto.RoleDto;
import com.pangding.web.tright.service.RoleService; import com.pangding.web.authority.service.RoleService;
import com.pangding.web.tright.vo.RoleVo; import com.pangding.web.authority.vo.RoleVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -30,11 +30,8 @@ public class RoleController { ...@@ -30,11 +30,8 @@ public class RoleController {
*/ */
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object saveRole(@RequestBody RoleDto roleDto){ public Object saveRole(@RequestBody RoleDto roleDto){
RoleVo roleVo = roleDto;
String name = roleDto.getName(); roleServiceImpl.checkNameExist(roleVo);
if (roleServiceImpl.getRoleByName(name) != null){
return new Result(4001, "该角色名已存在", null);
}
roleDto.setId(UUID.randomUUID().toString().replace("-","")); roleDto.setId(UUID.randomUUID().toString().replace("-",""));
roleServiceImpl.saveRole(roleDto); roleServiceImpl.saveRole(roleDto);
return new Result(0,"SUCCESS",null); return new Result(0,"SUCCESS",null);
...@@ -48,9 +45,7 @@ public class RoleController { ...@@ -48,9 +45,7 @@ public class RoleController {
@RequestMapping(value = "/update", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/update", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object updateRole(@RequestBody RoleDto roleDto){ public Object updateRole(@RequestBody RoleDto roleDto){
RoleVo roleVo = roleDto; RoleVo roleVo = roleDto;
if (!roleServiceImpl.checkNameExist(roleVo)){ roleServiceImpl.checkNameExist(roleVo);
return new Result(4001,"该角色名已存在",null);
}
roleServiceImpl.updateRole(roleDto); roleServiceImpl.updateRole(roleDto);
Result result = new Result(0,"SUCCESS",null); Result result = new Result(0,"SUCCESS",null);
return result; return result;
...@@ -68,13 +63,13 @@ public class RoleController { ...@@ -68,13 +63,13 @@ public class RoleController {
return new Result(0,"暂无角色信息",null); return new Result(0,"暂无角色信息",null);
} }
for (RoleVo roleVo:roleVoList) { for (RoleVo roleVo:roleVoList) {
List<String> trightIdList = roleServiceImpl.getTrightIdList(roleVo.getId()); List<String> authorityIdList = roleServiceImpl.getAuthorityIdListByRoleId(roleVo.getId());
List<String> trightNameList = new ArrayList(trightIdList.size()); List<String> authorityNameList = new ArrayList(authorityIdList.size());
for (String trightId:trightIdList) { for (String authorityId:authorityIdList) {
String trightName = roleServiceImpl.getTrightNameByTrightId(trightId); String authorityName = roleServiceImpl.getAuthorityNameByAuthorityId(authorityId);
trightNameList.add(trightName); authorityNameList.add(authorityName);
} }
RoleDto roleDto = roleServiceImpl.makeRoleDto(roleVo,trightIdList,trightNameList); RoleDto roleDto = roleServiceImpl.makeRoleDto(roleVo,authorityIdList,authorityNameList);
roleDtoList.add(roleDto); roleDtoList.add(roleDto);
} }
Result result = new Result(0,"SUCCESS",roleDtoList); Result result = new Result(0,"SUCCESS",roleDtoList);
...@@ -88,16 +83,19 @@ public class RoleController { ...@@ -88,16 +83,19 @@ public class RoleController {
* @param * @param
* @return * @return
*/ */
@RequestMapping(value = "/role", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/role/{roleId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object role(@PathVariable String roleId){ public Object getRoleById(@PathVariable String roleId){
RoleVo roleVo = roleServiceImpl.getRoleById(roleId); RoleVo roleVo = roleServiceImpl.getRoleById(roleId);
List<String> trightIdList = roleServiceImpl.getTrightIdList(roleId); if(roleVo == null){
List<String> trightNameList = new ArrayList(trightIdList.size()); return new Result(4001,"未查询到该角色",null);
for (String trightId:trightIdList) { }
String trightName = roleServiceImpl.getTrightNameByTrightId(trightId); List<String> authorityIdList = roleServiceImpl.getAuthorityIdListByRoleId(roleId);
trightNameList.add(trightName); List<String> authorityNameList = new ArrayList(authorityIdList.size());
for (String authorityId:authorityIdList) {
String authorityName = roleServiceImpl.getAuthorityNameByAuthorityId(authorityId);
authorityNameList.add(authorityName);
} }
RoleDto roleDto = roleServiceImpl.makeRoleDto(roleVo,trightIdList,trightNameList); RoleDto roleDto = roleServiceImpl.makeRoleDto(roleVo,authorityIdList,authorityNameList);
Result result = new Result(0,"SUCCESS",roleDto); Result result = new Result(0,"SUCCESS",roleDto);
return result; return result;
} }
...@@ -109,7 +107,8 @@ public class RoleController { ...@@ -109,7 +107,8 @@ public class RoleController {
*/ */
@RequestMapping(value = "/delete/{roleId}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/delete/{roleId}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object delete(@PathVariable String roleId){ public Object delete(@PathVariable String roleId){
roleServiceImpl.deleteRole(roleId); RoleVo roleVo = roleServiceImpl.getRoleById(roleId);
roleServiceImpl.deleteRole(roleVo);
Result result = new Result(0,"SUCCESS",null); Result result = new Result(0,"SUCCESS",null);
return result; return result;
} }
......
package com.pangding.web.tright.controller; package com.pangding.web.authority.controller;
import com.pangding.web.tright.currency.Result; import com.pangding.web.authority.currency.Result;
import com.pangding.web.tright.dto.UserDto; import com.pangding.web.authority.dto.UserDto;
import com.pangding.web.tright.service.UserService; import com.pangding.web.authority.service.UserService;
import com.pangding.web.tright.vo.*; import com.pangding.web.authority.vo.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -31,11 +31,7 @@ public class UserController { ...@@ -31,11 +31,7 @@ public class UserController {
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object saveUser(@RequestBody UserDto userDto){ public Object saveUser(@RequestBody UserDto userDto){
UserVo u = userServiceImpl.getUser(userDto); userServiceImpl.checkAccount(userDto);
if (u != null) {
return new Result(4001,"该用户名已存在",null);
}
String saltPassword = userServiceImpl.passwordEncoder(userDto.getPassword()); String saltPassword = userServiceImpl.passwordEncoder(userDto.getPassword());
userDto.setPassword(saltPassword); userDto.setPassword(saltPassword);
userDto.setId(UUID.randomUUID().toString().replace("-","")); userDto.setId(UUID.randomUUID().toString().replace("-",""));
...@@ -51,10 +47,7 @@ public class UserController { ...@@ -51,10 +47,7 @@ public class UserController {
*/ */
@RequestMapping(value = "/update", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "/update", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Object updateUser(@RequestBody UserDto userDto){ public Object updateUser(@RequestBody UserDto userDto){
UserVo u = userServiceImpl.getUser(userDto); userServiceImpl.checkAccount(userDto);
if (u != null && !u.getId().equals(userDto.getId())) {
return new Result(4001,"该用户名已存在",null);
}
userDto.setPassword(userServiceImpl.passwordEncoder(userDto.getPassword())); userDto.setPassword(userServiceImpl.passwordEncoder(userDto.getPassword()));
userServiceImpl.updateUser(userDto); userServiceImpl.updateUser(userDto);
Result result = new Result(0,"SUCCESS",null); Result result = new Result(0,"SUCCESS",null);
......
package com.pangding.web.tright.currency; package com.pangding.web.authority.currency;
import java.io.Serializable; import java.io.Serializable;
......
package com.pangding.web.authority.dao;
import com.pangding.web.authority.vo.GetAuthorityByIdReqVo;
import com.pangding.web.authority.vo.ListLevel1ReqVo;
import com.pangding.web.authority.vo.AuthorityVo;
import com.yanzuoguang.dao.BaseDao;
import java.util.List;
/**
* @author zhangjinyao
*/
public interface AuthorityDao extends BaseDao {
/**
* 检查新建或修改的authorityVo对象是否合法
*
* @param authorityVo authorityVo对象
*/
void checkValid(AuthorityVo authorityVo);
/**
* 根据主键获取authorityVo对象
*
* @param getAuthorityByIdReqVo 主键
* @return authorityVo对象
*/
AuthorityVo getAuthorityById(GetAuthorityByIdReqVo getAuthorityByIdReqVo);
/**
* 获取authorityVo对象列表
*
* @return authorityVo对象列表
*/
List<AuthorityVo> listAll();
/**
* 获取一级权限对象列表
*
* @param listLevel1ReqVo ListLevel1ReqVo对象,仅用于拼接sql语句查询条件,无实际意义
* @return 权限对象列表
*/
List<AuthorityVo> listLevel1(ListLevel1ReqVo listLevel1ReqVo);
}
package com.pangding.web.authority.dao;
import com.pangding.web.authority.vo.GetRoleAuthorityListByRoleIdReqVo;
import com.pangding.web.authority.vo.GetRoleAuthorityListByAuthorityIdReqVo;
import com.pangding.web.authority.vo.RoleAuthorityRelation;
import com.yanzuoguang.dao.BaseDao;
import java.util.List;
/**
* @author zhangjinyao
*/
public interface RoleAuthorityDao extends BaseDao {
/**
* 通过角色id获取角色权限关系表对象列表
*
* @param getRoleAuthorityListByRoleIdReqVo 角色id
* @return 角色权限关系表主键列表
*/
List<RoleAuthorityRelation> getRoleAuthorityListByRoleId(GetRoleAuthorityListByRoleIdReqVo getRoleAuthorityListByRoleIdReqVo);
/**
* 通过权限id获取角色权限关系表主键列表
*
* @param getRoleAuthorityListByAuthorityIdReqVo 封装权限id
* @return 角色权限关系表主键列表
*/
List<RoleAuthorityRelation> getRoleAuthorityListByAuthorityId(GetRoleAuthorityListByAuthorityIdReqVo getRoleAuthorityListByAuthorityIdReqVo);
}
package com.pangding.web.tright.dao; package com.pangding.web.authority.dao;
import com.pangding.web.tright.vo.GetRoleByRoleIdReqVo; import com.pangding.web.authority.vo.GetRoleByRoleIdReqVo;
import com.pangding.web.tright.vo.GetRoleByRoleNameReqVo; import com.pangding.web.authority.vo.GetRoleByRoleNameReqVo;
import com.pangding.web.tright.vo.RoleVo; import com.pangding.web.authority.vo.RoleVo;
import com.yanzuoguang.dao.BaseDao; import com.yanzuoguang.dao.BaseDao;
import java.util.List; import java.util.List;
...@@ -36,7 +36,7 @@ public interface RoleDao extends BaseDao { ...@@ -36,7 +36,7 @@ public interface RoleDao extends BaseDao {
* @param roleVo 需要检查的RoleVo对象 * @param roleVo 需要检查的RoleVo对象
* @return RoleVo对象的用户名在数据库中是否使用过 * @return RoleVo对象的用户名在数据库中是否使用过
*/ */
int checkNameExist(RoleVo roleVo); void checkNameExist(RoleVo roleVo);
/** /**
* 获取RoleVo对象列表 * 获取RoleVo对象列表
...@@ -46,19 +46,11 @@ public interface RoleDao extends BaseDao { ...@@ -46,19 +46,11 @@ public interface RoleDao extends BaseDao {
List<RoleVo> getRoleVoList(); List<RoleVo> getRoleVoList();
/** /**
* 通过角色id查询该角色具有的权限id列表 * 通过角色id获取子角色列表
* *
* @param roleId 角色id * @param getRoleByRoleIdReqVo 封装角色id
* @return 权限id列表 * @return 角色列表
*/ */
List<String> getTrightIdList(String roleId); List<RoleVo> getChild(GetRoleByRoleIdReqVo getRoleByRoleIdReqVo);
/**
* 通过权限id查询权限名
*
* @param trightId 权限id
* @return 权限名
*/
String getTrightNameByTrightId(String trightId);
} }
package com.pangding.web.tright.dao; package com.pangding.web.authority.dao;
import com.pangding.web.tright.vo.GetUserByAccountReqVo; import com.pangding.web.authority.vo.GetUserByAccountReqVo;
import com.pangding.web.tright.vo.GetUserByIdReqVo; import com.pangding.web.authority.vo.GetUserByIdReqVo;
import com.pangding.web.tright.vo.UserVo; import com.pangding.web.authority.vo.UserVo;
import com.yanzuoguang.dao.BaseDao; import com.yanzuoguang.dao.BaseDao;
import java.util.List; import java.util.List;
...@@ -19,7 +19,7 @@ public interface UserDao extends BaseDao { ...@@ -19,7 +19,7 @@ public interface UserDao extends BaseDao {
* @param account 账户名 * @param account 账户名
* @return UserVo对象 * @return UserVo对象
*/ */
UserVo getUserByAccount(GetUserByAccountReqVo account); void checkAccount(UserVo account);
/** /**
* 获取UserVo对象列表 * 获取UserVo对象列表
...@@ -28,26 +28,10 @@ public interface UserDao extends BaseDao { ...@@ -28,26 +28,10 @@ public interface UserDao extends BaseDao {
*/ */
List<UserVo> listUserVo(); List<UserVo> listUserVo();
/**
* 通过UserVo对象获取该用户角色id列表
*
* @param userVo UserVo对象
* @return 角色id列表
*/
List<String> getRoleIdList(UserVo userVo);
/**
* 通过角色id获取角色名
*
* @param roleId 角色id
* @return 角色名
*/
String getRoleNameByRoleId(String roleId);
/** /**
* 通过用户id查询UserVo对象 * 通过用户id查询UserVo对象
* *
* @param userId 用户id * @param id 用户id
* @return UserVo对象 * @return UserVo对象
*/ */
UserVo getUserById(GetUserByIdReqVo id); UserVo getUserById(GetUserByIdReqVo id);
......
package com.pangding.web.tright.dao; package com.pangding.web.authority.dao;
import com.pangding.web.tright.vo.GetUserRoleListByUserIdReqVo; import com.pangding.web.authority.vo.GetUserRoleListByRoleIdReqVo;
import com.pangding.web.tright.vo.UserRoleRelation; import com.pangding.web.authority.vo.GetUserRoleListByUserIdReqVo;
import com.pangding.web.authority.vo.UserRoleRelation;
import com.yanzuoguang.dao.BaseDao; import com.yanzuoguang.dao.BaseDao;
import java.util.List; import java.util.List;
...@@ -18,4 +19,12 @@ public interface UserRoleDao extends BaseDao { ...@@ -18,4 +19,12 @@ public interface UserRoleDao extends BaseDao {
* @return user和role对应关系对象列表 * @return user和role对应关系对象列表
*/ */
List<UserRoleRelation> getUserRoleListByUserId(GetUserRoleListByUserIdReqVo userId); List<UserRoleRelation> getUserRoleListByUserId(GetUserRoleListByUserIdReqVo userId);
/**
* 通过角色id获取用户和角色的对应关系对象列表
*
* @param roleId 封装角色id
* @return 用户和角色的对应关系对象列表
*/
List<UserRoleRelation> getUserRoleListByRoleId(GetUserRoleListByRoleIdReqVo roleId);
} }
package com.pangding.web.authority.dao.impl;
import com.pangding.web.authority.dao.AuthorityDao;
import com.pangding.web.authority.vo.GetAuthorityByIdReqVo;
import com.pangding.web.authority.vo.ListLevel1ReqVo;
import com.pangding.web.authority.vo.AuthorityVo;
import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhangjinyao
*/
@Component
public class AuthorityDaoImpl extends BaseDaoImpl implements AuthorityDao {
private static final String CHECK_VALID = "CHECK_VALID";
private static final String SELECT = "SELECT";
@Override
protected void init() {
register(AuthorityVo.class);
table.addExist(CHECK_VALID,"name","url");
table.add(SELECT,"select * from pd_authority where 1=1")
.add("exist","and pid = '' ")
.add("id","and pid = ?");
}
@Override
public void checkValid(AuthorityVo authorityVo) {
this.checkExist(CHECK_VALID,authorityVo,"该权限不合法,请修改权限名或权限url");
}
@Override
public AuthorityVo getAuthorityById(GetAuthorityByIdReqVo getAuthorityByIdReqVo) {
return this.load(getAuthorityByIdReqVo, AuthorityVo.class);
}
@Override
public List<AuthorityVo> listAll() {
return this.query(AuthorityVo.class,SELECT,null);
}
@Override
public List<AuthorityVo> listLevel1(ListLevel1ReqVo listLevel1ReqVo) {
return this.query(AuthorityVo.class,SELECT,listLevel1ReqVo);
}
}
package com.pangding.web.authority.dao.impl;
import com.pangding.web.authority.dao.RoleAuthorityDao;
import com.pangding.web.authority.vo.GetRoleAuthorityListByRoleIdReqVo;
import com.pangding.web.authority.vo.GetRoleAuthorityListByAuthorityIdReqVo;
import com.pangding.web.authority.vo.RoleAuthorityRelation;
import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhangjinyao
*/
@Component
public class RoleAuthorityDaoImpl extends BaseDaoImpl implements RoleAuthorityDao {
private static final String SELECT = "SELECT";
@Override
protected void init() {
register(RoleAuthorityRelation.class);
table.add(SELECT,"select id,role_id,authority_id from pd_role_authority where 1=1 ")
.add("roleId","and role_id = ?")
.add("authorityId","and authority_id = ?");
}
@Override
public List<RoleAuthorityRelation> getRoleAuthorityListByRoleId(GetRoleAuthorityListByRoleIdReqVo getRoleAuthorityListByRoleIdReqVo) {
return this.query(RoleAuthorityRelation.class,SELECT,getRoleAuthorityListByRoleIdReqVo);
}
@Override
public List<RoleAuthorityRelation> getRoleAuthorityListByAuthorityId(GetRoleAuthorityListByAuthorityIdReqVo getRoleAuthorityListByAuthorityIdReqVo) {
return this.query(RoleAuthorityRelation.class,SELECT,getRoleAuthorityListByAuthorityIdReqVo);
}
}
package com.pangding.web.tright.dao.impl; package com.pangding.web.authority.dao.impl;
import com.pangding.web.tright.dao.RoleDao; import com.pangding.web.authority.dao.RoleDao;
import com.pangding.web.tright.vo.GetRoleByRoleIdReqVo; import com.pangding.web.authority.vo.GetRoleByRoleIdReqVo;
import com.pangding.web.tright.vo.GetRoleByRoleNameReqVo; import com.pangding.web.authority.vo.GetRoleByRoleNameReqVo;
import com.pangding.web.tright.vo.RoleVo; import com.pangding.web.authority.vo.RoleVo;
import com.yanzuoguang.dao.impl.BaseDaoImpl; import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.management.relation.Role;
import java.util.List; import java.util.List;
/** /**
...@@ -16,28 +15,18 @@ import java.util.List; ...@@ -16,28 +15,18 @@ import java.util.List;
@Component @Component
public class RoleDaoImpl extends BaseDaoImpl implements RoleDao { public class RoleDaoImpl extends BaseDaoImpl implements RoleDao {
private static final String GET_ROLE_BY_ID = "GET_ROLE_BY_ID";
private static final String GET_ROLE_BY_NAME = "GET_ROLE_BY_NAME";
private static final String CHECK_NAME_EXIST = "CHECK_NAME_EXIST"; private static final String CHECK_NAME_EXIST = "CHECK_NAME_EXIST";
private static final String GET_ROLELIST = "GET_ROLEDTO_LIST"; private static final String SELECT = "SELECT";
private static final String GET_TRIGHTID_LIST = "GET_TRIGHTID_LIST";
private static final String GET_TRIGHTNAME_BY_TRIGHTID = "GET_TRIGHTNAME_BY_TRIGHTID";
@Override @Override
protected void init() { protected void init() {
register(RoleVo.class); register(RoleVo.class);
table.add(CHECK_NAME_EXIST,"select count(r.id) from pd_role r where 1=1 ") table.addExist(CHECK_NAME_EXIST,"name");
.add("name","and r.name = ? ")
.add("id","and r.id <> ?");
table.add(GET_ROLELIST,"select * from pd_role where 1=1");
table.add(GET_TRIGHTID_LIST,"select authority_id from pd_role_authority where 1=1 ")
.add("roleId","and role_id = ?");
table.add(GET_TRIGHTNAME_BY_TRIGHTID,"select name from pd_authority where 1=1 ") table.add(SELECT,"select * from pd_role where 1=1 ")
.add("trightId","and id = ?"); .add("id","and pid = ?");
} }
...@@ -52,22 +41,17 @@ public class RoleDaoImpl extends BaseDaoImpl implements RoleDao { ...@@ -52,22 +41,17 @@ public class RoleDaoImpl extends BaseDaoImpl implements RoleDao {
} }
@Override @Override
public int checkNameExist(RoleVo roleVo) { public void checkNameExist(RoleVo roleVo){
return this.queryFirst(int.class,CHECK_NAME_EXIST,roleVo); this.checkExist(CHECK_NAME_EXIST,roleVo,"角色名已存在");
} }
@Override @Override
public List<RoleVo> getRoleVoList() { public List<RoleVo> getRoleVoList() {
return this.query(RoleVo.class,GET_ROLELIST,null); return this.query(RoleVo.class,SELECT,null);
}
@Override
public List<String> getTrightIdList(String roleId) {
return this.query(String.class,GET_TRIGHTID_LIST,roleId);
} }
@Override @Override
public String getTrightNameByTrightId(String trightId) { public List<RoleVo> getChild(GetRoleByRoleIdReqVo getRoleByRoleIdReqVo) {
return this.queryFirst(String.class,GET_TRIGHTNAME_BY_TRIGHTID,trightId); return this.query(RoleVo.class,SELECT,getRoleByRoleIdReqVo);
} }
} }
package com.pangding.web.tright.dao.impl; package com.pangding.web.authority.dao.impl;
import com.pangding.web.tright.dao.UserDao; import com.pangding.web.authority.dao.UserDao;
import com.pangding.web.tright.vo.GetUserByAccountReqVo; import com.pangding.web.authority.vo.GetUserByAccountReqVo;
import com.pangding.web.tright.vo.GetUserByIdReqVo; import com.pangding.web.authority.vo.GetUserByIdReqVo;
import com.pangding.web.tright.vo.UserVo; import com.pangding.web.authority.vo.UserVo;
import com.yanzuoguang.dao.impl.BaseDaoImpl; import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -17,42 +17,29 @@ public class UserDaoImpl extends BaseDaoImpl implements UserDao { ...@@ -17,42 +17,29 @@ public class UserDaoImpl extends BaseDaoImpl implements UserDao {
private static final String SELECT = "SELECT"; private static final String SELECT = "SELECT";
private static final String DELETE_USER_ROLE="deleteUserRole"; private static final String CHECK_ACCOUNT = "CHECK_ACCOUNT";
private static final String SAVE_USER_ROLE = "saveUserRoles";
private static final String GET_ALL_USERS = "GET_ALL_USERS";
private static final String GET_ROLE_IDS = "GET_ROLE_IDS";
private static final String GET_USER_BY_ID = "GET_USER_BY_ID";
private static final String GET_ROLE_BY_ROLEID = "GET_ROLE_BY_ROLEID";
@Override @Override
protected void init() { protected void init() {
register(UserVo.class); register(UserVo.class);
table.add(GET_ALL_USERS,"select id,account,phone,status,remark,create_time,creator from pd_user where 1=1"); table.add(SELECT,"select * from pd_user where 1=1");
table.addExist(CHECK_ACCOUNT,"account");
} }
@Override @Override
public UserVo getUserByAccount(GetUserByAccountReqVo account) { public void checkAccount(UserVo account) {
return this.load(account,UserVo.class); this.checkExist(CHECK_ACCOUNT,account,"用戶名已存在");
} }
@Override @Override
public List<UserVo> listUserVo() { public List<UserVo> listUserVo() {
return this.query(UserVo.class,GET_ALL_USERS,null); return this.query(UserVo.class,SELECT,null);
}
@Override
public List<String> getRoleIdList(UserVo userVo) {
return this.query(String.class,GET_ROLE_IDS,userVo);
}
@Override
public String getRoleNameByRoleId(String roleId) {
return this.queryFirst(String.class,GET_ROLE_BY_ROLEID,roleId);
} }
@Override @Override
......
package com.pangding.web.tright.dao.impl; package com.pangding.web.authority.dao.impl;
import com.pangding.web.tright.dao.UserRoleDao; import com.pangding.web.authority.dao.UserRoleDao;
import com.pangding.web.tright.vo.GetUserRoleListByUserIdReqVo; import com.pangding.web.authority.vo.GetUserRoleListByRoleIdReqVo;
import com.pangding.web.tright.vo.UserRoleRelation; import com.pangding.web.authority.vo.GetUserRoleListByUserIdReqVo;
import com.pangding.web.authority.vo.UserRoleRelation;
import com.yanzuoguang.dao.impl.BaseDaoImpl; import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -31,4 +32,9 @@ public class UserRoleDaoImpl extends BaseDaoImpl implements UserRoleDao { ...@@ -31,4 +32,9 @@ public class UserRoleDaoImpl extends BaseDaoImpl implements UserRoleDao {
public List<UserRoleRelation> getUserRoleListByUserId(GetUserRoleListByUserIdReqVo userId) { public List<UserRoleRelation> getUserRoleListByUserId(GetUserRoleListByUserIdReqVo userId) {
return this.query(UserRoleRelation.class,GET_USER_ROLE_LIST,userId); return this.query(UserRoleRelation.class,GET_USER_ROLE_LIST,userId);
} }
@Override
public List<UserRoleRelation> getUserRoleListByRoleId(GetUserRoleListByRoleIdReqVo roleId) {
return this.query(UserRoleRelation.class,GET_USER_ROLE_LIST,roleId);
}
} }
package com.pangding.web.authority.dto;
import com.pangding.web.authority.vo.RoleVo;
import java.util.List;
/**
* @author zhangjinyao
*/
public class RoleDto extends RoleVo {
private List<String> authorityIds;
private List<String> authorityNames;
public List<String> getAuthorityIds() {
return authorityIds;
}
public void setAuthorityIds(List<String> authorityIds) {
this.authorityIds = authorityIds;
}
public List<String> getAuthorityNames() {
return authorityNames;
}
public void setAuthorityNames(List<String> authorityNames) {
this.authorityNames = authorityNames;
}
}
package com.pangding.web.tright.dto; package com.pangding.web.authority.dto;
import com.pangding.web.tright.vo.UserVo; import com.pangding.web.authority.vo.UserVo;
import java.util.List; import java.util.List;
......
package com.pangding.web.authority.service;
import com.pangding.web.authority.vo.AuthorityVo;
import java.util.List;
/**
* @author zhangjinyao
*/
public interface AuthorityService {
/**
* 保存authorityVo对象数据
*
* @param authorityVo authorityVo对象
*/
void save(AuthorityVo authorityVo);
/**
* 更新authorityVo对象数据
*
* @param authorityVo authorityVo对象
*/
void update(AuthorityVo authorityVo);
/**
* 通过权限表主键获取authorityVo对象
*
* @param id 主键
* @return authorityVo对象
*/
AuthorityVo getAuthorityById(String id);
/**
* 通过权限表主键删除authorityVo对象,并删除权限和角色的对应关系
*
* @param id 主键
*/
void deleteAuthorityById(String id);
/**
* 检查新建、修改的authorityVo对象是否合法
*
* @param authorityVo authorityVo对象
* @return 0:合法 else:不合法
*/
void checkValid(AuthorityVo authorityVo);
/**
* 获取authorityVo对象列表
*
* @return authorityVo对象列表
*/
List<AuthorityVo> listAllAuthority();
/**
* 获取一级权限列表
*
* @return 一级权限列表
*/
List<AuthorityVo> listLevel1();
}
package com.pangding.web.tright.service; package com.pangding.web.authority.service;
import com.pangding.web.tright.dto.RoleDto; import com.pangding.web.authority.dto.RoleDto;
import com.pangding.web.tright.vo.RoleVo; import com.pangding.web.authority.vo.RoleVo;
import java.util.List; import java.util.List;
...@@ -46,7 +46,7 @@ public interface RoleService { ...@@ -46,7 +46,7 @@ public interface RoleService {
* @param roleVo RoleVo对象 * @param roleVo RoleVo对象
* @return 角色名是否存在 * @return 角色名是否存在
*/ */
Boolean checkNameExist(RoleVo roleVo); void checkNameExist(RoleVo roleVo);
/** /**
* 获取RoleVo对象列表 * 获取RoleVo对象列表
...@@ -61,31 +61,31 @@ public interface RoleService { ...@@ -61,31 +61,31 @@ public interface RoleService {
* @param roleId 角色id * @param roleId 角色id
* @return 权限id列表 * @return 权限id列表
*/ */
List<String> getTrightIdList(String roleId); List<String> getAuthorityIdListByRoleId(String roleId);
/** /**
* 通过权限id查询权限名 * 通过权限id查询权限名
* *
* @param trightId 权限id * @param authorityId 权限id
* @return 权限名 * @return 权限名
*/ */
String getTrightNameByTrightId(String trightId); String getAuthorityNameByAuthorityId(String authorityId);
/** /**
* 将RoleVo对象添加权限ID列表和权限名列表封装成RoleDto对象 * 将RoleVo对象添加权限ID列表和权限名列表封装成RoleDto对象
* *
* @param roleVo RoleVo对象 * @param roleVo RoleVo对象
* @param trightIdList 权限id列表 * @param authorityIdList 权限id列表
* @param trightNameList 权限名列表 * @param authorityNameList 权限名列表
* @return RoleDto对象 * @return RoleDto对象
*/ */
RoleDto makeRoleDto(RoleVo roleVo,List<String> trightIdList,List<String> trightNameList); RoleDto makeRoleDto(RoleVo roleVo,List<String> authorityIdList,List<String> authorityNameList);
/** /**
* 通过角色id删除角色,并删除角色和用户的对应关系一级角色和权限的对应关系 * 删除角色,并删除角色和用户的对应关系以及角色和权限的对应关系
* *
* @param roleId 角色id * @param roleVo RoleVo对象
*/ */
void deleteRole(String roleId); void deleteRole(RoleVo roleVo);
} }
package com.pangding.web.tright.service; package com.pangding.web.authority.service;
import com.pangding.web.tright.dto.UserDto; import com.pangding.web.authority.dto.UserDto;
import com.pangding.web.tright.vo.*; import com.pangding.web.authority.vo.*;
import java.util.List; import java.util.List;
...@@ -30,7 +30,7 @@ public interface UserService { ...@@ -30,7 +30,7 @@ public interface UserService {
* @param userVo UserVo对象 * @param userVo UserVo对象
* @return UserVo对象 * @return UserVo对象
*/ */
UserVo getUser(UserVo userVo); void checkAccount(UserVo userVo);
/** /**
* 对密码进行MD5盐值加密 * 对密码进行MD5盐值加密
......
package com.pangding.web.authority.service.impl;
import com.pangding.web.authority.dao.RoleAuthorityDao;
import com.pangding.web.authority.dao.AuthorityDao;
import com.pangding.web.authority.service.AuthorityService;
import com.pangding.web.authority.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.UUID;
/**
* @author zhangjinyao
*/
@Service
public class AuthorityServiceImpl implements AuthorityService {
@Autowired
AuthorityDao authorityDao;
@Autowired
RoleAuthorityDao roleAuthorityDao;
@Override
public void save(AuthorityVo authorityVo) {
authorityVo.setId(UUID.randomUUID().toString().replace("-",""));
authorityDao.create(authorityVo);
}
@Override
public void update(AuthorityVo authorityVo) {
authorityDao.update(authorityVo);
}
@Override
public void checkValid(AuthorityVo authorityVo) {
authorityDao.checkValid(authorityVo);
}
@Override
public AuthorityVo getAuthorityById(String id) {
GetAuthorityByIdReqVo getAuthorityByIdReqVo = new GetAuthorityByIdReqVo();
getAuthorityByIdReqVo.setId(id);
AuthorityVo authorityVo = authorityDao.getAuthorityById(getAuthorityByIdReqVo);
return authorityVo != null ? authorityVo : null;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAuthorityById(String id) {
AuthorityVo authorityVo = new AuthorityVo();
authorityVo.setId(id);
authorityDao.remove(authorityVo);
GetRoleAuthorityListByAuthorityIdReqVo getRoleAuthorityListByAuthorityIdReqVo = new GetRoleAuthorityListByAuthorityIdReqVo();
getRoleAuthorityListByAuthorityIdReqVo.setAuthorityId(id);
List<RoleAuthorityRelation> roleAuthorityList = roleAuthorityDao.getRoleAuthorityListByAuthorityId(getRoleAuthorityListByAuthorityIdReqVo);
for (RoleAuthorityRelation roleAuthority:roleAuthorityList) {
roleAuthorityDao.remove(roleAuthority);
}
}
@Override
public List<AuthorityVo> listAllAuthority() {
List<AuthorityVo> list = authorityDao.listAll();
return (list != null && list.size() != 0) ? list : null;
}
@Override
public List<AuthorityVo> listLevel1() {
ListLevel1ReqVo listLevel1ReqVo = new ListLevel1ReqVo();
listLevel1ReqVo.setExist("exist");
List<AuthorityVo> list = authorityDao.listLevel1(listLevel1ReqVo);
return (list != null && list.size() != 0) ? list : null;
}
}
package com.pangding.web.authority.service.impl;
import com.pangding.web.authority.dao.RoleDao;
import com.pangding.web.authority.dao.RoleAuthorityDao;
import com.pangding.web.authority.dao.AuthorityDao;
import com.pangding.web.authority.dao.UserRoleDao;
import com.pangding.web.authority.dto.RoleDto;
import com.pangding.web.authority.service.RoleService;
import com.pangding.web.authority.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* @author zhangjinyao
*/
@Service
public class RoleServiceImpl implements RoleService {
@Autowired
RoleDao roleDao;
@Autowired
UserRoleDao userRoleDaoImpl;
@Autowired
RoleAuthorityDao roleAuthorityDaoImpl;
@Autowired
AuthorityDao authorityDaoImpl;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveRole(RoleDto roleDto) {
RoleVo roleVo = roleDto;
roleDao.create(roleVo);
List<String> authorityIds = roleDto.getAuthorityIds();
for (String authorityId : authorityIds) {
RoleAuthorityRelation roleAuthorityRelation = new RoleAuthorityRelation();
roleAuthorityRelation.setAuthorityId(authorityId);
roleAuthorityRelation.setRoleId(roleDto.getId());
roleAuthorityRelation.setId(UUID.randomUUID().toString().replace("-",""));
roleAuthorityDaoImpl.create(roleAuthorityRelation);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateRole(RoleDto roleDto) {
RoleVo roleVo = roleDto;
roleDao.update(roleVo);
GetRoleAuthorityListByRoleIdReqVo getRoleAuthorityListByRoleIdReqVo = new GetRoleAuthorityListByRoleIdReqVo();
getRoleAuthorityListByRoleIdReqVo.setRoleId(roleDto.getId());
List<RoleAuthorityRelation> roleAuthorityList = roleAuthorityDaoImpl.getRoleAuthorityListByRoleId(getRoleAuthorityListByRoleIdReqVo);
if (roleAuthorityList != null && roleAuthorityList.size() != 0){
for (RoleAuthorityRelation roleAuthorityRelation:roleAuthorityList) {
roleAuthorityDaoImpl.remove(roleAuthorityRelation);
}
}
List<String> authorityIds = roleDto.getAuthorityIds();
for (String authorityId : authorityIds) {
RoleAuthorityRelation roleAuthorityRelation = new RoleAuthorityRelation();
roleAuthorityRelation.setAuthorityId(authorityId);
roleAuthorityRelation.setRoleId(roleDto.getId());
roleAuthorityRelation.setId(UUID.randomUUID().toString().replace("-",""));
roleAuthorityDaoImpl.create(roleAuthorityRelation);
}
}
@Override
public RoleVo getRoleById(String id) {
GetRoleByRoleIdReqVo getRoleByRoleIdReqVo = new GetRoleByRoleIdReqVo();
getRoleByRoleIdReqVo.setId(id);
return roleDao.getRoleById(getRoleByRoleIdReqVo);
}
@Override
public RoleVo getRoleByName(String name) {
GetRoleByRoleNameReqVo getRoleByRoleNameReqVo = new GetRoleByRoleNameReqVo();
getRoleByRoleNameReqVo.setName(name);
return roleDao.getRoleByRoleName(getRoleByRoleNameReqVo);
}
@Override
public void checkNameExist(RoleVo roleVo){
roleDao.checkNameExist(roleVo);
}
@Override
public List<RoleVo> getRoleVoList() {
return roleDao.getRoleVoList();
}
@Override
public List<String> getAuthorityIdListByRoleId(String roleId) {
GetRoleAuthorityListByRoleIdReqVo getRoleAuthorityListByRoleIdReqVo = new GetRoleAuthorityListByRoleIdReqVo();
getRoleAuthorityListByRoleIdReqVo.setRoleId(roleId);
List<RoleAuthorityRelation> roleAuthorityRelationList = roleAuthorityDaoImpl.getRoleAuthorityListByRoleId(getRoleAuthorityListByRoleIdReqVo);
List<String> authorityIdList = new ArrayList(roleAuthorityRelationList.size());
for (RoleAuthorityRelation roleAuthorityRelation:roleAuthorityRelationList) {
authorityIdList.add(roleAuthorityRelation.getAuthorityId());
}
return authorityIdList;
}
@Override
public String getAuthorityNameByAuthorityId(String authorityId) {
GetAuthorityByIdReqVo getAuthorityByIdReqVo = new GetAuthorityByIdReqVo();
getAuthorityByIdReqVo.setId(authorityId);
AuthorityVo authorityVo = authorityDaoImpl.getAuthorityById(getAuthorityByIdReqVo);
return authorityVo.getName();
}
@Override
public RoleDto makeRoleDto(RoleVo roleVo, List<String> authorityIdList, List<String> authorityNameList) {
RoleDto roleDto = new RoleDto();
roleDto.setId(roleVo.getId());
roleDto.setName(roleVo.getName());
roleDto.setPid(roleVo.getPid());
roleDto.setRemark(roleVo.getRemark());
roleDto.setAuthorityIds(authorityIdList);
roleDto.setAuthorityNames(authorityNameList);
return roleDto;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteRole(RoleVo roleVo) {
GetUserRoleListByRoleIdReqVo getUserRoleListByRoleIdReqVo = new GetUserRoleListByRoleIdReqVo();
getUserRoleListByRoleIdReqVo.setRoleId(roleVo.getId());
List<UserRoleRelation> userRoleList = userRoleDaoImpl.getUserRoleListByRoleId(getUserRoleListByRoleIdReqVo);
if (userRoleList != null && userRoleList.size() != 0){
for (UserRoleRelation userRoleRelation:userRoleList) {
userRoleDaoImpl.remove(userRoleRelation);
}
}
GetRoleAuthorityListByRoleIdReqVo getRoleAuthorityListByRoleIdReqVo = new GetRoleAuthorityListByRoleIdReqVo();
getRoleAuthorityListByRoleIdReqVo.setRoleId(roleVo.getId());
List<RoleAuthorityRelation> roleAuthorityList = roleAuthorityDaoImpl.getRoleAuthorityListByRoleId(getRoleAuthorityListByRoleIdReqVo);
if (roleAuthorityList != null && roleAuthorityList.size() != 0){
for (RoleAuthorityRelation roleAuthority:roleAuthorityList) {
roleAuthorityDaoImpl.remove(roleAuthority);
}
}
GetRoleByRoleIdReqVo getRoleByRoleIdReqVo = new GetRoleByRoleIdReqVo();
getRoleByRoleIdReqVo.setId(roleVo.getId());
List<RoleVo> childList = roleDao.getChild(getRoleByRoleIdReqVo);
for (RoleVo child:childList) {
roleDao.remove(child);
GetRoleAuthorityListByRoleIdReqVo getRoleAuthorityListByRoleIdReqVo2 = new GetRoleAuthorityListByRoleIdReqVo();
getRoleAuthorityListByRoleIdReqVo.setRoleId(child.getId());
List<RoleAuthorityRelation> roleAuthorityList2 = roleAuthorityDaoImpl.getRoleAuthorityListByRoleId(getRoleAuthorityListByRoleIdReqVo2);
if (roleAuthorityList2 != null && roleAuthorityList2.size() != 0){
for (RoleAuthorityRelation roleAuthority:roleAuthorityList) {
roleAuthorityDaoImpl.remove(roleAuthority);
}
}
}
roleDao.remove(roleVo);
}
}
package com.pangding.web.tright.service.impl; package com.pangding.web.authority.service.impl;
import com.pangding.web.tright.dao.RoleDao; import com.pangding.web.authority.dao.RoleDao;
import com.pangding.web.tright.dao.UserDao; import com.pangding.web.authority.dao.UserDao;
import com.pangding.web.tright.dao.UserRoleDao; import com.pangding.web.authority.dao.UserRoleDao;
import com.pangding.web.tright.dto.UserDto; import com.pangding.web.authority.dto.UserDto;
import com.pangding.web.tright.service.UserService; import com.pangding.web.authority.service.UserService;
import com.pangding.web.tright.utils.Md5AndSalt; import com.pangding.web.authority.utils.Md5AndSalt;
import com.pangding.web.tright.vo.*; import com.pangding.web.authority.vo.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -85,10 +85,8 @@ public class UserServiceImpl implements UserService { ...@@ -85,10 +85,8 @@ public class UserServiceImpl implements UserService {
} }
@Override @Override
public UserVo getUser(UserVo userVo) { public void checkAccount(UserVo userVo) {
GetUserByAccountReqVo account = new GetUserByAccountReqVo(); userDao.checkAccount(userVo);
account.setAccount(userVo.getAccount());
return userDao.getUserByAccount(account);
} }
@Override @Override
......
package com.pangding.web.tright.utils; package com.pangding.web.authority.utils;
import org.apache.commons.codec.binary.Hex; import org.apache.commons.codec.binary.Hex;
......
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
import com.yanzuoguang.dao.TableAnnotation; import com.yanzuoguang.dao.TableAnnotation;
import com.yanzuoguang.util.helper.DateHelper; import com.yanzuoguang.util.helper.DateHelper;
...@@ -13,7 +13,7 @@ import java.sql.Timestamp; ...@@ -13,7 +13,7 @@ import java.sql.Timestamp;
* @author zhangjinyao * @author zhangjinyao
*/ */
@TableAnnotation("pd_authority") @TableAnnotation("pd_authority")
public class TrightVo implements Serializable, InitDao { public class AuthorityVo implements Serializable, InitDao {
private String id; private String id;
......
package com.pangding.web.authority.vo;
/**
* @Author zhangjinyao
* @create 2019/5/11 15:05
*/
public class GetAuthorityByIdReqVo {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
package com.pangding.web.authority.vo;
/**
* @Author zhangjinyao
* @create 2019/5/11 16:41
*/
public class GetRoleAuthorityListByAuthorityIdReqVo {
private String authorityId;
public String getAuthorityId() {
return authorityId;
}
public void setAuthorityId(String authorityId) {
this.authorityId = authorityId;
}
}
package com.pangding.web.authority.vo;
import com.yanzuoguang.util.vo.BaseVo;
import java.io.Serializable;
/**
* @Author zhangjinyao
* @create 2019/5/11 14:38
*/
public class GetRoleAuthorityListByRoleIdReqVo implements Serializable {
private String roleId;
public String getRoleId() {
return roleId;
}
public void setRoleId(String roleId) {
this.roleId = roleId;
}
}
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
/** /**
* @Author zhangjinyao * @Author zhangjinyao
......
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
/** /**
* @Author zhangjinyao * @Author zhangjinyao
......
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
...@@ -10,6 +10,16 @@ import org.springframework.context.annotation.Bean; ...@@ -10,6 +10,16 @@ import org.springframework.context.annotation.Bean;
public class GetUserByAccountReqVo { public class GetUserByAccountReqVo {
private String account; private String account;
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAccount() { public String getAccount() {
return account; return account;
} }
......
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
/** /**
* @Author zhangjinyao * @Author zhangjinyao
......
package com.pangding.web.authority.vo;
/**
* @Author zhangjinyao
* @create 2019/5/11 15:37
*/
public class GetUserRoleListByRoleIdReqVo {
private String roleId;
public String getRoleId() {
return roleId;
}
public void setRoleId(String roleId) {
this.roleId = roleId;
}
}
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
/** /**
* @Author zhangjinyao * @Author zhangjinyao
......
package com.pangding.web.authority.vo;
/**
* @Author zhangjinyao
* @create 2019/5/11 16:34
*/
public class ListLevel1ReqVo {
private String exist;
public String getExist() {
return exist;
}
public void setExist(String exist) {
this.exist = exist;
}
}
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
import com.yanzuoguang.dao.TableAnnotation; import com.yanzuoguang.dao.TableAnnotation;
import com.yanzuoguang.util.vo.BaseVo;
import java.io.Serializable; import java.io.Serializable;
...@@ -8,15 +9,15 @@ import java.io.Serializable; ...@@ -8,15 +9,15 @@ import java.io.Serializable;
* @author zhangjinyao * @author zhangjinyao
*/ */
@TableAnnotation("pd_role_authority") @TableAnnotation("pd_role_authority")
public class RoleTrightRelation implements Serializable { public class RoleAuthorityRelation implements Serializable {
private String id; private String id;
@TableAnnotation("role_id")
@TableAnnotation("role_id")
private String roleId; private String roleId;
@TableAnnotation("authority_id") @TableAnnotation("authority_id")
private String trightId; private String authorityId;
public String getId() { public String getId() {
return id; return id;
...@@ -34,11 +35,11 @@ public class RoleTrightRelation implements Serializable { ...@@ -34,11 +35,11 @@ public class RoleTrightRelation implements Serializable {
this.roleId = roleId; this.roleId = roleId;
} }
public String getTrightId() { public String getAuthorityId() {
return trightId; return authorityId;
} }
public void setTrightId(String trightId) { public void setAuthorityId(String authorityId) {
this.trightId = trightId; this.authorityId = authorityId;
} }
} }
package com.pangding.web.authority.vo;
/**
* @Author zhangjinyao
* @create 2019/5/11 18:52
*/
public class RoleDaoCheckNameExistReqVo {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
import com.yanzuoguang.dao.TableAnnotation; import com.yanzuoguang.dao.TableAnnotation;
......
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
/** /**
* @Author zhangjinyao * @Author zhangjinyao
......
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
import com.yanzuoguang.dao.TableAnnotation; import com.yanzuoguang.dao.TableAnnotation;
......
package com.pangding.web.tright.vo; package com.pangding.web.authority.vo;
import com.yanzuoguang.dao.TableAnnotation; import com.yanzuoguang.dao.TableAnnotation;
import com.yanzuoguang.util.helper.DateHelper; import com.yanzuoguang.util.helper.DateHelper;
......
package com.pangding.web.tright.dao;
import com.yanzuoguang.dao.BaseDao;
import java.util.List;
/**
* @author zhangjinyao
*/
public interface RoleTrightDao extends BaseDao {
/**
* 通过角色id获取角色权限关系表主键列表
*
* @param roleId 角色id
* @return 角色权限关系表主键列表
*/
List<String> getRoleTrightPKListByRoleId(String roleId);
/**
* 通过权限id获取角色权限关系表主键列表
*
* @param trightId 权限id
* @return 角色权限关系表主键列表
*/
List<String> getRoleTrightPKListByTrightId(String trightId);
}
package com.pangding.web.tright.dao;
import com.pangding.web.tright.vo.TrightVo;
import com.yanzuoguang.dao.BaseDao;
import java.util.List;
/**
* @author zhangjinyao
*/
public interface TrightDao extends BaseDao {
/**
* 检查新建或修改的TrightVo对象是否合法
*
* @param trightVo TrightVo对象
* @return 0:合法 else:不合法
*/
int checkValid(TrightVo trightVo);
/**
* 根据主键获取TrightVo对象
*
* @param id 主键
* @return TrightVo对象
*/
TrightVo getTrightById(String id);
/**
* 获取TrightVo对象列表
*
* @return TrightVo对象列表
*/
List<TrightVo> listAll();
/**
* 获取一级权限列表
*
* @return 一级权限列表
*/
List<TrightVo> listLevel1();
/**
* 通过权限表主键查询是否拥有子权限
*
* @param id 主键
* @return 0:没有子权限 else:子权限个数
*/
int checkChild(String id);
/**
* 通过权限表主键获取子权限id列表
*
* @param id 主键
* @return 子权限id列表
*/
List<String> getChildIdList(String id);
}
package com.pangding.web.tright.dao.impl;
import com.pangding.web.tright.dao.RoleTrightDao;
import com.pangding.web.tright.vo.RoleTrightRelation;
import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhangjinyao
*/
@Component
public class RoleTrightDaoImpl extends BaseDaoImpl implements RoleTrightDao {
private static final String GET_ROLE_TRIGHT_PKLIST_BY_ROLEID = "GET_ROLE_TRIGHT_PKLIST_BY_ROLEID";
private static final String GET_ROLE_TRIGHT_PKLIST_BY_TRIGHTID = "GET_ROLE_TRIGHT_PKLIST_BY_TRIGHTID";
@Override
protected void init() {
register(RoleTrightRelation.class);
table.add(GET_ROLE_TRIGHT_PKLIST_BY_ROLEID,"select id from pd_role_authority where 1=1 ")
.add("roleId","and role_id = ?");
table.add(GET_ROLE_TRIGHT_PKLIST_BY_TRIGHTID,"select id from pd_role_authority where 1=1 ")
.add("trightId","and tright_id = ?");
}
@Override
public List<String> getRoleTrightPKListByRoleId(String roleId) {
return this.query(String.class,GET_ROLE_TRIGHT_PKLIST_BY_ROLEID,roleId);
}
@Override
public List<String> getRoleTrightPKListByTrightId(String trightId) {
return this.query(String.class,GET_ROLE_TRIGHT_PKLIST_BY_TRIGHTID,trightId);
}
}
package com.pangding.web.tright.dao.impl;
import com.pangding.web.tright.dao.TrightDao;
import com.pangding.web.tright.vo.TrightVo;
import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhangjinyao
*/
@Component
public class TrightDaoImpl extends BaseDaoImpl implements TrightDao {
private static final String CHECK_VALID = "CHECK_VALID";
private static final String GET_TRIGHT_BY_ID = "GET_TRIGHT_BY_ID";
private static final String LIST_ALL = "LIST_ALL";
private static final String LIST_LEVEL_ONE = "LIST_LEVEL_ONE";
private static final String CHECK_CHILD = "CHECK_CHILD";
private static final String GET_CHILDID_LIST = "GET_CHILDID_LIST";
@Override
protected void init() {
register(TrightVo.class);
table.add(CHECK_VALID,"select count(a.id) from pd_authority a where 1=1 ")
.add("name","and a.name = ? ")
.add("url","and a.url = ? ")
.add("id","and a.id <> ?");
table.add(GET_TRIGHT_BY_ID,"select * from pd_authority where 1=1 ")
.add("id","and id = ?");
table.add(LIST_ALL,"select * from pd_authority where 1=1");
table.add(LIST_LEVEL_ONE,"select * from pd_authority where pid=null");
table.add(CHECK_CHILD,"select count(id) from pd_authority where 1=1 ")
.add("id","and pid = ?");
table.add(GET_CHILDID_LIST,"select id from pd_authority where 1=1 ")
.add("id","and pid = ?");
}
@Override
public int checkValid(TrightVo trightVo) {
return this.queryFirst(int.class,CHECK_VALID,trightVo);
}
@Override
public TrightVo getTrightById(String id) {
return this.queryFirst(TrightVo.class,GET_TRIGHT_BY_ID,id);
}
@Override
public List<TrightVo> listAll() {
return this.query(TrightVo.class,LIST_ALL,null);
}
@Override
public List<TrightVo> listLevel1() {
return this.query(TrightVo.class,LIST_LEVEL_ONE,null);
}
@Override
public int checkChild(String id) {
return this.queryFirst(int.class,CHECK_CHILD,id);
}
@Override
public List<String> getChildIdList(String id) {
return this.query(String.class,GET_CHILDID_LIST,id);
}
}
package com.pangding.web.tright.dto;
import com.pangding.web.tright.vo.RoleVo;
import java.util.List;
/**
* @author zhangjinyao
*/
public class RoleDto extends RoleVo {
private List<String> trightIds;
private List<String> trightNames;
public List<String> getTrightIds() {
return trightIds;
}
public void setTrightIds(List<String> trightIds) {
this.trightIds = trightIds;
}
public List<String> getTrightNames() {
return trightNames;
}
public void setTrightNames(List<String> trightNames) {
this.trightNames = trightNames;
}
}
package com.pangding.web.tright.service;
import com.pangding.web.tright.vo.TrightVo;
import java.util.List;
/**
* @author zhangjinyao
*/
public interface TrightService {
/**
* 保存TrightVo对象数据
*
* @param trightVo TrightVo对象
*/
void save(TrightVo trightVo);
/**
* 更新TrightVo对象数据
*
* @param trightVo TrightVo对象
*/
void update(TrightVo trightVo);
/**
* 通过权限表主键获取TrightVo对象
*
* @param id 主键
* @return TrightVo对象
*/
TrightVo getTrightById(String id);
/**
* 通过权限表主键删除TrightVo对象,并删除权限和角色的对应关系
*
* @param id 主键
*/
void deleteTrightById(String id);
/**
* 检查新建、修改的TrightVo对象是否合法
*
* @param trightVo TrightVo对象
* @return 0:合法 else:不合法
*/
Boolean checkValid(TrightVo trightVo);
/**
* 获取TrightVo对象列表
*
* @return TrightVo对象列表
*/
List<TrightVo> listAllTright();
/**
* 获取一级权限列表
*
* @return 一级权限列表
*/
List<TrightVo> listLevel1();
/**
* 通过权限id查询是否存在子权限
*
* @param id 权限id
* @return 是否存在子权限
*/
Boolean checkChild(String id);
/**
* 通过权限id获取子权限id列表
*
* @param id 权限id
* @return 子权限id列表
*/
List<String> getChildIdList(String id);
}
package com.pangding.web.tright.service.impl;
import com.pangding.web.tright.dao.RoleDao;
import com.pangding.web.tright.dao.RoleTrightDao;
import com.pangding.web.tright.dao.UserRoleDao;
import com.pangding.web.tright.dto.RoleDto;
import com.pangding.web.tright.service.RoleService;
import com.pangding.web.tright.vo.GetRoleByRoleNameReqVo;
import com.pangding.web.tright.vo.RoleTrightRelation;
import com.pangding.web.tright.vo.RoleVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.UUID;
/**
* @author zhangjinyao
*/
@Service
public class RoleServiceImpl implements RoleService {
@Autowired
RoleDao roleDao;
@Autowired
UserRoleDao userRoleDaoImpl;
@Autowired
RoleTrightDao roleTrightDaoImpl;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveRole(RoleDto roleDto) {
RoleVo roleVo = roleDto;
roleDao.create(roleVo);
List<String> trightIds = roleDto.getTrightIds();
for (String trightId : trightIds) {
RoleTrightRelation roleTrightRelation = new RoleTrightRelation();
roleTrightRelation.setTrightId(trightId);
roleTrightRelation.setRoleId(roleDto.getId());
roleTrightRelation.setId(UUID.randomUUID().toString().replace("-",""));
roleTrightDaoImpl.create(roleTrightRelation);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateRole(RoleDto roleDto) {
RoleVo roleVo = roleDto;
roleDao.update(roleVo);
List<String> roleTrightIdList = roleTrightDaoImpl.getRoleTrightPKListByRoleId(roleDto.getId());
if (roleTrightIdList != null && roleTrightIdList.size() != 0){
for (String roleTrightId:roleTrightIdList) {
roleTrightDaoImpl.remove(roleTrightId);
}
}
List<String> trightIds = roleDto.getTrightIds();
for (String trightId : trightIds) {
RoleTrightRelation roleTrightRelation = new RoleTrightRelation();
roleTrightRelation.setTrightId(trightId);
roleTrightRelation.setRoleId(roleDto.getId());
roleTrightRelation.setId(UUID.randomUUID().toString().replace("-",""));
roleTrightDaoImpl.update(roleTrightRelation);
}
}
@Override
public RoleVo getRoleById(String id) {
return roleDao.getRoleById(id);
}
@Override
public RoleVo getRoleByName(String name) {
GetRoleByRoleNameReqVo getRoleByRoleNameReqVo = new GetRoleByRoleNameReqVo();
getRoleByRoleNameReqVo.setName(name);
return roleDao.getRoleByRoleName(getRoleByRoleNameReqVo);
}
@Override
public Boolean checkNameExist(RoleVo roleVo) {
if (roleDao.checkNameExist(roleVo) > 0){return false;}
return true;
}
@Override
public List<RoleVo> getRoleVoList() {
return roleDao.getRoleVoList();
}
@Override
public List<String> getTrightIdList(String roleId) {
return roleDao.getTrightIdList(roleId);
}
@Override
public String getTrightNameByTrightId(String trightId) {
return roleDao.getTrightNameByTrightId(trightId);
}
@Override
public RoleDto makeRoleDto(RoleVo roleVo, List<String> trightIdList, List<String> trightNameList) {
RoleDto roleDto = (RoleDto) roleVo;
roleDto.setTrightIds(trightIdList);
roleDto.setTrightNames(trightNameList);
return roleDto;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteRole(String roleId) {
roleDao.remove(roleId);
List<String> roleUserList = userRoleDaoImpl.getRoleUserPKListByRoleId(roleId);
for (String roleUserId:roleUserList) {
if (roleUserId != null && roleUserId != "") {
userRoleDaoImpl.remove(roleUserId);
}
}
List<String> roleTrightList = roleTrightDaoImpl.getRoleTrightPKListByRoleId(roleId);
for (String roleTrightId:roleTrightList) {
if (roleTrightId != null && roleTrightId != "") {
roleTrightDaoImpl.remove(roleTrightId);
}
}
}
}
package com.pangding.web.tright.service.impl;
import com.pangding.web.tright.dao.RoleTrightDao;
import com.pangding.web.tright.dao.TrightDao;
import com.pangding.web.tright.service.TrightService;
import com.pangding.web.tright.vo.TrightVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.UUID;
/**
* @author zhangjinyao
*/
@Service
public class TrightServiceImpl implements TrightService {
@Autowired
TrightDao trightDao;
@Autowired
RoleTrightDao roleTrightDao;
@Override
public void save(TrightVo trightVo) {
trightVo.setId(UUID.randomUUID().toString().replace("-",""));
trightDao.create(trightVo);
}
@Override
public void update(TrightVo trightVo) {
trightDao.update(trightVo);
}
@Override
public Boolean checkValid(TrightVo trightVo) {
int checkResult = trightDao.checkValid(trightVo);
if(checkResult == 0){return true;}
else{return false;}
}
@Override
public TrightVo getTrightById(String id) {
TrightVo trightVo = trightDao.getTrightById(id);
return trightVo != null ? trightVo : null;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteTrightById(String id) {
trightDao.remove(id);
List<String> roleTrightList = roleTrightDao.getRoleTrightPKListByTrightId(id);
for (String roleTrightId:roleTrightList) {
roleTrightDao.remove(roleTrightId);
}
}
@Override
public List<TrightVo> listAllTright() {
List<TrightVo> list = trightDao.listAll();
return (list != null && list.size() != 0) ? list : null;
}
@Override
public List<TrightVo> listLevel1() {
List<TrightVo> list = trightDao.listLevel1();
return (list != null && list.size() != 0) ? list : null;
}
@Override
public Boolean checkChild(String id) {
int childNum = trightDao.checkChild(id);
return childNum == 0 ? true : false;
}
@Override
public List<String> getChildIdList(String id) {
return trightDao.getChildIdList(id);
}
}
...@@ -4,3 +4,4 @@ eureka: ...@@ -4,3 +4,4 @@ eureka:
defaultZone: http://192.168.0.88:6800/eureka/ defaultZone: http://192.168.0.88:6800/eureka/
yzg: yzg:
logAll: true logAll: true
PrintSql: true
\ 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