package com.stylefeng.guns.modular.system.controller;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.core.base.controller.BaseController;
|
import com.stylefeng.guns.core.common.annotion.BussinessLog;
|
import com.stylefeng.guns.core.common.annotion.Permission;
|
import com.stylefeng.guns.core.common.constant.Const;
|
import com.stylefeng.guns.core.common.constant.dictmap.DictMap;
|
import com.stylefeng.guns.core.common.constant.factory.ConstantFactory;
|
import com.stylefeng.guns.core.common.exception.BizExceptionEnum;
|
import com.stylefeng.guns.core.exception.GunsException;
|
import com.stylefeng.guns.core.log.LogObjectHolder;
|
import com.stylefeng.guns.core.util.ToolUtil;
|
import com.stylefeng.guns.modular.system.model.Dict;
|
import com.stylefeng.guns.modular.system.service.IDictService;
|
import com.stylefeng.guns.modular.system.warpper.DictWarpper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 字典控制器
|
*
|
* @author fengshuonan
|
* @Date 2017年4月26日 12:55:31
|
*/
|
@Controller
|
@RequestMapping("/dict")
|
public class DictController extends BaseController {
|
|
private String PREFIX = "/system/dict/";
|
|
@Autowired
|
private IDictService dictService;
|
|
/**
|
* 跳转到字典管理首页
|
*/
|
@RequestMapping("")
|
public String index() {
|
return PREFIX + "dict.html";
|
}
|
|
/**
|
* 跳转到添加字典
|
*/
|
@RequestMapping("/dict_add")
|
public String deptAdd() {
|
return PREFIX + "dict_add.html";
|
}
|
|
/**
|
* 跳转到修改字典
|
*/
|
@Permission(Const.ADMIN_NAME)
|
@RequestMapping("/dict_edit/{dictId}")
|
public String deptUpdate(@PathVariable Integer dictId, Model model) {
|
Dict dict = dictService.selectById(dictId);
|
model.addAttribute("dict", dict);
|
List<Dict> subDicts = dictService.selectList(new EntityWrapper<Dict>().eq("pid", dictId));
|
model.addAttribute("subDicts", subDicts);
|
LogObjectHolder.me().set(dict);
|
return PREFIX + "dict_edit.html";
|
}
|
|
/**
|
* 新增字典
|
*
|
* @param dictValues 格式例如 "1:启用;2:禁用;3:冻结"
|
*/
|
@BussinessLog(value = "添加字典记录", key = "dictName,dictValues", dict = DictMap.class)
|
@RequestMapping(value = "/add")
|
@Permission(Const.ADMIN_NAME)
|
@ResponseBody
|
public Object add(String dictCode,String dictTips,String dictName, String dictValues) {
|
if (ToolUtil.isOneEmpty(dictCode,dictName, dictValues)) {
|
throw new GunsException(BizExceptionEnum.REQUEST_NULL);
|
}
|
this.dictService.addDict(dictCode,dictName,dictTips,dictValues);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 获取所有字典列表
|
*/
|
@RequestMapping(value = "/list")
|
@Permission(Const.ADMIN_NAME)
|
@ResponseBody
|
public Object list(String condition) {
|
List<Map<String, Object>> list = this.dictService.list(condition);
|
return super.warpObject(new DictWarpper(list));
|
}
|
|
/**
|
* 字典详情
|
*/
|
@RequestMapping(value = "/detail/{dictId}")
|
@Permission(Const.ADMIN_NAME)
|
@ResponseBody
|
public Object detail(@PathVariable("dictId") Integer dictId) {
|
return dictService.selectById(dictId);
|
}
|
|
/**
|
* 修改字典
|
*/
|
@BussinessLog(value = "修改字典", key = "dictName,dictValues", dict = DictMap.class)
|
@RequestMapping(value = "/update")
|
@Permission(Const.ADMIN_NAME)
|
@ResponseBody
|
public Object update(Integer dictId,String dictCode,String dictName, String dictTips,String dictValues) {
|
if (ToolUtil.isOneEmpty(dictId, dictCode, dictName, dictValues)) {
|
throw new GunsException(BizExceptionEnum.REQUEST_NULL);
|
}
|
dictService.editDict(dictId, dictCode,dictName, dictTips,dictValues);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除字典记录
|
*/
|
@BussinessLog(value = "删除字典记录", key = "dictId", dict = DictMap.class)
|
@RequestMapping(value = "/delete")
|
@Permission(Const.ADMIN_NAME)
|
@ResponseBody
|
public Object delete(@RequestParam Integer dictId) {
|
|
//缓存被删除的名称
|
LogObjectHolder.me().set(ConstantFactory.me().getDictName(dictId));
|
|
this.dictService.delteDict(dictId);
|
return SUCCESS_TIP;
|
}
|
|
}
|