feat: 新增任务需求枚举

This commit is contained in:
chenchun
2024-08-13 15:33:03 +08:00
parent 9530350d06
commit 35ebce6a85
6 changed files with 101 additions and 13 deletions

View File

@@ -38,7 +38,7 @@ public class AssignmentAggregateRoot : AggregateRoot<Guid>, IHasCreationTime, IO
/// <summary>
/// 任务状态
/// </summary>
public AssignmentStateEnum AssignmentState { get; set; }
public AssignmentStateEnum AssignmentState { get; set; }
/// <summary>
/// 任务奖励的钱钱数量
@@ -52,9 +52,9 @@ public class AssignmentAggregateRoot : AggregateRoot<Guid>, 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<Guid>, IHasCreationTime, IO
return true;
}
public void SetComplete()
{
this.AssignmentState = AssignmentStateEnum.Completed;
this.CompleteTime=DateTime.Now;
}
}

View File

@@ -31,6 +31,11 @@ public class AssignmentDefineAggregateRoot: AggregateRoot<Guid>, IHasCreationTim
/// </summary>
public AssignmentTypeEnum AssignmentType{ get; set; }
/// <summary>
/// 任务需求类型
/// </summary>
public AssignmentRequirementTypeEnum AssignmentRequirementType{ get; set; }
/// <summary>
/// 总共步骤数
/// </summary>
@@ -46,6 +51,6 @@ public class AssignmentDefineAggregateRoot: AggregateRoot<Guid>, IHasCreationTim
/// </summary>
public decimal RewardsMoneyNumber { get; set; }
public DateTime CreationTime { get; }
public DateTime CreationTime{ get; set; }
public int OrderNum { get; set; }
}

View File

@@ -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("该任务无法领取奖励,请检查任务详情");
}
}