Procházet zdrojové kódy

Merge branch 'master' of https://git.zhongjie51.com/zhongjie51/99ditui

lifa před 2 roky
rodič
revize
f3c5b82e29

+ 13 - 0
src/platform/ZhonTai.Admin/Domain/Notice/INoticeRepository.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ZhonTai.Admin.Core.Repositories;
+
+namespace ZhonTai.Admin.Domain.Notice
+{    
+    public interface INoticeRepository : IRepositoryBase<NoticeEntity>
+    {
+    }
+}

+ 34 - 0
src/platform/ZhonTai.Admin/Domain/Notice/NoticeEntity.cs

@@ -0,0 +1,34 @@
+using FreeSql.DataAnnotations;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ZhonTai.Admin.Core.Entities;
+
+namespace ZhonTai.Admin.Domain.Notice
+{
+    /// <summary>
+    /// 公告
+    /// </summary>
+    [Table(Name = "ditui_notice")]    
+    public partial class NoticeEntity : EntityTenant {
+        /// <summary>
+        /// 公告标题
+        /// </summary>
+        public string Title { get; set; }
+        /// <summary>
+        /// 内容
+        /// </summary>
+        [Column(DbType ="text")]
+        public string Context { get; set; }
+        /// <summary>
+        /// 排序 越大越靠前
+        /// </summary>        
+        public int Rank { get; set; }
+        /// <summary>
+        /// 是否弹窗 1弹窗 0不弹窗
+        /// </summary>
+        public int IsAlter { get; set; } = 0;
+    }
+}

+ 4 - 0
src/platform/ZhonTai.Admin/Domain/Project/ProjectEntity.cs

@@ -50,5 +50,9 @@ namespace ZhonTai.Admin.Domain.Project
         /// 作业要求
         /// </summary>
         public string Works { get; set; }
+        /// <summary>
+        /// 热词 多个词英文逗号分割,
+        /// </summary>
+        public string HotWords { get; set; }
     }
 }

+ 18 - 0
src/platform/ZhonTai.Admin/Repositories/Notice/NoticeRepository.cs

@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ZhonTai.Admin.Core.Db.Transaction;
+using ZhonTai.Admin.Domain.Notice;
+using ZhonTai.Admin.Domain.Org;
+
+namespace ZhonTai.Admin.Repositories.Notice
+{    
+    public class NoticeRepository : AdminRepositoryBase<NoticeEntity>, INoticeRepository
+    {
+        public NoticeRepository(UnitOfWorkManagerCloud uowm) : base(uowm)
+        {
+        }        
+    }
+}

+ 29 - 0
src/platform/ZhonTai.Admin/Services/Notice/Dto/NoticeAddInput.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZhonTai.Admin.Services.Notice.Dto
+{
+    public class NoticeAddInput
+    {
+        /// <summary>
+        /// 公告标题
+        /// </summary>
+        public string Title { get; set; }
+        /// <summary>
+        /// 内容
+        /// </summary>        
+        public string Context { get; set; }
+        /// <summary>
+        /// 排序 越大越靠前
+        /// </summary>        
+        public int Rank { get; set; }
+        /// <summary>
+        /// 是否弹窗 1弹窗 0不弹窗
+        /// </summary>
+        public int IsAlter { get; set; } = 0;
+    }
+}

+ 14 - 0
src/platform/ZhonTai.Admin/Services/Notice/Dto/NoticeGetOutput.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZhonTai.Admin.Services.Notice.Dto
+{
+    public class NoticeGetOutput : NoticeUpdateInput
+    {
+
+    }
+}

+ 13 - 0
src/platform/ZhonTai.Admin/Services/Notice/Dto/NoticeGetPageDto.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZhonTai.Admin.Services.Notice.Dto
+{
+    public class NoticeGetPageDto
+    {
+
+    }
+}

+ 33 - 0
src/platform/ZhonTai.Admin/Services/Notice/Dto/NoticeListOutput.cs

@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZhonTai.Admin.Services.Notice.Dto
+{
+    public class NoticeListOutput
+    {
+        public long Id { get; set; }
+        /// <summary>
+        /// 公告标题
+        /// </summary>
+        public string Title { get; set; }
+        /// <summary>
+        /// 内容
+        /// </summary>        
+        public string Context { get; set; }
+        /// <summary>
+        /// 排序 越大越靠前
+        /// </summary>        
+        public int Rank { get; set; }
+        /// <summary>
+        /// 是否弹窗 1弹窗 0不弹窗
+        /// </summary>
+        public int IsAlter { get; set; }
+        /// <summary>
+        /// 
+        /// </summary>
+        public DateTime? CreatedTime { get; set; }
+    }
+}

+ 13 - 0
src/platform/ZhonTai.Admin/Services/Notice/Dto/NoticeUpdateInput.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZhonTai.Admin.Services.Notice.Dto
+{
+    public class NoticeUpdateInput:NoticeAddInput
+    {
+        public long Id { get; set; }
+    }
+}

+ 12 - 0
src/platform/ZhonTai.Admin/Services/Notice/INoticeService.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZhonTai.Admin.Services.Notice
+{
+    public interface INoticeService
+    {
+    }
+}

+ 113 - 0
src/platform/ZhonTai.Admin/Services/Notice/NoticeService.cs

@@ -0,0 +1,113 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ZhonTai.Admin.Core.Consts;
+using ZhonTai.Admin.Core.Dto;
+using ZhonTai.Admin.Domain.Notice;
+using ZhonTai.Admin.Services.Notice.Dto;
+using ZhonTai.DynamicApi;
+using ZhonTai.DynamicApi.Attributes;
+
+namespace ZhonTai.Admin.Services.Notice
+{    
+        
+    /// <summary>
+    /// 公告服务
+    /// </summary>
+    [DynamicApi(Area = AdminConsts.AreaName)]
+    public class NoticeService : BaseService, INoticeService, IDynamicApi
+    {
+        private INoticeRepository _moduleRepository => LazyGetRequiredService<INoticeRepository>();
+
+        public NoticeService()
+        {
+        }
+
+        /// <summary>
+        /// 查询模块
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public async Task<NoticeGetOutput> GetAsync(long id)
+        {
+            var result = await _moduleRepository.GetAsync<NoticeGetOutput>(id);
+            return result;
+        }
+
+        /// <summary>
+        /// 查询分页
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<PageOutput<NoticeListOutput>> GetPageAsync(PageInput<NoticeGetPageDto> input)
+        {
+            var list = await _moduleRepository.Select            
+            .Count(out var total)
+            .OrderByDescending(true, c => c.Id)
+            .Page(input.CurrentPage, input.PageSize)
+            .ToListAsync<NoticeListOutput>();
+
+            var data = new PageOutput<NoticeListOutput>()
+            {
+                List = list,
+                Total = total
+            };
+
+            return data;
+        }
+
+        /// <summary>
+        /// 新增
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        public async Task<long> AddAsync(NoticeAddInput input)
+        {
+            var entity = Mapper.Map<NoticeEntity>(input);
+            await _moduleRepository.InsertAsync(entity);
+
+            return entity.Id;
+        }
+
+        /// <summary>
+        /// 修改
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        public async Task UpdateAsync(NoticeUpdateInput input)
+        {
+            var entity = await _moduleRepository.GetAsync(input.Id);
+            if (!(entity?.Id > 0))
+            {
+                throw ResultOutput.Exception("模块不存在");
+            }
+
+            Mapper.Map(input, entity);
+            await _moduleRepository.UpdateAsync(entity);
+        }        
+
+        /// <summary>
+        /// 删除
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public async Task SoftDeleteAsync(long id)
+        {
+            await _moduleRepository.SoftDeleteAsync(id);
+        }
+
+        /// <summary>
+        /// 批量删除
+        /// </summary>
+        /// <param name="ids"></param>
+        /// <returns></returns>
+        public async Task BatchSoftDeleteAsync(long[] ids)
+        {
+            await _moduleRepository.SoftDeleteAsync(ids);
+        }
+    }
+}

+ 4 - 0
src/platform/ZhonTai.Admin/Services/Project/Dto/ProjectAddInput.cs

@@ -46,6 +46,10 @@ namespace ZhonTai.Admin.Services.Project.Dto
         /// </summary>
         public string Works { get; set; }
         /// <summary>
+        /// 热词 多个词英文逗号分割,
+        /// </summary>
+        public string HotWords { get; set; }
+        /// <summary>
         /// 项目价格
         /// </summary>
         public List<ProjectPriceAddInput> prices { get; set; }

+ 2 - 2
src/platform/ZhonTai.Admin/Services/ProjectLink/ProjectLinkService.cs

@@ -63,13 +63,13 @@ namespace ZhonTai.Admin.Services.ProjectLink
         /// <param name="input"></param>
         /// <returns></returns>
         [HttpPost]
-        public async Task<PageOutput<ProjectLinkManagePageOutput>> GetPageAsync(PageInput<ProjectLinkManagePageInput> input)
+        public async Task<PageOutput<ProjectLinkManagePageOutput>> GetManagePageAsync(PageInput<ProjectLinkManagePageInput> input)
         {
             var ProjectId = input.Filter?.ProjectId;
             var key = input.Filter?.Keywords;
 
             var list = _ProjectLinkRepository.Select.DisableGlobalFilter(FilterNames.Tenant)
-                .WhereIf(ProjectId.HasValue && ProjectId.Value >= 0, a => a.ProjectId == ProjectId)
+                .WhereIf(ProjectId.HasValue && ProjectId.Value > 0, a => a.ProjectId == ProjectId)
                 .WhereIf(key.NotNull(), a => a.Company.Contains(key))
                 .GroupBy(m=>new { m.ProjectId,m.Company})
             .Count(out var total)

+ 128 - 1
src/platform/ZhonTai.Admin/ZhonTai.Admin.xml

@@ -2567,6 +2567,31 @@
             登录日志
             </summary>
         </member>
+        <member name="T:ZhonTai.Admin.Domain.Notice.NoticeEntity">
+            <summary>
+            公告
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Domain.Notice.NoticeEntity.Title">
+            <summary>
+            公告标题
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Domain.Notice.NoticeEntity.Context">
+            <summary>
+            内容
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Domain.Notice.NoticeEntity.Rank">
+            <summary>
+            排序 越大越靠前
+            </summary>        
+        </member>
+        <member name="P:ZhonTai.Admin.Domain.Notice.NoticeEntity.IsAlter">
+            <summary>
+            是否弹窗 1弹窗 0不弹窗
+            </summary>
+        </member>
         <member name="T:ZhonTai.Admin.Domain.OprationLog.OprationLogEntity">
             <summary>
             操作日志
@@ -3084,6 +3109,11 @@
             作业要求
             </summary>
         </member>
+        <member name="P:ZhonTai.Admin.Domain.Project.ProjectEntity.HotWords">
+            <summary>
+            热词 多个词英文逗号分割,
+            </summary>
+        </member>
         <member name="T:ZhonTai.Admin.Domain.Project.ProjectPriceEntity">
             <summary>
             项目价格
@@ -5867,6 +5897,98 @@
             <param name="input"></param>
             <returns></returns>
         </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeAddInput.Title">
+            <summary>
+            公告标题
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeAddInput.Context">
+            <summary>
+            内容
+            </summary>        
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeAddInput.Rank">
+            <summary>
+            排序 越大越靠前
+            </summary>        
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeAddInput.IsAlter">
+            <summary>
+            是否弹窗 1弹窗 0不弹窗
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeListOutput.Title">
+            <summary>
+            公告标题
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeListOutput.Context">
+            <summary>
+            内容
+            </summary>        
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeListOutput.Rank">
+            <summary>
+            排序 越大越靠前
+            </summary>        
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeListOutput.IsAlter">
+            <summary>
+            是否弹窗 1弹窗 0不弹窗
+            </summary>
+        </member>
+        <member name="P:ZhonTai.Admin.Services.Notice.Dto.NoticeListOutput.CreatedTime">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="T:ZhonTai.Admin.Services.Notice.NoticeService">
+            <summary>
+            公告服务
+            </summary>
+        </member>
+        <member name="M:ZhonTai.Admin.Services.Notice.NoticeService.GetAsync(System.Int64)">
+            <summary>
+            查询模块
+            </summary>
+            <param name="id"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZhonTai.Admin.Services.Notice.NoticeService.GetPageAsync(ZhonTai.Admin.Core.Dto.PageInput{ZhonTai.Admin.Services.Notice.Dto.NoticeGetPageDto})">
+            <summary>
+            查询分页
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZhonTai.Admin.Services.Notice.NoticeService.AddAsync(ZhonTai.Admin.Services.Notice.Dto.NoticeAddInput)">
+            <summary>
+            新增
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZhonTai.Admin.Services.Notice.NoticeService.UpdateAsync(ZhonTai.Admin.Services.Notice.Dto.NoticeUpdateInput)">
+            <summary>
+            修改
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZhonTai.Admin.Services.Notice.NoticeService.SoftDeleteAsync(System.Int64)">
+            <summary>
+            删除
+            </summary>
+            <param name="id"></param>
+            <returns></returns>
+        </member>
+        <member name="M:ZhonTai.Admin.Services.Notice.NoticeService.BatchSoftDeleteAsync(System.Int64[])">
+            <summary>
+            批量删除
+            </summary>
+            <param name="ids"></param>
+            <returns></returns>
+        </member>
         <member name="T:ZhonTai.Admin.Services.OprationLog.Dto.OprationLogAddInput">
             <summary>
             添加
@@ -7067,7 +7189,7 @@
             项目推广码服务
             </summary>
         </member>
-        <member name="M:ZhonTai.Admin.Services.ProjectLink.ProjectLinkService.GetPageAsync(ZhonTai.Admin.Core.Dto.PageInput{ZhonTai.Admin.Services.ProjectLink.Dto.ProjectLinkManagePageInput})">
+        <member name="M:ZhonTai.Admin.Services.ProjectLink.ProjectLinkService.GetManagePageAsync(ZhonTai.Admin.Core.Dto.PageInput{ZhonTai.Admin.Services.ProjectLink.Dto.ProjectLinkManagePageInput})">
             <summary>
             查询推广管理分页
             </summary>
@@ -7141,6 +7263,11 @@
             作业要求
             </summary>
         </member>
+        <member name="P:ZhonTai.Admin.Services.Project.Dto.ProjectAddInput.HotWords">
+            <summary>
+            热词 多个词英文逗号分割,
+            </summary>
+        </member>
         <member name="P:ZhonTai.Admin.Services.Project.Dto.ProjectAddInput.prices">
             <summary>
             项目价格