using Vo;
using Microsoft.AspNetCore.Mvc;
using Model;
using Services;
using Model.Base;
using Vo.Admin;
using Mapster;
using Infrastructure;
namespace Controllers.Admin
{
///
/// AppProjectBottom)Controller
///
// [Route("${Router}$")]
// [ApiExplorerSettings(GroupName = "AppProjectBottom")]
public class AppProjectBottomController : BaseController
{
///
/// api分组接口
///
private readonly IAppProjectBottomService _AppProjectBottomService;
public AppProjectBottomController(IAppProjectBottomService AppProjectBottomService)
{
_AppProjectBottomService = AppProjectBottomService;
}
/// 分页参数
///
/// 列表
///
/// 分页对象
/// 参数请求体
/// 列表
[HttpGet]
[Route("/v1/omega_source/AppProjectBottom/getAppProjectBottomList")]
public IActionResult getAppProjectBottomList([FromQuery] PagerInfo page, [FromQuery] AppProjectBottom param)
{
var response = _AppProjectBottomService.getAppProjectBottomList(page, param);
return SUCCESS(response);
}
///
/// 详情
///
/// 参数请求体
/// 详情
[HttpGet]
[Route("/v1/omega_source/AppProjectBottom/getAppProjectBottomQuery")]
public IActionResult getAppProjectBottomQuery([FromQuery] AppProjectBottom param)
{
var response = _AppProjectBottomService.GetFirst(m => m.id == param.id).Adapt();
return SUCCESS(response);
}
///
/// 添加
///
/// 参数请求体
/// 添加
[HttpPost]
[Route("/v1/omega_source/AppProjectBottom/addAppProjectBottom")]
public IActionResult addAppProjectBottom([FromBody] AppProjectBottom param)
{
var modal = param.Adapt().ToCreate(HttpContext);
var response = _AppProjectBottomService.InsertReturnIdentity(modal);
return SUCCESS(response);
}
///
/// 修改
///
/// 参数请求体
/// 修改
[HttpPut]
[Route("/v1/omega_source/AppProjectBottom/updateAppProjectBottom")]
public IActionResult updateAppProjectBottom([FromBody] List param)
{
int index = 0;
int appId = 0;
int versionId = 0;
foreach(var subParam in param)
{
appId = subParam.appId;
versionId = subParam.versionId;
index += 1;
var item = _AppProjectBottomService.Any(m => m.appId == appId && m.versionId == versionId && m.pageName == subParam.pageName);
if(item == null)
{
var modal = item.Adapt().ToUpdate(HttpContext);
modal.sort = index;
_AppProjectBottomService.Add(modal, true);
}
else
{
var modal = item.Adapt().ToUpdate(HttpContext);
modal.sort = index;
_AppProjectBottomService.Update(modal, true);
}
}
var list = _AppProjectBottomService.GetList(m => m.appId == appId && m.versionId == versionId);
foreach(var sub in list)
{
if(!param.Any(m => m.pageName == sub.pageName))
{
_AppProjectBottomService.DeleteById(sub.id);
}
}
return SUCCESS("ok");
}
///
/// 删除
///
/// ID
/// 删除
[HttpDelete]
[Route("/v1/omega_source/AppProjectBottom/deleteAppProjectBottom/{id}")]
public IActionResult deleteAppProjectBottom(int id)
{
var response = _AppProjectBottomService.Delete(id);
return SUCCESS(response);
}
}
}