| package com.matrix.system.common.actions; | 
|   | 
| import com.matrix.core.pojo.AjaxResult; | 
| import com.matrix.core.pojo.PaginationVO; | 
| import com.matrix.core.tools.WebUtil; | 
| import com.matrix.core.web.BaseAction; | 
| import com.matrix.system.common.bean.SysFunction; | 
| import com.matrix.system.common.constance.AppConstance; | 
| import com.matrix.system.common.constance.AppVocabularyCode; | 
| import com.matrix.system.common.service.SysButtonService; | 
| import com.matrix.system.common.service.SysFunctionService; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Controller; | 
| import org.springframework.web.bind.annotation.PostMapping; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.ResponseBody; | 
| import org.springframework.web.servlet.ModelAndView; | 
|   | 
| import java.util.Arrays; | 
|   | 
| /** | 
|  *  系统功能管理 | 
|  * @author:姜友瑶 | 
|  * @date 2016年11月16日 | 
|  */ | 
| @Controller | 
| @RequestMapping(value = "admin/sysFunction") | 
| public class SysFunctionAction extends BaseAction { | 
|   | 
|     @Autowired | 
|     private SysFunctionService sysFunctionService; | 
|   | 
|     @Autowired | 
|     private SysButtonService sysBtnService; | 
|   | 
|     public static final String BEV = "SYSFUNCTION_BEV"; | 
|   | 
|     /** | 
|      * 列表显示 | 
|      *  | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date 2016年12月10日 | 
|      * @param sysFunction | 
|      * @param pageVo | 
|      * @return | 
|      */ | 
|     @RequestMapping(value = "/showList") | 
|     public @ResponseBody AjaxResult showList(SysFunction sysFunction, PaginationVO pageVo) { | 
|         return showList(sysFunctionService, sysFunction, pageVo); | 
|     } | 
|   | 
|     /** | 
|      * 显示所有功能 | 
|      *  | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      * @return | 
|      */ | 
|     @RequestMapping(value = "/all") | 
|     public @ResponseBody AjaxResult all() { | 
|         return new AjaxResult(AjaxResult.STATUS_SUCCESS, sysFunctionService.findByModel(null)); | 
|     } | 
|   | 
|     /** | 
|      *  | 
|      *  修改查询function,在session保存旧值 | 
|      * @author:姜友瑶 | 
|      * @param sysFunction | 
|      * @param pageVo | 
|      * @return 返回类型 AjaxResult | 
|      * @date 2016年11月16日 | 
|      */ | 
|     @RequestMapping(value = "/findById") | 
|     public @ResponseBody AjaxResult findById(SysFunction sysFunction) { | 
|         sysFunction = sysFunctionService.findById(String.valueOf(sysFunction.getFnId())); | 
|         WebUtil.setSessionAttribute(BEV, sysFunction); | 
|         return new AjaxResult(AjaxResult.STATUS_SUCCESS, Arrays.asList(sysFunction)); | 
|     } | 
|   | 
|     /** | 
|      * 新增或者修改页面 | 
|      *  | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      * @param sysFunction | 
|      * @return | 
|      */ | 
|     @RequestMapping(value = "/addFunction") | 
|     public @ResponseBody AjaxResult addFunction(SysFunction sysFunction) { | 
|         return add(sysFunctionService, sysFunction, AppVocabularyCode.FUNCTION); | 
|     } | 
|   | 
|     /** | 
|      * 更新功能 | 
|      *  | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      * @param sysFunction | 
|      * @return | 
|      */ | 
|     @PostMapping(value = "/modifyFunction") | 
|     public @ResponseBody AjaxResult modifyFunction(SysFunction sysFunction) { | 
|         AjaxResult result = modify(sysFunctionService, WebUtil.getSessionAttribute(BEV), sysFunction, | 
|                 AppVocabularyCode.FUNCTION); | 
|         // 因为页面是一直打开的需要存新的值 | 
|         WebUtil.setSessionAttribute(BEV, sysFunction); | 
|         return result; | 
|     } | 
|   | 
|     /** | 
|      * 启用功能 | 
|      *  | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      * @param fnId | 
|      * @return | 
|      */ | 
|     @RequestMapping(value = "/enableFunction") | 
|     public @ResponseBody AjaxResult enableFunction(Long fnId) { | 
|         sysFunctionService.setIsDisable(fnId, AppConstance.IS_N); | 
|         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "功能启用成功"); | 
|     } | 
|   | 
|     /** | 
|      * 禁用功能 | 
|      *  | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      * @param fnId | 
|      * @return | 
|      */ | 
|     @RequestMapping(value = "/disEnableFunction") | 
|     public @ResponseBody AjaxResult disEnableFunction(Long fnId) { | 
|         sysFunctionService.setIsDisable(fnId, AppConstance.IS_Y); | 
|         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "功能禁用成功"); | 
|     } | 
|   | 
|     /** | 
|      * 进入修改界面 | 
|      *  | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      * @param id | 
|      * @return | 
|      */ | 
|     @RequestMapping(value = "/editForm") | 
|     public ModelAndView editForm(String id) { | 
|         ModelAndView mv =new ModelAndView("developer/sysFunction-form"); | 
|         SysFunction sysFunction  = new SysFunction(); | 
|         mv.addObject("obj", sysFunction); | 
|         if (id != null) { | 
|             sysFunction = sysFunctionService.findById(id); | 
|             // 查询出所有的按钮 | 
|             mv.addObject("obj", sysFunction); | 
|             //WebUtil.setRequestAttribute("obj", sysFunction); | 
|             WebUtil.setSessionAttribute(BEV, sysFunction); | 
|         } | 
|         //WebUtil.setRequestAttribute("btnList", sysBtnService.findByModel(null)); | 
|         mv.addObject("btnList", sysBtnService.findByModel(null)); | 
|         return mv; | 
|     } | 
|   | 
|     /** | 
|      * 删除功能 | 
|      *  | 
|      * @author JIANGYOUYAO | 
|      * @email 935090232@qq.com | 
|      * @date Dec 10, 2017 | 
|      * @param fnId | 
|      * @return | 
|      */ | 
|     @RequestMapping(value = "/del") | 
|     public @ResponseBody AjaxResult del(String fnId) { | 
|         return remove(sysFunctionService, fnId); | 
|     } | 
|   | 
| } |