feat:完善任务界面

This commit is contained in:
chenchun
2024-08-14 18:31:37 +08:00
parent 27051aa01d
commit b619204c5e
11 changed files with 257 additions and 140 deletions

View File

@@ -52,7 +52,7 @@ public class AssignmentAggregateRoot : AggregateRoot<Guid>, IHasCreationTime, IO
/// 任务需求类型
/// </summary>
public AssignmentRequirementTypeEnum AssignmentRequirementType{ get; set; }
public DateTime? CompleteTime { get; set; }
public DateTime? EndTime { get; set; }
public DateTime CreationTime { get; set; }
@@ -62,7 +62,7 @@ public class AssignmentAggregateRoot : AggregateRoot<Guid>, IHasCreationTime, IO
public bool IsAllowCompleted()
{
return AssignmentState == AssignmentStateEnum.Progress && this.CurrentStepNumber == this.TotalStepNumber;
return AssignmentState == AssignmentStateEnum.Completed && this.CurrentStepNumber == this.TotalStepNumber;
}
public bool TrySetExpire()
@@ -76,10 +76,10 @@ public class AssignmentAggregateRoot : AggregateRoot<Guid>, IHasCreationTime, IO
return true;
}
public void SetComplete()
public void SetEnd()
{
this.AssignmentState = AssignmentStateEnum.Completed;
this.CompleteTime=DateTime.Now;
this.AssignmentState = AssignmentStateEnum.End;
this.EndTime=DateTime.Now;
}
}

View File

@@ -68,10 +68,14 @@ public class AssignmentEventHandler : ILocalEventHandler<AssignmentEventArgs>, I
{
currentAssignmentList.ForEach(x =>
{
if (x.AssignmentRequirementType == AssignmentRequirementTypeEnum.Agree &&
if (x.AssignmentRequirementType == requirementType &&
x.CurrentStepNumber < x.TotalStepNumber)
{
x.CurrentStepNumber += 1;
if (x.CurrentStepNumber==x.TotalStepNumber)
{
x.AssignmentState = AssignmentStateEnum.Completed;
}
}
});
}

View File

@@ -74,7 +74,7 @@ public class AssignmentManager : DomainService
new MoneyChangeEventArgs { UserId = assignment.UserId, Number = assignment.RewardsMoneyNumber }, false);
//设置已完成,并领取奖励,钱钱
assignment.SetComplete();
assignment.SetEnd();
await _assignmentRepository.UpdateAsync(assignment);
}
else

View File

@@ -24,10 +24,11 @@ public abstract class TimerProvider : IAssignmentProvider
//2: 存在已完成,但是完成时间是过期的
var assignmentFilterIds = context.CurrentUserAssignments
.Where(x =>
//正在进行的,要去掉
//正在进行的,已经完成,要去掉
x.AssignmentState == AssignmentStateEnum.Progress||
//已完成,但是还没过期,要去掉
(x.AssignmentState == AssignmentStateEnum.Completed&&!AssignmentType.IsExpire(x.CompleteTime!.Value)))
x.AssignmentState==AssignmentStateEnum.Completed||
//已结束,但是还没过期,要去掉
(x.AssignmentState == AssignmentStateEnum.End&&!AssignmentType.IsExpire(x.EndTime!.Value)))
.Select(x => x.AssignmentDefineId)
.ToList();