Browse Source

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

田爽 3 months ago
parent
commit
cf6064e89c

+ 20 - 0
src/Hotline.Api/Controllers/CaseController.cs

@@ -18,6 +18,7 @@ using Hotline.Share.Enums.Article;
 using XF.Utility.EnumExtensions;
 using Hotline.Share.Dtos.Order;
 using Hotline.Application.ExportExcel;
+using System.Threading;
 
 namespace Hotline.Api.Controllers
 {
@@ -300,6 +301,25 @@ namespace Hotline.Api.Controllers
             await _caseApplication.AuditCaseAsync(dto, HttpContext.RequestAborted);
         }
 
+        /// <summary>
+        /// 设置热门
+        /// </summary>
+        /// <param name="Id"></param>
+        /// <param name="Popular"></param>
+        /// <returns></returns>
+        [HttpPost("list/popular")]
+        public async Task PopularCase(string Id, bool Popular)
+        {
+            var Case = await _caseListRepository.GetAsync(Id);
+
+            if (Case == null)
+                throw UserFriendlyException.SameMessage("案例库查询失败");
+
+            Case.IsPopular = Popular;
+
+            await _caseListRepository.UpdateNullAsync(Case, HttpContext.RequestAborted);
+        }
+
         /// <summary>
         /// 案例库审核(新增、修改、删除)
         /// </summary>

+ 8 - 5
src/Hotline.Api/Controllers/OrderController.cs

@@ -3579,12 +3579,15 @@ public class OrderController : BaseController
 
         if (_systemSettingCacheManager.Snapshot)
         {
-            var snapshot = await _orderSnapshotRepository.Queryable()
+            await _orderSnapshotRepository.Queryable()
                 .Where(m => m.Id == order.Id)
                 .Select(m => new { m.IndustryId, m.IndustryName })
-                .FirstAsync(HttpContext.RequestAborted);
-            dto.IndustryName = snapshot.IndustryName;
-            dto.IndustryId = snapshot.IndustryId;
+                .FirstAsync(HttpContext.RequestAborted)
+                .Then(async snapshot =>
+                {
+                    dto.IndustryName = snapshot.IndustryName;
+                    dto.IndustryId = snapshot.IndustryId;
+                });
         }
         dto.IsReTransact = await _orderSpecialRepository.Queryable()
             .Where(x => x.OrderId == dto.Id && x.SpecialType == ESpecialType.ReTransact).AnyAsync();
@@ -4997,7 +5000,7 @@ public class OrderController : BaseController
                 dto.Handler = handler;
             }
         }
-         
+
         if (oneSendBack || twoSendBack)
         {
             var sendBack = await _orderSendBackAuditRepository.Queryable()

+ 20 - 17
src/Hotline.Api/Controllers/WebPortalController.cs

@@ -1041,26 +1041,29 @@ namespace Hotline.Api.Controllers
 
             var data = _mapper.Map<Hotline.Share.Dtos.Order.AddOrderDto>(dto);
             data.Source = ESource.WebPortal;
-            if (string.IsNullOrEmpty(data.SourceChannelCode))
-            {
-                data.SourceChannel = "因特网";
-                data.SourceChannelCode = "YTW";
-            }
-
-            if (dto.FromID == "2")
-            {
-                data.SourceChannel = "APP";
-                data.SourceChannelCode = "AP";
-                data.Source = ESource.APP;
-            }
+            data.SourceChannel = "因特网";
+            data.SourceChannelCode = "YTW";
 
-            if (dto.FromID == "3")
+            switch (dto.FromID)
             {
-                data.SourceChannel = "微信";
-                data.SourceChannelCode = "WX";
-                data.Source = ESource.WeChat;
+                case "2":
+                    data.SourceChannel = "APP";
+                    data.SourceChannelCode = "AP";
+                    data.Source = ESource.APP;
+                    break;
+                case "3":
+                    data.SourceChannel = "微信";
+                    data.SourceChannelCode = "WX";
+                    data.Source = ESource.WeChat;
+                    break;
+                case "9"://宜宾人社专用
+                    data.SourceChannel = "人社APP";
+                    data.SourceChannelCode = "RSAPP";
+                    data.Source = ESource.YBHumanSocietyAPP;
+                    break;
+                default:
+                    break;
             }
-
             if (!string.IsNullOrEmpty(data.LicenceNo))
             {
                 data.LicenceTypeCode = "10";

+ 1 - 1
src/Hotline.Api/config/appsettings.Development.json

@@ -62,7 +62,7 @@
     }
   },
   "ConnectionStrings": {
-    "Hotline": "PORT=5432;DATABASE=hotline_dev;HOST=110.188.24.182;PASSWORD=fengwo11!!;USER ID=dev;"
+    "Hotline": "PORT=5432;DATABASE=hotline;HOST=110.188.24.182;PASSWORD=fengwo11!!;USER ID=dev;"
   },
   "Cache": {
     "Host": "110.188.24.182",

+ 9 - 2
src/Hotline.Application/Caselibrary/CaseApplication.cs

@@ -209,6 +209,8 @@ namespace Hotline.Application.Caselibrary
             var (total, temp) = await _caseListRepository.Queryable()
                 .Includes(x => x.CaseTypes)
                 .Includes(x => x.ExaminMan)
+                .Includes(x => x.Order)
+                .Includes(x => x.Knowledge)
                 .Where(x => x.IsDeleted == false)
                 .Where(x => (x.Status == ECaseStatus.Drafts && x.CreatorId == _sessionContext.UserId) || (x.Status != ECaseStatus.Drafts))
                 .WhereIF(OrgSeedData.CenterId != pagedDto.CreateOrgId && !string.IsNullOrEmpty(pagedDto.CreateOrgId), x => x.CreatorOrgId != null && x.CreatorOrgId.StartsWith(pagedDto.CreateOrgId!))
@@ -248,10 +250,15 @@ namespace Hotline.Application.Caselibrary
                 .OrderByIF(pagedDto is { SortField: "pageView" }, x => x.PageView, OrderByType.Desc)         //阅读量
                 .OrderByIF(pagedDto is { SortField: "score" }, x => x.Score, OrderByType.Desc)               //评分
                 .OrderByIF(pagedDto is { SortField: "creationTime" }, x => x.CreationTime, OrderByType.Desc) //创建时间
-
+                .Select(x => new CaseDataDto
+                {
+                    Id = x.Id.SelectAll(),
+                    OrderTitle = x.Order.Title,
+                    KnowledgeTitle = x.Knowledge.Title
+                })
                 .ToPagedListAsync(pagedDto.PageIndex, pagedDto.PageSize, cancellationToken);
 
-            return (total, _mapper.Map<IList<CaseDataDto>>(temp));
+            return (total, temp);
         }
 
         #endregion

+ 3 - 3
src/Hotline.Application/Planlibrary/PlanApplication.cs

@@ -222,9 +222,9 @@ namespace Hotline.Application.Planlibrary
                 .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.Keyword), x => x.Title.Contains(pagedDto.Keyword!) ||
-                                                                  x.CreatorName!.Contains(pagedDto.Keyword!) ||
-                                                                  x.CreatorOrgName!.Contains(pagedDto.Keyword!))
+                .WhereIF(!string.IsNullOrEmpty(pagedDto.Keywords), x => x.Title.Contains(pagedDto.Keywords!) ||
+                                                                  x.CreatorName!.Contains(pagedDto.Keywords!) ||
+                                                                  x.CreatorOrgName!.Contains(pagedDto.Keywords!))
                 .WhereIF(pagedDto.Status.HasValue && pagedDto.Status != EPlanStatus.OffShelf &&
                                                      pagedDto.Status != EPlanStatus.NewDrafts &&
                                                      pagedDto.Status != EPlanStatus.All,

+ 0 - 2
src/Hotline.Application/Snapshot/IndustryApplication.cs

@@ -136,8 +136,6 @@ public class IndustryApplication : IIndustryApplication, IScopeDependency
     {
         dto.ValidateObject();
         var entity = dto.Adapt<IndustryCase>();
-        entity.CitizenReadPackAmount = entity.CitizenReadPackAmount * 100;
-        entity.GuiderReadPackAmount = entity.GuiderReadPackAmount * 100;
         return await _industryCaseRepository.AddAsync(entity);
     }
 

+ 30 - 6
src/Hotline.Share/Dtos/Caselibrary/CaseDataDto.cs

@@ -1,4 +1,5 @@
-using Hotline.Share.Dtos.Hotspots;
+using Hotline.Share.Dtos.Knowledge;
+using Hotline.Share.Dtos.Order;
 using Hotline.Share.Dtos.Users;
 using Hotline.Share.Enums.Article;
 using Hotline.Share.Enums.Caselibrary;
@@ -130,17 +131,40 @@ namespace Hotline.Share.Dtos.Caselibrary
             return "";
         }
 
-        public HotspotDto HotspotType { get; set; }
+        /// <summary>
+        /// 评分
+        /// </summary>
+        public decimal? Score { get; set; } = decimal.Zero;
 
         /// <summary>
-        /// 热点
+        /// 工单ID
         /// </summary>
-        public string HotspotName => HotspotType != null ? HotspotType.HotSpotFullName : string.Empty;
+        public string OrderId { get; set; }
 
         /// <summary>
-        /// 评分
+        /// 工单
         /// </summary>
-        public decimal? Score { get; set; } = decimal.Zero;
+        //public OrderDto Order { get; set; }
+
+        //public string OrderTitle => Order != null ? Order.Title : string.Empty;
+
+        public string OrderTitle { get; set; }
+
+        /// <summary>
+        /// 知识库ID
+        /// </summary>
+        public string KnowledgeId { get; set; }
+
+        /// <summary>
+        /// 知识库
+        /// </summary>
+        //public KnowledgeDto Knowledge { get; set; }
+        public string KnowledgeTitle { get; set; }
+
+        /// <summary>
+        /// 关键字
+        /// </summary>
+        public string Keywords { get; set; }
     }
 
     public record CaseRelationTypeDto

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

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

+ 3 - 3
src/Hotline.Share/Dtos/Planlibrary/PlanListDto.cs

@@ -18,7 +18,7 @@ namespace Hotline.Share.Dtos.Planlibrary
         /// <summary>
         /// 关键词
         /// </summary>
-        public string? Keyword { get; set; }
+        public string? Keywords { get; set; }
 
         /// <summary>
         /// 内容
@@ -152,7 +152,7 @@ namespace Hotline.Share.Dtos.Planlibrary
         /// <summary>
         /// 关键词
         /// </summary>
-        public string? Keyword { get; set; }
+        public string? Keywords { get; set; }
 
         /// <summary>
         /// 内容
@@ -285,7 +285,7 @@ namespace Hotline.Share.Dtos.Planlibrary
         /// <summary>
         /// 关键词
         /// </summary>
-        public string? Keyword { get; set; }
+        public string? Keywords { get; set; }
 
         /// <summary>
         /// 内容

+ 1 - 1
src/Hotline.Share/Dtos/WebPortal/WebFlowAcceptDto.cs

@@ -81,7 +81,7 @@ namespace Hotline.Share.Dtos.WebPortal
         public string Content { get; set; }
 
         /// <summary>
-        /// 来源方式 APP来源为2,微信来源为3,
+        /// 来源方式 APP来源为2,微信来源为3,宜宾人社来源9,
         /// </summary>
         public string? FromID { get; set; }
 

+ 5 - 0
src/Hotline.Share/Enums/Order/ESource.cs

@@ -99,6 +99,11 @@ public enum ESource
     /// </summary>
     ZGTFTB = 407,
 
+    /// <summary>
+    /// 宜宾人社APP
+    /// </summary>
+    YBHumanSocietyAPP=408,
+
     #region 导入类型(>=500  <530为导入来源)
     /// <summary>
     /// 麻辣社区导入

+ 5 - 2
src/Hotline/CaseLibrary/CaseList.cs

@@ -34,8 +34,11 @@ public class CaseList : CreationEntity
     /// <summary>
     /// 关键词
     /// </summary>
-    [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true, ColumnDescription = "关键词")]
-    public List<string>? Keywords { get; set; }
+    //[SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true, ColumnDescription = "关键词")]
+    //public List<string>? Keywords { get; set; }
+
+    [SugarColumn(ColumnDescription = "关键词")]
+    public string? Keywords { get; set; }
 
     /// <summary>
     /// 案例描述