fix 金额小于等于零
This commit is contained in:
@@ -97,19 +97,6 @@ public class BalancesController : ControllerBase
|
||||
return await _balanceService.GetPageByUserAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 作废消费明细
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[Authorize(Roles = "admin,tenant-admin")]
|
||||
[HttpPost("obsoluteOutRecord")]
|
||||
[Transactional]
|
||||
public async Task ObsoluteAsync(BalanceRecordObsoluteRequest request)
|
||||
{
|
||||
await _balanceService.ObsoluteAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据成本中心
|
||||
/// </summary>
|
||||
|
||||
@@ -19,13 +19,14 @@ public class BalanceSupplementRequest : IValidatableObject
|
||||
/// <summary>
|
||||
/// 补金额数
|
||||
/// </summary>
|
||||
|
||||
public decimal Amount { get; set; }
|
||||
|
||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
||||
{
|
||||
if (Amount == 0)
|
||||
if (Amount > 0)
|
||||
{
|
||||
yield return new ValidationResult("金额不可为0元", new[] { nameof(Amount) });
|
||||
yield return new ValidationResult("金额有误", new[] { nameof(Amount) });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,8 +15,6 @@ public interface IBalanceService : IScopeDependency
|
||||
|
||||
Task SupplementBalanceAsync(BalanceSupplementRequest request);
|
||||
|
||||
Task ObsoluteAsync(BalanceRecordObsoluteRequest request);
|
||||
|
||||
Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync(BalanceRecordPageByCostIdRequest request);
|
||||
|
||||
Task<Pagination<BalanceRecordDetailPageResponse>> RecordPageDetailsAsync(BalanceRecordPageDetailRequest request);
|
||||
|
||||
@@ -177,7 +177,6 @@ public class BalanceService : IBalanceService
|
||||
newBalanceRecord.Remark = balanceInfo.No + ":" + request.Reason;
|
||||
newBalanceRecord.Status = BalanceRecordStatusEnumType.Valid;
|
||||
|
||||
|
||||
await _dbContext.Client.Ado.BeginTranAsync();
|
||||
try
|
||||
{
|
||||
@@ -203,7 +202,7 @@ public class BalanceService : IBalanceService
|
||||
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||
.Where(x => x.UserCode == balanceInfo.UserCode && x.Version == gainfoMeal.Version)
|
||||
.ExecuteCommandThrowVersionAsync();
|
||||
});
|
||||
}, 10);
|
||||
}
|
||||
|
||||
|
||||
@@ -586,35 +585,6 @@ public class BalanceService : IBalanceService
|
||||
};
|
||||
}
|
||||
|
||||
public async Task ObsoluteAsync(BalanceRecordObsoluteRequest request)
|
||||
{
|
||||
var balanceRecord = await _dbContext.Queryable<BalanceRecordEntity>().Where(x => x.Id == request.Id).SingleAsync();
|
||||
balanceRecord.ThrowIfNull("记录不存在");
|
||||
|
||||
(balanceRecord.Type != BalanceRecordTypeEnumType.Out).ThrowIfTrue("非消费记录,无法操作");
|
||||
|
||||
balanceRecord.Status = BalanceRecordStatusEnumType.Obsolute;
|
||||
balanceRecord.Remark = request.Reason;
|
||||
|
||||
await CommonHelper.RetryAsync(async () =>
|
||||
{
|
||||
//重算金额
|
||||
var canteenUser = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == balanceRecord.UserNo).SingleAsync();
|
||||
|
||||
//金额 +
|
||||
canteenUser.Balance += Math.Abs(balanceRecord.Amount);
|
||||
|
||||
await _dbContext.Updateable<GainfoMealEntity>()
|
||||
.SetColumns(x => x.Balance == canteenUser.Balance)
|
||||
.SetColumns(x => x.Version == x.Version + 1)
|
||||
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||
.Where(x => x.UserNo == balanceRecord.UserNo && x.Version == canteenUser.Version)
|
||||
.ExecuteCommandThrowVersionAsync();
|
||||
|
||||
await _dbContext.UpdateAsync(balanceRecord);
|
||||
|
||||
}, 5);
|
||||
}
|
||||
|
||||
public async Task<ConsumeNumberResponse> GetConsumeNumberAsync()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user