Эх сурвалжийг харах

Merge branch 'test' of http://110.188.24.182:10023/Fengwo/hotline into test

Dun.Jason 3 сар өмнө
parent
commit
47e905e98c

+ 9 - 0
src/Hotline.Api/Controllers/Snapshot/IndustryController.cs

@@ -176,6 +176,15 @@ public class IndustryController : BaseController
     [HttpGet("sms_template/{id}")]
     public async Task<SnapshotSMSTemplateItemsOutDto> GetSMSTemplateDetailAsync(string id)
         => await _industryApplication.GetSMSTemplateDetailAsync(id);
+
+    /// <summary>
+    /// 删除短信模板
+    /// </summary>
+    /// <param name="ids"></param>
+    /// <returns></returns>
+    [HttpDelete("sms_template")]
+    public async Task DeleteSmsTemplateAsync([FromBody] IList<string> ids)
+        => await _industryApplication.DeleteSMSTemplateAsync(ids);
     #endregion
 
     #region 区域从业人员

+ 1 - 1
src/Hotline.Application.Tests/Application/RedPackApplicationTest.cs

@@ -41,7 +41,7 @@ public class RedPackApplicationTest : TestBase
     {
         var items = await _redPackApplication.GetRedPackAuditItemsAsync(new SnapshotOrderAuditItemsInDto(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 0)).ToListAsync();
         var audit = items.First();
-        var smsTemplate = await _redPackApplication.GetRedPackAuditSMSTemplateAsync(new GetRedPackAuditSMSTemplateInDto(audit.OrderId, ERedPackAuditStatus.Agree));
+        var smsTemplate = await _redPackApplication.GetRedPackAuditSMSTemplateAsync(new GetRedPackAuditSMSTemplateInDto(audit.OrderId, ESnapshotSMSStatus.Agree));
         var inDto = new UpdateRedPackAuditInDto
         {
             Status = ERedPackAuditStatus.Agree,

+ 20 - 8
src/Hotline.Application/Caselibrary/CaseApplication.cs

@@ -215,15 +215,25 @@ namespace Hotline.Application.Caselibrary
                 .Where(x => x.IsDeleted == false)
                 .WhereIF(pagedDto.IsPopular.HasValue, x => x.IsPopular == pagedDto.IsPopular)
                 .WhereIF(OrgSeedData.CenterId != pagedDto.CreateOrgId && !string.IsNullOrEmpty(pagedDto.CreateOrgId), x => x.CreatorOrgId != null && x.CreatorOrgId.StartsWith(pagedDto.CreateOrgId!))
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), x => x.Title.Contains(pagedDto.Title))
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Abstract), x => x.Abstract.Contains(pagedDto.Abstract))
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Describe), x => x.Describe.Contains(pagedDto.Describe))
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Result), x => x.Result.Contains(pagedDto.Result))
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Reason), x => x.Reason.Contains(pagedDto.Reason))
 
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Keyword), x => x.Title.Contains(pagedDto.Keyword!) ||
-                                                                  x.CreatorName!.Contains(pagedDto.Keyword!) ||
-                                                                  x.CreatorOrgName!.Contains(pagedDto.Keyword!))
+                .WhereIF(!string.IsNullOrEmpty(pagedDto.Title) &&
+                          string.IsNullOrEmpty(pagedDto.Keywords) &&
+                          string.IsNullOrEmpty(pagedDto.Abstract), x => x.Title.Contains(pagedDto.Title!))
+
+                .WhereIF(string.IsNullOrEmpty(pagedDto.Title) &&
+                        !string.IsNullOrEmpty(pagedDto.Keywords) &&
+                         string.IsNullOrEmpty(pagedDto.Abstract), x => x.Keywords.Contains(pagedDto.Keywords!))
+
+                .WhereIF(string.IsNullOrEmpty(pagedDto.Title) &&
+                         string.IsNullOrEmpty(pagedDto.Keywords) &&
+                        !string.IsNullOrEmpty(pagedDto.Abstract), x => x.Abstract.Contains(pagedDto.Abstract!))
+
+                .WhereIF(!string.IsNullOrEmpty(pagedDto.Title) &&
+                         !string.IsNullOrEmpty(pagedDto.Keywords) &&
+                         !string.IsNullOrEmpty(pagedDto.Abstract)
+                                                                , x => x.Title.Contains(pagedDto.Title!) ||
+                                                                  x.Keywords!.Contains(pagedDto.Keywords!) ||
+                                                                  x.Abstract!.Contains(pagedDto.Abstract!))
 
                 .WhereIF(pagedDto.Status.HasValue && pagedDto.Status == ECaseStatus.OnShelf, x => x.Status == ECaseStatus.OnShelf)
                 .WhereIF(pagedDto.Status.HasValue && pagedDto.Status == ECaseStatus.OffShelf, x => x.Status == ECaseStatus.OffShelf)
@@ -290,6 +300,8 @@ namespace Hotline.Application.Caselibrary
             if (any)
                 throw UserFriendlyException.SameMessage("当前案例标题存在重复标题!");
 
+            pList.InitId();
+
             if (dto.Files != null && dto.Files.Count > 0)
                 pList.FileJson = await _fileRepository.AddFileAsync(dto.Files, pList.Id, "", cancellationToken);
             await _caseListRepository.AddAsync(pList, cancellationToken);

+ 14 - 5
src/Hotline.Application/Planlibrary/PlanApplication.cs

@@ -221,11 +221,18 @@ namespace Hotline.Application.Planlibrary
                 .WhereIF(pagedDto.IsPublic.HasValue, x => x.IsPublic == pagedDto.IsPublic)
                 .WhereIF(OrgSeedData.CenterId != pagedDto.CreateOrgId && !string.IsNullOrEmpty(pagedDto.CreateOrgId), x => x.CreatorOrgId != null && x.CreatorOrgId.StartsWith(pagedDto.CreateOrgId!))
                 .WhereIF(!string.IsNullOrEmpty(pagedDto.Attribution), x => x.Attribution == pagedDto.Attribution)
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Title), x => x.Title.Contains(pagedDto.Title))
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Content), x => x.Content.Contains(pagedDto.Content))
-                .WhereIF(!string.IsNullOrEmpty(pagedDto.Keywords), x => x.Title.Contains(pagedDto.Keywords!) ||
-                                                                  x.CreatorName!.Contains(pagedDto.Keywords!) ||
-                                                                  x.CreatorOrgName!.Contains(pagedDto.Keywords!))
+
+                // 预案库没有关键词、去掉关键词查询
+
+                .WhereIF(!string.IsNullOrEmpty(pagedDto.Title) &&
+                          string.IsNullOrEmpty(pagedDto.Content), x => x.Title.Contains(pagedDto.Title))
+
+                .WhereIF(string.IsNullOrEmpty(pagedDto.Title) &&
+                        !string.IsNullOrEmpty(pagedDto.Content), x => x.Content.Contains(pagedDto.Content))
+
+                .WhereIF(!string.IsNullOrEmpty(pagedDto.Title) &&
+                         !string.IsNullOrEmpty(pagedDto.Content), x => x.Title.Contains(pagedDto.Title!) ||
+                                                                   x.Content!.Contains(pagedDto.Content!))
 
                 .WhereIF(pagedDto.Status.HasValue && pagedDto.Status == EPlanStatus.OnShelf, x => x.Status == EPlanStatus.OnShelf)
                 .WhereIF(pagedDto.Status.HasValue && pagedDto.Status == EPlanStatus.OffShelf, x => x.Status == EPlanStatus.OffShelf)
@@ -287,6 +294,8 @@ namespace Hotline.Application.Planlibrary
             if (any)
                 throw UserFriendlyException.SameMessage("当前预案标题存在重复标题!");
 
+            pList.InitId();
+
             if (dto.Files != null && dto.Files.Count > 0)
                 pList.FileJson = await _fileRepository.AddFileAsync(dto.Files, pList.Id, "", cancellationToken);
             await _planListRepository.AddAsync(pList, cancellationToken);

+ 7 - 0
src/Hotline.Application/Snapshot/IIndustryApplication.cs

@@ -177,4 +177,11 @@ public interface IIndustryApplication
     /// <param name="dto"></param>
     /// <returns></returns>
     ISugarQueryable<IndustryLogItemsOutDto> GetIndustryLogItemsAsync(IndustryLogItemsInDto dto);
+
+    /// <summary>
+    /// 删除行业短信模板
+    /// </summary>
+    /// <param name="ids"></param>
+    /// <returns></returns>
+    Task DeleteSMSTemplateAsync(IList<string> ids);
 }

+ 23 - 1
src/Hotline.Application/Snapshot/IndustryApplication.cs

@@ -225,7 +225,10 @@ public class IndustryApplication : IIndustryApplication, IScopeDependency
         return await _snapshotSMSTemplateRepository.Queryable()
             .LeftJoin<Industry>((s, i) => s.IndustryId == i.Id)
             .Where((s, i) => s.Id == id)
-            .Select<SnapshotSMSTemplateItemsOutDto>()
+            .Select((s, i) => new SnapshotSMSTemplateItemsOutDto
+            { 
+                Status = s.Status
+            }, true)
             .FirstAsync();
     }
 
@@ -399,5 +402,24 @@ public class IndustryApplication : IIndustryApplication, IScopeDependency
         return query;
     }
 
+    /// <summary>
+    /// 删除行业短信模板
+    /// </summary>
+    /// <param name="ids"></param>
+    /// <returns></returns>
+    public async Task DeleteSMSTemplateAsync(IList<string> ids)
+    {
+        await _snapshotSMSTemplateRepository.Queryable()
+            .Where(m => ids.Contains(m.Id))
+            .ToListAsync()
+            .Then(async sms => {
+                for (int i = 0;i < sms.Count;i++)
+                {
+                    sms[i].IsDeleted = true;
+                    await _snapshotSMSTemplateRepository.UpdateAsync(sms[i]);
+                }
+            });
+    }
+
     #endregion
 }

+ 2 - 2
src/Hotline.Application/Snapshot/InviteCodeApplication.cs

@@ -69,10 +69,10 @@ public class InviteCodeApplication : IInviteCodeApplication, IScopeDependency
         dto.ValidateObject();
         var items = await _inviteCodeRecordRepository.Queryable()
             .Where(m => m.CreationTime >= dto.StartTime && m.CreationTime <= dto.EndTime)
-            .GroupBy(m => m.OrgName)
+            .GroupBy(m => new { m.Id, m.OrgName })
             .Select(m => new InviteCodeStatisticOutDto
             { 
-                Id = m.OrgName, 
+                Id = m.Id, 
                 OrgName = m.OrgName,
                 Count = SqlFunc.AggregateCount(m.OrgName)
             })

+ 1 - 2
src/Hotline.Application/Snapshot/RedPackApplication.cs

@@ -156,8 +156,7 @@ public class RedPackApplication : IRedPackApplication, IScopeDependency
         if (count != 0)
             outDto.RedPackTxt += $"今天审批【{count}】个";
 
-        outDto.AuditComBox = EnumExts.GetDescriptions<ERedPackAuditStatus>()
-            .Where(m => m.Key.ToString() != "0").ToList();
+        outDto.AuditComBox = EnumExts.GetDescriptions<ESnapshotSMSStatus>();
         return outDto;
     }
 

+ 1 - 1
src/Hotline.Share/Dtos/Caselibrary/CaseListDto.cs

@@ -19,7 +19,7 @@ namespace Hotline.Share.Dtos.Caselibrary
         /// <summary>
         /// 关键词
         /// </summary>
-        public string? Keyword { get; set; }
+        public string? Keywords { get; set; }
 
         /// <summary>
         /// 摘要

+ 2 - 2
src/Hotline.Share/Dtos/Snapshot/OrderDto.cs

@@ -642,7 +642,7 @@ public class GetRedPackAuditSMSTemplateInDto
 
     }
 
-    public GetRedPackAuditSMSTemplateInDto(string id, ERedPackAuditStatus status)
+    public GetRedPackAuditSMSTemplateInDto(string id, ESnapshotSMSStatus status)
     {
         OrderId = id;
         Status = status;
@@ -656,7 +656,7 @@ public class GetRedPackAuditSMSTemplateInDto
     /// <summary>
     /// 状态
     /// </summary>
-    public ERedPackAuditStatus Status { get; set; }
+    public ESnapshotSMSStatus Status { get; set; }
 }
 
 public class SnapshotOrderAuditDetailOutDto

+ 36 - 36
src/Hotline/Snapshot/SnapshotMessageTemplate.cs

@@ -6,44 +6,44 @@ using Hotline.Share.Enums.Snapshot;
 
 namespace Hotline.Snapshot;
 
-[Description("随手拍短信模板设置")]
-public class SnapshotMessageTemplate : CreationSoftDeleteEntity
-{
-    /// <summary>
-    /// 短信模板代码
-    /// 表<inheritdoc cref="MessageTemplate"/>中的Code字段
-    /// </summary>
-    [SugarColumn(ColumnDescription = "MessageTemplateCode")]
-    public string MessageTemplateCode { get; set; }
+//[Description("随手拍短信模板设置")]
+//public class SnapshotMessageTemplate : CreationSoftDeleteEntity
+//{
+//    /// <summary>
+//    /// 短信模板代码
+//    /// 表<inheritdoc cref="MessageTemplate"/>中的Code字段
+//    /// </summary>
+//    [SugarColumn(ColumnDescription = "MessageTemplateCode")]
+//    public string MessageTemplateCode { get; set; }
 
-    /// <summary>
-    /// 行业页面Id
-    /// </summary>
-    [SugarColumn(ColumnDescription = "行业页面Id")]
-    public string IndustrPageId { get; set; }
+//    /// <summary>
+//    /// 行业页面Id
+//    /// </summary>
+//    [SugarColumn(ColumnDescription = "行业页面Id")]
+//    public string IndustrPageId { get; set; }
 
-    /// <summary>
-    /// 审批类型
-    /// </summary>
-    [SugarColumn(ColumnDescription = "审批类型")]
-    public ESnapshopApproveType ApproveType { get; set; }
+//    /// <summary>
+//    /// 审批类型
+//    /// </summary>
+//    [SugarColumn(ColumnDescription = "审批类型")]
+//    public ESnapshopApproveType ApproveType { get; set; }
 
-    /// <summary>
-    /// 是否启用
-    /// </summary>
-    [SugarColumn(ColumnDescription = "是否启用")]
-    public bool IsEnable { get; set; }
+//    /// <summary>
+//    /// 是否启用
+//    /// </summary>
+//    [SugarColumn(ColumnDescription = "是否启用")]
+//    public bool IsEnable { get; set; }
 
-    /// <summary>
-    /// 是否公用
-    /// 公用后不受行业页面限制
-    /// </summary>
-    [SugarColumn(ColumnDescription = "是否公用")]
-    public bool IsPublic { get; set; }
+//    /// <summary>
+//    /// 是否公用
+//    /// 公用后不受行业页面限制
+//    /// </summary>
+//    [SugarColumn(ColumnDescription = "是否公用")]
+//    public bool IsPublic { get; set; }
 
-    /// <summary>
-    /// 排序
-    /// </summary>
-    [SugarColumn(ColumnDescription = "排序")]
-    public int DisplayOrder { get; set; }
-}
+//    /// <summary>
+//    /// 排序
+//    /// </summary>
+//    [SugarColumn(ColumnDescription = "排序")]
+//    public int DisplayOrder { get; set; }
+//}

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

@@ -26,7 +26,7 @@ public class SnapshotSMSTemplate : FullStateEntity
     /// 审核状态
     /// </summary>
     [SugarColumn(ColumnDescription = "审核状态")]
-    public ERedPackAuditStatus Status { get; set; }
+    public ESnapshotSMSStatus Status { get; set; }
 
     /// <summary>
     /// 是否启用