Browse Source

新增添加邀请码基础数据

qinchaoyue 4 months ago
parent
commit
600bbc8ac5

+ 19 - 0
src/Hotline.Api/Controllers/Snapshot/InviteCodeController.cs

@@ -23,6 +23,20 @@ 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>
@@ -31,6 +45,11 @@ public class InviteCodeController : BaseController
     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);

+ 1 - 1
src/Hotline.Application.Tests/appsettings.Development.json

@@ -112,7 +112,7 @@
         }
     },
     "DatabaseConfiguration": {
-        "ApplyDbMigrations": false,
+        "ApplyDbMigrations": true,
         "ApplySeed": false
     },
     "MqConfiguration": {

+ 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)
         {

+ 1 - 1
src/Hotline/Snapshot/InviteCode.cs

@@ -39,7 +39,7 @@ public class InviteCode : CreationSoftDeleteEntity
     /// 上级部门ID
     /// </summary>
     [SugarColumn(ColumnDescription = "上级部门ID")]
-    public string ParentOrgId { get; set; }
+    public string? ParentOrgId { get; set; }
 
     /// <summary>
     /// 邀请码Url