package com.pj.project.sys_dict; import cn.dev33.satoken.annotation.SaCheckPermission; import com.pj.current.satoken.StpUserUtil; import com.pj.project4sp.SP; import com.pj.utils.sg.AjaxError; import com.pj.utils.sg.AjaxJson; import com.pj.utils.so.SoMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * Controller: sys_dict -- 字典表 * * @author qzyReal */ @RestController @RequestMapping("/SysDict/") public class SysDictController { /** * 底层 Service 对象 */ @Autowired SysDictService sysDictService; /** * 增 */ @RequestMapping("add") @SaCheckPermission(SysDict.PERMISSION_CODE) @Transactional(rollbackFor = Exception.class) public AjaxJson add(SysDict s) { sysDictService.add(s); return AjaxJson.getSuccessData(s); } /** * 删 */ @RequestMapping("delete") @SaCheckPermission(SysDict.PERMISSION_CODE) public AjaxJson delete(Long id) { int line = sysDictService.delete(id); return AjaxJson.getByLine(line); } /** * 删 - 根据id列表 */ @RequestMapping("deleteByIds") @SaCheckPermission(SysDict.PERMISSION_CODE) public AjaxJson deleteByIds() { List ids = SoMap.getRequestSoMap().getListByComma("ids", long.class); int line = SP.publicMapper.deleteByIds(SysDict.TABLE_NAME, ids); return AjaxJson.getByLine(line); } /** * 改 */ @RequestMapping("update") @SaCheckPermission(SysDict.PERMISSION_CODE) public AjaxJson update(SysDict s) { int line = sysDictService.update(s); return AjaxJson.getByLine(line); } /** * 查 - 根据id */ @RequestMapping("getById") public AjaxJson getById(Long id) { SysDict s = sysDictService.getById(id); return AjaxJson.getSuccessData(s); } /** * 查集合 - 根据条件(参数为空时代表忽略指定条件) */ @RequestMapping("getList") public AjaxJson getList() { SoMap so = SoMap.getRequestSoMap(); List list = sysDictService.getList(so.startPage()); return AjaxJson.getPageData(so.getDataCount(), list); } // ------------------------- 前端接口 ------------------------- /** * 改 - 不传不改 [G] */ @RequestMapping("updateByNotNull") public AjaxJson updateByNotNull(Long id) { AjaxError.throwBy(true, "如需正常调用此接口,请删除此行代码"); // 鉴别身份,是否为数据创建者 long userId = SP.publicMapper.getColumnByIdToLong(SysDict.TABLE_NAME, "user_id", id); AjaxError.throwBy(userId != StpUserUtil.getLoginIdAsLong(), "此数据您无权限修改"); // 开始修改 (请只保留需要修改的字段) SoMap so = SoMap.getRequestSoMap(); so.clearNotIn("id", "name", "code", "desc").clearNull().humpToLineCase(); int line = SP.publicMapper.updateBySoMapById(SysDict.TABLE_NAME, so, id); return AjaxJson.getByLine(line); } }