feat tickets
This commit is contained in:
@@ -21,6 +21,7 @@ using Kurisu.AspNetCore.DataAccess.Dto;
|
||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
|
||||
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
|
||||
using Kurisu.AspNetCore.UnifyResultAndValidation;
|
||||
using Dlhis.Constants;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Services.Implements;
|
||||
|
||||
@@ -88,7 +89,7 @@ public class OrderService : IOrderService
|
||||
{
|
||||
var subjectId = _currentUser.GetIntSubjectId();
|
||||
var gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.IdentityUserId == subjectId).FirstAsync();
|
||||
var jinkoCode = _currentUser.GetUserClaim("jinko-code") ?? string.Empty;
|
||||
var jinkoCode = _currentUser.GetUserClaim(UserClaimConstants.JinkoCode) ?? string.Empty;
|
||||
if (jinkoCode.IsPresent())
|
||||
{
|
||||
gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == jinkoCode).SingleAsync();
|
||||
@@ -153,12 +154,12 @@ public class OrderService : IOrderService
|
||||
|
||||
if (request.Source == BalanceRecordSourceEnumType.QrCode)
|
||||
{
|
||||
if (request.UserUniqueNo.StartsWith("01"))
|
||||
if (request.UserUniqueNo.StartsWith(QrCodeConstants.User))
|
||||
{
|
||||
gainfo = await GetUserByQrCodeAsync(request.UserUniqueNo);
|
||||
await CheckPermissionAsync(gainfo.Code, request.DeviceUniqueNo);
|
||||
}
|
||||
else if (request.UserUniqueNo.StartsWith("02"))
|
||||
else if (request.UserUniqueNo.StartsWith(QrCodeConstants.EMealVoucher))
|
||||
{
|
||||
request.Source = BalanceRecordSourceEnumType.EMealVoucher;
|
||||
var eMealVoucherQrCode = await _dbContext.Queryable<EMealVoucherDetailQrCodeEntity>().Where(x => x.QrCode == request.UserUniqueNo).SingleAsync();
|
||||
@@ -166,6 +167,12 @@ public class OrderService : IOrderService
|
||||
var code = eMealVoucherQrCode.OriginData.Split(':')[2];
|
||||
gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == code).SingleAsync();
|
||||
}
|
||||
else if (request.UserUniqueNo.StartsWith(QrCodeConstants.Birthday))
|
||||
{
|
||||
var ticket = await _dbContext.Queryable<TicketEntity>().Where(x => x.Type == TicketEnumType.Birthday).Where(x => x.QrCode == request.UserUniqueNo).SingleAsync();
|
||||
ticket.ThrowIfNull("无法识别");
|
||||
gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == ticket.UserCode).SingleAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new UserFriendlyException($"无法识别{request.UserUniqueNo}");
|
||||
|
||||
Reference in New Issue
Block a user