fix 移除No
This commit is contained in:
@@ -84,10 +84,13 @@ public class GainfoGroupService : IGainfoGroupService
|
|||||||
|
|
||||||
await _devicePermissionService.GenerateDeviceTasksAsync(async () =>
|
await _devicePermissionService.GenerateDeviceTasksAsync(async () =>
|
||||||
{
|
{
|
||||||
var relations = await _dbContext.Queryable<GainfoGroupRelationshipEntity>().Where(x => x.GroupCode == request.GroupCode).ToListAsync();
|
var relations = await _dbContext.Queryable<GainfoGroupRelationshipEntity>()
|
||||||
|
.Where(x => x.GroupCode == request.GroupCode)
|
||||||
|
.ToListAsync();
|
||||||
await _dbContext.DeleteAsync(relations);
|
await _dbContext.DeleteAsync(relations);
|
||||||
|
|
||||||
request.UserNos = await _dbContext.Queryable<GainfoEntity>().Where(x => request.UserNos.Contains(x.No) || request.UserNos.Contains(x.Code))
|
request.UserNos = await _dbContext.Queryable<GainfoEntity>()
|
||||||
|
.Where(x => request.UserNos.Contains(x.No) || request.UserNos.Contains(x.Code))
|
||||||
.Select(x => x.No)
|
.Select(x => x.No)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ public class GainfoService : IGainfoService
|
|||||||
|
|
||||||
var info = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
|
var info = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
|
||||||
.LeftJoin<DepartmentEntity>((ga, department) => ga.DepartmentNo == department.No)
|
.LeftJoin<DepartmentEntity>((ga, department) => ga.DepartmentNo == department.No)
|
||||||
.LeftJoin<GainfoMealEntity>((ga, department, mealUser) => ga.No == mealUser.UserNo)
|
.LeftJoin<GainfoMealEntity>((ga, department, mealUser) => ga.Code == mealUser.UserCode)
|
||||||
.LeftJoin<BasicTypeEntity>((ga, department, mealUser, type) => type.Code == ga.CardType.ToString() && type.Type == "timeperiod")
|
.LeftJoin<BasicTypeEntity>((ga, department, mealUser, type) => type.Code == ga.CardType.ToString() && type.Type == "timeperiod")
|
||||||
.Where((ga, department) => ga.Id == gainfo.Id)
|
.Where((ga, department) => ga.Id == gainfo.Id)
|
||||||
.Select((ga, department, mealUser, type) => new GainfoCurrentResponse
|
.Select((ga, department, mealUser, type) => new GainfoCurrentResponse
|
||||||
|
|||||||
@@ -189,7 +189,6 @@ public class MealSupplementRecordService : IMealSupplementRecordService
|
|||||||
{
|
{
|
||||||
mealUser = new GainfoMealEntity
|
mealUser = new GainfoMealEntity
|
||||||
{
|
{
|
||||||
UserNo = gainfo.No,
|
|
||||||
UserCode = gainfo.Code,
|
UserCode = gainfo.Code,
|
||||||
Balance = 0,
|
Balance = 0,
|
||||||
BalanceOfRecharge = 0,
|
BalanceOfRecharge = 0,
|
||||||
|
|||||||
@@ -128,12 +128,11 @@ public class BalanceService : IBalanceService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var userNo = balanceRecord.UserNo;
|
|
||||||
//获取人员余额
|
//获取人员余额
|
||||||
return await _dbContext.Queryable<GainfoMealEntity>()
|
return await _dbContext.Queryable<GainfoMealEntity>()
|
||||||
.LeftJoin<GainfoEntity>((x, ga) => x.UserNo == ga.No)
|
.LeftJoin<GainfoEntity>((x, ga) => x.UserCode == ga.Code)
|
||||||
.LeftJoin<DepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
.LeftJoin<DepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
||||||
.Where(x => x.UserNo == userNo)
|
.Where(x => x.UserCode == balanceRecord.UserCode)
|
||||||
.Select((x, ga, department) => new OrderResultResponse
|
.Select((x, ga, department) => new OrderResultResponse
|
||||||
{
|
{
|
||||||
UserCode = ga.Code,
|
UserCode = ga.Code,
|
||||||
@@ -525,7 +524,6 @@ public class BalanceService : IBalanceService
|
|||||||
{
|
{
|
||||||
gainfoMeal = new GainfoMealEntity
|
gainfoMeal = new GainfoMealEntity
|
||||||
{
|
{
|
||||||
UserNo = gainfo.No,
|
|
||||||
UserCode = gainfo.Code,
|
UserCode = gainfo.Code,
|
||||||
Balance = 0,
|
Balance = 0,
|
||||||
BalanceOfRecharge = 0,
|
BalanceOfRecharge = 0,
|
||||||
@@ -565,7 +563,6 @@ public class BalanceService : IBalanceService
|
|||||||
{
|
{
|
||||||
gainfoMeal = new GainfoMealEntity
|
gainfoMeal = new GainfoMealEntity
|
||||||
{
|
{
|
||||||
UserNo = gainfo.No,
|
|
||||||
UserCode = gainfo.Code,
|
UserCode = gainfo.Code,
|
||||||
Balance = 0,
|
Balance = 0,
|
||||||
BalanceOfRecharge = 0,
|
BalanceOfRecharge = 0,
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService
|
|||||||
TenantId = businessPlace.TenantId,
|
TenantId = businessPlace.TenantId,
|
||||||
};
|
};
|
||||||
|
|
||||||
var orderId = await DbContext.InsertReturnIdentityAsync(order);
|
await DbContext.InsertAsync(order);
|
||||||
await CommonHelper.RetryAsync(async () =>
|
await CommonHelper.RetryAsync(async () =>
|
||||||
{
|
{
|
||||||
await _dishesMenuApi.GetBookingDishesDetailAsync(request.BookingDate, request.BusinessPlaceCode, (int)request.ShiftType, request.DishesCode);
|
await _dishesMenuApi.GetBookingDishesDetailAsync(request.BookingDate, request.BusinessPlaceCode, (int)request.ShiftType, request.DishesCode);
|
||||||
@@ -98,7 +98,7 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService
|
|||||||
//餐补
|
//餐补
|
||||||
if (request.Source == BalanceRecordSourceEnumType.LocalTenantSubsidies)
|
if (request.Source == BalanceRecordSourceEnumType.LocalTenantSubsidies)
|
||||||
{
|
{
|
||||||
var mealInfo = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
var mealInfo = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserCode == order.UserCode).FirstAsync();
|
||||||
mealInfo.ThrowIfNull("余额不足,无法消费");
|
mealInfo.ThrowIfNull("余额不足,无法消费");
|
||||||
|
|
||||||
//金额+-
|
//金额+-
|
||||||
@@ -109,7 +109,7 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService
|
|||||||
.SetColumns(x => x.Balance == mealInfo.Balance)
|
.SetColumns(x => x.Balance == mealInfo.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == order.UserNo && x.Version == mealInfo.Version) //必须与查询时的version一致
|
.Where(x => x.UserCode == order.UserCode && x.Version == mealInfo.Version) //必须与查询时的version一致
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -252,7 +252,7 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService
|
|||||||
{
|
{
|
||||||
await CommonHelper.RetryAsync(async () =>
|
await CommonHelper.RetryAsync(async () =>
|
||||||
{
|
{
|
||||||
var mealInfo = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
var mealInfo = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserCode == order.UserCode).FirstAsync();
|
||||||
var setBalance = mealInfo.Balance + Math.Abs(order.Amount);
|
var setBalance = mealInfo.Balance + Math.Abs(order.Amount);
|
||||||
await DbContext.Updateable<GainfoMealEntity>()
|
await DbContext.Updateable<GainfoMealEntity>()
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ public class HainingBalanceService : IHainingBalanceService
|
|||||||
{
|
{
|
||||||
gainfoMeal = new GainfoMealEntity
|
gainfoMeal = new GainfoMealEntity
|
||||||
{
|
{
|
||||||
UserNo = gainfo.No,
|
|
||||||
UserCode = gainfo.Code,
|
UserCode = gainfo.Code,
|
||||||
Balance = 0,
|
Balance = 0,
|
||||||
BalanceOfRecharge = 0,
|
BalanceOfRecharge = 0,
|
||||||
|
|||||||
@@ -30,9 +30,9 @@ public class MiddleService : IMiddleService
|
|||||||
|
|
||||||
//获取人员余额
|
//获取人员余额
|
||||||
return await _dbContext.Queryable<GainfoMealEntity>()
|
return await _dbContext.Queryable<GainfoMealEntity>()
|
||||||
.LeftJoin<GainfoEntity>((x, ga) => x.UserNo == ga.No)
|
.LeftJoin<GainfoEntity>((x, ga) => x.UserCode == ga.Code)
|
||||||
.LeftJoin<DepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
.LeftJoin<DepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
||||||
.Where(x => x.UserNo == entity.UserNo)
|
.Where(x => x.UserCode == entity.UserCode)
|
||||||
.Select((x, ga, department) => new OrderResultResponse
|
.Select((x, ga, department) => new OrderResultResponse
|
||||||
{
|
{
|
||||||
UserCode = ga.Code,
|
UserCode = ga.Code,
|
||||||
|
|||||||
@@ -294,7 +294,7 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
|
|
||||||
await CommonHelper.RetryAsync(async () =>
|
await CommonHelper.RetryAsync(async () =>
|
||||||
{
|
{
|
||||||
var gainfoMeal = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).SingleAsync();
|
var gainfoMeal = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserCode == order.UserCode).SingleAsync();
|
||||||
//金额+-
|
//金额+-
|
||||||
gainfoMeal.Balance += order.Amount;
|
gainfoMeal.Balance += order.Amount;
|
||||||
(gainfoMeal.Balance < 0).ThrowIfTrue("余额不足,无法消费");
|
(gainfoMeal.Balance < 0).ThrowIfTrue("余额不足,无法消费");
|
||||||
@@ -303,7 +303,7 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version) //必须与查询时的version一致
|
.Where(x => x.UserCode == order.UserCode && x.Version == gainfoMeal.Version) //必须与查询时的version一致
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
|
|
||||||
//写入记录
|
//写入记录
|
||||||
@@ -390,7 +390,7 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
await using var handler = await redisCache.LockAsync($"gainfo:meal:{order.UserNo}", retryInterval: TimeSpan.FromSeconds(1));
|
await using var handler = await redisCache.LockAsync($"gainfo:meal:{order.UserNo}", retryInterval: TimeSpan.FromSeconds(1));
|
||||||
if (handler.Acquired)
|
if (handler.Acquired)
|
||||||
{
|
{
|
||||||
var gainfoMeal = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
var gainfoMeal = await DbContext.Queryable<GainfoMealEntity>().Where(x => x.UserCode == order.UserCode).FirstAsync();
|
||||||
if (gainfoMeal == null)
|
if (gainfoMeal == null)
|
||||||
{
|
{
|
||||||
gainfoMeal = new GainfoMealEntity
|
gainfoMeal = new GainfoMealEntity
|
||||||
@@ -399,7 +399,6 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
BalanceOfRecharge = 0,
|
BalanceOfRecharge = 0,
|
||||||
BalanceOfSubsidies = 0,
|
BalanceOfSubsidies = 0,
|
||||||
Version = 0,
|
Version = 0,
|
||||||
UserNo = order.UserNo,
|
|
||||||
UserCode = order.UserCode,
|
UserCode = order.UserCode,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -413,7 +412,7 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version) //必须与查询时的version一致
|
.Where(x => x.UserCode == order.UserCode && x.Version == gainfoMeal.Version) //必须与查询时的version一致
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
|
|
||||||
//写入记录
|
//写入记录
|
||||||
@@ -610,9 +609,9 @@ public class OrderService : BaseOrderService, IOrderService
|
|||||||
|
|
||||||
//获取人员余额
|
//获取人员余额
|
||||||
var data = await DbContext.Queryable<GainfoMealEntity>()
|
var data = await DbContext.Queryable<GainfoMealEntity>()
|
||||||
.LeftJoin<GainfoEntity>((x, ga) => x.UserNo == ga.No)
|
.LeftJoin<GainfoEntity>((x, ga) => x.UserCode == ga.Code)
|
||||||
.LeftJoin<DepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
.LeftJoin<DepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
||||||
.Where(x => x.UserNo == gainfo.No)
|
.Where(x => x.UserCode == gainfo.Code)
|
||||||
.Select((x, ga, department) => new OrderResultResponse
|
.Select((x, ga, department) => new OrderResultResponse
|
||||||
{
|
{
|
||||||
UserCode = ga.Code,
|
UserCode = ga.Code,
|
||||||
|
|||||||
@@ -10,12 +10,6 @@ namespace Dlhis.Entity.Basic.Entity
|
|||||||
[SugarTable(TableName = "GainfoMeal", TableDescription = "就餐人员")]
|
[SugarTable(TableName = "GainfoMeal", TableDescription = "就餐人员")]
|
||||||
public class GainfoMealEntity : SugarBaseEntity, IVersion
|
public class GainfoMealEntity : SugarBaseEntity, IVersion
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// 档案号
|
|
||||||
/// </summary>
|
|
||||||
[SugarColumn(IsNullable = false, ColumnDescription = "档案号", UniqueGroupNameList = new[] { "idx_CanteenUser_UserNo" })]
|
|
||||||
public string UserNo { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工号
|
/// 工号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public class OrderService : IOrderService
|
|||||||
var isError = false;
|
var isError = false;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
(await _dbContext.Queryable<LocalGainfoMealEntity>().Where(x => x.UserNo == gainfo.No).AnyAsync()).ThrowIfFalse("余额不足,无法消费");
|
(await _dbContext.Queryable<LocalGainfoMealEntity>().Where(x => x.UserCode == gainfo.Code).AnyAsync()).ThrowIfFalse("余额不足,无法消费");
|
||||||
await ConsumeAsync(request.Adapt<ConsumeRequest>(), gainfo);
|
await ConsumeAsync(request.Adapt<ConsumeRequest>(), gainfo);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -81,9 +81,9 @@ public class OrderService : IOrderService
|
|||||||
|
|
||||||
//获取人员余额
|
//获取人员余额
|
||||||
var data = await _dbContext.Queryable<LocalGainfoMealEntity>()
|
var data = await _dbContext.Queryable<LocalGainfoMealEntity>()
|
||||||
.LeftJoin<LocalGainfoEntity>((x, ga) => x.UserNo == ga.No)
|
.LeftJoin<LocalGainfoEntity>((x, ga) => x.UserCode == ga.Code)
|
||||||
.LeftJoin<LocalDepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
.LeftJoin<LocalDepartmentEntity>((x, ga, department) => ga.DepartmentNo == department.No)
|
||||||
.Where(x => x.UserNo == gainfo.No)
|
.Where(x => x.UserCode == gainfo.Code)
|
||||||
.Select((x, ga, department) => new OrderResultResponse
|
.Select((x, ga, department) => new OrderResultResponse
|
||||||
{
|
{
|
||||||
UserCode = ga.Code,
|
UserCode = ga.Code,
|
||||||
@@ -196,7 +196,7 @@ public class OrderService : IOrderService
|
|||||||
{
|
{
|
||||||
if (!allowNoBalance)
|
if (!allowNoBalance)
|
||||||
{
|
{
|
||||||
var gainfoMeal = await _dbContext.Queryable<LocalGainfoMealEntity>().Where(x => x.UserNo == balanceRecord.UserNo).SingleAsync();
|
var gainfoMeal = await _dbContext.Queryable<LocalGainfoMealEntity>().Where(x => x.UserCode == balanceRecord.UserCode).SingleAsync();
|
||||||
//金额+-
|
//金额+-
|
||||||
gainfoMeal.Balance -= Math.Abs(balanceRecord.Amount);
|
gainfoMeal.Balance -= Math.Abs(balanceRecord.Amount);
|
||||||
|
|
||||||
@@ -206,7 +206,7 @@ public class OrderService : IOrderService
|
|||||||
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
.SetColumns(x => x.Balance == gainfoMeal.Balance)
|
||||||
.SetColumns(x => x.Version == x.Version + 1)
|
.SetColumns(x => x.Version == x.Version + 1)
|
||||||
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
.SetColumns(x => x.ModifiedTime == DateTime.Now)
|
||||||
.Where(x => x.UserNo == balanceRecord.UserNo && x.Version == gainfoMeal.Version) //必须与查询时的version一致
|
.Where(x => x.UserCode == balanceRecord.UserCode && x.Version == gainfoMeal.Version) //必须与查询时的version一致
|
||||||
.ExecuteCommandThrowVersionAsync();
|
.ExecuteCommandThrowVersionAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,6 @@ public class MealChunengSupplementHandlerJob : BaseJob
|
|||||||
Balance = 0,
|
Balance = 0,
|
||||||
BalanceOfRecharge = 0,
|
BalanceOfRecharge = 0,
|
||||||
BalanceOfSubsidies = 0,
|
BalanceOfSubsidies = 0,
|
||||||
UserNo = gainfo.No,
|
|
||||||
UserCode = gainfo.Code,
|
UserCode = gainfo.Code,
|
||||||
Version = 0,
|
Version = 0,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -101,7 +101,6 @@ public class MealHainingSupplementHandlerJob : BaseJob
|
|||||||
Balance = 0,
|
Balance = 0,
|
||||||
BalanceOfRecharge = 0,
|
BalanceOfRecharge = 0,
|
||||||
BalanceOfSubsidies = 0,
|
BalanceOfSubsidies = 0,
|
||||||
UserNo = gainfo.No,
|
|
||||||
UserCode = gainfo.Code,
|
UserCode = gainfo.Code,
|
||||||
Version = 0,
|
Version = 0,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -101,7 +101,6 @@ public class MealSupplementHandlerJob : BaseJob
|
|||||||
Balance = 0,
|
Balance = 0,
|
||||||
BalanceOfRecharge = 0,
|
BalanceOfRecharge = 0,
|
||||||
BalanceOfSubsidies = 0,
|
BalanceOfSubsidies = 0,
|
||||||
UserNo = gainfo.No,
|
|
||||||
UserCode = gainfo.Code,
|
UserCode = gainfo.Code,
|
||||||
Version = 0,
|
Version = 0,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user