using Attribute;
using Common;
using Dto;
using Vo;
using Enums;
using Filters;
using Infrastructure;
using Infrastructure.Model;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using Middleware;
using Model;
using Services;
using Model.Base;
namespace Controllers
{
///
/// AppVersion)Controller
///
// [Route("AppVersion")]
// [ApiExplorerSettings(GroupName = "AppVersion")]
public class AppVersionController : BaseController
{
///
/// api分组接口
///
private readonly IAppVersionService _AppVersionService;
public AppVersionController(IAppVersionService AppVersionService)
{
_AppVersionService = AppVersionService;
}
///
/// app版本管理列表
///
/// 请求参数
/// app版本管理列表
[HttpGet]
[Route("/v1/api/AppVersion/list")]
public IActionResult List([FromQuery] AppVersionListDto parm)
{
var response = _AppVersionService.List(parm);
return SUCCESS(response);
}
///
/// app版本管理详情
///
/// 请求参数
/// app版本管理详情
[HttpGet]
[Route("/v1/api/AppVersion/query")]
public IActionResult Query([FromQuery] AppVersionQueryDto parm)
{
var response = _AppVersionService.Queryable()
.First(x => x.id == parm.id)
.Adapt() ?? new AppVersionQueryVo();
return SUCCESS(response);
}
///
/// app版本管理详情
///
/// 请求参数
/// app版本管理详情
[HttpGet]
[Route("/v1/api/AppVersion/last")]
public IActionResult Last([FromQuery] AppVersionLastDto parm)
{
var response = _AppVersionService.Queryable()
.Where(x => x.terminalKind == parm.terminalKind)
.OrderByDescending(x => x.versionNum)
.First()
.Adapt() ?? new AppVersionQueryVo();
return SUCCESS(response);
}
///
/// app版本管理添加
///
/// 请求参数
/// app版本管理添加
[HttpPost]
[Route("/v1/api/AppVersion/add")]
public IActionResult Add([FromBody] AppVersionAddDto parm)
{
var modal = parm.Adapt().ToCreate(HttpContext);
var response = _AppVersionService.Add(modal);
return SUCCESS(response);
}
///
/// app版本管理修改
///
/// 请求参数
/// app版本管理修改
[HttpPut]
[Route("/v1/api/AppVersion/update")]
public IActionResult Update([FromBody] AppVersionUpdateDto parm)
{
var modal = parm.Adapt().ToUpdate(HttpContext);
var response = _AppVersionService.Update(modal, true);
return SUCCESS(response);
}
///
/// app版本管理删除
///
/// ID
/// app版本管理删除
[HttpDelete]
[Route("/v1/api/AppVersion/delete/{id}")]
public IActionResult Delete(int id)
{
var response = _AppVersionService.Delete(id);
return SUCCESS(response);
}
}
}