# -*- coding: utf-8 -*- # @Author : YY from typing import List from typing_extensions import Annotated from pydantic import BeforeValidator from ruoyi_common.constant import UserConstants from ruoyi_common.base.model import AjaxResponse, TableResponse from ruoyi_common.base.transformer import ids_to_list # from ruoyi_common.domain.entity import SysStuffInfoConf from ruoyi_common.domain.entity import SysStuffInfoConf from ruoyi_common.domain.enum import BusinessType from ruoyi_common.descriptor.serializer import JsonSerializer from ruoyi_common.descriptor.validator import BodyValidator, QueryValidator,PathValidator from ruoyi_common.utils import security_util as SecurityUtil from ruoyi_system.service.module_conf.stuff_info_conf import SysModuleStuffinfoConfService from ruoyi_framework.descriptor.log import Log from ruoyi_framework.descriptor.permission import HasPerm, PreAuthorize from ... import reg @reg.api.route("/system/moduleConf/stuffInfoConf/list", methods=["GET"]) @QueryValidator(is_page=True) # @PreAuthorize(HasPerm("moduleConf:stuffInfoConf:list")) @JsonSerializer() def system_stuffinfo_conf_list(dto:SysStuffInfoConf): ''' 获取员工配置列表 ''' rows = SysModuleStuffinfoConfService.select_stuffinfo_conf_list(dto) table_response = TableResponse(rows=rows) return table_response @reg.api.route("/system/moduleConf/stuffInfoConf/", methods=["GET"]) @PathValidator() @PreAuthorize(HasPerm("moduleConf:stuffInfoConf:query")) @JsonSerializer() def module_stuffinfo_conf(id:int): ''' 获取员工配置详情 ''' # 注意:如果需要数据权限控制,需要实现 check_stuffinfo_conf_data_scope 方法 # SysModuleStuffinfoConfService.check_stuffinfo_conf_data_scope(id) stuffinfoConf = SysModuleStuffinfoConfService.select_stuffinfo_conf_by_id(id) ajax_response = AjaxResponse.from_success(data=stuffinfoConf) return ajax_response @reg.api.route("/system/moduleConf/stuffInfoConf", methods=["POST"]) @BodyValidator() @PreAuthorize(HasPerm("moduleConf:stuffInfoConf:add")) @Log(title="员工配置管理",business_type=BusinessType.INSERT) @JsonSerializer() def system_stuffinfo_conf_create(dto:SysStuffInfoConf): ''' 新增员工配置 ''' # if UserConstants.NOT_UNIQUE == SysModuleStuffinfoConfService.check_stuffinfo_conf_name_unique(dto): # ajax_response = AjaxResponse.from_error("员工配置名称已存在") # return ajax_response # 注意:SysStuffInfoConf 不继承 AuditEntity,没有 create_by 等字段,所以不需要调用 create_by_user SysModuleStuffinfoConfService.insert_conf(dto) ajax_response = AjaxResponse.from_success() return ajax_response @reg.api.route("/system/moduleConf/stuffInfoConf", methods=["PUT"]) @BodyValidator() @PreAuthorize(HasPerm("moduleConf:stuffInfoConf:edit")) @Log(title="员工配置管理",business_type=BusinessType.UPDATE) @JsonSerializer() def system_stuffinfo_conf_update(dto:SysStuffInfoConf): ''' 修改员工配置 ''' # SysModuleStuffinfoConfService.check_stuffinfo_conf_data_scope(dto.stuffinfoConf_id) # if UserConstants.UNIQUE != SysModuleStuffinfoConfService.check_stuffinfo_conf_name_unique(dto): # return AjaxResponse.from_error("员工配置名称已存在") # 注意:SysStuffInfoConf 不继承 AuditEntity,没有 update_by 等字段,所以不需要调用 update_by_user flag = SysModuleStuffinfoConfService.update_conf(dto) return AjaxResponse.from_success() if flag else AjaxResponse.from_error() @reg.api.route("/system/moduleConf/stuffInfoConf/", methods=["DELETE"]) @PathValidator() @PreAuthorize(HasPerm("moduleConf:stuffInfoConf:remove")) @Log(title="员工配置管理",business_type=BusinessType.DELETE) @JsonSerializer() def system_stuffinfo_conf_delete( ids: Annotated[List[int], BeforeValidator(ids_to_list)] ): ''' 删除员工配置 ''' # if SysModuleStuffinfoConfService.has_child_by_stuffinfo_conf_id(id): # return AjaxResponse.from_error("该员工配置存在下级员工配置,不允许删除") # if SysModuleStuffinfoConfService.check_stuffinfo_conf_exist_user(id): # return AjaxResponse.from_error("该员工配置存在用户,不允许删除") # SysModuleStuffinfoConfService.check_stuffinfo_conf_data_scope(id) flag = SysModuleStuffinfoConfService.delete_stuffinfo_conf_by_id(ids) return AjaxResponse.from_success() if flag > 0 else AjaxResponse.from_error()