204 lines
6.5 KiB
Java
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";
|
|
}
|
|
|
|
}
|