using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Filters; using ZR.Model.Business.Dto; using ZR.Service.Business.IBusinessService; //创建时间:2025-01-01 namespace ZR.Admin.WebApi.Controllers.Business { /// /// 标石/杆号牌管理 /// [Route("business/OdfMarkerPoles")] public class OdfMarkerPolesController : BaseController { /// /// 标石/杆号牌接口 /// private readonly IOdfMarkerPolesService _OdfMarkerPolesService; public OdfMarkerPolesController(IOdfMarkerPolesService OdfMarkerPolesService) { _OdfMarkerPolesService = OdfMarkerPolesService; } /// /// 标石/杆号牌列表分页查询 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "odfmarkerpoles:list")] public IActionResult GetList([FromQuery] OdfMarkerPolesQueryDto parm) { var deptId = HttpContext.GetDeptId(); var response = _OdfMarkerPolesService.GetList(parm, deptId); return SUCCESS(response); } /// /// 标石/杆号牌详情(含图片) /// /// /// [HttpGet("{id}")] [ActionPermissionFilter(Permission = "odfmarkerpoles:query")] public IActionResult GetDetail(int id) { var response = _OdfMarkerPolesService.GetDetail(id); return SUCCESS(response); } /// /// 新增标石/杆号牌(图片已上传至COS,提交COS URL) /// /// [HttpPost("add")] [ActionPermissionFilter(Permission = "odfmarkerpoles:add")] [Log(Title = "标石/杆号牌", BusinessType = BusinessType.INSERT)] [ServiceFilter(typeof(OdfAuditLogFilter))] public IActionResult Add([FromBody] OdfMarkerPoleAddDto dto) { dto.UserId = HttpContext.GetUId(); var deptId = HttpContext.GetDeptId(); var response = _OdfMarkerPolesService.Add(dto, deptId); return SUCCESS(response); } /// /// 编辑标石/杆号牌 /// /// [HttpPut("edit")] [ActionPermissionFilter(Permission = "odfmarkerpoles:edit")] [Log(Title = "标石/杆号牌", BusinessType = BusinessType.UPDATE)] [ServiceFilter(typeof(OdfAuditLogFilter))] public IActionResult Update([FromBody] OdfMarkerPoleEditDto dto) { var response = _OdfMarkerPolesService.Update(dto); return ToResponse(response); } /// /// 删除标石/杆号牌(支持单个/批量) /// /// [HttpDelete("delete/{ids}")] [ActionPermissionFilter(Permission = "odfmarkerpoles:delete")] [Log(Title = "标石/杆号牌", BusinessType = BusinessType.DELETE)] [ServiceFilter(typeof(OdfAuditLogFilter))] public IActionResult Delete(string ids) { var idList = ids.Split(',', StringSplitOptions.RemoveEmptyEntries) .Select(s => int.TryParse(s.Trim(), out var v) ? v : 0) .Where(v => v > 0) .ToList(); if (idList.Count == 0) { return ToResponse(ResultCode.FAIL, "请选择要删除的数据"); } int total = 0; foreach (var id in idList) { total += _OdfMarkerPolesService.Delete(id); } return ToResponse(total); } } }