# +====================================================================== # | 模块: 字典项请求处理器层 # | 说明: 承接字典项相关的 HTTP 请求,校验权限/演示模式并记录操作日志后, # | 转交字典项服务层处理(分页、详情、增删改、批量删除等) # +====================================================================== """字典项请求处理器。""" # ---------------------------------------------------------------------- # 导入依赖 # 涵盖:权限/演示模式装饰器、操作日志装饰器、统一响应对象、 # 请求处理基类、字典项服务单例 # ---------------------------------------------------------------------- from common.middleware.access_decorators import check_demo, permission_required from common.middleware.operation_log import operation_log from core import response as R from core.base_handler import BaseHandler from modules.dictionary.dict_item.service import dict_item_service # ====================================================================== # 查询字典项分页数据 # ====================================================================== class DictItemPageHandler(BaseHandler): """查询字典项分页数据。""" @permission_required("sys:dict:list") async def get(self): """GET 请求:返回字典项分页列表。""" return await dict_item_service.get_page(self) # ====================================================================== # 查询字典项详情 # ====================================================================== class DictItemDetailHandler(BaseHandler): """查询字典项详情。""" @permission_required("sys:dict:detail") async def get(self, id): """GET 请求:按 ID 返回字典项详情。 :param id: 字典项 ID(路径参数) """ return R.ok(self, data=dict_item_service.get_detail(id)) # ====================================================================== # 添加字典项 # ====================================================================== class DictItemAddHandler(BaseHandler): """添加字典项。""" @permission_required("sys:dict:add") @operation_log("字典管理", "添加字典项") @check_demo async def post(self): """POST 请求:新增字典项。""" return await dict_item_service.add(self) # ====================================================================== # 更新字典项 # ====================================================================== class DictItemUpdateHandler(BaseHandler): """更新字典项。""" @permission_required("sys:dict:update") @operation_log("字典管理", "更新字典项") @check_demo async def put(self): """PUT 请求:更新字典项信息。""" return await dict_item_service.update(self) # ====================================================================== # 删除字典项 # ====================================================================== class DictItemDeleteHandler(BaseHandler): """删除字典项。""" @permission_required("sys:dict:delete") @operation_log("字典管理", "删除字典项") @check_demo async def delete(self, id): """DELETE 请求:按 ID 删除字典项(软删除)。 :param id: 字典项 ID(路径参数) """ return await dict_item_service.delete(self, id) # ====================================================================== # 批量删除字典项 # ====================================================================== class DictItemBatchDeleteHandler(BaseHandler): """批量删除字典项。""" @permission_required("sys:dict:delete") @operation_log("字典项管理", "批量删除") @check_demo async def post(self): """POST 请求:批量删除字典项(软删除)。""" return await dict_item_service.batch_delete(self)