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);
}
}
}