| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- # -*- 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_str_list
- # from ruoyi_common.domain.entity import SysProductConf
- from ruoyi_common.domain.entity import SysProductConf
- 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.product_info_conf import SysModuleProductinfoConfService
- from ruoyi_framework.descriptor.log import Log
- from ruoyi_framework.descriptor.permission import HasPerm, PreAuthorize
- from ... import reg
- @reg.api.route("/system/moduleConf/productConf/list", methods=["GET"])
- @QueryValidator(is_page=True)
- # @PreAuthorize(HasPerm("moduleConf:productConf:list"))
- @JsonSerializer()
- def system_productinfo_conf_list(dto:SysProductConf):
- '''
- 获取单品配置列表
- '''
- rows = SysModuleProductinfoConfService.select_productinfo_conf_list(dto)
- table_response = TableResponse(rows=rows)
- return table_response
- @reg.api.route("/system/moduleConf/productConf/<string:id>", methods=["GET"])
- @PathValidator()
- @PreAuthorize(HasPerm("moduleConf:productConf:query"))
- @JsonSerializer()
- def module_productinfo_conf(id:str):
- '''
- 获取单品配置详情
- '''
- # 注意:如果需要数据权限控制,需要实现 check_productinfo_conf_data_scope 方法
- # SysModuleProductinfoConfService.check_productinfo_conf_data_scope(id)
- productinfoConf = SysModuleProductinfoConfService.select_productinfo_conf_by_id(id)
- ajax_response = AjaxResponse.from_success(data=productinfoConf)
- return ajax_response
- @reg.api.route("/system/moduleConf/productConf", methods=["POST"])
- @BodyValidator()
- @PreAuthorize(HasPerm("moduleConf:productConf:add"))
- @Log(title="单品配置管理",business_type=BusinessType.INSERT)
- @JsonSerializer()
- def system_productinfo_conf_create(dto:SysProductConf):
- '''
- 新增单品配置
- '''
- # if UserConstants.NOT_UNIQUE == SysModuleProductinfoConfService.check_productinfo_conf_name_unique(dto):
- # ajax_response = AjaxResponse.from_error("单品配置名称已存在")
- # return ajax_response
- # 注意:SysProductConf 不继承 AuditEntity,没有 create_by 等字段,所以不需要调用 create_by_user
- SysModuleProductinfoConfService.insert_conf(dto)
- ajax_response = AjaxResponse.from_success()
- return ajax_response
- @reg.api.route("/system/moduleConf/productConf", methods=["PUT"])
- @BodyValidator()
- @PreAuthorize(HasPerm("moduleConf:productConf:edit"))
- @Log(title="单品配置管理",business_type=BusinessType.UPDATE)
- @JsonSerializer()
- def system_productinfo_conf_update(dto:SysProductConf):
- '''
- 修改单品配置
- '''
- # SysModuleProductinfoConfService.check_productinfo_conf_data_scope(dto.productinfoConf_id)
- # if UserConstants.UNIQUE != SysModuleProductinfoConfService.check_productinfo_conf_name_unique(dto):
- # return AjaxResponse.from_error("单品配置名称已存在")
- # 注意:SysProductConf 不继承 AuditEntity,没有 update_by 等字段,所以不需要调用 update_by_user
- flag = SysModuleProductinfoConfService.update_conf(dto)
- return AjaxResponse.from_success() if flag else AjaxResponse.from_error()
- @reg.api.route("/system/moduleConf/productConf/<ids>", methods=["DELETE"])
- @PathValidator()
- @PreAuthorize(HasPerm("moduleConf:productConf:remove"))
- @Log(title="单品配置管理",business_type=BusinessType.DELETE)
- @JsonSerializer()
- def system_productinfo_conf_delete(
- ids: Annotated[List[str], BeforeValidator(ids_to_str_list)]
- ):
- '''
- 删除单品配置
- '''
- # if SysModuleProductinfoConfService.has_child_by_productinfo_conf_id(id):
- # return AjaxResponse.from_error("该单品配置存在下级单品配置,不允许删除")
- # if SysModuleProductinfoConfService.check_productinfo_conf_exist_user(id):
- # return AjaxResponse.from_error("该单品配置存在用户,不允许删除")
- # SysModuleProductinfoConfService.check_productinfo_conf_data_scope(id)
- flag = SysModuleProductinfoConfService.delete_productinfo_conf_by_id(ids)
- return AjaxResponse.from_success() if flag > 0 else AjaxResponse.from_error()
|