fix 增加userId处理

This commit is contained in:
2024-06-26 15:00:23 +08:00
parent 7da8e12390
commit 822f55b2e9
2 changed files with 12 additions and 10 deletions

View File

@@ -24,7 +24,7 @@ public class OrderAddRequest : IValidatableObject
/// <summary> /// <summary>
/// 档案号/QrCode/学工号 /// 档案号/QrCode/学工号
/// </summary> /// </summary>
[Required(ErrorMessage = "人员档案号/QrCode/学工号/userId 不能为空")] [Required(ErrorMessage = "人员档案号/QrCode/学工号不能为空")]
public string UserUniqueNo { get; set; } public string UserUniqueNo { get; set; }
/// <summary> /// <summary>
@@ -44,6 +44,9 @@ public class OrderAddRequest : IValidatableObject
/// </summary> /// </summary>
public DateTime? CostDateTime { get; set; } public DateTime? CostDateTime { get; set; }
public bool IsUserId { get; set; }
public string Image { get; set; } public string Image { get; set; }

View File

@@ -46,20 +46,19 @@ public class OrderService : BaseOrderService, IOrderService
//尝试匹配userId //尝试匹配userId
var s = long.TryParse(request.UserUniqueNo, out var userId); var s = long.TryParse(request.UserUniqueNo, out var userId);
// if (request.Source == BalanceRecordSourceEnumType.QrCode)
// {
// request.UserUniqueNo = await GetUserNoByQrCodeAsync(request.UserUniqueNo);
// }
//根据档案号 //根据档案号
var gainfo = await DbContext.Queryable<GainfoEntity>() var gainfo = await DbContext.Queryable<GainfoEntity>()
.Where(x => x.Code == request.UserUniqueNo || x.Id == userId || x.CardNo == request.UserUniqueNo) .WhereIF(request.Source == BalanceRecordSourceEnumType.Card, x => x.CardNo == request.UserUniqueNo)
.WhereIF(request.Source != BalanceRecordSourceEnumType.Card && !request.IsUserId, x => x.Code == request.UserUniqueNo)
.WhereIF(request.Source != BalanceRecordSourceEnumType.Card && request.IsUserId && s, x => x.Id == userId)
.FirstAsync(); .FirstAsync();
if (gainfo == null && s && request.IsOffline) if (gainfo == null && request.IsOffline)
{ {
await DbContext.Queryable<GainfoEntity>().AS("GainfoLeave") gainfo = await DbContext.Queryable<GainfoEntity>().AS("GainfoLeave")
.Where(x => x.Code == request.UserUniqueNo || x.Id == userId || x.CardNo == request.UserUniqueNo) .WhereIF(request.Source == BalanceRecordSourceEnumType.Card, x => x.CardNo == request.UserUniqueNo)
.WhereIF(request.Source != BalanceRecordSourceEnumType.Card && !request.IsUserId, x => x.Code == request.UserUniqueNo)
.WhereIF(request.Source != BalanceRecordSourceEnumType.Card && request.IsUserId && s, x => x.IdentityUserId == userId)
.FirstAsync(); .FirstAsync();
} }