Commit d1824d77 by zhangchen

角色列表

parent 32217bbe
......@@ -2,11 +2,22 @@
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
*/
package com.ctrip.fun.golf.api.adminUser;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseStatusEnum;
import com.ctrip.fun.common.vo.adminUser.AdminRoleBean;
import com.ctrip.fun.common.vo.adminUser.AdminUserBean;
import com.ctrip.fun.common.vo.adminUser.AdminUserRoleQuery;
import com.ctrip.fun.golf.api.GenericController;
import com.ctrip.fun.golf.domain.adminUser.AdminRole;
import com.ctrip.fun.golf.service.adminUser.AdminRoleService;
......@@ -21,8 +32,15 @@ public class AdminRoleController extends GenericController<AdminRoleService, Adm
private AdminRoleService adminRoleService;
/*@RequestMapping(value = "/roleList" , method = RequestMethod.GET)
public Response<List<AdminRole>> getAdminRoleList() {
List<AdminRole> adminRoleList = adminRoleService.getAdminRoleList();
Response<List<AdminRole>> response = new Response<List<AdminRole>>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setBody(adminRoleList);
return response;
}*/
public AdminRoleService getAdminRoleService() {
......
......@@ -4,19 +4,28 @@
package com.ctrip.fun.golf.api.adminUser;
import java.io.Serializable;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseStatusEnum;
import com.ctrip.fun.common.vo.adminUser.AdminResourcesBean;
import com.ctrip.fun.common.vo.adminUser.AdminRoleBean;
import com.ctrip.fun.common.vo.adminUser.AdminUserBean;
import com.ctrip.fun.common.vo.adminUser.AdminUserQuery;
import com.ctrip.fun.common.vo.adminUser.AdminUserRoleQuery;
import com.ctrip.fun.golf.api.GenericController;
import com.ctrip.fun.golf.aspect.log.Log;
import com.ctrip.fun.golf.domain.adminUser.AdminRole;
import com.ctrip.fun.golf.service.adminUser.AdminResourcesService;
import com.ctrip.fun.golf.service.adminUser.AdminRoleService;
import com.ctrip.fun.golf.service.adminUser.AdminUserService;
/**
......@@ -30,6 +39,9 @@ public class AdminUserController extends GenericController<AdminUserService, Adm
private AdminUserService adminUserService;
@Autowired
private AdminResourcesService adminResourcesService;
@ResponseBody
@RequestMapping(value = "/add", method = RequestMethod.POST)
@Log(parentLog=true,action="新增")
......@@ -125,5 +137,81 @@ public class AdminUserController extends GenericController<AdminUserService, Adm
return adminUserService;
}
@Autowired
private AdminRoleService adminRoleService;
@RequestMapping(value = "/roleList" , method = RequestMethod.POST)
@ResponseBody
public Response<PagedResponseBean<AdminRoleBean>> getAdminRoleList(@RequestBody Request<AdminUserRoleQuery> request) {
PagedResponseBean<AdminRoleBean> adminRoleList = adminRoleService.getAdminRoleList(request);
Response<PagedResponseBean<AdminRoleBean>> response = new Response<PagedResponseBean<AdminRoleBean>>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setBody(adminRoleList);
return response;
}
@ResponseBody
@RequestMapping(value = "/resList", method = RequestMethod.GET)
public Response<List<AdminResourcesBean>> getResList() {
List<AdminResourcesBean> list = adminResourcesService.getAllResList();
Response<List<AdminResourcesBean>> response = new Response<List<AdminResourcesBean>>();
response.setBody(list);
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
return response;
}
@ResponseBody
@RequestMapping(value = "/addRole", method = RequestMethod.POST)
@Log(parentLog=true,action="新增")
public Response<Serializable> addRole(@RequestBody Request<AdminRoleBean> request) {
Serializable id = adminRoleService.save(request.getBody());
Response<Serializable> response = new Response<Serializable>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setMessage(ResponseStatusEnum.SUCCESS.getMsg());
response.setBody(id);
return response;
}
@ResponseBody
@RequestMapping(value = "/getUserRoleById", method = RequestMethod.POST)
@Log(parentLog=true,action="新增")
public Response<AdminRoleBean> getUserRoleById(@RequestBody Request<Integer> request) {
AdminRoleBean adminRoleBean = adminRoleService.getUserRoleById(request.getBody());
Response<AdminRoleBean> response = new Response<AdminRoleBean>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setMessage(ResponseStatusEnum.SUCCESS.getMsg());
response.setBody(adminRoleBean);
return response;
}
@ResponseBody
@RequestMapping(value = "/updateAdminRole", method = RequestMethod.POST)
@Log(parentLog=true,action="新增")
public Response<Serializable> updateAdminRole(@RequestBody Request<AdminRoleBean> request) {
adminRoleService.updateAdminRole(request.getBody());
Response<Serializable> response = new Response<Serializable>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setMessage(ResponseStatusEnum.SUCCESS.getMsg());
response.setBody("update success!");
return response;
}
@ResponseBody
@RequestMapping(value = "/addResources", method = RequestMethod.POST)
@Log(parentLog=true,action="新增")
public Response<Serializable> addResources(@RequestBody Request<AdminResourcesBean> request) {
Serializable id = adminResourcesService.save(request.getBody());
Response<Serializable> response = new Response<Serializable>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setMessage(ResponseStatusEnum.SUCCESS.getMsg());
response.setBody(id);
return response;
}
}
......@@ -6,16 +6,22 @@ import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.Transformers;
import org.springframework.beans.BeanUtils;
import com.ctrip.fun.common.vo.SortDirectionEnum;
import com.ctrip.fun.common.vo.adminUser.AdminResourcesBean;
import com.ctrip.fun.common.vo.adminUser.AdminResourcesQuery;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.adminUser.AdminResources;
import com.ctrip.fun.golf.domain.adminUser.AdminRole;
import com.ctrip.fun.golf.vo.PagedEntityBean;
import com.fasterxml.jackson.databind.util.BeanUtil;
/**
* @author zgsong
......@@ -58,4 +64,29 @@ public class AdminResourcesDao extends GenericHibernateDao<AdminResources, Integ
pagedEntityBean.setResult(result);
return pagedEntityBean;
}
public List<AdminResources> getAllresList() {
Criteria criteria = this.getCriteria();
List<AdminResources> list = criteria.list();
return list;
}
public List<AdminResources> getResByRoleId(Integer id) {
StringBuilder sb = new StringBuilder("SELECT * from adm_resources where id in (SELECT resc_id from adm_resources_role where role_id=:role_id)");
Session session = this.getSession();
Query query = session.createSQLQuery(sb.toString()).addEntity(AdminResources.class);
query.setParameter("role_id", id);
return query.list();
}
public int deleteRoleRes(Integer id) {
StringBuilder sb = new StringBuilder("delete from adm_resources_role where role_id=:role_id");
Session session = this.getSession();
Query query = session.createSQLQuery(sb.toString());
query.setParameter("role_id", id);
return query.executeUpdate();
}
}
......@@ -4,11 +4,20 @@
package com.ctrip.fun.golf.dao.adminUser;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.SortDirectionEnum;
import com.ctrip.fun.common.vo.adminUser.AdminUserRoleQuery;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.adminUser.AdminRole;
import com.ctrip.fun.golf.vo.PagedEntityBean;
/**
......@@ -42,4 +51,47 @@ public class AdminRoleDao extends GenericHibernateDao<AdminRole, Integer> {
query.setParameter("user_id", adminUserId);
return query.executeUpdate();
}
@SuppressWarnings("unchecked")
public PagedEntityBean<AdminRole> getUsersRoleList(Request<AdminUserRoleQuery> request){
StringBuilder sb = new StringBuilder("SELECT * from adm_role");
Session session = this.getSession();
Query query = session.createSQLQuery(sb.toString()).addEntity(AdminRole.class);
AdminUserRoleQuery queryBean = (AdminUserRoleQuery) request.getBody();
Criteria criteria = this.getCriteria();
if (null != queryBean.getRoleName() && !"".equals(queryBean.getRoleName())) {
criteria.add(Restrictions.like("name", queryBean.getRoleName(), MatchMode.ANYWHERE));
}
if (null != queryBean.getRoleDescription() && !"".equals(queryBean.getRoleDescription())) {
criteria.add(Restrictions.like("description", queryBean.getRoleDescription(), MatchMode.ANYWHERE));
}
if (queryBean.getEnable()!=null && !"".equals(queryBean.getEnable())) {
criteria.add(Restrictions.eq("enable", queryBean.getEnable()));
}
if (null != queryBean.getId() && 0 != queryBean.getId()) {
criteria.add(Restrictions.eq("id", queryBean.getId()));
}
criteria.setFirstResult(queryBean.getPagerOffset());
criteria.setMaxResults(queryBean.getPagerPerPage());
if (queryBean.getSortDirection().equals(SortDirectionEnum.ASC)) {
criteria.addOrder(Order.asc(queryBean.getSortField()));
} else {
criteria.addOrder(Order.desc(queryBean.getSortField()));
}
List<AdminRole> result = criteria.list();
criteria.setFirstResult(0);
Long count = (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
PagedEntityBean<AdminRole> pagedEntityBean = new PagedEntityBean<AdminRole>();
pagedEntityBean.setCount(count==null?0:count);
pagedEntityBean.setResult(result);
return pagedEntityBean;
}
public int addUsersRes(Integer id, Integer resId) {
StringBuilder sb = new StringBuilder("INSERT INTO adm_resources_role(role_id,resc_id) VALUES ("+id+","+resId+")");
Session session = this.getSession();
Query query = session.createSQLQuery(sb.toString());
return query.executeUpdate();
}
}
......@@ -27,7 +27,7 @@ public class AdminResources {
/**
* 父级路径id
*/
private String parentId;
private Integer parentId;
/**
* 角色KEY
*/
......@@ -74,11 +74,11 @@ public class AdminResources {
}
@Column(name = "parentId")
public String getParentId() {
public Integer getParentId() {
return parentId;
}
public void setParentId(String parentId) {
public void setParentId(Integer parentId) {
this.parentId = parentId;
}
......
......@@ -5,12 +5,15 @@ package com.ctrip.fun.golf.domain.adminUser;
import static javax.persistence.GenerationType.IDENTITY;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* @author zgsong
* @version 1.0.0
......@@ -84,5 +87,7 @@ public class AdminRole {
public void setEnable(Integer enable) {
this.enable = enable;
}
}
......@@ -2,10 +2,18 @@
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
*/
package com.ctrip.fun.golf.service.adminUser;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.BeanUtils;
import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.adminUser.AdminResourcesBean;
import com.ctrip.fun.common.vo.adminUser.AdminRoleBean;
import com.ctrip.fun.golf.dao.adminUser.AdminResourcesDao;
import com.ctrip.fun.golf.domain.adminUser.AdminResources;
import com.ctrip.fun.golf.domain.adminUser.AdminRole;
import com.ctrip.fun.golf.service.GenericService;
/**
......@@ -36,7 +44,25 @@ public class AdminResourcesService extends GenericService<AdminResourcesDao, Ad
public void setAdminResourcesDao(AdminResourcesDao adminResourcesDao) {
this.adminResourcesDao = adminResourcesDao;
}
public List<AdminResourcesBean> getAllResList() {
List<AdminResources> allresList = adminResourcesDao.getAllresList();
List<AdminResourcesBean> responseList = new ArrayList<AdminResourcesBean>();
for(AdminResources adminResources : allresList){
AdminResourcesBean response = new AdminResourcesBean();
BeanUtils.copyProperties(adminResources, response);
responseList.add(response);
}
return responseList;
}
public Integer save(AdminResourcesBean adminResourcesBean) {
AdminResources adminResources = new AdminResources();
BeanConverter.copyProperties(adminResources, adminResourcesBean);
adminResourcesDao.save(adminResources);
return null;
}
}
......@@ -3,10 +3,30 @@
*/
package com.ctrip.fun.golf.service.adminUser;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.alibaba.druid.util.StringUtils;
import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.core.util.EncryptUtil;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.adminUser.AdminRoleBean;
import com.ctrip.fun.common.vo.adminUser.AdminUserBean;
import com.ctrip.fun.common.vo.adminUser.AdminUserRoleQuery;
import com.ctrip.fun.golf.dao.adminUser.AdminResourcesDao;
import com.ctrip.fun.golf.dao.adminUser.AdminRoleDao;
import com.ctrip.fun.golf.domain.adminUser.AdminResources;
import com.ctrip.fun.golf.domain.adminUser.AdminRole;
import com.ctrip.fun.golf.domain.adminUser.AdminUser;
import com.ctrip.fun.golf.exceptions.DaoException;
import com.ctrip.fun.golf.service.GenericService;
import com.ctrip.fun.golf.utils.GenericManager;
import com.ctrip.fun.golf.vo.PagedEntityBean;
/**
* @author zgsong
......@@ -15,9 +35,12 @@ import com.ctrip.fun.golf.service.GenericService;
public class AdminRoleService extends GenericService<AdminRoleDao, AdminRole, Integer, AdminRoleBean>{
@Autowired
private AdminRoleDao adminRoleDao;
@Autowired
private AdminResourcesDao adminResourcesDao;
@Override
public AdminRoleDao getEntityDao() {
......@@ -35,5 +58,72 @@ public class AdminRoleService extends GenericService<AdminRoleDao, AdminRole, I
}
public PagedResponseBean<AdminRoleBean> getAdminRoleList(Request<AdminUserRoleQuery> request) {
PagedResponseBean<AdminRoleBean> pagedResponseBean = new PagedResponseBean<AdminRoleBean>();
PagedEntityBean<AdminRole> usersRoleList = adminRoleDao.getUsersRoleList(request);
BeanConverter.copyProperties(pagedResponseBean, usersRoleList);
Collection<AdminRoleBean> result =new ArrayList<AdminRoleBean>();
if(!pagedResponseBean.getResult().isEmpty()){
for(AdminRole adminRole : usersRoleList.getResult()){
AdminRoleBean adminRoleBean = new AdminRoleBean();
BeanConverter.copyProperties(adminRoleBean, adminRole);
List<AdminResources> resByRoleId = adminResourcesDao.getResByRoleId(adminRoleBean.getId());
String resStr = "";
for(AdminResources adminResources : resByRoleId){
resStr += adminResources.getResUrl() + "</br>";
}
adminRoleBean.setResStr(resStr);
result.add(adminRoleBean);
}
pagedResponseBean.setResult(result);
}
return pagedResponseBean;
}
public Integer save(AdminRoleBean adminRoleBean) {
AdminRole adminRole = new AdminRole();
BeanConverter.copyProperties(adminRole, adminRoleBean);
adminRoleDao.save(adminRole);
Integer[] resIds = adminRoleBean.getResIds();
if(resIds!=null&&resIds.length>0){
for(Integer resId:resIds){
adminRoleDao.addUsersRes(adminRole.getId(), resId);
}
}
return null;
}
public AdminRoleBean getUserRoleById(Integer id) {
AdminRole adminUser = adminRoleDao.findById(id);
AdminRoleBean bean = new AdminRoleBean();
BeanConverter.copyProperties(bean, adminUser);
List<AdminResources> rolesList = adminResourcesDao.getResByRoleId(bean.getId());
Integer[] resArray = new Integer[rolesList.size()];
for(int i=0;i<rolesList.size();i++){
resArray[i]=rolesList.get(i).getId();
}
bean.setResIds(resArray);
return bean;
}
public void updateAdminRole(AdminRoleBean adminRoleBean) {
AdminRole adminRole = adminRoleDao.findById(adminRoleBean.getId());
BeanConverter.copyProperties(adminRole, adminRoleBean);
adminRoleDao.update(adminRole);
adminResourcesDao.deleteRoleRes(adminRoleBean.getId());
Integer[] resIds = adminRoleBean.getResIds();
if(resIds!=null&&resIds.length>0){
for(Integer resId:resIds){
adminRoleDao.addUsersRes(adminRole.getId(), resId);
}
}
}
}
......@@ -196,7 +196,6 @@ public class AdminUserService extends GenericService<AdminUserDao, AdminUser, I
public void setAdminResourcesDao(AdminResourcesDao adminResourcesDao) {
this.adminResourcesDao = adminResourcesDao;
}
}
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 sign in to comment