首页>代码>spring3+spring mvc3+hibernate4开发通用网站后台管理系统>/my-forestry/src/com/forestry/controller/sys/AuthorityController.java
package com.forestry.controller.sys;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.forestry.core.ForestryBaseController;
import com.forestry.model.sys.Authority;
import com.forestry.model.sys.RoleAuthority;
import com.forestry.service.sys.AuthorityService;
import com.forestry.service.sys.RoleAuthorityService;
import core.extjs.ExtJSBaseParameter;
import core.extjs.ListView;
import core.support.QueryResult;
/**
* @author Yang Tian
* @email 1298588579@qq.com
*/
@Controller
@RequestMapping("/sys/authority")
public class AuthorityController extends ForestryBaseController<Authority> {
@Resource
private AuthorityService authorityService;
@Resource
private RoleAuthorityService roleAuthorityService;
@RequestMapping("/getAuthority")
public void getAuthority(HttpServletRequest request, HttpServletResponse response) throws Exception {
Short role = Short.valueOf(request.getParameter("globalRoleId"));
List<Authority> mainMenuList = authorityService.queryByParentIdAndRole(role);
List resultList = new ArrayList();
for (int i = 0; i < mainMenuList.size(); i++) {
JSONObject jsonObject = new JSONObject();
jsonObject.element("id", mainMenuList.get(i).getId());
jsonObject.element("sortOrder", mainMenuList.get(i).getSortOrder());
jsonObject.element("menuCode", mainMenuList.get(i).getMenuCode());
jsonObject.element("text", mainMenuList.get(i).getMenuName());
jsonObject.element("menuConfig", mainMenuList.get(i).getMenuConfig());
jsonObject.element("buttons", mainMenuList.get(i).getButtons());
jsonObject.element("expanded", mainMenuList.get(i).getExpanded());
jsonObject.element("checked", mainMenuList.get(i).getChecked());
jsonObject.element("leaf", mainMenuList.get(i).getLeaf());
jsonObject.element("url", mainMenuList.get(i).getUrl());
jsonObject.element("iconCls", mainMenuList.get(i).getIconCls());
JSONArray jsonArray = new JSONArray();
List<Authority> childrenMenuList = authorityService.queryChildrenByParentIdAndRole(mainMenuList.get(i).getId(), role);
for (int j = 0; j < childrenMenuList.size(); j++) {
JSONObject childrenJsonObject = new JSONObject();
String buttons = authorityService.querySurfaceAuthorityList(roleAuthorityService.queryByProerties("role", role), childrenMenuList.get(j).getId(), childrenMenuList.get(j).getButtons());
childrenJsonObject.element("id", childrenMenuList.get(j).getId());
childrenJsonObject.element("sortOrder", childrenMenuList.get(j).getSortOrder());
childrenJsonObject.element("menuCode", childrenMenuList.get(j).getMenuCode());
childrenJsonObject.element("text", childrenMenuList.get(j).getMenuName());
childrenJsonObject.element("menuConfig", childrenMenuList.get(j).getMenuConfig());
childrenJsonObject.element("buttons", buttons);
childrenJsonObject.element("expanded", childrenMenuList.get(j).getExpanded());
childrenJsonObject.element("checked", childrenMenuList.get(j).getChecked());
childrenJsonObject.element("leaf", childrenMenuList.get(j).getLeaf());
childrenJsonObject.element("url", childrenMenuList.get(j).getUrl());
childrenJsonObject.element("iconCls", childrenMenuList.get(j).getIconCls());
jsonArray.add(childrenJsonObject);
}
jsonObject.element("children", jsonArray);
resultList.add(jsonObject);
}
writeJSON(response, resultList);
}
@RequestMapping("/getAuthorizationList")
public void getAuthorizationList(HttpServletRequest request, HttpServletResponse response) throws Exception {
String roleParam = request.getParameter("role");
List<String> authorityIdList = new ArrayList<String>();
if (roleParam != null) {
List<RoleAuthority> roleAuthorityList = roleAuthorityService.queryByProerties("role", Short.valueOf(roleParam));
for (RoleAuthority roleAuthority : roleAuthorityList) {
authorityIdList.add(roleAuthority.getAuthorityId());
}
}
List<Authority> mainMenuList = authorityService.queryByProerties("parentId", null);
List resultList = new ArrayList();
for (int i = 0; i < mainMenuList.size(); i++) {
JSONObject jsonObject = new JSONObject();
jsonObject.element("id", mainMenuList.get(i).getId());
jsonObject.element("text", mainMenuList.get(i).getMenuName());
jsonObject.element("expanded", mainMenuList.get(i).getExpanded());
if (authorityIdList.contains(mainMenuList.get(i).getId().toString())) {
jsonObject.element("checked", true);
} else {
jsonObject.element("checked", false);
}
jsonObject.element("leaf", mainMenuList.get(i).getLeaf());
JSONArray jsonArray = new JSONArray();
List<Authority> childrenMenuList = authorityService.queryByProerties("parentId", mainMenuList.get(i).getId());
for (int j = 0; j < childrenMenuList.size(); j++) {
JSONObject childrenJsonObject = new JSONObject();
childrenJsonObject.element("id", childrenMenuList.get(j).getId());
childrenJsonObject.element("text", childrenMenuList.get(j).getMenuName());
childrenJsonObject.element("expanded", childrenMenuList.get(j).getExpanded());
if (authorityIdList.contains(childrenMenuList.get(j).getId().toString())) {
childrenJsonObject.element("checked", true);
} else {
childrenJsonObject.element("checked", false);
}
if (childrenMenuList.get(j).getButtons().length() == 0) {
childrenJsonObject.element("leaf", true);
} else {
childrenJsonObject.element("leaf", false);
}
JSONArray buttonJSONArray = new JSONArray();
String[] buttons = childrenMenuList.get(j).getButtons().split(",");
for (int z = 0; z < buttons.length; z++) {
if (StringUtils.isBlank(buttons[z])) {
continue;
}
JSONObject buttonChildrenJSONObject = new JSONObject();
buttonChildrenJSONObject.element("id", childrenMenuList.get(j).getId() + buttons[z]);
String buttonText = null;
if (buttons[z].equalsIgnoreCase("Add")) {
buttonText = "添加";
} else if (buttons[z].equalsIgnoreCase("Edit")) {
buttonText = "修改";
} else if (buttons[z].equalsIgnoreCase("Delete")) {
buttonText = "删除";
} else if (buttons[z].equalsIgnoreCase("View")) {
buttonText = "查看";
} else if (buttons[z].equalsIgnoreCase("Import")) {
buttonText = "导入";
} else if (buttons[z].equalsIgnoreCase("Query")) {
buttonText = "查询";
} else if (buttons[z].equalsIgnoreCase("Disarm")) {
buttonText = "解除";
} else if (buttons[z].equalsIgnoreCase("Export")) {
buttonText = "导出";
}
buttonChildrenJSONObject.element("text", buttonText);
buttonChildrenJSONObject.element("expanded", true);
if (authorityIdList.contains(childrenMenuList.get(j).getId() + buttons[z])) {
buttonChildrenJSONObject.element("checked", true);
} else {
buttonChildrenJSONObject.element("checked", false);
}
buttonChildrenJSONObject.element("leaf", true);
buttonJSONArray.add(buttonChildrenJSONObject);
}
childrenJsonObject.element("children", buttonJSONArray);
jsonArray.add(childrenJsonObject);
}
jsonObject.element("children", jsonArray);
resultList.add(jsonObject);
}
writeJSON(response, resultList);
}
@RequestMapping("/getAuthorityTreePicker")
public void getAuthorityTreePicker(HttpServletRequest request, HttpServletResponse response) throws Exception {
Short role = Short.valueOf(request.getParameter("roleId"));
List<Authority> mainMenuList = authorityService.queryByParentIdAndRole(role);
List resultList = new ArrayList();
for (int i = 0; i < mainMenuList.size(); i++) {
JSONObject jsonObject = new JSONObject();
jsonObject.element("id", mainMenuList.get(i).getId());
jsonObject.element("sortOrder", mainMenuList.get(i).getSortOrder());
jsonObject.element("menuCode", mainMenuList.get(i).getMenuCode());
jsonObject.element("text", mainMenuList.get(i).getMenuName());
jsonObject.element("menuConfig", mainMenuList.get(i).getMenuConfig());
jsonObject.element("buttons", mainMenuList.get(i).getButtons());
jsonObject.element("expanded", true);
jsonObject.element("checked", mainMenuList.get(i).getChecked());
jsonObject.element("leaf", mainMenuList.get(i).getLeaf());
jsonObject.element("url", mainMenuList.get(i).getUrl());
jsonObject.element("iconCls", mainMenuList.get(i).getIconCls());
JSONArray jsonArray = new JSONArray();
List<Authority> childrenMenuList = authorityService.queryChildrenByParentIdAndRole(mainMenuList.get(i).getId(), role);
for (int j = 0; j < childrenMenuList.size(); j++) {
JSONObject childrenJsonObject = new JSONObject();
String buttons = authorityService.querySurfaceAuthorityList(roleAuthorityService.queryByProerties("role", role), childrenMenuList.get(j).getId(), childrenMenuList.get(j).getButtons());
childrenJsonObject.element("id", childrenMenuList.get(j).getId());
childrenJsonObject.element("sortOrder", childrenMenuList.get(j).getSortOrder());
childrenJsonObject.element("menuCode", childrenMenuList.get(j).getMenuCode());
childrenJsonObject.element("text", childrenMenuList.get(j).getMenuName());
childrenJsonObject.element("menuConfig", childrenMenuList.get(j).getMenuConfig());
childrenJsonObject.element("buttons", buttons);
childrenJsonObject.element("expanded", true);
childrenJsonObject.element("checked", childrenMenuList.get(j).getChecked());
childrenJsonObject.element("leaf", childrenMenuList.get(j).getLeaf());
childrenJsonObject.element("url", childrenMenuList.get(j).getUrl());
childrenJsonObject.element("iconCls", childrenMenuList.get(j).getIconCls());
jsonArray.add(childrenJsonObject);
}
jsonObject.element("children", jsonArray);
resultList.add(jsonObject);
}
writeJSON(response, resultList);
}
@Override
@RequestMapping(value = "/saveAuthority", method = { RequestMethod.POST, RequestMethod.GET })
public void doSave(Authority entity, HttpServletRequest request, HttpServletResponse response) throws IOException {
ExtJSBaseParameter parameter = ((ExtJSBaseParameter) entity);
Authority checkMenuCode = authorityService.getByProerties("menuCode", entity.getMenuCode());
if (null != checkMenuCode && null == entity.getId()) {
parameter.setSuccess(false);
} else {
if (entity.getChecked() == false) {
entity.setChecked(null);
}
if (CMD_EDIT.equals(parameter.getCmd())) {
authorityService.update(entity);
} else if (CMD_NEW.equals(parameter.getCmd())) {
authorityService.persist(entity);
}
parameter.setCmd(CMD_EDIT);
parameter.setSuccess(true);
}
writeJSON(response, parameter);
}
@RequestMapping(value = "/getAuthorityPagination", method = { RequestMethod.POST, RequestMethod.GET })
public void getAuthorityPagination(HttpServletRequest request, HttpServletResponse response) throws Exception {
Integer firstResult = Integer.valueOf(request.getParameter("start"));
Integer maxResults = Integer.valueOf(request.getParameter("limit"));
String sortedObject = null;
String sortedValue = null;
List<LinkedHashMap<String, Object>> sortedList = mapper.readValue(request.getParameter("sort"), List.class);
for (int i = 0; i < sortedList.size(); i++) {
Map<String, Object> map = sortedList.get(i);
sortedObject = (String) map.get("property");
sortedValue = (String) map.get("direction");
}
Authority authority = new Authority();
authority.setFirstResult(firstResult);
authority.setMaxResults(maxResults);
Map<String, String> sortedCondition = new HashMap<String, String>();
sortedCondition.put(sortedObject, sortedValue);
authority.setSortedConditions(sortedCondition);
QueryResult<Authority> queryResult = authorityService.doPaginationQuery(authority);
ListView<Authority> authorityListView = new ListView<Authority>();
authorityListView.setData(queryResult.getResultList());
authorityListView.setTotalRecord(queryResult.getTotalCount());
writeJSON(response, authorityListView);
}
@RequestMapping("/deleteAuthority")
public void deleteAuthority(HttpServletRequest request, HttpServletResponse response, @RequestParam("ids") Long[] ids) throws IOException {
boolean flag = authorityService.deleteByPK(ids);
if (flag) {
writeJSON(response, "{success:true}");
} else {
writeJSON(response, "{success:false}");
}
}
}
最近下载更多
AAA孚盟软件售前刘美鲸 LV3
2021年10月20日
love8309287 LV4
2021年5月9日
有法说可能 LV4
2020年6月5日
ssy552 LV10
2020年5月7日
labelA LV5
2020年2月12日
garin_lau LV9
2019年7月29日
huasir2018 LV14
2019年7月22日
yyyyyyyyyyyyyyyyyyy LV16
2019年7月4日
xk9587 LV16
2019年4月30日
17614099410 LV2
2019年4月26日
最近浏览更多
lyq6666666 LV5
2023年10月25日
45436683 LV8
2023年9月20日
what_the_fo LV5
2023年4月6日
xxx520520 LV6
2023年1月31日
微信网友_6123092784238592
2022年12月2日
暂无贡献等级
adnawda
2022年11月27日
暂无贡献等级
cdjiangyang
2022年8月23日
暂无贡献等级
zhaoyangwfd LV17
2022年6月24日
无名氏111 LV33
2022年1月30日
不会写代码的小姚 LV3
2021年11月20日

