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 subDicts = dictService.selectList(new EntityWrapper().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> 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; } }