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/sys/DictController.java
2018-12-13 14:01:06 +08:00

118 lines
3.7 KiB
Java

package com.nis.web.controller.sys;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.authz.annotation.RequiresPermissions;
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.nis.domain.Page;
import com.nis.domain.SysDataDictionaryName;
import com.nis.util.AsnCacheUtils;
import com.nis.util.CacheUtils;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
@Controller
@RequestMapping(value = "${adminPath}/sys/dict")
public class DictController extends BaseController {
@RequiresPermissions("sys:dict:view")
@RequestMapping(value = {"list", ""})
public String list(SysDataDictionaryName sysDictName,HttpServletRequest request, HttpServletResponse response, Model model) {
if(sysDictName ==null){
sysDictName=new SysDataDictionaryName();
}
Page<SysDataDictionaryName> page = dictService.findDictList(new Page<SysDataDictionaryName>(request, response), sysDictName);
model.addAttribute("page", page);
model.addAttribute("sysDataDictionaryName",sysDictName);
return "/sys/dictList";
}
/**
* 进入字典添加或修改页面
* @param sysDictName
* @param model
* @return
*/
@RequestMapping(value={"form"})
public String form(@RequestParam(required=false) Integer id, Model model) {
SysDataDictionaryName sysDictName=null;
if (!StringUtil.isEmpty(id)){
sysDictName= dictService.getDictByIdWithRelation(id);
}else{
sysDictName=new SysDataDictionaryName();
}
model.addAttribute("sysDataDictionaryName",sysDictName);
return "/sys/dictForm";
}
@RequiresPermissions("sys:dict:edit")
@RequestMapping(value = "saveOrUpdate")
public String saveOrUpdate(SysDataDictionaryName sysDictName,Model model, RedirectAttributes redirectAttributes) {
try {
dictService.saveOrUpdate(sysDictName);
//删除字典缓存
CacheUtils.remove(Constants.CACHE_DICT_MAP);
addMessage(redirectAttributes,"success", "save_success");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes,"error", "save_failed");
}
return "redirect:" + adminPath + "/sys/dict/list";
}
@RequiresPermissions("sys:dict:edit")
@RequestMapping(value = "delete")
public String delete(Integer id,Model model, RedirectAttributes redirectAttributes) {
try {
dictService.deleteDict(id);
//删除字典缓存
CacheUtils.remove(Constants.CACHE_DICT_MAP);
addMessage(redirectAttributes,"success", "delete_success");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes,"error", "delete_failed");
}
return "redirect:" + adminPath + "/sys/dict/list";
}
@ResponseBody
@RequestMapping(value = "loadDataDict")
public SysDataDictionaryName loadDataDict(@RequestParam(required=false) Integer id,HttpServletRequest request, HttpServletResponse response, Model model){
return dictService.getDictByIdWithRelation(id);
}
@ResponseBody
@RequestMapping(value = {"refreshCache"})
public String refreshCache(String cacheName){
if(cacheName.equals(AsnCacheUtils.getCacheName())) {
AsnCacheUtils.clearCache();
}else {
//删除字典缓存
CacheUtils.remove(cacheName);
}
return "success";
}
}