添加用户接口
This commit is contained in:
parent
abc9cea3c1
commit
40d29b248f
|
|
@ -8,6 +8,7 @@ using CloudGaming.Code.MiddlewareExtend;
|
|||
using CloudGaming.DtoModel.Account;
|
||||
using CloudGaming.DtoModel.Account.Login;
|
||||
using CloudGaming.DtoModel.Account.User;
|
||||
using CloudGaming.DtoModel.Account.UserDiamondConsume;
|
||||
using CloudGaming.GameModel.Db.Db_Ext;
|
||||
|
||||
using HuanMeng.DotNetCore.AttributeExtend;
|
||||
|
|
@ -80,4 +81,29 @@ public class AccountController : CloudGamingControllerBase
|
|||
AccountBLL account = new AccountBLL(ServiceProvider);
|
||||
return await account.RealAuthentication(authenticationRequest.UserName, authenticationRequest.IdCard, authenticationRequest.DeviceNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 资产收入、支出
|
||||
/// </summary>
|
||||
/// <param name="consumeType">0支出,收入</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Authorize]
|
||||
public async Task<List<UserDiamondConsumeDto>> GetUserDiamondConsumeList([FromQuery] int consumeType)
|
||||
{
|
||||
AccountBLL account = new AccountBLL(ServiceProvider);
|
||||
return await account.GetUserDiamondConsumeList(consumeType);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改用户昵称
|
||||
/// </summary>
|
||||
/// <param name="accountNickNameRequest"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<BaseResponse<bool>> UpdateUserNickName([FromBody] AccountNickNameRequest accountNickNameRequest)
|
||||
{
|
||||
AccountBLL account = new AccountBLL(ServiceProvider);
|
||||
return await account.UpdateUserNickName(accountNickNameRequest.NickName);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using CloudGaming.Code.Sms;
|
|||
using CloudGaming.DtoModel.Account;
|
||||
using CloudGaming.DtoModel.Account.Login;
|
||||
using CloudGaming.DtoModel.Account.User;
|
||||
using CloudGaming.DtoModel.Account.UserDiamondConsume;
|
||||
|
||||
using HuanMeng.DotNetCore.JwtInfrastructure;
|
||||
using HuanMeng.DotNetCore.Redis;
|
||||
|
|
@ -529,7 +530,7 @@ namespace CloudGaming.Code.Account
|
|||
UserId = _UserId,
|
||||
Ip = HttpContextAccessor.HttpContext.GetClientIpAddress()
|
||||
};
|
||||
await this.GetConsumeMoney(UserCurrencyType.钻石).ConsumeMoneyAsync(10);
|
||||
await this.UserConsumeDiamondMoneyAsync(10, "实名认证赠送");
|
||||
await Dao.DaoUser.Context.T_User_LimitActionLog.AddAsync(limitActionLog);
|
||||
await Dao.DaoUser.Context.SaveChangesAsync();
|
||||
return "奖励已经发送,钻石*10";
|
||||
|
|
@ -602,5 +603,67 @@ namespace CloudGaming.Code.Account
|
|||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 资产收入、支出
|
||||
/// </summary>
|
||||
/// <param name="ConsumeType">0支出,收入</param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<UserDiamondConsumeDto>> GetUserDiamondConsumeList(int ConsumeType)
|
||||
{
|
||||
if (_UserId == 0)
|
||||
{
|
||||
return new List<UserDiamondConsumeDto>();
|
||||
}
|
||||
List<UserDiamondConsumeDto> userDiamondConsumeDtos = new List<UserDiamondConsumeDto>();
|
||||
var list = await Dao.DaoUser.Context.T_User_DiamondList.Where(it => it.UserId == _UserId && it.CurrencyType == (int)UserCurrencyType.钻石 && it.ConsumeType == ConsumeType).OrderByDescending(it => it.UpdateAt).Take(200).ToListAsync();
|
||||
list?.ForEach(it =>
|
||||
{
|
||||
UserDiamondConsumeDto userDiamondConsumeDto = new UserDiamondConsumeDto()
|
||||
{
|
||||
Title = it.Title,
|
||||
|
||||
};
|
||||
if (ConsumeType == (int)UserCurrencyConsumeType.收入)
|
||||
{
|
||||
userDiamondConsumeDto.ConsumeDetails = $"+ {it.Consume.ToString("0.##")}{((UserCurrencyType)it.CurrencyType).ToString()}";
|
||||
userDiamondConsumeDto.DatePrompt = $"{it.CreateAt.ToString("yyyy-MM-dd HH:mm:ss")}";
|
||||
}
|
||||
else
|
||||
{
|
||||
userDiamondConsumeDto.ConsumeDetails = $"- {it.Consume.ToString("0.##")}{((UserCurrencyType)it.CurrencyType).ToString()}";
|
||||
userDiamondConsumeDto.DatePrompt = $"{it.CreateAt.ToString("yyyy-MM-dd HH:mm:00")} 至 {it.UpdateAt.ToString("yyyy-MM-dd HH:mm:00")}";
|
||||
}
|
||||
userDiamondConsumeDtos.Add(userDiamondConsumeDto);
|
||||
});
|
||||
return userDiamondConsumeDtos;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 修改用户昵称
|
||||
/// </summary>
|
||||
/// <param name="nickName"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
public async Task<BaseResponse<bool>> UpdateUserNickName(string nickName)
|
||||
{
|
||||
|
||||
var user = await Dao.DaoUser.Context.T_User.FirstOrDefaultAsync(it => it.Id == _UserId);
|
||||
if (user == null)
|
||||
{
|
||||
throw new Exception("用户不存在");
|
||||
}
|
||||
user.NickName = nickName;
|
||||
var userPhone = await Dao.DaoUser.Context.T_User_Phone_Account.FirstOrDefaultAsync(it => it.UserId == _UserId);
|
||||
if (userPhone != null)
|
||||
{
|
||||
userPhone.NikeName = nickName;
|
||||
}
|
||||
await Dao.DaoUser.Context.SaveChangesAsync();
|
||||
this.UserInfo.NickName = nickName;
|
||||
await this.SaveUserInfoCacheChangesAsync();
|
||||
return new BaseResponse<bool>(ResonseCode.Success, "", true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
using Bogus.DataSets;
|
||||
|
||||
using CloudGaming.Code.Account.Contract;
|
||||
using CloudGaming.Code.Account.Login;
|
||||
using CloudGaming.Code.Account.UserCurrency;
|
||||
|
|
@ -222,18 +224,148 @@ namespace CloudGaming.Code.Account
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 扣除当前用户钻石
|
||||
/// </summary>
|
||||
/// <param name="cloudGamingBase"></param>
|
||||
/// <param name="userCurrencyType"></param>
|
||||
/// <returns></returns>
|
||||
public static IUserConsumeMoney GetConsumeMoney(this CloudGamingBase cloudGamingBase, UserCurrencyType userCurrencyType)
|
||||
public static IUserConsumeMoney GetCurrentUserConsumeMoney(this CloudGamingBase cloudGamingBase, UserCurrencyType userCurrencyType, T_User_Currency currency = null)
|
||||
{
|
||||
if (UserCurrencyType.钻石 == userCurrencyType)
|
||||
{
|
||||
return new DiamondConsumeMoney(cloudGamingBase);
|
||||
return new DiamondConsumeMoney(cloudGamingBase.Dao, cloudGamingBase._UserId, userCurrencyType, currency);
|
||||
}
|
||||
return new DiamondConsumeMoney(cloudGamingBase);
|
||||
return new DiamondConsumeMoney(cloudGamingBase.Dao, cloudGamingBase._UserId, userCurrencyType, currency);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 扣除当前用户钻石
|
||||
/// </summary>
|
||||
/// <param name="cloudGamingBase"></param>
|
||||
/// <param name="userCurrencyType"></param>
|
||||
/// <returns></returns>
|
||||
public static IUserConsumeMoney GetCurrentUserConsumeMoney(this UserInfoCache userInfo, CloudGamingBase cloudGamingBase, UserCurrencyType userCurrencyType, T_User_Currency currency = null)
|
||||
{
|
||||
if (UserCurrencyType.钻石 == userCurrencyType)
|
||||
{
|
||||
return new DiamondConsumeMoney(cloudGamingBase.Dao, userInfo.UserId, userCurrencyType, currency);
|
||||
}
|
||||
return new DiamondConsumeMoney(cloudGamingBase.Dao, cloudGamingBase._UserId, userCurrencyType, currency);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 扣除当前用户钻石
|
||||
/// </summary>
|
||||
/// <param name="cloudGamingBase"></param>
|
||||
/// <param name="money"></param>
|
||||
/// <param name="userDoamondAction"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<bool> UserConsumeDiamondMoneyAsync(this CloudGamingBase cloudGamingBase, decimal money, Action<T_User_DiamondList>? userDoamondAction = null)
|
||||
{
|
||||
T_User_Currency currency = new T_User_Currency();
|
||||
var userConsumeMoney = new DiamondConsumeMoney(cloudGamingBase.Dao, cloudGamingBase.UserInfo.UserId, UserCurrencyType.钻石, currency);
|
||||
try
|
||||
{
|
||||
var isSuccess = await userConsumeMoney.ConsumeMoneyAsync(money);
|
||||
if (!isSuccess)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
cloudGamingBase.UserInfo.Diamond = (int)currency.CurrencyMoney;
|
||||
await cloudGamingBase.SaveUserInfoCacheChangesAsync();
|
||||
UserCurrencyConsumeType consumeType = money >= 0 ? UserCurrencyConsumeType.收入 : UserCurrencyConsumeType.消耗;
|
||||
T_User_DiamondList userDiamondList = new T_User_DiamondList()
|
||||
{
|
||||
CreateAt = DateTime.Now,
|
||||
Consume = money,
|
||||
ConsumeType = (int)consumeType,
|
||||
CurrencyType = (int)UserCurrencyType.钻石,
|
||||
OrderCode = "",
|
||||
Title = "",
|
||||
UpdateAt = DateTime.Now,
|
||||
UserId = cloudGamingBase.UserInfo.UserId
|
||||
};
|
||||
if (userDoamondAction != null)
|
||||
{
|
||||
userDoamondAction(userDiamondList);
|
||||
}
|
||||
await cloudGamingBase.Dao.DaoUser.Context.AddAsync(userDiamondList);
|
||||
await cloudGamingBase.Dao.DaoUser.Context.SaveChangesAsync();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="cloudGamingBase"></param>
|
||||
/// <param name="money">金额</param>
|
||||
/// <param name="title">资产支出标题</param>
|
||||
/// <param name="orderId">订单号</param>
|
||||
/// <returns></returns>
|
||||
|
||||
public static async Task<bool> UserConsumeDiamondMoneyAsync(this CloudGamingBase cloudGamingBase, decimal money, string title = "", string orderId = "")
|
||||
{
|
||||
|
||||
return await UserConsumeDiamondMoneyAsync(cloudGamingBase, money, it => { it.Title = title; it.OrderCode = orderId; });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 扣除当前用户钻石
|
||||
/// </summary>
|
||||
/// <param name="cloudGamingBase"></param>
|
||||
/// <param name="userCurrencyType"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<bool> UserConsumeMoneyAsync(this CloudGamingBase cloudGamingBase, int userId, decimal money)
|
||||
{
|
||||
bool isSuccess = await UserConsumeDiamondMoneyAsync(userId, money, cloudGamingBase);
|
||||
if (isSuccess)
|
||||
{
|
||||
await cloudGamingBase.SaveUserInfoCacheChangesAsync();
|
||||
}
|
||||
return isSuccess;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 扣除当前用户钻石
|
||||
/// </summary>
|
||||
/// <param name="cloudGamingBase"></param>
|
||||
/// <param name="userCurrencyType"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<bool> UserConsumeDiamondMoneyAsync(int userId, decimal money, CloudGamingBase cloudGamingBase)
|
||||
{
|
||||
T_User_Currency currency = new T_User_Currency();
|
||||
var userConsumeMoney = new DiamondConsumeMoney(cloudGamingBase.Dao, userId, UserCurrencyType.钻石, currency);
|
||||
try
|
||||
{
|
||||
var isSuccess = await userConsumeMoney.ConsumeMoneyAsync(money);
|
||||
|
||||
if (!isSuccess)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
//清除缓存
|
||||
string key = GetUserInfoRedisKey(userId);
|
||||
var userInfo = await cloudGamingBase.RedisCache.StringGetAsync<UserInfoCache>(key);
|
||||
if (userInfo != null)
|
||||
{
|
||||
userInfo.Diamond = (int)currency.CurrencyMoney;
|
||||
await cloudGamingBase.RedisCache.StringSetAsync(key, userInfo, TimeSpan.FromMinutes(30));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using CloudGaming.Code.Account.Contract;
|
||||
using CloudGaming.Code.DataAccess;
|
||||
using CloudGaming.DtoModel.Account.User;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
|
@ -9,13 +11,72 @@ using System.Threading.Tasks;
|
|||
namespace CloudGaming.Code.Account.UserCurrency
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// 扣除或者充值用户钻石
|
||||
/// </summary>
|
||||
public class DiamondConsumeMoney(CloudGamingBase cloudGamingBase) : IUserConsumeMoney
|
||||
/// <param name="dao"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="userCurrencyType"></param>
|
||||
/// <param name="userCurrency"></param>
|
||||
public class DiamondConsumeMoney(DAO dao, int userId, UserCurrencyType userCurrencyType, T_User_Currency userCurrency = null) : IUserConsumeMoney
|
||||
{
|
||||
public Task<bool> ConsumeMoneyAsync(decimal money)
|
||||
/// <summary>
|
||||
/// 用户余额扣除
|
||||
/// </summary>
|
||||
/// <param name="money"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
|
||||
public async Task<bool> ConsumeMoneyAsync(decimal money)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
|
||||
var currency = await dao.DaoUser.Context.T_User_Currency.Where(it => it.CurrencyType == (int)userCurrencyType && it.UserId == userId).FirstOrDefaultAsync();
|
||||
if (currency == null)
|
||||
{
|
||||
currency = new T_User_Currency()
|
||||
{
|
||||
CreateAt = DateTime.Now,
|
||||
CurrencyMoney = 0,
|
||||
CurrencyName = userCurrencyType.ToString(),
|
||||
CurrencyType = (int)userCurrencyType,
|
||||
UserId = userId,
|
||||
UpdateAt = DateTime.Now,
|
||||
};
|
||||
await dao.DaoUser.Context.T_User_Currency.AddAsync(currency);
|
||||
await dao.DaoUser.Context.SaveChangesAsync();
|
||||
}
|
||||
currency.CurrencyMoney += money;
|
||||
if (currency.CurrencyMoney < 0)
|
||||
{
|
||||
throw new Exception("余额不足");
|
||||
}
|
||||
UserCurrencyConsumeType consumeType = money >= 0 ? UserCurrencyConsumeType.收入 : UserCurrencyConsumeType.消耗;
|
||||
var currency_Log = new T_User_Currency_Log()
|
||||
{
|
||||
Consume = money,
|
||||
ConsumeType = (int)consumeType,
|
||||
CreateAt = DateTime.Now,
|
||||
CurrencyType = (int)userCurrencyType,
|
||||
Remarks = $"于{DateTime.Now:yyyy-MM-dd HH:mm:ss}{consumeType}[{Math.Abs(money)}]{userCurrencyType};",
|
||||
UpdateAt = DateTime.Now,
|
||||
UserId = userId,
|
||||
};
|
||||
await dao.DaoUser.Context.T_User_Currency_Log.AddAsync(currency_Log);
|
||||
await dao.DaoUser.Context.SaveChangesAsync();
|
||||
if (userCurrency != null)
|
||||
{
|
||||
userCurrency.CurrencyMoney = currency.CurrencyMoney;
|
||||
userCurrency.UpdateAt = currency.UpdateAt;
|
||||
userCurrency.Id = currency.Id;
|
||||
userCurrency.CurrencyName = currency.CurrencyName;
|
||||
userCurrency.CreateAt = currency.CreateAt;
|
||||
userCurrency.CurrencyType = currency.CurrencyType;
|
||||
}
|
||||
else
|
||||
{
|
||||
userCurrency = currency;
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudGaming.DtoModel.Account.User
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class AccountNickNameRequest
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string NickName { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudGaming.DtoModel.Account.User;
|
||||
|
||||
/// <summary>
|
||||
/// 用户消费类型
|
||||
/// </summary>
|
||||
public enum UserCurrencyConsumeType
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
消耗 = 0,
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
收入 = 1
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudGaming.DtoModel.Account.UserDiamondConsume
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class UserDiamondConsumeDto
|
||||
{
|
||||
/// <summary>
|
||||
/// 标题
|
||||
/// </summary>
|
||||
public string Title { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 详情
|
||||
/// </summary>
|
||||
public string ConsumeDetails { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间,资产
|
||||
/// </summary>
|
||||
public string DatePrompt { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -58,6 +58,11 @@ public partial class CloudGamingUserContext : MultiTenantDbContext//DbContext
|
|||
/// </summary>
|
||||
public virtual DbSet<T_User_Data> T_User_Data { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 资产收入、支出表
|
||||
/// </summary>
|
||||
public virtual DbSet<T_User_DiamondList> T_User_DiamondList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 意向订单表
|
||||
/// </summary>
|
||||
|
|
@ -190,26 +195,11 @@ public partial class CloudGamingUserContext : MultiTenantDbContext//DbContext
|
|||
.HasComment("创建时间")
|
||||
.HasColumnType("datetime");
|
||||
entity.Property(e => e.CurrencyType).HasComment("金额类型");
|
||||
entity.Property(e => e.ExpiresAt)
|
||||
.HasComment("消耗的结束时间")
|
||||
.HasColumnType("datetime");
|
||||
entity.Property(e => e.GameId)
|
||||
.HasMaxLength(200)
|
||||
.HasComment("消耗的游戏Id");
|
||||
entity.Property(e => e.IsShow).HasComment("是否显示给用户");
|
||||
entity.Property(e => e.OrderId)
|
||||
.HasMaxLength(64)
|
||||
.HasComment("订单号")
|
||||
.UseCollation("Chinese_PRC_CI_AS");
|
||||
entity.Property(e => e.Remarks)
|
||||
.HasMaxLength(200)
|
||||
.HasMaxLength(255)
|
||||
.HasComment("备注")
|
||||
.UseCollation("Chinese_PRC_CI_AS");
|
||||
entity.Property(e => e.TenantId).HasComment("租户");
|
||||
entity.Property(e => e.Title)
|
||||
.HasMaxLength(200)
|
||||
.HasComment("标题")
|
||||
.UseCollation("Chinese_PRC_CI_AS");
|
||||
entity.Property(e => e.UpdateAt)
|
||||
.HasComment("修改时间")
|
||||
.HasColumnType("datetime");
|
||||
|
|
@ -254,6 +244,41 @@ public partial class CloudGamingUserContext : MultiTenantDbContext//DbContext
|
|||
}
|
||||
});
|
||||
|
||||
modelBuilder.Entity<T_User_DiamondList>(entity =>
|
||||
{
|
||||
entity.HasKey(e => e.Id).HasName("PK__T_User_D__3214EC07EF4BDC87");
|
||||
|
||||
entity.ToTable(tb => tb.HasComment("资产收入、支出表"));
|
||||
|
||||
entity.Property(e => e.Id).ValueGeneratedNever();
|
||||
entity.Property(e => e.Consume)
|
||||
.HasComment("金额变化")
|
||||
.HasColumnType("decimal(18, 0)");
|
||||
entity.Property(e => e.ConsumeType).HasComment("收入还是支出");
|
||||
entity.Property(e => e.CreateAt)
|
||||
.HasComment("创建时间")
|
||||
.HasColumnType("datetime");
|
||||
entity.Property(e => e.CurrencyType).HasComment("货币类型");
|
||||
entity.Property(e => e.Extend)
|
||||
.HasMaxLength(255)
|
||||
.HasComment("扩展字段");
|
||||
entity.Property(e => e.OrderCode)
|
||||
.HasMaxLength(64)
|
||||
.HasComment("订单编号");
|
||||
entity.Property(e => e.Title)
|
||||
.HasMaxLength(255)
|
||||
.HasComment("标题");
|
||||
entity.Property(e => e.UpdateAt)
|
||||
.HasComment("结束时间")
|
||||
.HasColumnType("datetime");
|
||||
entity.Property(e => e.UserId).HasComment("用户Id");
|
||||
//添加全局筛选器
|
||||
if (this.TenantInfo != null)
|
||||
{
|
||||
entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId);
|
||||
}
|
||||
});
|
||||
|
||||
modelBuilder.Entity<T_User_IntentOrder>(entity =>
|
||||
{
|
||||
entity.HasKey(e => e.Id).HasName("PK__T_User_I__3214EC07D27A8CE9");
|
||||
|
|
|
|||
|
|
@ -21,11 +21,6 @@ public partial class T_User_Currency_Log: MultiTenantEntity
|
|||
/// </summary>
|
||||
public virtual int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标题
|
||||
/// </summary>
|
||||
public virtual string? Title { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额类型
|
||||
/// </summary>
|
||||
|
|
@ -55,24 +50,4 @@ public partial class T_User_Currency_Log: MultiTenantEntity
|
|||
/// 修改时间
|
||||
/// </summary>
|
||||
public virtual DateTime UpdateAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单号
|
||||
/// </summary>
|
||||
public virtual string? OrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否显示给用户
|
||||
/// </summary>
|
||||
public virtual bool IsShow { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 消耗的结束时间
|
||||
/// </summary>
|
||||
public virtual DateTime? ExpiresAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 消耗的游戏Id
|
||||
/// </summary>
|
||||
public virtual string? GameId { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
using System;
|
||||
|
||||
namespace CloudGaming.Model.DbSqlServer.Db_User;
|
||||
|
||||
/// <summary>
|
||||
/// 资产收入、支出表
|
||||
/// </summary>
|
||||
public partial class T_User_DiamondList: MultiTenantEntity
|
||||
{
|
||||
public T_User_DiamondList() { }
|
||||
|
||||
public virtual int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户Id
|
||||
/// </summary>
|
||||
public virtual int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标题
|
||||
/// </summary>
|
||||
public virtual string Title { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 收入还是支出
|
||||
/// </summary>
|
||||
public virtual int ConsumeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单编号
|
||||
/// </summary>
|
||||
public virtual string? OrderCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额变化
|
||||
/// </summary>
|
||||
public virtual decimal Consume { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货币类型
|
||||
/// </summary>
|
||||
public virtual int CurrencyType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public virtual DateTime CreateAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结束时间
|
||||
/// </summary>
|
||||
public virtual DateTime UpdateAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 扩展字段
|
||||
/// </summary>
|
||||
public virtual string? Extend { get; set; }
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user