fix 金额小于等于零

This commit is contained in:
2024-04-10 18:24:51 +08:00
parent 4969717c92
commit fdefadb9db
4 changed files with 4 additions and 48 deletions

View File

@@ -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>

View File

@@ -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) });
}
}
}

View File

@@ -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);

View File

@@ -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()
{