ソースを参照

Merge branch 'feature/snapshot' into test

qinchaoyue 3 ヶ月 前
コミット
9368220e02

+ 20 - 1
src/Hotline.Api/Controllers/Snapshot/InviteCodeController.cs

@@ -23,14 +23,33 @@ public class InviteCodeController : BaseController
         _inviteCodeApplication = inviteCodeApplication;
     }
 
+    /// <summary>
+    /// 获取添加邀请码基础数据
+    /// </summary>
+    /// <returns></returns>
+    [HttpGet("basedata")]
+    public async Task<Dictionary<string, object>> GetBasedataAsync()
+    {
+        return new Dictionary<string, object>
+        {
+            { "OrgName", await _inviteCodeApplication.GetInviteCodeItemsAsync().Where(m => m.ParentOrgId == null)
+            .Select(m => new Kv{ Key = m.Id, Value = m.OrgName}).ToListAsync() }
+        };
+    }
+
     /// <summary>
     /// 获取邀请码集合
     /// </summary>
     /// <returns></returns>
     [HttpGet]
-    public async Task<PagedDto<InviteCode>> GetInviteCodeItemsAsync([FromQuery]GetInviteCodeItemsInDto dto)
+    public async Task<PagedDto<InviteCode>> GetInviteCodeItemsAsync([FromQuery] GetInviteCodeItemsInDto dto)
         => (await _inviteCodeApplication.GetInviteCodeItemsAsync().ToPagedListAsync(dto)).ToPaged();
 
+    /// <summary>
+    /// 添加部门邀请码
+    /// </summary>
+    /// <param name="dto"></param>
+    /// <returns></returns>
     [HttpPost]
     public async Task AddInviteCodeAsync([FromBody] AddInviteCodeInDto dto)
         => await _inviteCodeApplication.AddInviteCodeAsync(dto);

+ 4 - 0
src/Hotline.Application/Snapshot/InviteCodeApplication.cs

@@ -23,6 +23,10 @@ public class InviteCodeApplication : IInviteCodeApplication, IScopeDependency
 
     public async Task AddInviteCodeAsync(AddInviteCodeInDto dto)
     {
+        if (_inviteCodeRepository.Queryable().Where(m => m.OrgName == dto.OrgName).Any())
+        {
+            throw UserFriendlyException.SameMessage("部门名称已存在");
+        }
         var entity = dto.Adapt<InviteCode>();
         if (dto.BeginCode >= dto.EndCode)
         {