From 7620ece055c34a13c868d846f4f34cd0a0fb3c4d Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期四, 07 八月 2025 18:26:28 +0800 Subject: [PATCH] feat:任务开发 --- FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs | 31 ++ FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs | 10 FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs | 31 ++ FlexJobApi.Core/Entities/Tasks/TaskInfo.cs | 25 ++ FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs | 54 ++++ FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs | 1 FlexJobApi.Core/Enums/Tasks/EnumTaskSettlementStatus.cs | 23 ++ FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs | 73 +++++ FlexJobApi.Core/Enums/Tasks/EnumTaskCheckReceiveStatus.cs | 23 ++ FlexJobApi.Application/FlexJobApi.Application.xml | 16 + FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs | 22 + FlexJobApi.Core/Enums/Tasks/EnumTaskUserSettlementStatus.cs | 31 ++ FlexJobApi.Core/Enums/Tasks/EnumTaskRecommendStatus.cs | 23 ++ FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs | 31 ++ FlexJobApi.Core/FlexJobApi.Core.xml | 166 +++++++++++++++ FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs | 47 ++++ 16 files changed, 593 insertions(+), 14 deletions(-) diff --git a/FlexJobApi.Application/FlexJobApi.Application.xml b/FlexJobApi.Application/FlexJobApi.Application.xml index 0874d90..280b148 100644 --- a/FlexJobApi.Application/FlexJobApi.Application.xml +++ b/FlexJobApi.Application/FlexJobApi.Application.xml @@ -145,6 +145,22 @@ <returns></returns> <exception cref="T:System.NotImplementedException"></exception> </member> + <member name="M:FlexJobApi.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SetTaskInfoReleaseStatusCommand,System.Threading.CancellationToken)"> + <summary> + 璁剧疆浠诲姟鍙戝竷鐘舵�� + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> + <member name="M:FlexJobApi.Application.TaskInfoCommandHandler.Handle(FlexJobApi.Core.SetTaskInfoRecommendStatusCommand,System.Threading.CancellationToken)"> + <summary> + 璁剧疆浠诲姟鏄惁鎺ㄨ崘 + </summary> + <param name="request"></param> + <param name="cancellationToken"></param> + <returns></returns> + </member> <member name="T:FlexJobApi.Application.TaskInfoQueryHandler"> <summary> 浠诲姟鏌ヨ澶勭悊鍣� diff --git a/FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs b/FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs index b55ad0e..63e63bf 100644 --- a/FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs +++ b/FlexJobApi.Application/Tasks/Commands/TaskInfoCommandHandler.cs @@ -17,8 +17,10 @@ /// </summary> public class TaskInfoCommandHandler( IRepository<TaskInfo> rep - ) - : IRequestHandler<SaveTaskInfoCommand, Guid> + ) : + IRequestHandler<SaveTaskInfoCommand, Guid>, + IRequestHandler<SetTaskInfoReleaseStatusCommand, int>, + IRequestHandler<SetTaskInfoRecommendStatusCommand, int> { private readonly IRepository<TaskInfo> rep = rep; @@ -34,7 +36,8 @@ { var logier = JwtUtils.GetCurrentLogier(); return await request.SaveData<TaskInfo, SaveTaskInfoCommand>( - q => { + q => + { q = TaskInfoRepository.GetQueryable(rep) .Include(it => it.Benefits) .Include(it => it.CredentialLimits); @@ -65,6 +68,44 @@ cancellationToken); } + /// <summary> + /// 璁剧疆浠诲姟鍙戝竷鐘舵�� + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<int> Handle(SetTaskInfoReleaseStatusCommand request, CancellationToken cancellationToken) + { + var entities = await TaskInfoRepository.GetQueryable(rep) + .Where(it => request.Ids.Contains(it.Id)) + .ToListAsync(); + foreach (var entity in entities) + { + entity.ReleaseStatus = request.ReleaseStatus; + } + await rep.UpdateAsync(entities); + return entities.Count; + } + + /// <summary> + /// 璁剧疆浠诲姟鏄惁鎺ㄨ崘 + /// </summary> + /// <param name="request"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<int> Handle(SetTaskInfoRecommendStatusCommand request, CancellationToken cancellationToken) + { + var entities = await TaskInfoRepository.GetQueryable(rep) + .Where(it => request.Ids.Contains(it.Id)) + .ToListAsync(); + foreach (var entity in entities) + { + entity.RecommendStatus = request.RecommendStatus; + } + await rep.UpdateAsync(entities); + return entities.Count; + } + private async Task BuildCode(TaskInfo entity) { entity.Code = $"{DateTime.Now:yyyyMMddHHmm}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}"; diff --git a/FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs b/FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs index 7b635b7..fdc31e5 100644 --- a/FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs +++ b/FlexJobApi.Application/Tasks/Queries/TaskInfoQueryHandler.cs @@ -30,12 +30,20 @@ /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> - public Task<GetTaskInfoQueryResult> Handle(GetTaskInfoQuery request, CancellationToken cancellationToken) + public async Task<GetTaskInfoQueryResult> Handle(GetTaskInfoQuery request, CancellationToken cancellationToken) { - return TaskInfoRepository.GetQueryable(rep) + var model = await TaskInfoRepository.GetQueryable(rep) .Where(it => it.Id == request.Id) .ProjectToType<GetTaskInfoQueryResult>() .FirstOrDefaultAsync(cancellationToken); + model.EnterpriseName = await rep.Change<Enterprise>().AsQueryable().AsNoTracking() + .Where(it => it.EnterpriseAuthId == model.EnterpriseId) + .Select(it => it.EnterpriseAuth.EnterpriseName) + .FirstOrDefaultAsync(); + model.TaskCount = await rep.AsQueryable().AsNoTracking() + .Where(it => it.EnterpriseId == model.EnterpriseId && it.ReleaseStatus == EnumTaskReleaseStatus.Stopped) + .CountAsync(); + return model; } /// <summary> @@ -46,12 +54,61 @@ /// <returns></returns> public Task<PagedListQueryResult<GetTaskInfosQueryResultItem>> Handle(GetTaskInfosQuery request, CancellationToken cancellationToken) { - return request.PageModel.GetPagedListAsync<TaskInfo, GetTaskInfosQueryResultItem>( - q => - { - q = TaskInfoRepository.GetQueryable(rep); - return q; - }); + var q = TaskInfoRepository.GetQueryable(rep); + if (request.Keywords.IsNotNull()) + { + q = q.Where(it => it.Name.Contains(request.Keywords)); + } + if (request.Time.HasValue) + { + q = q.Where(it => it.BeginTime <= request.Time && request.Time <= it.EndTime); + } + if (request.CityCode.IsNotNull()) + { + q = q.Where(it => it.CityCode == request.CityCode); + } + if (request.SettlementCycle.HasValue) + { + q = q.Where(it => it.SettlementCycle == request.SettlementCycle); + } + if (request.BenefitCodes.IsNotNull()) + { + q = q.Where(it => it.Benefits.Any(b => request.BenefitCodes.Contains(b.BenefitCode))); + } + if (request.GenderLimit.HasValue) + { + q = q.Where(it => it.GenderLimit == request.GenderLimit); + } + if (request.Status.HasValue) + { + q = q.Where(it => it.Status == request.Status); + } + if (request.ReleaseStatus.HasValue) + { + q = q.Where(it => it.ReleaseStatus == request.ReleaseStatus); + } + if (request.RecommendStatus.HasValue) + { + q = q.Where(it => it.RecommendStatus == request.RecommendStatus); + } + var s = from t in q + join tu in rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() on t.Id equals tu.TaskInfoId into tug + select new GetTaskInfosQueryResultItem + { + Id = t.Id, + Name = t.Name, + Code = t.Code, + BillingMethod = t.BillingMethod, + ServiceFee = t.ServiceFee, + SettlementCycle = t.SettlementCycle, + GenderLimit = t.GenderLimit, + UserCount = tug.Count(), + Status = t.Status, + BeginTime = t.BeginTime, + EndTime = t.EndTime, + ReleaseStatus = t.ReleaseStatus + }; + return request.PageModel.GetPagedListAsync(s, cancellationToken); } } } diff --git a/FlexJobApi.Core/Entities/Tasks/TaskInfo.cs b/FlexJobApi.Core/Entities/Tasks/TaskInfo.cs index e92201f..d5a480a 100644 --- a/FlexJobApi.Core/Entities/Tasks/TaskInfo.cs +++ b/FlexJobApi.Core/Entities/Tasks/TaskInfo.cs @@ -108,6 +108,16 @@ public string Address { get; set; } /// <summary> + /// 缁忓害 + /// </summary> + public decimal? Longitude { get; set; } + + /// <summary> + /// 绾害 + /// </summary> + public decimal? Latitude { get; set; } + + /// <summary> /// 浠诲姟寮�濮嬫椂闂� /// </summary> public DateTime BeginTime { get; set; } @@ -127,6 +137,21 @@ /// </summary> public EnumTaskReleaseStatus ReleaseStatus { get; set; } + /// <summary> + /// 楠屾敹鐘舵�� + /// </summary> + public EnumTaskCheckReceiveStatus? CheckReceiveStatus { get; set; } + + /// <summary> + /// 缁撶畻鐘舵�� + /// </summary> + public EnumTaskSettlementStatus? SettlementStatus { get; set; } + + /// <summary> + /// 鎺ㄨ崘鐘舵�� + /// </summary> + public EnumTaskRecommendStatus RecommendStatus { get; set; } + public void Configure(EntityTypeBuilder<TaskInfo> entityBuilder, DbContext dbContext, Type dbContextLocator) { entityBuilder diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskCheckReceiveStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskCheckReceiveStatus.cs new file mode 100644 index 0000000..8fb8d6a --- /dev/null +++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskCheckReceiveStatus.cs @@ -0,0 +1,23 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 浠诲姟缁撶畻鐘舵�� + /// </summary> + public enum EnumTaskCheckReceiveStatus + { + /// <summary> + /// 寰呴獙鏀� + /// </summary> + Wait = 10, + /// <summary> + /// 宸查獙鏀� + /// </summary> + Completed = 30 + } +} diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskRecommendStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskRecommendStatus.cs new file mode 100644 index 0000000..72773e1 --- /dev/null +++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskRecommendStatus.cs @@ -0,0 +1,23 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 浠诲姟鎺ㄨ崘鐘舵�� + /// </summary> + public enum EnumTaskRecommendStatus + { + /// <summary> + /// 鏈帹鑽� + /// </summary> + No = 10, + /// <summary> + /// 宸叉帹鑽� + /// </summary> + Yes = 20 + } +} diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskSettlementStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskSettlementStatus.cs new file mode 100644 index 0000000..0745d45 --- /dev/null +++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskSettlementStatus.cs @@ -0,0 +1,23 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 浠诲姟缁撶畻鐘舵�� + /// </summary> + public enum EnumTaskSettlementStatus + { + /// <summary> + /// 寰呯粨绠� + /// </summary> + Wait = 10, + /// <summary> + /// 宸茬粨绠� + /// </summary> + Completed = 30, + } +} diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSettlementStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSettlementStatus.cs new file mode 100644 index 0000000..2c5910b --- /dev/null +++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSettlementStatus.cs @@ -0,0 +1,31 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 浠诲姟鐢ㄦ埛缁撶畻鐘舵�� + /// </summary> + public enum EnumTaskUserSettlementStatus + { + /// <summary> + /// 寰呯粨绠� + /// </summary> + Wait = 10, + /// <summary> + /// 缁撶畻涓� + /// </summary> + InProcess = 20, + /// <summary> + /// 宸茬粨绠� + /// </summary> + Completed = 30, + /// <summary> + /// 缁撶畻澶辫触 + /// </summary> + Fail = 40 + } +} diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs new file mode 100644 index 0000000..bc3fc8b --- /dev/null +++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSubmitCheckReceiveStatus.cs @@ -0,0 +1,31 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 浠诲姟楠屾敹鐘舵�� + /// </summary> + public enum EnumTaskUserSubmitCheckReceiveStatus + { + /// <summary> + /// 寰呮彁浜� + /// </summary> + Submit = 10, + /// <summary> + /// 寰呴獙鏀� + /// </summary> + Wait = 20, + /// <summary> + /// 楠屾敹閫氳繃 + /// </summary> + Success = 30, + /// <summary> + /// 楠屾敹鏈�氳繃 + /// </summary> + Fail = 40 + } +} diff --git a/FlexJobApi.Core/FlexJobApi.Core.xml b/FlexJobApi.Core/FlexJobApi.Core.xml index 97f842d..8c732bc 100644 --- a/FlexJobApi.Core/FlexJobApi.Core.xml +++ b/FlexJobApi.Core/FlexJobApi.Core.xml @@ -644,6 +644,21 @@ 鍙戝竷鐘舵�� </summary> </member> + <member name="P:FlexJobApi.Core.TaskInfo.CheckReceiveStatus"> + <summary> + 楠屾敹鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.TaskInfo.SettlementStatus"> + <summary> + 缁撶畻鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.TaskInfo.RecommendStatus"> + <summary> + 鎺ㄨ崘鐘舵�� + </summary> + </member> <member name="T:FlexJobApi.Core.TaskInfoBenefit"> <summary> 浠诲姟绂忓埄 @@ -1949,6 +1964,36 @@ 鏃ョ粨 </summary> </member> + <member name="T:FlexJobApi.Core.EnumTaskCheckReceiveStatus"> + <summary> + 浠诲姟缁撶畻鐘舵�� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskCheckReceiveStatus.Wait"> + <summary> + 寰呴獙鏀� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskCheckReceiveStatus.Completed"> + <summary> + 宸查獙鏀� + </summary> + </member> + <member name="T:FlexJobApi.Core.EnumTaskRecommendStatus"> + <summary> + 浠诲姟鎺ㄨ崘鐘舵�� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskRecommendStatus.No"> + <summary> + 鏈帹鑽� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskRecommendStatus.Yes"> + <summary> + 宸叉帹鑽� + </summary> + </member> <member name="T:FlexJobApi.Core.EnumTaskReleaseStatus"> <summary> 浠诲姟鍙戝竷鐘舵�� @@ -1962,6 +2007,21 @@ <member name="F:FlexJobApi.Core.EnumTaskReleaseStatus.Stopped"> <summary> 宸插仠姝� + </summary> + </member> + <member name="T:FlexJobApi.Core.EnumTaskSettlementStatus"> + <summary> + 浠诲姟缁撶畻鐘舵�� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskSettlementStatus.Wait"> + <summary> + 寰呯粨绠� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskSettlementStatus.Completed"> + <summary> + 宸茬粨绠� </summary> </member> <member name="T:FlexJobApi.Core.EnumTaskStatus"> @@ -1999,6 +2059,31 @@ 宸茶阿缁� </summary> </member> + <member name="T:FlexJobApi.Core.EnumTaskUserSettlementStatus"> + <summary> + 浠诲姟鐢ㄦ埛缁撶畻鐘舵�� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskUserSettlementStatus.Wait"> + <summary> + 寰呯粨绠� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskUserSettlementStatus.InProcess"> + <summary> + 缁撶畻涓� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskUserSettlementStatus.Completed"> + <summary> + 宸茬粨绠� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskUserSettlementStatus.Fail"> + <summary> + 缁撶畻澶辫触 + </summary> + </member> <member name="T:FlexJobApi.Core.EnumTaskUserSignContractStatus"> <summary> 浠诲姟鐢ㄦ埛绛剧害鐘舵�� @@ -2017,6 +2102,31 @@ <member name="F:FlexJobApi.Core.EnumTaskUserSignContractStatus.Refuse"> <summary> 宸叉嫆绛� + </summary> + </member> + <member name="T:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus"> + <summary> + 浠诲姟楠屾敹鐘舵�� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Submit"> + <summary> + 寰呮彁浜� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Wait"> + <summary> + 寰呴獙鏀� + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Success"> + <summary> + 楠屾敹閫氳繃 + </summary> + </member> + <member name="F:FlexJobApi.Core.EnumTaskUserSubmitCheckReceiveStatus.Fail"> + <summary> + 楠屾敹鏈�氳繃 </summary> </member> <member name="T:FlexJobApi.Core.EnumClientType"> @@ -2765,6 +2875,36 @@ 浠诲姟缁撴潫鏃堕棿 </summary> </member> + <member name="T:FlexJobApi.Core.SetTaskInfoRecommendStatusCommand"> + <summary> + 璁剧疆浠诲姟鏄惁鎺ㄨ崘 + </summary> + </member> + <member name="P:FlexJobApi.Core.SetTaskInfoRecommendStatusCommand.Ids"> + <summary> + Id + </summary> + </member> + <member name="P:FlexJobApi.Core.SetTaskInfoRecommendStatusCommand.RecommendStatus"> + <summary> + 鎺ㄨ崘鐘舵�� + </summary> + </member> + <member name="T:FlexJobApi.Core.SetTaskInfoReleaseStatusCommand"> + <summary> + 璁剧疆浠诲姟鍙戝竷鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.SetTaskInfoReleaseStatusCommand.Ids"> + <summary> + Id + </summary> + </member> + <member name="P:FlexJobApi.Core.SetTaskInfoReleaseStatusCommand.ReleaseStatus"> + <summary> + 鍙戝竷鐘舵�� + </summary> + </member> <member name="T:FlexJobApi.Core.GetTaskInfoQuery"> <summary> 鏌ヨ浠诲姟璇︽儏 @@ -2895,9 +3035,19 @@ 鍙戝竷鐘舵�� </summary> </member> + <member name="P:FlexJobApi.Core.GetTaskInfosQuery.RecommendStatus"> + <summary> + 鎺ㄨ崘鐘舵�� + </summary> + </member> <member name="T:FlexJobApi.Core.GetTaskInfosQueryResultItem"> <summary> 鏌ヨ浠诲姟鍒嗛〉鍒楄〃-缁撴灉-椤� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.Id"> + <summary> + Id </summary> </member> <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.Name"> @@ -2955,6 +3105,21 @@ 鍙戝竷鐘舵�� </summary> </member> + <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.CheckReceiveStatus"> + <summary> + 楠屾敹鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.SettlementStatus"> + <summary> + 缁撶畻鐘舵�� + </summary> + </member> + <member name="P:FlexJobApi.Core.GetTaskInfosQueryResultItem.RecommendStatus"> + <summary> + 鎺ㄨ崘鐘舵�� + </summary> + </member> <member name="T:FlexJobApi.Core.TaskInfoRepository"> <summary> 浠诲姟浠撳簱 @@ -2965,7 +3130,6 @@ 鑾峰彇浠诲姟鏌ヨ </summary> <param name="rep"></param> - <param name="query"></param> <param name="logier"></param> <returns></returns> </member> diff --git a/FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs b/FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs index 4f6c983..abdc8b9 100644 --- a/FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs +++ b/FlexJobApi.Core/Models/Main/Tasks/Commands/SaveTaskInfoCommand.cs @@ -93,6 +93,16 @@ public string Address { get; set; } /// <summary> + /// 缁忓害 + /// </summary> + public decimal? Longitude { get; set; } + + /// <summary> + /// 绾害 + /// </summary> + public decimal? Latitude { get; set; } + + /// <summary> /// 浠诲姟寮�濮嬫椂闂� /// </summary> [Required] diff --git a/FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs b/FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs new file mode 100644 index 0000000..dddc701 --- /dev/null +++ b/FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoRecommendStatusCommand.cs @@ -0,0 +1,31 @@ +锘縰sing MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 璁剧疆浠诲姟鏄惁鎺ㄨ崘 + /// </summary> + [Resource([EnumResourceController.Task])] + public class SetTaskInfoRecommendStatusCommand : IRequest<int> + { + public SetTaskInfoRecommendStatusCommand() + { + Ids = []; + } + + /// <summary> + /// Id + /// </summary> + public List<Guid> Ids { get; set; } + + /// <summary> + /// 鎺ㄨ崘鐘舵�� + /// </summary> + public EnumTaskRecommendStatus RecommendStatus { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs b/FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs new file mode 100644 index 0000000..d2a9e78 --- /dev/null +++ b/FlexJobApi.Core/Models/Main/Tasks/Commands/SetTaskInfoReleaseStatusCommand.cs @@ -0,0 +1,31 @@ +锘縰sing MediatR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FlexJobApi.Core +{ + /// <summary> + /// 璁剧疆浠诲姟鍙戝竷鐘舵�� + /// </summary> + [Resource([EnumResourceController.Task])] + public class SetTaskInfoReleaseStatusCommand : IRequest<int> + { + public SetTaskInfoReleaseStatusCommand() + { + Ids = []; + } + + /// <summary> + /// Id + /// </summary> + public List<Guid> Ids { get; set; } + + /// <summary> + /// 鍙戝竷鐘舵�� + /// </summary> + public EnumTaskReleaseStatus ReleaseStatus { get; set; } + } +} diff --git a/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs b/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs index 1481353..ccecf9e 100644 --- a/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs +++ b/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfoQuery.cs @@ -23,7 +23,7 @@ } /// <summary> - /// 鏌ヨ浠诲姟璇︽儏-缁撴灉 + /// 鏌ヨ浠诲姟璇︽儏-缁撴灉-浼佷笟 /// </summary> public class GetTaskInfoQueryResult { @@ -37,6 +37,21 @@ /// Id /// </summary> public Guid Id { get; set; } + + /// <summary> + /// 浼佷笟Id + /// </summary> + public Guid EnterpriseId { get; set; } + + /// <summary> + /// 浼佷笟鍏ㄧО + /// </summary> + public string EnterpriseName { get; set; } + + /// <summary> + /// 鍦ㄦ嫑宀椾綅鏁伴噺 + /// </summary> + public int TaskCount { get; set; } /// <summary> /// 浠诲姟鍚嶇О @@ -122,5 +137,10 @@ /// 鍒涘缓鏃堕棿 /// </summary> public DateTimeOffset CreatedTime { get; set; } + + /// <summary> + /// 鏄惁宸叉敹钘� + /// </summary> + public bool IsCollected { get; set; } } } diff --git a/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs b/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs index 655a275..57f3d30 100644 --- a/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs +++ b/FlexJobApi.Core/Models/Main/Tasks/Queries/GetTaskInfosQuery.cs @@ -13,6 +13,11 @@ [Resource([EnumResourceController.Task])] public class GetTaskInfosQuery : PagedListQuery<PagedListQueryResult<GetTaskInfosQueryResultItem>, GetTaskInfosQueryResultItem> { + public GetTaskInfosQuery() + { + BenefitCodes = []; + } + /// <summary> /// 鍏抽敭瀛楋紙浠诲姟鍚嶇О锛� /// </summary> @@ -24,6 +29,26 @@ public DateTime? Time { get; set; } /// <summary> + /// 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� + /// </summary> + public string CityCode { get; set; } + + /// <summary> + /// 缁撶畻鏂瑰紡 + /// </summary> + public EnumSettlementCycle? SettlementCycle { get; set; } + + /// <summary> + /// 鍛樺伐绂忓埄 + /// </summary> + public List<string> BenefitCodes { get; set; } + + /// <summary> + /// 鎬у埆瑕佹眰 + /// </summary> + public EnumUserGender? GenderLimit { get; set; } + + /// <summary> /// 浠诲姟鐘舵�� /// </summary> public EnumTaskStatus? Status { get; set; } @@ -32,6 +57,11 @@ /// 鍙戝竷鐘舵�� /// </summary> public EnumTaskReleaseStatus? ReleaseStatus { get; set; } + + /// <summary> + /// 鎺ㄨ崘鐘舵�� + /// </summary> + public EnumTaskRecommendStatus? RecommendStatus { get; set; } } /// <summary> @@ -39,6 +69,11 @@ /// </summary> public class GetTaskInfosQueryResultItem { + /// <summary> + /// Id + /// </summary> + public Guid Id { get; set; } + /// <summary> /// 浠诲姟鍚嶇О /// </summary> @@ -95,5 +130,24 @@ /// </summary> public EnumTaskReleaseStatus ReleaseStatus { get; set; } + /// <summary> + /// 楠屾敹鐘舵�� + /// </summary> + public EnumTaskCheckReceiveStatus CheckReceiveStatus { get; set; } + + /// <summary> + /// 缁撶畻鐘舵�� + /// </summary> + public EnumTaskSettlementStatus SettlementStatus { get; set; } + + /// <summary> + /// 鎺ㄨ崘鐘舵�� + /// </summary> + public EnumTaskRecommendStatus RecommendStatus { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTimeOffset CreatedTime { get; set; } } } diff --git a/FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs b/FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs index c8c5b2a..2f73592 100644 --- a/FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs +++ b/FlexJobApi.Core/Models/Main/Tasks/Repositories/TaskInfoRepository.cs @@ -18,7 +18,6 @@ /// 鑾峰彇浠诲姟鏌ヨ /// </summary> /// <param name="rep"></param> - /// <param name="query"></param> /// <param name="logier"></param> /// <returns></returns> public static IQueryable<TaskInfo> GetQueryable(this IRepository<TaskInfo> rep, CurrentLogier logier = null) -- Gitblit v1.9.1