fix 订餐null异常处理
This commit is contained in:
@@ -8,9 +8,9 @@ public class DishesMenusBookingSettingResponse
|
||||
public DateTime ServerTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐别-餐次信息
|
||||
/// 订餐期限
|
||||
/// </summary>
|
||||
public List<BusinessShiftMealRelationshipResponse> ShiftInfos { get; set; }
|
||||
public DateTime Deadline { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付方式
|
||||
|
||||
@@ -178,7 +178,7 @@ public class DishesMenuService : IDishesMenuService
|
||||
|
||||
foreach (var item in request.Items)
|
||||
{
|
||||
var u = item.Date.ToString("yyyy-MM-dd") + "-" + item.CustomCode;
|
||||
var u = item.Date.ToString("yyyy-MM-dd") + ". " + item.CustomCode;
|
||||
|
||||
(item.ShiftTypes.DistinctBy(x => x.ShiftType).Count() != item.ShiftTypes.Count).ThrowIfTrue($"{u}的餐次不可重复添加");
|
||||
|
||||
|
||||
@@ -66,12 +66,13 @@ public class DishesService : IDishesService
|
||||
.Select(x => x.Value)
|
||||
.FirstAsync();
|
||||
|
||||
DateTime dateTime;
|
||||
DateTime.TryParseExact(strDatetime, "HH:mm:ss", null, System.Globalization.DateTimeStyles.None, out dateTime);
|
||||
if (!TimeOnly.TryParse(strDatetime, out var deadline))
|
||||
deadline = new TimeOnly(8, 30);
|
||||
|
||||
var res = new DishesMenusBookingSettingResponse
|
||||
{
|
||||
ServerTime = dateTime,
|
||||
ServerTime = DateTime.Now,
|
||||
Deadline = DateTime.Today.Add(deadline.ToTimeSpan())
|
||||
};
|
||||
|
||||
var shift = await _dbContext.Queryable<BusinessPlaceShiftRelationshipEntity>()
|
||||
@@ -87,11 +88,7 @@ public class DishesService : IDishesService
|
||||
|
||||
if (shift != null)
|
||||
{
|
||||
var businessShiftMealRelationships = await _dbContext.Queryable<BusinessShiftMealRelationshipEntity>()
|
||||
.Where(x => x.ShiftCode == shift.ShiftCode)
|
||||
.Select<BusinessShiftMealRelationshipResponse>()
|
||||
.ToListAsync();
|
||||
res.ShiftInfos = businessShiftMealRelationships;
|
||||
|
||||
|
||||
if (shift.TenantId == request.Factory)
|
||||
{
|
||||
@@ -104,6 +101,7 @@ public class DishesService : IDishesService
|
||||
|
||||
}
|
||||
res.PayTypes = payTypes;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="MealUser\Request\" />
|
||||
<Folder Include="Summary\Request\" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Dlhis.Basic.MealUser.Request;
|
||||
using Dlhis.Basic.MealUser.Response;
|
||||
using Dlhis.Basic.MealUser.Response;
|
||||
using Dlhis.Basic.MealUser.Services;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
@@ -28,19 +27,8 @@ public class MealUsersController : ControllerBase
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("page")]
|
||||
public async Task<Pagination<MealUserResponse>> GetPageAsync([FromQuery] MealUserPageRequest request)
|
||||
public async Task<Pagination<MealUserResponse>> GetPageAsync([FromQuery] PageDto request)
|
||||
{
|
||||
return await _mealUserService.GetPageAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 就餐人员保存
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task AddAsync(MealUserAddRequest request)
|
||||
{
|
||||
await _mealUserService.AddAsync(request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
|
||||
namespace Dlhis.Basic.MealUser.Request;
|
||||
|
||||
public class MealUserAddRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 档案号
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "档案号不能为空")]
|
||||
public string UserNo { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 用户类型
|
||||
/// </summary>
|
||||
[EnumDataType(typeof(CanteenUserEnumType))]
|
||||
public CanteenUserEnumType UserType { get; set; }
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Basic.MealUser.Request;
|
||||
|
||||
public class MealUserPageRequest : PageDto
|
||||
{
|
||||
}
|
||||
@@ -1,6 +1,4 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
|
||||
namespace Dlhis.Basic.MealUser.Response;
|
||||
namespace Dlhis.Basic.MealUser.Response;
|
||||
|
||||
public class MealUserResponse
|
||||
{
|
||||
@@ -15,13 +13,6 @@ public class MealUserResponse
|
||||
/// </summary>
|
||||
public string UserCode { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 消费人员类型
|
||||
/// </summary>
|
||||
public CanteenUserEnumType UserType { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 卡号
|
||||
/// </summary>
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
using Dlhis.Basic.MealUser.Request;
|
||||
using Dlhis.Basic.MealUser.Response;
|
||||
using Dlhis.Basic.MealUser.Response;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Basic.MealUser.Services;
|
||||
|
||||
public interface IMealUserService : IScopeDependency
|
||||
{
|
||||
Task<Pagination<MealUserResponse>> GetPageAsync(MealUserPageRequest request);
|
||||
|
||||
Task AddAsync(MealUserAddRequest request);
|
||||
Task<Pagination<MealUserResponse>> GetPageAsync(PageDto request);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
using Dlhis.Basic.MealUser.Request;
|
||||
using Dlhis.Basic.MealUser.Response;
|
||||
using Dlhis.Basic.Organization.Services;
|
||||
using Dlhis.Basic.MealUser.Response;
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Dlhis.Entity.Basic.Enums;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Kurisu.SqlSugar.Extensions;
|
||||
using Kurisu.SqlSugar.Services;
|
||||
@@ -13,17 +9,15 @@ namespace Dlhis.Basic.MealUser.Services.Implements;
|
||||
public class MealUserService : IMealUserService
|
||||
{
|
||||
private readonly IDbContext _dbContext;
|
||||
private readonly IGainfoStore _gainfoStore;
|
||||
|
||||
public MealUserService(IDbContext dbContext, IGainfoStore gainfoStore)
|
||||
public MealUserService(IDbContext dbContext)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
_gainfoStore = gainfoStore;
|
||||
}
|
||||
|
||||
public async Task<Pagination<MealUserResponse>> GetPageAsync(MealUserPageRequest request)
|
||||
public async Task<Pagination<MealUserResponse>> GetPageAsync(PageDto request)
|
||||
{
|
||||
var page = await _dbContext.Queryable<CanteenUserEntity>()
|
||||
var page = await _dbContext.Queryable<GainfoMealEntity>()
|
||||
.LeftJoin<GainfoEntity>((x, ga) => x.UserNo == ga.No)
|
||||
.Select((x, ga) => new MealUserResponse
|
||||
{
|
||||
@@ -32,32 +26,9 @@ public class MealUserService : IMealUserService
|
||||
BalanceOfSubsidies = x.BalanceOfSubsidies,
|
||||
UserCode = ga.Code,
|
||||
UserNo = ga.No,
|
||||
UserType = x.UserType
|
||||
})
|
||||
.ToPageListAsync(request);
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
public async Task AddAsync(MealUserAddRequest request)
|
||||
{
|
||||
//todo 获取档案信息
|
||||
|
||||
var gainfoEntity = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
|
||||
.Where(x => x.No.ToString() == request.UserNo)
|
||||
.FirstAsync();
|
||||
|
||||
gainfoEntity.ThrowIfNull($"档案[{request.UserNo}]不存在");
|
||||
|
||||
var entity = new CanteenUserEntity
|
||||
{
|
||||
UserNo = request.UserNo,
|
||||
UserType = request.UserType,
|
||||
Balance = 0,
|
||||
BalanceOfRecharge = 0,
|
||||
BalanceOfSubsidies = 0,
|
||||
Version = 0,
|
||||
};
|
||||
await _dbContext.InsertAsync(entity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ public class GainfoService : IGainfoService
|
||||
|
||||
var info = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
|
||||
.LeftJoin<DepartmentEntity>((ga, department) => ga.DepartmentNo == department.No)
|
||||
.LeftJoin<CanteenUserEntity>((ga, department, mealUser) => ga.No == mealUser.UserNo)
|
||||
.LeftJoin<GainfoMealEntity>((ga, department, mealUser) => ga.No == mealUser.UserNo)
|
||||
.Where((ga, department) => ga.Id == gainfo.Id)
|
||||
.Select((ga, department, mealUser) => new GainfoCurrentResponse
|
||||
{
|
||||
|
||||
@@ -64,7 +64,6 @@ public class OrdersController : ControllerBase
|
||||
/// 订餐
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[IgnoreTenant]
|
||||
[HttpPost("booking")]
|
||||
public async Task Booking(BookingMealRequest request)
|
||||
{
|
||||
|
||||
@@ -558,12 +558,12 @@ public class BalanceService : IBalanceService
|
||||
await ContinueUpdateAsync(async () =>
|
||||
{
|
||||
//重算金额
|
||||
var canteenUser = await _dbContext.Queryable<CanteenUserEntity>().Where(x => x.UserNo == balanceRecord.UserNo).SingleAsync();
|
||||
var canteenUser = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == balanceRecord.UserNo).SingleAsync();
|
||||
|
||||
//金额 +
|
||||
canteenUser.Balance += Math.Abs(balanceRecord.Amount);
|
||||
|
||||
var effect = await _dbContext.Updateable<CanteenUserEntity>()
|
||||
var effect = await _dbContext.Updateable<GainfoMealEntity>()
|
||||
.SetColumns(x => x.Balance == canteenUser.Balance)
|
||||
.SetColumns(x => x.Version == x.Version + 1)
|
||||
.Where(x => x.UserNo == balanceRecord.UserNo && x.Version == canteenUser.Version)
|
||||
|
||||
@@ -64,10 +64,7 @@ public class OrderService : IOrderService
|
||||
|
||||
public async Task Booking(BookingMealRequest request)
|
||||
{
|
||||
await CheckExistsMyBookingsAsync(request.BookingDate);
|
||||
|
||||
var jinkoCode = _currentUser.GetUserClaim("jinko-code");
|
||||
var gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == jinkoCode).FirstAsync();
|
||||
var gainfo = await CheckExistsMyBookingsAsync(request.BookingDate, request.ShiftType);
|
||||
|
||||
var businessPlace = await _dbContext.Queryable<BusinessPlaceEntity>().Where(x => x.Code == request.BusinessPlaceCode).FirstAsync();
|
||||
|
||||
@@ -130,15 +127,29 @@ public class OrderService : IOrderService
|
||||
|
||||
(menuDetail.Number < 0).ThrowIfTrue($"{menuDetail.DishesName}已售罄");
|
||||
|
||||
var canteenUser = await _dbContext.Queryable<CanteenUserEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
||||
//金额+-
|
||||
canteenUser.Balance += order.Amount;
|
||||
(canteenUser.Balance < 0).ThrowIfTrue("余额不足,无法消费");
|
||||
var mealInfo = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
||||
if (mealInfo == null)
|
||||
{
|
||||
await _dbContext.InsertAsync(new GainfoMealEntity
|
||||
{
|
||||
Balance = 0,
|
||||
BalanceOfRecharge = 0,
|
||||
BalanceOfSubsidies = 0,
|
||||
UserCode = gainfo.Code,
|
||||
UserNo = gainfo.No,
|
||||
Version = 0,
|
||||
});
|
||||
|
||||
var effect = await _dbContext.Updateable<CanteenUserEntity>()
|
||||
.SetColumns(x => x.Balance == canteenUser.Balance)
|
||||
(mealInfo == null).ThrowIfTrue("余额不足,无法消费");
|
||||
}
|
||||
//金额+-
|
||||
mealInfo.Balance += order.Amount;
|
||||
(mealInfo.Balance < 0).ThrowIfTrue("余额不足,无法消费");
|
||||
|
||||
var effect = await _dbContext.Updateable<GainfoMealEntity>()
|
||||
.SetColumns(x => x.Balance == mealInfo.Balance)
|
||||
.SetColumns(x => x.Version == x.Version + 1)
|
||||
.Where(x => x.UserNo == order.UserNo && x.Version == canteenUser.Version)//必须与查询时的version一致
|
||||
.Where(x => x.UserNo == order.UserNo && x.Version == mealInfo.Version)//必须与查询时的version一致
|
||||
.ExecuteCommandAsync();
|
||||
|
||||
if (effect <= 0) throw new VersionExceptions("更新版本冲突");
|
||||
@@ -147,7 +158,12 @@ public class OrderService : IOrderService
|
||||
.SetColumns(x => x.Number == menuDetail.Number)
|
||||
.SetColumns(x => x.Version == x.Version + 1)
|
||||
.SetColumns(x => x.ModifiedTime == now)
|
||||
.Where(x => x.Date == menuDetail.Date && x.ShiftType == request.ShiftType && x.BusinessPlaceCode == request.BusinessPlaceCode && x.Version == menuDetail.Version)
|
||||
.Where(x => x.Date == menuDetail.Date
|
||||
&& x.ShiftType == request.ShiftType
|
||||
&& x.BusinessPlaceCode == request.BusinessPlaceCode
|
||||
&& x.DishesCode == request.DishesCode
|
||||
&& x.Version == menuDetail.Version
|
||||
)
|
||||
.ExecuteCommandAsync();
|
||||
|
||||
if (effect <= 0) throw new VersionExceptions("更新版本冲突");
|
||||
@@ -189,19 +205,18 @@ public class OrderService : IOrderService
|
||||
//消费权限控制
|
||||
await CheckPAsync(gainfo.No, request.DeviceUniqueNo);
|
||||
|
||||
var canteenUserExists = await _dbContext.Queryable<CanteenUserEntity>()
|
||||
var canteenUserExists = await _dbContext.Queryable<GainfoMealEntity>()
|
||||
.Where(x => x.UserNo == gainfo.No)
|
||||
.AnyAsync();
|
||||
|
||||
if (!canteenUserExists)
|
||||
{
|
||||
await _dbContext.InsertAsync(new CanteenUserEntity
|
||||
await _dbContext.InsertAsync(new GainfoMealEntity
|
||||
{
|
||||
UserNo = gainfo.No,
|
||||
Balance = 0,
|
||||
BalanceOfRecharge = 0,
|
||||
BalanceOfSubsidies = 0,
|
||||
UserType = CanteenUserEnumType.LocalTenant,
|
||||
TenantId = gainfo.Factory,
|
||||
Version = 0,
|
||||
|
||||
@@ -226,7 +241,7 @@ public class OrderService : IOrderService
|
||||
//获取人员余额
|
||||
return await _dbContext.Queryable<GainfoEntity>()
|
||||
.LeftJoin<DepartmentEntity>((ga, department) => ga.DepartmentNo == department.No)
|
||||
.LeftJoin<CanteenUserEntity>((ga, department, mealUser) => ga.No == mealUser.UserNo)
|
||||
.LeftJoin<GainfoMealEntity>((ga, department, mealUser) => ga.No == mealUser.UserNo)
|
||||
.Where(ga => ga.Id == gainfo.Id)
|
||||
.Select((ga, department, mealUser) => new OrderResultResponse
|
||||
{
|
||||
@@ -582,11 +597,11 @@ public class OrderService : IOrderService
|
||||
|
||||
await ContinueUpdateAsync(async () =>
|
||||
{
|
||||
var canteenUser = await _dbContext.Queryable<CanteenUserEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
||||
var canteenUser = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
||||
//金额+-
|
||||
canteenUser.Balance += order.Amount;
|
||||
|
||||
var effect = await _dbContext.Updateable<CanteenUserEntity>()
|
||||
var effect = await _dbContext.Updateable<GainfoMealEntity>()
|
||||
.SetColumns(x => x.Balance == canteenUser.Balance)
|
||||
.SetColumns(x => x.Version == x.Version + 1)
|
||||
.Where(x => x.UserNo == order.UserNo && x.Version == canteenUser.Version)
|
||||
@@ -623,7 +638,7 @@ public class OrderService : IOrderService
|
||||
{
|
||||
if (!allowNoBalance)
|
||||
{
|
||||
var canteenUser = await _dbContext.Queryable<CanteenUserEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
||||
var canteenUser = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserNo == order.UserNo).FirstAsync();
|
||||
//金额+-
|
||||
canteenUser.Balance += order.Amount;
|
||||
if (canteenUser.Balance < 0)
|
||||
@@ -631,7 +646,7 @@ public class OrderService : IOrderService
|
||||
throw new UserFriendlyException("余额不足,无法消费");
|
||||
}
|
||||
|
||||
var effect = await _dbContext.Updateable<CanteenUserEntity>()
|
||||
var effect = await _dbContext.Updateable<GainfoMealEntity>()
|
||||
.SetColumns(x => x.Balance == canteenUser.Balance)
|
||||
.SetColumns(x => x.Version == x.Version + 1)
|
||||
.Where(x => x.UserNo == order.UserNo && x.Version == canteenUser.Version)//必须与查询时的version一致
|
||||
@@ -651,20 +666,30 @@ public class OrderService : IOrderService
|
||||
/// 检查我的订餐是否存在,存在抛出异常
|
||||
/// </summary>
|
||||
/// <param name="bookingDate"></param>
|
||||
/// <param name="shiftType"></param>
|
||||
/// <returns></returns>
|
||||
private async Task CheckExistsMyBookingsAsync(DateTime bookingDate)
|
||||
private async Task<GainfoEntity> CheckExistsMyBookingsAsync(DateTime bookingDate, ShiftEnumType shiftType)
|
||||
{
|
||||
var jinkoCode = _currentUser.GetUserClaim("jinko-code");
|
||||
var gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == jinkoCode).FirstAsync();
|
||||
var subjectId = _currentUser.GetIntSubjectId();
|
||||
var gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.IdentityUserId == subjectId).FirstAsync();
|
||||
var jinkoCode = _currentUser.GetUserClaim("jinko-code") ?? string.Empty;
|
||||
if (jinkoCode.IsPresent())
|
||||
{
|
||||
gainfo = await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == jinkoCode).FirstAsync();
|
||||
}
|
||||
|
||||
var start = bookingDate.Date;
|
||||
var start = bookingDate.Date.AddDays(-1);
|
||||
var end = start.AddDays(1).AddSeconds(-1);
|
||||
|
||||
var exists = await _dbContext.Queryable<CanteenOrderEntity>().Where(x => x.ApplicationType == CanteenApplicaitonTypeEnumType.Booking)
|
||||
var exists = await _dbContext.Queryable<CanteenOrderEntity>()
|
||||
.Where(x => x.ApplicationType == CanteenApplicaitonTypeEnumType.Booking)
|
||||
.Where(x => x.ShiftType == shiftType)
|
||||
.Where(x => x.UserNo == gainfo.No)
|
||||
.Where(x => x.CreateTime >= start && x.CreateTime <= end)
|
||||
.AnyAsync();
|
||||
|
||||
exists.ThrowIfTrue("不可重复订餐");
|
||||
|
||||
return gainfo;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,13 @@
|
||||
"BasicRequestUrl": "http://localhost:5002",
|
||||
"SysRequestUrl": "http://localhost:5003"
|
||||
},
|
||||
"SqlSugarOptions": {
|
||||
"DefaultConnectionString": "server=192.168.199.124;port=3306;userid=root;password=dlhis123;database=yikatong;charset=utf8mb4;",
|
||||
"SlaveConnectionString": [],
|
||||
"Timeout": 30,
|
||||
"SlowSqlTime": 1,
|
||||
"EnableSqlLog": false
|
||||
},
|
||||
"SwaggerOptions": {
|
||||
"Enable": true,
|
||||
"Authority": "https://yikatong.isawesome.cn/oauth2",
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using Kurisu.Core.DataAccess.Entity;
|
||||
using Kurisu.Core.DataAccess.Entity;
|
||||
using Kurisu.SqlSugar;
|
||||
using SqlSugar;
|
||||
using SqlSugar.DbConvert;
|
||||
|
||||
namespace Dlhis.Entity.Basic.Entity;
|
||||
|
||||
/// <summary>
|
||||
/// 就餐人员
|
||||
/// </summary>
|
||||
[SugarTable(TableName = "CanteenUser", TableDescription = "就餐人员")]
|
||||
public class CanteenUserEntity : SugarBaseEntity, IVersion, ITenantId
|
||||
[SugarTable(TableName = "GainfoMeal", TableDescription = "就餐人员")]
|
||||
public class GainfoMealEntity : SugarBaseEntity, IVersion, ITenantId
|
||||
{
|
||||
/// <summary>
|
||||
/// 档案号
|
||||
@@ -19,10 +17,10 @@ public class CanteenUserEntity : SugarBaseEntity, IVersion, ITenantId
|
||||
public string UserNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 消费人员类型
|
||||
/// 工号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "消费人员类型")]
|
||||
public CanteenUserEnumType UserType { get; set; }
|
||||
[SugarColumn(IsNullable = false, ColumnDescription = "工号", UniqueGroupNameList = new[] { "idx_CanteenUser_UserCode" })]
|
||||
public string UserCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 余额
|
||||
@@ -28,6 +28,17 @@ public class MealSupplementRecordEntity : MealSupplementRequestRecordEntity
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
|
||||
public MealSupplementStatusEnumtype Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 处理结果
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "处理结果", ColumnDataType = "varchar(2000)")]
|
||||
public string Result { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态同步
|
||||
/// </summary>
|
||||
public bool Sync { get; set; }
|
||||
}
|
||||
|
||||
[SugarTable(TableName = "MealSupplementRequestRecord", TableDescription = "餐补请求记录")]
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Dlhis.Entity.Canteen.Enums;
|
||||
|
||||
/// <summary>
|
||||
/// 就餐人员类型
|
||||
/// </summary>
|
||||
[Description("就餐人员类型")]
|
||||
public enum CanteenUserEnumType
|
||||
{
|
||||
/// <summary>
|
||||
/// 本基地
|
||||
/// </summary>
|
||||
[Description("本基地人员")]
|
||||
LocalTenant = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 其他基地
|
||||
/// </summary>
|
||||
[Description("其他基地人员")]
|
||||
OtherTenant,
|
||||
|
||||
/// <summary>
|
||||
/// 外部人员
|
||||
/// </summary>
|
||||
[Description("外部人员")]
|
||||
External
|
||||
}
|
||||
Reference in New Issue
Block a user