/** * Copyright © 2015-2020 JeePlus All rights reserved. */ package com.jeeplus.modules.sys.web; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.jeeplus.common.config.Global; import com.jeeplus.common.utils.StringUtils; import com.jeeplus.common.web.BaseController; import com.jeeplus.modules.sys.entity.Area; import com.jeeplus.modules.sys.service.AreaService; import com.jeeplus.modules.sys.utils.UserUtils; /** * 区域Controller * @author jeeplus * @version 2013-5-15 */ @Controller @RequestMapping(value = "${adminPath}/sys/area") public class AreaController extends BaseController { @Autowired private AreaService areaService; @ModelAttribute("area") public Area get(@RequestParam(required=false) String id) { if (StringUtils.isNotBlank(id)){ return areaService.get(id); }else{ return new Area(); } } @RequiresPermissions("sys:area:list") @RequestMapping(value = {"list", ""}) public String list(Area area, Model model) { model.addAttribute("list", areaService.findAll()); return "modules/sys/areaList"; } @RequiresPermissions(value={"sys:area:view","sys:area:add","sys:area:edit"},logical=Logical.OR) @RequestMapping(value = "form") public String form(Area area, Model model) { if (area.getParent()==null||area.getParent().getId()==null){ area.setParent(UserUtils.getUser().getOffice().getArea()); }else{ area.setParent(areaService.get(area.getParent().getId())); } // // 自动获取排序号 // if (StringUtils.isBlank(area.getId())){ // int size = 0; // List list = areaService.findAll(); // for (int i=0; i 0 ? size : 1), 4, "0")); // } model.addAttribute("area", area); return "modules/sys/areaForm"; } @RequiresPermissions(value={"sys:area:add","sys:area:edit"},logical=Logical.OR) @RequestMapping(value = "save") public String save(Area area, Model model, RedirectAttributes redirectAttributes) { if(Global.isDemoMode()){ addMessage(redirectAttributes, "演示模式,不允许操作!"); return "redirect:" + adminPath + "/sys/area"; } if (!beanValidator(model, area)){ return form(area, model); } areaService.save(area); addMessage(redirectAttributes, "保存区域'" + area.getName() + "'成功"); return "redirect:" + adminPath + "/sys/area/"; } @RequiresPermissions("sys:area:del") @RequestMapping(value = "delete") public String delete(Area area, RedirectAttributes redirectAttributes) { if(Global.isDemoMode()){ addMessage(redirectAttributes, "演示模式,不允许操作!"); return "redirect:" + adminPath + "/sys/area"; } // if (Area.isRoot(id)){ // addMessage(redirectAttributes, "删除区域失败, 不允许删除顶级区域或编号为空"); // }else{ areaService.delete(area); addMessage(redirectAttributes, "删除区域成功"); // } return "redirect:" + adminPath + "/sys/area/"; } @RequiresPermissions("user") @ResponseBody @RequestMapping(value = "treeData") public List> treeData(@RequestParam(required=false) String extId, HttpServletResponse response) { List> mapList = Lists.newArrayList(); List list = areaService.findAll(); for (int i=0; i map = Maps.newHashMap(); map.put("id", e.getId()); map.put("pId", e.getParentId()); map.put("name", e.getName()); mapList.add(map); } } return mapList; } }