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
2019-01-09 11:10:28 +08:00

204 lines
6.5 KiB
Java

package com.nis.web.controller.sys;
import java.util.List;
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.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.SysDataDictionaryItem;
import com.nis.domain.SysDataDictionaryName;
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";
}
@RequestMapping(value = {"/topicAndWebsiteList"})
public String topicList(SysDataDictionaryItem sysDictItem,HttpServletRequest request, HttpServletResponse response, Model model) {
if(sysDictItem ==null){
sysDictItem=new SysDataDictionaryItem();
}
Page<SysDataDictionaryItem> page = dictService.findDictItemList(new Page<SysDataDictionaryItem>(request, response), sysDictItem);
model.addAttribute("page", page);
model.addAttribute("sysDataDictionaryName",sysDictItem);
return "/basics/dictList";
}
/**
* 进入字典添加或修改页面
* @param sysDictName
* @param model
* @return
*/
@RequestMapping(value={"dictItemForm"})
public String dictItemForm(SysDataDictionaryItem item, Model model) {
if (item != null && !StringUtil.isEmpty(item.getId())){
List list=dictService.findDictItemList(item);
if(!StringUtil.isEmpty(list)){
item=(SysDataDictionaryItem) list.get(0);
}
}
model.addAttribute("sysDataDictionaryItem",item);
return "/basics/dictForm";
}
/**
* 进入字典添加或修改页面
* @param sysDictName
* @param model
* @return
*/
@ResponseBody
@RequestMapping(value={"checkItemCode"})
public String checkItemCode(Long id, String itemCode, int dictionaryId) {
SysDataDictionaryItem item=new SysDataDictionaryItem();
item.setDictionaryId(dictionaryId);
item.setId(id);
item.setItemCode(itemCode);
if (item != null ){
List list=dictService.findDictItemList(item);
if(StringUtil.isEmpty(item.getId()) && !StringUtil.isEmpty(list) && list.size()>=1){
return "false";
}
if(!StringUtil.isEmpty(item.getId()) && !StringUtil.isEmpty(list) && list.size()>=2){
return "false";
}
}
return "true";
}
/**
* 进入字典添加或修改页面
* @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";
}
@RequestMapping(value = "saveOrUpdateItem")
public String saveOrUpdateItem(SysDataDictionaryItem sysDictItem,Model model, RedirectAttributes redirectAttributes) {
try {
dictService.saveOrUpdateItem(sysDictItem);
//删除字典缓存
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/topicAndWebsiteList?dictionaryId="+sysDictItem.getDictionaryId();
}
@RequestMapping(value = "deleteItem")
public String delete(SysDataDictionaryItem item,Model model, RedirectAttributes redirectAttributes) {
try {
dictService.deleteDictItem(item);
//删除字典缓存
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/topicAndWebsiteList?dictionaryId="+item.getDictionaryId();
}
@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";
}
}