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 52d8826..cb2993c 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 e8be460..634f005 100644
--- a/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs
+++ b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs
@@ -106,12 +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
+ UserIconUrl = userData.UserIconUrl,
+ 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 2050f5a..1f49e16 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
@@ -482,9 +482,11 @@ public partial class MiaoYuContext : MultiTenantDbContext//DbContext
.HasMaxLength(20)
.HasComment("货币名称");
entity.Property(e => e.CurrencyType).HasComment("货币类型");
+ entity.Property(e => e.TenantId).HasComment("租户Id");
entity.Property(e => e.UpdateAt)
.HasComment("修改时间")
.HasColumnType("datetime");
+ entity.Property(e => e.UserId).HasComment("用户Id");
//添加全局筛选器
if (this.TenantInfo != null)
{
diff --git a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User_Currency.cs b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User_Currency.cs
index 6b2bd0d..f4bb487 100644
--- a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User_Currency.cs
+++ b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User_Currency.cs
@@ -33,4 +33,10 @@ public partial class T_User_Currency: MultiTenantEntity
/// 创建时间
///
public DateTime CreateAt { get; set; }
+
+ ///
+ /// 用户Id
+ ///
+ public int UserId { 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 2d1353b..1c79d2a 100644
--- a/src/0-core/HuanMeng.MiaoYu.Model/Dto/ResponseUserInfo.cs
+++ b/src/0-core/HuanMeng.MiaoYu.Model/Dto/ResponseUserInfo.cs
@@ -31,5 +31,10 @@ namespace HuanMeng.MiaoYu.Model.Dto
/// 用户昵称,需要和主表保持一致
///
public string? NickName { 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
+ }
+}