diff --git a/src/0-core/HuanMeng.DotNetCore/Base/BLLBase.cs b/src/0-core/HuanMeng.DotNetCore/Base/BLLBase.cs index 9d265a9..54d58b0 100644 --- a/src/0-core/HuanMeng.DotNetCore/Base/BLLBase.cs +++ b/src/0-core/HuanMeng.DotNetCore/Base/BLLBase.cs @@ -11,7 +11,7 @@ namespace HuanMeng.DotNetCore.Base /// /// _dao,提供数据访问支持 /// - protected abstract TDao Dao { get; } + public abstract TDao Dao { get; } /// diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Base/MiaoYuBase.cs b/src/0-core/HuanMeng.MiaoYu.Code/Base/MiaoYuBase.cs index 4b843f8..49979f2 100644 --- a/src/0-core/HuanMeng.MiaoYu.Code/Base/MiaoYuBase.cs +++ b/src/0-core/HuanMeng.MiaoYu.Code/Base/MiaoYuBase.cs @@ -41,7 +41,7 @@ namespace HuanMeng.MiaoYu.Code.Base /// /// dao 数据库 /// - protected override DAO Dao + public override DAO Dao { get { diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs index 7a28070..634f005 100644 --- a/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs +++ b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs @@ -106,13 +106,16 @@ namespace HuanMeng.MiaoYu.Code.Users { var user = await Dao.daoDbMiaoYu.context.T_User.FirstOrDefaultAsync(it => it.Id == _UserId); var userData = await Dao.daoDbMiaoYu.context.T_User_Data.FirstOrDefaultAsync(it => it.Id == _UserId); + //获取用户余额 + var Currency = user.GetUserCurrency(Model.EnumModel.User.UserCurrencyType.付费币, Dao); + var RemainingChatCount = user.GetUserCurrency(Model.EnumModel.User.UserCurrencyType.聊天次数, Dao); return new BaseResponse(ResonseCode.Success, "请求成功", new ResponseUserInfo { NickName = user.NickName, UserId = user.Id, Currency = userData.Currency, UserIconUrl = userData.UserIconUrl, - TalkCount = 1 + RemainingChatCount= RemainingChatCount }); } } diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Users/UserCurrencyBLL.cs b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserCurrencyBLL.cs new file mode 100644 index 0000000..f7eca5e --- /dev/null +++ b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserCurrencyBLL.cs @@ -0,0 +1,49 @@ +using HuanMeng.MiaoYu.Code.Base; +using HuanMeng.MiaoYu.Model.EnumModel.User; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HuanMeng.MiaoYu.Code.Users +{ + /// + /// 用户货币记录 + /// + public class UserCurrencyBLL(MiaoYuBase miaoYuBase) + { + /// + /// 获取货币余额 + /// + /// + /// + public decimal GetUserCurrency(UserCurrencyType userCurrencyType) + { + var userCurrency = miaoYuBase.Dao.daoDbMiaoYu.context.T_User_Currency.FirstOrDefault(it => it.UserId == miaoYuBase._UserId && it.CurrencyType == (int)userCurrencyType); + return userCurrency?.CurrencyMoney ?? 0; + } + + + } + + /// + /// + /// + public static class UserCurrencyExtend + { + /// + /// 获取用户货币余额 + /// + /// + /// + /// + /// + public static decimal GetUserCurrency(this T_User user, UserCurrencyType userCurrencyType, DAO dao) + { + var userCurrency = dao.daoDbMiaoYu.context.T_User_Currency.FirstOrDefault(it => it.UserId == user.Id && it.CurrencyType == (int)userCurrencyType); + return userCurrency?.CurrencyMoney ?? 0; + } + } +} diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Users/UserInfoBLL.cs b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserInfoBLL.cs new file mode 100644 index 0000000..46aa883 --- /dev/null +++ b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserInfoBLL.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HuanMeng.MiaoYu.Code.Users +{ + /// + /// 用户信息 + /// + public class UserInfoBLL : MiaoYuBase + { + public UserInfoBLL(IServiceProvider serviceProvider) : base(serviceProvider) + { + } + private T_User? _user; + /// + /// 用户表 + /// + public T_User User + { + get + { + + if (_user == null) + { + if (_UserId == 0) + { + throw new Exception("未找到用户"); + } + _user = Dao.daoDbMiaoYu.context.T_User.FirstOrDefault(it => it.Id == _UserId); + if (_user == null) + { + throw new Exception("未找到用户"); + } + } + return _user; + } + } + } +} diff --git a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/MiaoYuContext.cs b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/MiaoYuContext.cs index dd6bfb4..3460a3a 100644 --- a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/MiaoYuContext.cs +++ b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/MiaoYuContext.cs @@ -495,6 +495,7 @@ public partial class MiaoYuContext : MultiTenantDbContext//DbContext entity.Property(e => e.Email) .HasMaxLength(255) .HasComment("绑定的邮箱"); + entity.Property(e => e.GoldCoinCount).HasComment("金币数量"); entity.Property(e => e.Ip) .HasMaxLength(100) .HasComment("Ip地址"); diff --git a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User.cs b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User.cs index 8e97d1e..a4d50ed 100644 --- a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User.cs +++ b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User.cs @@ -67,4 +67,9 @@ public partial class T_User: MultiTenantEntity /// Ip地址 /// public string? Ip { get; set; } + + /// + /// 金币数量 + /// + public int? GoldCoinCount { get; set; } } diff --git a/src/0-core/HuanMeng.MiaoYu.Model/Dto/ResponseUserInfo.cs b/src/0-core/HuanMeng.MiaoYu.Model/Dto/ResponseUserInfo.cs index 84877d3..1c79d2a 100644 --- a/src/0-core/HuanMeng.MiaoYu.Model/Dto/ResponseUserInfo.cs +++ b/src/0-core/HuanMeng.MiaoYu.Model/Dto/ResponseUserInfo.cs @@ -33,8 +33,8 @@ namespace HuanMeng.MiaoYu.Model.Dto public string? NickName { get; set; } /// - /// 聊过的数量 + /// 聊天次数 /// - public int TalkCount { get;set; } + public int RemainingChatCount { get; set; } } } diff --git a/src/0-core/HuanMeng.MiaoYu.Model/EnumModel/User/UserCurrencyType.cs b/src/0-core/HuanMeng.MiaoYu.Model/EnumModel/User/UserCurrencyType.cs new file mode 100644 index 0000000..9daede9 --- /dev/null +++ b/src/0-core/HuanMeng.MiaoYu.Model/EnumModel/User/UserCurrencyType.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HuanMeng.MiaoYu.Model.EnumModel.User +{ + /// + /// 用户货币类型 + /// + public enum UserCurrencyType + { + /// + /// 免费币 + /// + 免费币 = 0, + /// + /// 付费币 + /// + 付费币 = 1, + /// + /// + /// + 聊天次数 = 2 + } +}