修改配置文件
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
using Apimanager_backend.Dtos;
|
||||
using Apimanager_backend.Exceptions;
|
||||
using Apimanager_backend.Models;
|
||||
using Apimanager_backend.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Apimanager_backend.Controllers
|
||||
{
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
public class PackageController : ControllerBase
|
||||
{
|
||||
private readonly IPackageService packageService;
|
||||
private readonly ILogger<PackageController> logger;
|
||||
public PackageController(IPackageService packageService,ILogger<PackageController> logger)
|
||||
{
|
||||
this.packageService = packageService;
|
||||
this.logger = logger;
|
||||
}
|
||||
#region 新增套餐
|
||||
[HttpPost]
|
||||
[Authorize(Roles = "Admin")]
|
||||
public async Task<ActionResult<ResponseBase<PackageInfoDto>>> AddPackage(AddPackageDto addPackageDto)
|
||||
{
|
||||
var packageInfo = await packageService.AddPackageAsync(addPackageDto);
|
||||
var res = new ResponseBase<PackageInfoDto>(packageInfo);
|
||||
return Ok(res);
|
||||
}
|
||||
#endregion
|
||||
#region 删除套餐
|
||||
[HttpDelete]
|
||||
[Authorize(Roles = "Admin")]
|
||||
public async Task<ActionResult<ResponseBase<object?>>> DeletePackage(int packageId)
|
||||
{
|
||||
try
|
||||
{
|
||||
await packageService.DeletePackageAsync(packageId);
|
||||
var res = new ResponseBase<object?>(null);
|
||||
return Ok(res);
|
||||
}catch(BaseException e)
|
||||
{
|
||||
var res = new ResponseBase<object?>(
|
||||
code:e.code,
|
||||
message:e.message,
|
||||
data:null
|
||||
);
|
||||
return NotFound(res);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region 修改套餐信息
|
||||
[HttpPost]
|
||||
[Authorize(Roles = "Admin")]
|
||||
public async Task<ActionResult<ResponseBase<PackageInfoDto?>>> UpdatePackage(int packageId, UpdatePackageDto updatePackageDto)
|
||||
{
|
||||
try
|
||||
{
|
||||
var packageInfo = await packageService.UpdatePackageAsync(packageId, updatePackageDto);
|
||||
var res = new ResponseBase<PackageInfoDto?>(packageInfo);
|
||||
return Ok(res);
|
||||
}
|
||||
catch (BaseException e)
|
||||
{
|
||||
var res = new ResponseBase<PackageInfoDto?>(
|
||||
code:e.code,
|
||||
message:e.message,
|
||||
data:null
|
||||
);
|
||||
return NotFound(res);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region 获取套餐信息
|
||||
[HttpGet]
|
||||
[Authorize(Roles = "User")]
|
||||
public async Task<ActionResult<ResponseBase<PackageInfoDto?>>> GetPackageInfo(int packageId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var packageInfo = await packageService.PackageInfoByIdAsync(packageId);
|
||||
var res = new ResponseBase<PackageInfoDto?>(packageInfo);
|
||||
return Ok(res);
|
||||
}catch(BaseException e)
|
||||
{
|
||||
var res = new ResponseBase<PackageInfoDto?>(
|
||||
code:e.code,
|
||||
message:e.message,
|
||||
data:null
|
||||
);
|
||||
return NotFound(res);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region 获取套餐列表
|
||||
[HttpGet]
|
||||
[Authorize(Roles = "User")]
|
||||
public async Task<ActionResult<ResponseBase<List<PackageInfoDto>>>> GetPackageList(int pageIndex,int pageSize,bool desc)
|
||||
{
|
||||
var packageList = await packageService.GetAllPackagesAsync(pageIndex,pageSize,desc);
|
||||
var res = new ResponseBase<List<PackageInfoDto>>(packageList);
|
||||
return Ok(res);
|
||||
}
|
||||
#endregion
|
||||
#region 获取用户已订阅套餐
|
||||
[HttpGet]
|
||||
[Authorize(Roles = "User")]
|
||||
public async Task<ActionResult<ResponseBase<List<UserPackage>>>> GetUserPackageList(int pageIndex,int pageSize,bool desc)
|
||||
{
|
||||
var selfUserId = User.Claims.First(x => x.ValueType == "userId").Value;
|
||||
var list = await packageService.GetUserPackagesAsync(int.Parse(selfUserId));
|
||||
var res = new ResponseBase<List<UserPackage>>(list);
|
||||
return Ok(res);
|
||||
}
|
||||
#endregion
|
||||
#region 管理员获取用户已订阅套餐
|
||||
[HttpGet]
|
||||
[Authorize(Roles = "Admin")]
|
||||
public async Task<ActionResult<ResponseBase<List<UserPackage>>>> GetUserPackageListAdmin(int userId,int pageIndex, int pageSize, bool desc)
|
||||
{
|
||||
var list = await packageService.GetUserPackagesAsync(userId);
|
||||
var res = new ResponseBase<List<UserPackage>>(list);
|
||||
return Ok(res);
|
||||
}
|
||||
#endregion
|
||||
#region 添加套餐有效期
|
||||
[HttpPost]
|
||||
[Authorize(Roles = "User")]
|
||||
public async Task<ActionResult<ResponseBase<UserPackage>>> UserPackageUpdate(int packageId,int day)
|
||||
{
|
||||
TimeSpan timeSpan = TimeSpan.FromDays(day);
|
||||
var selfUserId = User.Claims.First(x => x.ValueType == "userId").Value;
|
||||
var userPackage = await packageService.AddUserPackageTimeAsync(packageId,int.Parse(selfUserId),timeSpan,false);
|
||||
var res = new ResponseBase<UserPackage>(userPackage);
|
||||
return Ok(res);
|
||||
}
|
||||
#endregion
|
||||
#region 管理员添加套餐有效期
|
||||
[HttpPost]
|
||||
[Authorize(Roles = "Admin")]
|
||||
public async Task<ActionResult<ResponseBase<UserPackage>>> UserPackageUpdateAdmin(int packageId,int userId, int day)
|
||||
{
|
||||
TimeSpan timeSpan = TimeSpan.FromDays(day);
|
||||
var userPackage = await packageService.AddUserPackageTimeAsync(packageId, userId, timeSpan, true);
|
||||
var res = new ResponseBase<UserPackage>(userPackage);
|
||||
return Ok(res);
|
||||
}
|
||||
#endregion
|
||||
#region 扣减套餐有效期
|
||||
[HttpPost]
|
||||
[Authorize(Roles = "Admin")]
|
||||
public async Task<ActionResult<ResponseBase<UserPackage?>>> DecuteUserPackage(int packageId,int userId,int day)
|
||||
{
|
||||
try
|
||||
{
|
||||
TimeSpan timeSpan = TimeSpan.FromDays(day);
|
||||
var userPackage = await packageService.DecuteUserPackageTimeAsync(packageId, userId, timeSpan);
|
||||
var res = new ResponseBase<UserPackage>(userPackage);
|
||||
return Ok(res);
|
||||
}catch(BaseException e)
|
||||
{
|
||||
var res = new ResponseBase<UserPackage?>(
|
||||
code:e.code,
|
||||
message:e.message,
|
||||
data:null
|
||||
);
|
||||
return NotFound(res);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
using Apimanager_backend.Dtos;
|
||||
using Apimanager_backend.Exceptions;
|
||||
using Apimanager_backend.Models;
|
||||
using Apimanager_backend.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Apimanager_backend.Controllers
|
||||
{
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
public class SystemConfigController : ControllerBase
|
||||
{
|
||||
private readonly ISystemConfigService systemConfigService;
|
||||
private readonly ILogger<SystemConfigController> logger;
|
||||
public SystemConfigController(ISystemConfigService systemConfigService, ILogger<SystemConfigController> logger)
|
||||
{
|
||||
this.systemConfigService = systemConfigService;
|
||||
this.logger = logger;
|
||||
}
|
||||
[HttpPost]
|
||||
[Authorize(Roles = "Admin")]
|
||||
public async Task<ActionResult<ResponseBase<SystemConfig?>>> UpdateSystemConfig([FromBody]UpdateSystemConfigDto updateSystemConfigDto)
|
||||
{
|
||||
try
|
||||
{
|
||||
var configInfo = await systemConfigService.UpdateSystemConfig(updateSystemConfigDto.ConfigName, updateSystemConfigDto.ConfigBody);
|
||||
var res = new ResponseBase<SystemConfig?>(configInfo);
|
||||
return Ok(res);
|
||||
}catch(BaseException e)
|
||||
{
|
||||
var res = new ResponseBase<SystemConfig?>(
|
||||
code:e.code,
|
||||
message:e.message,
|
||||
data:null
|
||||
);
|
||||
return NotFound(res);
|
||||
}
|
||||
|
||||
}
|
||||
[HttpGet]
|
||||
[Authorize(Roles = "User")]
|
||||
public async Task<ActionResult<ResponseBase<SystemConfig?>>> GetSystemConfig(string configName)
|
||||
{
|
||||
try
|
||||
{
|
||||
var configInfo = await systemConfigService.GetSystemConfig(configName);
|
||||
var res = new ResponseBase<SystemConfig?>(configInfo);
|
||||
return Ok(res);
|
||||
}
|
||||
catch (BaseException e)
|
||||
{
|
||||
var res = new ResponseBase<SystemConfig?>(
|
||||
code: e.code,
|
||||
message: e.message,
|
||||
data: null
|
||||
);
|
||||
return NotFound(res);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user