This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/controller/SystemController.java
2019-05-06 16:28:37 +08:00

220 lines
6.6 KiB
Java

package com.nis.web.controller;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.nis.domain.SysMenu;
import com.nis.domain.configuration.HelpInfo;
import com.nis.util.LogUtils;
import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.security.UserUtils;
import com.nis.web.service.configuration.HelpInfoService;
@Controller
@RequestMapping("${adminPath}/sys/")
public class SystemController extends BaseController{
@Autowired
private HelpInfoService helpService;
@RequestMapping("index")
public String index(HttpServletRequest request, HttpServletResponse response,ModelMap model){
return "/sys/sysIndex";
}
@RequestMapping("help")
public String help(HttpServletRequest request, HttpServletResponse response,ModelMap model){
List<SysMenu> menuList = UserUtils.getMenuTreeList();
List<SysMenu> newList = new ArrayList();
try {
for(SysMenu menu:menuList){
if(menu.getIsTop()==1 && !StringUtil.isEmpty(menu.getChildren())){
boolean topShow = false;
for(SysMenu second:menu.getChildren()){
boolean secondShow = false;
if(second.getIsShow()==1){
if(!StringUtil.isEmpty(second.getMenuBg())){
secondShow = true;
}
if(!StringUtil.isEmpty(second.getChildren())){
for(SysMenu third:second.getChildren()){
boolean thirdShow = false;
if(third.getIsShow()==1){
if(!StringUtil.isEmpty(third.getMenuBg())){
thirdShow = true;
secondShow = true;
}
if(!StringUtil.isEmpty(third.getChildren())){
for(SysMenu fourth:third.getChildren()){
if(!StringUtil.isEmpty(fourth.getMenuBg())&&fourth.getIsShow()==1){
newList.add(fourth);
thirdShow = true;
secondShow = true;
}
}
}
}
if(thirdShow){
newList.add(third);
}
}
}
if(secondShow){
newList.add(second);
topShow = true;
}
}
}
if(topShow){
newList.add(menu);
}
}
/*if(menu.getChildren()!=null && menu.getChildren().size()>0 && menu.getIsShow()==1){
newList.add(menu);
}else if(menu.getMenuBg()!=null && !"".equals(menu.getMenuBg())){
newList.add(menu);
}else if(menu.getId()==1){
newList.add(menu);
}*/
/*if((menu.getParentIds().startsWith("0,1,86,")
|| menu.getId()==86
||menu.getId()==0
||menu.getId()==1)
&& menu.getIsShow()==1
){
System.out.println(menu.getParentIds());
newList.add(menu);
}*/
//将帮助文档缓存到redis
helpService.cacheAllHelpInfo();
}
} catch (Exception e) {
logger.error("help error",e);
LogUtils.saveLog(request, null, e, null);
}
logger.info("menuSize:"+newList.size());
model.addAttribute("menuList",newList);
return "/help";
}
/**
* @param request
* @param response
* @param model
* @param editedHelpInfo 修改之后的帮助文档内容
* @param helpHrefVal 文档的路径
* @return
*/
@RequestMapping("saveHelp")
@ResponseBody
public boolean saveHelp(HttpServletRequest request, HttpServletResponse response,ModelMap model,@RequestParam(required=true,value="editedHelpInfo")String editedHelpInfo,@RequestParam(required=true,value="helpHrefVal")String helpHrefVal){
if(StringUtils.strIsBlank(helpHrefVal)){
return false;
}
try {
StringBuffer helpInfoText=new StringBuffer(); //修改之后的内容
helpInfoText.append(URLDecoder.decode(editedHelpInfo,"utf-8"));
String helpHref=URLDecoder.decode(helpHrefVal,"utf-8");
String[] split = StringUtils.split(helpHref, "/");
if(split!=null&&split.length>0){
HelpInfo helpInfo = new HelpInfo();
helpInfo.setFileComment(helpInfoText.toString());
helpInfo.setFileName(split[split.length-1]);
helpService.saveHelpInfo(helpInfo);
return true;
}
} catch (Exception e) {
logger.error("save helpInfo error",e);
LogUtils.saveLog(request, null, e, null);
}
return false;
}
/**
* 查看帮助文档内容
* @param request
* @param response
* @param model
* @param helpHref
* @return
*/
@RequestMapping("viewHelp")
@ResponseBody
public HelpInfo viewHelp(HttpServletRequest request, HttpServletResponse response,ModelMap model,@RequestParam(required=true,value="helpHref")String helpHref){
if(StringUtils.strIsBlank(helpHref)){
return null;
}
try {
helpHref=URLDecoder.decode(helpHref,"utf-8");
String[] split = StringUtils.split(helpHref, "/");
if(split!=null&&split.length>0){
HelpInfo helpInfo = helpService.findHelpCommentByName(split[split.length-1]);
return helpInfo;
}
} catch (Exception e) {
logger.error("view helpInfo error",e);
LogUtils.saveLog(request, null, e, null);
}
return null;
}
/**
* 查看帮助文档备份内容
* @param request
* @param response
* @param model
* @param helpHref
* @return
*/
@RequestMapping("viewBakHelp")
@ResponseBody
public HelpInfo viewBakHelp(HttpServletRequest request, HttpServletResponse response,ModelMap model,@RequestParam(required=true,value="helpHref")String helpHref){
if(StringUtils.strIsBlank(helpHref)){
return null;
}
try {
helpHref=URLDecoder.decode(helpHref,"utf-8");
String[] split = StringUtils.split(helpHref, "/");
if(split!=null&&split.length>0){
HelpInfo helpInfo = helpService.findHelpBakCommentByName(split[split.length-1]);
return helpInfo;
}
} catch (Exception e) {
logger.error("view helpBakInfo error",e);
LogUtils.saveLog(request, null, e, null);
}
return null;
}
@RequestMapping("clearPolicies")
@ResponseBody
public boolean clearPolicies(HttpServletRequest request, HttpServletResponse response) {
try {
systemService.clearPolicies();
return true;
} catch (Exception e) {
logger.error("Clear Policies Error",e);
LogUtils.saveLog(request, null, e, null);
}
return false;
}
}