From 35ebce6a854c6c4cd306ca0ae2b135009395f4a7 Mon Sep 17 00:00:00 2001 From: chenchun Date: Tue, 13 Aug 2024 15:33:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dtos/Assignment/AssignmentGetListInput.cs | 2 +- .../Enums/AssignmentRequirementTypeEnum.cs | 26 +++++++++ .../Assignment/AssignmentAggregateRoot.cs | 13 ++++- .../AssignmentDefineAggregateRoot.cs | 7 ++- .../Managers/AssignmentManager.cs | 11 +++- Yi.Bbs.Vue3/src/views/assignment/Index.vue | 55 +++++++++++++++++-- 6 files changed, 101 insertions(+), 13 deletions(-) create mode 100644 Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/AssignmentRequirementTypeEnum.cs diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Assignment/AssignmentGetListInput.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Assignment/AssignmentGetListInput.cs index e999dcd8..af308e36 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Assignment/AssignmentGetListInput.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Application.Contracts/Dtos/Assignment/AssignmentGetListInput.cs @@ -7,7 +7,7 @@ public class AssignmentGetListInput /// /// 任务查询条件 /// - public AssignmentQueryStateEnum? AssignmentQueryState { get; set; } + public AssignmentQueryStateEnum AssignmentQueryState { get; set; } = AssignmentQueryStateEnum.Progress; } public enum AssignmentQueryStateEnum diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/AssignmentRequirementTypeEnum.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/AssignmentRequirementTypeEnum.cs new file mode 100644 index 00000000..04aef002 --- /dev/null +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain.Shared/Enums/AssignmentRequirementTypeEnum.cs @@ -0,0 +1,26 @@ +namespace Yi.Framework.Bbs.Domain.Shared.Enums; + +public enum AssignmentRequirementTypeEnum +{ + /// + /// 主题 + /// + Discuss=2, + + /// + /// 评论 + /// + Comment=4, + + /// + /// 更新个人中心 + /// + UpdateProfile=8, + + + /// + /// 点赞 + /// + Agree=16 + +} \ No newline at end of file diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/Assignment/AssignmentAggregateRoot.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/Assignment/AssignmentAggregateRoot.cs index 8b59c859..cb8b6361 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/Assignment/AssignmentAggregateRoot.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/Assignment/AssignmentAggregateRoot.cs @@ -38,7 +38,7 @@ public class AssignmentAggregateRoot : AggregateRoot, IHasCreationTime, IO /// /// 任务状态 /// - public AssignmentStateEnum AssignmentState { get; set; } + public AssignmentStateEnum AssignmentState { get; set; } /// /// 任务奖励的钱钱数量 @@ -52,9 +52,9 @@ public class AssignmentAggregateRoot : AggregateRoot, IHasCreationTime, IO public DateTime? CompleteTime { get; set; } - public DateTime CreationTime { get; } + public DateTime CreationTime { get; set; } public int OrderNum { get; set; } - public DateTime? LastModificationTime { get; } + public DateTime? LastModificationTime{ get; set; } public bool IsAllowCompleted() @@ -72,4 +72,11 @@ public class AssignmentAggregateRoot : AggregateRoot, IHasCreationTime, IO return true; } + + public void SetComplete() + { + this.AssignmentState = AssignmentStateEnum.Completed; + this.CompleteTime=DateTime.Now; + + } } \ No newline at end of file diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/Assignment/AssignmentDefineAggregateRoot.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/Assignment/AssignmentDefineAggregateRoot.cs index 72d44e8d..52d6aa9e 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/Assignment/AssignmentDefineAggregateRoot.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Entities/Assignment/AssignmentDefineAggregateRoot.cs @@ -31,6 +31,11 @@ public class AssignmentDefineAggregateRoot: AggregateRoot, IHasCreationTim /// public AssignmentTypeEnum AssignmentType{ get; set; } + /// + /// 任务需求类型 + /// + public AssignmentRequirementTypeEnum AssignmentRequirementType{ get; set; } + /// /// 总共步骤数 /// @@ -46,6 +51,6 @@ public class AssignmentDefineAggregateRoot: AggregateRoot, IHasCreationTim /// public decimal RewardsMoneyNumber { get; set; } - public DateTime CreationTime { get; } + public DateTime CreationTime{ get; set; } public int OrderNum { get; set; } } \ No newline at end of file diff --git a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/AssignmentManager.cs b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/AssignmentManager.cs index 02b5fead..58267821 100644 --- a/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/AssignmentManager.cs +++ b/Yi.Abp.Net8/module/bbs/Yi.Framework.Bbs.Domain/Managers/AssignmentManager.cs @@ -68,11 +68,18 @@ public class AssignmentManager : DomainService var assignment = await _assignmentRepository.GetByIdAsync(asignmentId); if (assignment.IsAllowCompleted()) { - //设置已完成,并领取奖励,钱钱 - assignment.AssignmentState = AssignmentStateEnum.Completed; //加钱加钱 await _localEventBus.PublishAsync( new MoneyChangeEventArgs { UserId = assignment.UserId, Number = assignment.RewardsMoneyNumber }, false); + + //设置已完成,并领取奖励,钱钱 + assignment.SetComplete(); + await _assignmentRepository.UpdateAsync(assignment); + } + else + { + //不能领取 + throw new UserFriendlyException("该任务无法领取奖励,请检查任务详情"); } } diff --git a/Yi.Bbs.Vue3/src/views/assignment/Index.vue b/Yi.Bbs.Vue3/src/views/assignment/Index.vue index 4c889bdc..2dca2c09 100644 --- a/Yi.Bbs.Vue3/src/views/assignment/Index.vue +++ b/Yi.Bbs.Vue3/src/views/assignment/Index.vue @@ -1,18 +1,61 @@  \ No newline at end of file