using Hotline.Application.Snapshot; using Hotline.Repository.SqlSugar.Extensions; using Hotline.Share.Dtos; using Hotline.Share.Dtos.Snapshot; using Hotline.Share.Tools; using Hotline.Snapshot; using Hotline.Snapshot.Interfaces; using Microsoft.AspNetCore.Mvc; using System.ComponentModel; namespace Hotline.Api.Controllers.Snapshot; /// /// 邀请码管理 /// [Description("邀请码管理")] public class InviteCodeController : BaseController { private readonly IInviteCodeApplication _inviteCodeApplication; public InviteCodeController(IInviteCodeApplication inviteCodeApplication) { _inviteCodeApplication = inviteCodeApplication; } /// /// 获取添加邀请码基础数据 /// /// [HttpGet("basedata")] public async Task> GetBasedataAsync() { return new Dictionary { { "OrgName", await _inviteCodeApplication.GetInviteCodeItemsAsync().Where(m => m.ParentOrgId == null) .Select(m => new Kv{ Key = m.Id, Value = m.OrgName}).ToListAsync() } }; } /// /// 获取邀请码集合 /// /// [HttpGet] public async Task> GetInviteCodeItemsAsync([FromQuery] GetInviteCodeItemsInDto dto) => (await _inviteCodeApplication.GetInviteCodeItemsAsync().ToPagedListAsync(dto)).ToPaged(); /// /// 邀请码详情 /// /// /// [HttpGet("{id}")] public async Task GetInviteCodeDetailAsync( string id) => await _inviteCodeApplication.GetInviteCodeItemsAsync().Where(m => m.Id == id).FirstAsync(); /// /// 修改邀请码 /// /// /// [HttpPut] public async Task UpdateInviteCodeAsync([FromBody] UpdateInviteCodeInDto dto) => await _inviteCodeApplication.UpdateInviteCodeAsync(dto); /// /// 添加部门邀请码 /// /// /// [HttpPost] public async Task AddInviteCodeAsync([FromBody] AddInviteCodeInDto dto) => await _inviteCodeApplication.AddInviteCodeAsync(dto); }