From 6b7193b4c01c51cb51edb2a9ed513b70f93e16fd Mon Sep 17 00:00:00 2001 From: Putoo <290555932@qq.com> Date: Tue, 26 May 2026 18:38:55 +0800 Subject: [PATCH] 1212 --- Kx.SeaTime.sln.DotSettings.user | 1 + .../log/db/unit_user_equ_log.cs | 29 ++ .../model/UserAttrModel.cs | 57 ++++ .../Application.Domain/Config/GameConfig.cs | 3 + Service/Application.Domain/Enum/AccEnum.cs | 33 +++ Service/Application.Domain/Enum/UserEnum.cs | 9 + .../Interface/User/IUnitUserAccService.cs | 21 ++ .../Interface/User/IUnitUserAttrService.cs | 33 +++ .../Service/User/UnitUserAccService.cs | 137 +++++++++ .../Service/User/UnitUserAttrService.cs | 261 +++++++++++++++++- .../Services/Service/User/UnitUserService.cs | 4 +- .../Application.Domain/Tool/Base/GameTool.cs | 2 +- .../Controllers/User/BagController.cs | 20 +- .../Controllers/User/UserController.cs | 83 ++++++ Web/nuxt.config.ts | 9 +- Web/public/images/favicon.ico | Bin 0 -> 119121 bytes Web/src/components/Business/GameUser.vue | 4 +- Web/src/components/Page/Footer.vue | 2 +- Web/src/components/Page/MapMenu.vue | 14 +- Web/src/extends/LocalStorageExtend.ts | 46 +++ Web/src/pages/activity/index.vue | 3 + Web/src/pages/bag/index.vue | 48 +++- Web/src/pages/friend/index.vue | 1 + Web/src/pages/mall/index.vue | 3 + Web/src/pages/pet/index.vue | 3 + Web/src/pages/prop/equ.vue | 1 + Web/src/pages/prop/goods.vue | 1 + Web/src/pages/rank/index.vue | 1 + Web/src/pages/team/index.vue | 1 + Web/src/pages/user/index.vue | 88 ++++++ Web/src/pages/user/user.vue | 90 ++++++ Web/src/services/user/UserService.ts | 17 ++ Web/src/utility‌/GameTool.ts | 38 +++ 33 files changed, 1021 insertions(+), 42 deletions(-) create mode 100644 Service/Application.Domain.Entity/log/db/unit_user_equ_log.cs create mode 100644 Service/Application.Domain.Entity/model/UserAttrModel.cs create mode 100644 Service/Application.Domain/Enum/AccEnum.cs create mode 100644 Service/Application.Domain/Enum/UserEnum.cs create mode 100644 Service/Application.Domain/Services/Interface/User/IUnitUserAccService.cs create mode 100644 Service/Application.Domain/Services/Service/User/UnitUserAccService.cs create mode 100644 Service/Application.Web/Controllers/User/UserController.cs create mode 100644 Web/public/images/favicon.ico create mode 100644 Web/src/extends/LocalStorageExtend.ts create mode 100644 Web/src/pages/activity/index.vue create mode 100644 Web/src/pages/friend/index.vue create mode 100644 Web/src/pages/mall/index.vue create mode 100644 Web/src/pages/pet/index.vue create mode 100644 Web/src/pages/prop/equ.vue create mode 100644 Web/src/pages/prop/goods.vue create mode 100644 Web/src/pages/rank/index.vue create mode 100644 Web/src/pages/team/index.vue create mode 100644 Web/src/pages/user/index.vue create mode 100644 Web/src/pages/user/user.vue create mode 100644 Web/src/services/user/UserService.ts create mode 100644 Web/src/utility‌/GameTool.ts diff --git a/Kx.SeaTime.sln.DotSettings.user b/Kx.SeaTime.sln.DotSettings.user index 5f75113..9879620 100644 --- a/Kx.SeaTime.sln.DotSettings.user +++ b/Kx.SeaTime.sln.DotSettings.user @@ -6,4 +6,5 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded \ No newline at end of file diff --git a/Service/Application.Domain.Entity/log/db/unit_user_equ_log.cs b/Service/Application.Domain.Entity/log/db/unit_user_equ_log.cs new file mode 100644 index 0000000..4e1e488 --- /dev/null +++ b/Service/Application.Domain.Entity/log/db/unit_user_equ_log.cs @@ -0,0 +1,29 @@ +using SqlSugar; +using System; + +namespace Application.Domain.Entity; + +[SplitTable(SplitType.Day)] +[SugarTable("unit_user_equ_log_{year}{month}{day}")] +[Tenant("Kg.SeaTime.Log")] +public class unit_user_equ_log +{ + [SugarColumn(IsPrimaryKey = true)] public string logId { get; set; } + + + [SugarColumn(Length = 50, IsNullable = true)] + public string? ueId { get; set; } + + public int? equId { get; set; } + + [SugarColumn(Length = 50, IsNullable = true)] + public string? code { get; set; } + + [SugarColumn(ColumnDataType = "varchar(max)", IsNullable = true, IsJson = true)] + public unit_user_equ? equData { get; set; } + + [SugarColumn(Length = 255, IsNullable = true)] + public string? remark { get; set; } + + public DateTime? addTime { get; set; } +} \ No newline at end of file diff --git a/Service/Application.Domain.Entity/model/UserAttrModel.cs b/Service/Application.Domain.Entity/model/UserAttrModel.cs new file mode 100644 index 0000000..bcd638e --- /dev/null +++ b/Service/Application.Domain.Entity/model/UserAttrModel.cs @@ -0,0 +1,57 @@ +namespace Application.Domain.Entity; + + public class UserAttrModel + { + public string id { get; set; } + public int area { get; set; } + public int IsSystem { get; set; } + public int isCopy { get; set; } + public string viceId { get; set; } + public string name { get; set; } + public int figState { get; set; } + public string sex { get; set; } + public string code { get; set; } + public string remark { get; set; } + public string TmImg { get; set; } + public int lev { get; set; }//等级 + public decimal minAtk { get; set; }//最小攻击 + public decimal maxAtk { get; set; }//最大攻击 + public decimal defense { get; set; }//防御 + public decimal agility { get; set; }//敏捷 + public decimal blood { get; set; }//血量 + public decimal upBlood { get; set; }//最大血量 + public decimal morale { get; set; }//士气 + public decimal upMorale { get; set; }//最大士气 + public decimal score { get; set; }//评分 + public decimal InBlood { get; set; }//吸血 + public decimal Crit { get; set; }//暴击 + public decimal NoHarm { get; set; }//免伤 + public decimal Dodge { get; set; }//闪避 + public decimal Rebound { get; set; }//反弹 + public decimal ReboundLess { get; set; }//抗反弹 + public decimal Punish { get; set; }//制裁 + public decimal Slow { get; set; }//迟缓 + public decimal SlowLess { get; set; }//迟缓 + public decimal Poison { get; set; }//毒攻 + public decimal PoisonLess { get; set; }//抗毒攻 + public decimal Curse { get; set; }//诅咒 + public decimal CurseLess { get; set; }//抗诅咒 + public decimal Weaken { get; set; }//虚弱 + public decimal WeakenLess { get; set; }//抗虚弱 + public decimal Deadly { get; set; }//致命 + public decimal DeadlyLess { get; set; }//抗致命 + public decimal Depressed { get; set; }//消沉 + public decimal DepressedLess { get; set; }//抗消沉 + public decimal Breach { get; set; }//突破 + public decimal BreachLess { get; set; }//抗突破 + public decimal Del_Fashion { get; set; }//卸时装 + public decimal Atk_Next { get; set; }//连击 + public decimal Harm_Add { get; set; }//额外伤害 + public decimal PalsyAtk { get; set; }//麻痹 + public decimal PalsyAtkLess { get; set; }//抗麻痹 + public string atkTips { get; set; } + public string defTips { get; set; } + public string agilityTips { get; set; } + public string moraleTips { get; set; } + public string bloodTips { get; set; } + } \ No newline at end of file diff --git a/Service/Application.Domain/Config/GameConfig.cs b/Service/Application.Domain/Config/GameConfig.cs index 67100c4..93fc949 100644 --- a/Service/Application.Domain/Config/GameConfig.cs +++ b/Service/Application.Domain/Config/GameConfig.cs @@ -2,8 +2,11 @@ public static class GameConfig { + public const int GameMaxLev = 320;//最大等级 public const int OnLineTime = 30;//在线延迟时间(分钟) public const int SendChatGoodsBase = 10014;//小海螺 public const int SendChatGoodsArea = 10001;//大海螺 public const int SendChatGoodsService = 10002;//金海螺 + public const int UpLevAddWeight = 10;//升级增加负重 + public const int GameBaseVigour = 50;//初始活力 } \ No newline at end of file diff --git a/Service/Application.Domain/Enum/AccEnum.cs b/Service/Application.Domain/Enum/AccEnum.cs new file mode 100644 index 0000000..6212277 --- /dev/null +++ b/Service/Application.Domain/Enum/AccEnum.cs @@ -0,0 +1,33 @@ +namespace Application.Domain; + +public static class AccEnum +{ + public enum AccType + { + copper,//铜 + cowry,//海贝 + gold,//金 + teach,//师德 + renown,//声望 + charm,//魅力 + evil,//罪恶值 + } + public enum Name + { + 其他, + 充值, + 活动, + 推广, + 福利, + 爵位, + Npc商城, + 系统商城, + 花店 + } + + public enum Code + { + 减少, + 增加 + } +} \ No newline at end of file diff --git a/Service/Application.Domain/Enum/UserEnum.cs b/Service/Application.Domain/Enum/UserEnum.cs new file mode 100644 index 0000000..f3596d2 --- /dev/null +++ b/Service/Application.Domain/Enum/UserEnum.cs @@ -0,0 +1,9 @@ +namespace Application.Domain; + +public static class UserEnum +{ + public enum AttrCode + { + Person + } +} \ No newline at end of file diff --git a/Service/Application.Domain/Services/Interface/User/IUnitUserAccService.cs b/Service/Application.Domain/Services/Interface/User/IUnitUserAccService.cs new file mode 100644 index 0000000..12d4b9d --- /dev/null +++ b/Service/Application.Domain/Services/Interface/User/IUnitUserAccService.cs @@ -0,0 +1,21 @@ +namespace Application.Domain; + +public interface IUnitUserAccService +{ + Task GetUserAccInfo(string userId, string accType); + + #region 账户操作 + + Task GetUserAccInfo(string userId); + + Task UpdateUserAcc(string userId, int type, string accType, long count, string name = "", + string remark = ""); + + Task UpdateUserAccBath(string userId, int type, string accType, long count, string name = "", + string remark = ""); + + Task GetUserCopperInfo(string userId); + Task UpdateUserCopper(string userId, int type, long count, string remark = ""); + + #endregion +} \ No newline at end of file diff --git a/Service/Application.Domain/Services/Interface/User/IUnitUserAttrService.cs b/Service/Application.Domain/Services/Interface/User/IUnitUserAttrService.cs index 713f363..ca16324 100644 --- a/Service/Application.Domain/Services/Interface/User/IUnitUserAttrService.cs +++ b/Service/Application.Domain/Services/Interface/User/IUnitUserAttrService.cs @@ -2,6 +2,39 @@ public interface IUnitUserAttrService { + #region 个人属性 + + Task GetUserAttrModel(string userId); + Task GetUserAttr(string userId); + + #endregion + + #region 体力操作 + Task GetUserBlood(string userId); Task UpdateUserBlood(string userId, int op, int count, bool mustUp = false); + + #endregion + + #region 经验操作 + + Task GetUserExp(string userId); + Task UpdateUserExp(string userId, long exp, int op = 1); + + #endregion + + #region 士气操作 + + Task GetUserMorale(string userId); + Task UpdateUserMorale(string userId, int op, int count); + + #endregion + + #region 活力 + + Task GetUserVigourInfo(string userId); + Task UpdateUserVigour(string userId, int op, decimal count, string UpTime = ""); + Task UpdateUserUpVigour(string userId, decimal count); + + #endregion } \ No newline at end of file diff --git a/Service/Application.Domain/Services/Service/User/UnitUserAccService.cs b/Service/Application.Domain/Services/Service/User/UnitUserAccService.cs new file mode 100644 index 0000000..5a2cac0 --- /dev/null +++ b/Service/Application.Domain/Services/Service/User/UnitUserAccService.cs @@ -0,0 +1,137 @@ +namespace Application.Domain; + +public class UnitUserAccService(ISqlSugarClient DbClient, IRedisCache redis) : IUnitUserAccService, ITransient +{ + public async Task GetUserAccInfo(string userId, string accType) + { + long result = 0; + if (accType == AccEnum.AccType.copper.ToString()) + { + var info = await GetUserCopperInfo(userId); + result = (long)info.copper; + } + else if (accType == AccEnum.AccType.cowry.ToString()) + { + var info = await GetUserAccInfo(userId); + result = (long)info.cowry; + } + else if (accType == AccEnum.AccType.gold.ToString()) + { + var info = await GetUserAccInfo(userId); + result = (long)info.gold; + } + else if (accType == AccEnum.AccType.teach.ToString()) + { + var info = await GetUserAccInfo(userId); + result = (long)info.teach; + } + else if (accType == AccEnum.AccType.renown.ToString()) + { + var info = await GetUserAccInfo(userId); + result = (long)info.renown; + } + + return result; + } + + #region 账户操作 + + public async Task GetUserAccInfo(string userId) + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + return await db.Queryable().Where(i => i.userId == userId).SingleAsync(); + } + + + public async Task UpdateUserAcc(string userId, int type, string accType, long count, string name = "", + string remark = "") + { + bool isOk = false; + decimal opCount = type == 0 ? (0 - count) : count; + try + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + await DbClient.AsTenant().BeginTranAsync(); + isOk = await db.Updateable() + .SetColumnsIF(accType.Equals(AccEnum.AccType.cowry.ToString()), it => it.cowry == it.cowry + opCount) + .SetColumnsIF(accType.Equals(AccEnum.AccType.gold.ToString()), it => it.gold == it.gold + opCount) + .SetColumnsIF(accType.Equals(AccEnum.AccType.teach.ToString()), it => it.teach == it.teach + opCount) + .SetColumnsIF(accType.Equals(AccEnum.AccType.renown.ToString()), it => it.renown == it.renown + opCount) + .Where(it => it.userId == userId).ExecuteCommandAsync() > 0; + //生成日志 + if (isOk) + { + string code = type == 0 ? nameof(AccEnum.Code.减少) : nameof(AccEnum.Code.增加); + unit_user_acc_log userAccLog = new unit_user_acc_log(); + userAccLog.accId = StringAssist.NewGuid; + userAccLog.userId = userId; + userAccLog.accType = accType; + userAccLog.code = code; + userAccLog.name = name; + userAccLog.amount = count; + userAccLog.addTime = DateTime.Now; + userAccLog.endTime = DateTime.Now.AddDays(3); + userAccLog.remark = remark; + await db.Insertable(userAccLog).ExecuteCommandAsync(); + } + + await DbClient.AsTenant().CommitTranAsync(); + } + catch + { + isOk = false; + await DbClient.AsTenant().RollbackTranAsync(); + } + + return isOk; + } + + public async Task UpdateUserAccBath(string userId, int type, string accType, long count, string name = "", + string remark = "") + { + bool result = false; + if (accType == nameof(AccEnum.AccType.copper)) + { + result = await UpdateUserCopper(userId, type, count, remark); + } + else + { + result = await UpdateUserAcc(userId, type, accType, count, name, remark); + } + + return result; + } + + + public async Task GetUserCopperInfo(string userId) + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + return await db.Queryable().Where(i => i.userId == userId).SingleAsync(); + } + + public async Task UpdateUserCopper(string userId, int type, long count, string remark = "") + { + bool isOk = false; + decimal opCount = type == 0 ? (0 - count) : count; + try + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + await DbClient.AsTenant().BeginTranAsync(); + + isOk = await db.Updateable() + .SetColumns(it => it.copper == it.copper + opCount) + .Where(it => it.userId == userId).ExecuteCommandAsync() > 0; + + await DbClient.AsTenant().CommitTranAsync(); + } + catch + { + isOk = false; + await DbClient.AsTenant().RollbackTranAsync(); + } + + return isOk; + } + + #endregion 账户操作 +} \ No newline at end of file diff --git a/Service/Application.Domain/Services/Service/User/UnitUserAttrService.cs b/Service/Application.Domain/Services/Service/User/UnitUserAttrService.cs index 3021c3f..2c6c8de 100644 --- a/Service/Application.Domain/Services/Service/User/UnitUserAttrService.cs +++ b/Service/Application.Domain/Services/Service/User/UnitUserAttrService.cs @@ -2,11 +2,62 @@ public class UnitUserAttrService(ISqlSugarClient DbClient, IRedisCache redis) : IUnitUserAttrService, ITransient { + #region 个人属性 + + public async Task GetUserAttrModel(string userId) + { + UserAttrModel result = new UserAttrModel(); + result.id = userId; + var userService = App.GetService(); + var userInfo = await userService.GetUserInfoByUserId(userId); + result.viceId = userInfo.userNo; + result.name = userInfo.nick; + result.area = (int)userInfo.areaId; + result.IsSystem = (int)userInfo.isSystem; + result.sex = userInfo.sex; + result.code = nameof(UserEnum.AttrCode.Person); + var unitAttr = await GetUserAttr(userId); + result.lev = (int)unitAttr.lev; + result.minAtk = (decimal)unitAttr.minAtk; + result.maxAtk = (decimal)unitAttr.maxAtk; + result.defense = (decimal)unitAttr.defense; + result.agility = (decimal)unitAttr.agility; + result.upBlood = (decimal)unitAttr.upBlood; + result.upMorale = (decimal)unitAttr.upMorale; + result.blood = 1; + result.morale = 1; + + return result; + } + + public async Task GetUserAttr(string userId) + { + string key = string.Format(UserCache.BaseCacheKeys, "AttrData", "UserAttr"); + var data = await redis.GetHashAsync(key, userId); + if (data == null) + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + data = await db.Queryable().Where(it => it.userId == userId).SingleAsync(); + await redis.AddHashAsync(key, userId, data); + } + + return data; + } + + private async Task ClearUserAttrCache(string userId) + { + string key = string.Format(UserCache.BaseCacheKeys, "AttrData", "UserAttr"); + await redis.DelHashAsync(key, userId); + } + + #endregion + + + #region 体力操作 - #region 体力操作 public async Task GetUserBlood(string userId) { - string key = string.Format(UserCache.BaseCacheKeys, "AttrData","Blood"); + string key = string.Format(UserCache.BaseCacheKeys, "AttrData", "Blood"); var data = await redis.GetHashAsync(key, userId); if (data == null) { @@ -14,6 +65,7 @@ public class UnitUserAttrService(ISqlSugarClient DbClient, IRedisCache redis) : data = await db.Queryable().Where(it => it.userId == userId).SingleAsync(); await redis.AddHashAsync(key, userId, data); } + return data; } @@ -21,7 +73,7 @@ public class UnitUserAttrService(ISqlSugarClient DbClient, IRedisCache redis) : { bool result = false; unit_user_blood data = new unit_user_blood(); - string key = string.Format(UserCache.BaseCacheKeys, "AttrData","Blood"); + string key = string.Format(UserCache.BaseCacheKeys, "AttrData", "Blood"); if (op == 2) { data.userId = userId; @@ -55,8 +107,207 @@ public class UnitUserAttrService(ISqlSugarClient DbClient, IRedisCache redis) : return result; } - #endregion - + + + #region 经验操作 + + public async Task GetUserExp(string userId) + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + return await db.Queryable().Where(it => it.userId == userId).SingleAsync(); + } + + + public async Task UpdateUserExp(string userId, long exp, int op = 1) + { + bool result = false; + bool IsUpUserAttr = false; + try + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + await DbClient.AsTenant().BeginTranAsync(); + if (op == 0) //扣除经验 + { + result = await db.Updateable().SetColumns(it => it.exp == it.exp - exp) + .Where(it => it.userId == userId).ExecuteCommandAsync() > 0; + } + else //增加经验 + { + var MyExp = await db.Queryable().Where(it => it.userId == userId).SingleAsync(); + long onExp = (long)MyExp.exp + exp; + if (onExp < MyExp.upExp) //不足升级 + { + result = await db.Updateable().SetColumns(it => it.exp == onExp) + .Where(it => it.userId == userId).ExecuteCommandAsync() > 0; + } + else //足够升级 + { + var myAttr = await GetUserAttr(userId); + int OnLev = (int)myAttr.lev + 1; + if (OnLev <= GameConfig.GameMaxLev) + { + long upExp = onExp - (long)MyExp.upExp; + decimal nextExp = GameTool.GetUserUpExp(OnLev); + result = await db.Updateable().SetColumns(it => it.exp == upExp) + .SetColumns(it => it.upExp == nextExp).Where(it => it.userId == userId) + .ExecuteCommandAsync() > 0; + if (result) //更新成功,更新各项属性 + { + var data = GameTool.GetAttrData(OnLev); + result = await db.Updateable(data).Where(i => i.userId == userId) + .ExecuteCommandAsync() > 0; + int upVigour = GameConfig.GameBaseVigour + (OnLev * 10); + await UpdateUserUpVigour(userId, upVigour); + IsUpUserAttr = result; + } + } + else + { + decimal maxOnExp = (decimal)MyExp.upExp - 1; + if ((decimal)MyExp.exp < maxOnExp) + { + result = await db.Updateable().SetColumns(it => it.exp == maxOnExp) + .Where(it => it.userId == userId).ExecuteCommandAsync() > 0; + } + } + } + } + + await DbClient.AsTenant().CommitTranAsync(); + } + catch + { + result = false; + await DbClient.AsTenant().RollbackTranAsync(); + } + + if (result && IsUpUserAttr) + { + //增加负重 + var wightService = App.GetService(); + await wightService.UpdateUserMaxWeight(userId, 1, GameConfig.UpLevAddWeight); + await ClearUserAttrCache(userId); + } + + return result; + } + + #endregion 经验操作 + + #region 士气 + + public async Task GetUserMorale(string userId) + { + string key = string.Format(UserCache.BaseCacheKeys, "AttrData", "Morale"); + var data = await redis.GetHashAsync(key, userId); + if (data == null) + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + data = await db.Queryable().Where(it => it.userId == userId).SingleAsync(); + await redis.AddHashAsync(key, userId, data); + } + + return data; + } + + public async Task UpdateUserMorale(string userId, int op, int count) + { + bool result = false; + var data = await GetUserMorale(userId); + if (op == 1) + { + data.morale += count; + } + else if (op == 2) + { + data.morale = count; + } + else + { + data.morale -= count; + } + + data.morale = data.morale < 0 ? 0 : data.morale; + + string key = string.Format(UserCache.BaseCacheKeys, "AttrData", "Morale"); + await redis.AddHashAsync(key, userId, data); + + var db = DbClient.AsTenant().GetConnectionWithAttr(); + result = await db.Updateable().SetColumns(it => it.morale == data.morale) + .Where(it => it.userId == userId).ExecuteCommandAsync() > 0; + return result; + } + + #endregion 士气 + + #region 活力 + + public async Task GetUserVigourInfo(string userId) + { + string key = string.Format(UserCache.BaseCacheKeys, "AttrData", "Vigour"); + var data = await redis.GetHashAsync(key, userId); + if (data == null) + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + data = await db.Queryable().Where(i => i.userId == userId).SingleAsync(); + if (data != null) + { + await redis.AddHashAsync(key, userId, data); + } + } + + return data; + } + + private async Task ClearUserVigourCache(string userId) + { + string key = string.Format(UserCache.BaseCacheKeys, "AttrData", "Vigour"); + await redis.DelHashAsync(key, userId); + } + + public async Task UpdateUserVigour(string userId, int op, decimal count, string UpTime = "") + { + bool result = false; + try + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + await DbClient.AsTenant().BeginTranAsync(); + result = await db.Updateable() + .SetColumnsIF(op == 0, it => it.vitality == it.vitality - count) + .SetColumnsIF(op == 1, it => it.vitality == it.vitality + count) + .SetColumnsIF(op == 2, it => it.vitality == count) + .SetColumnsIF(!string.IsNullOrEmpty(UpTime), it => it.upTime == UpTime) + .Where(it => it.userId == userId).ExecuteCommandAsync() > 0; + await DbClient.AsTenant().CommitTranAsync(); + } + catch + { + result = false; + await DbClient.AsTenant().RollbackTranAsync(); + } + + if (result) + { + await ClearUserVigourCache(userId); + } + + return result; + } + + public async Task UpdateUserUpVigour(string userId, decimal count) + { + var db = DbClient.AsTenant().GetConnectionWithAttr(); + bool isok = await db.Updateable().SetColumns(i => i.upVitality == count) + .Where(i => i.userId == userId).ExecuteCommandAsync() > 0; + if (isok) + { + await ClearUserVigourCache(userId); + } + + return isok; + } + + #endregion 活力 } \ No newline at end of file diff --git a/Service/Application.Domain/Services/Service/User/UnitUserService.cs b/Service/Application.Domain/Services/Service/User/UnitUserService.cs index 84446b7..471637a 100644 --- a/Service/Application.Domain/Services/Service/User/UnitUserService.cs +++ b/Service/Application.Domain/Services/Service/User/UnitUserService.cs @@ -191,8 +191,8 @@ public class UnitUserService : IUnitUserService, ITransient //注册活力 unit_user_vigour vitality = new unit_user_vigour(); vitality.userId = userId; - vitality.vitality = 50; - vitality.upVitality = 50; + vitality.vitality = GameConfig.GameBaseVigour; + vitality.upVitality = GameConfig.GameBaseVigour; vitality.upTime = TimeAssist.GetDateTimeYMDString(0); db.Insertable(vitality).AddQueue(); diff --git a/Service/Application.Domain/Tool/Base/GameTool.cs b/Service/Application.Domain/Tool/Base/GameTool.cs index bd90aba..c2842a8 100644 --- a/Service/Application.Domain/Tool/Base/GameTool.cs +++ b/Service/Application.Domain/Tool/Base/GameTool.cs @@ -18,7 +18,7 @@ public class GameTool data.agility = lev; data.upBlood = ((lev - 1) * 5) + 80; data.upMorale = 100 + (lev / 5) * 10; - data.levUpdate = TimeAssist.GetTimeStampNum; + data.levUpdate = TimeExtend.GetTimeStampSeconds; return data; } /// diff --git a/Service/Application.Web/Controllers/User/BagController.cs b/Service/Application.Web/Controllers/User/BagController.cs index 2aeadab..109c9a4 100644 --- a/Service/Application.Web/Controllers/User/BagController.cs +++ b/Service/Application.Web/Controllers/User/BagController.cs @@ -12,12 +12,15 @@ public class BagController : ControllerBase private readonly IUnitUserWeight _weightService; private readonly IGameGoodsService _goodsService; private readonly IGameEquService _equService; + private readonly IUnitUserAccService _accService; - public BagController(IUnitUserWeight weightService, IGameGoodsService goodsService, IGameEquService equService) + public BagController(IUnitUserWeight weightService, IGameGoodsService goodsService, IGameEquService equService, + IUnitUserAccService accService) { _weightService = weightService; _goodsService = goodsService; _equService = equService; + _accService = accService; } /// @@ -28,14 +31,15 @@ public class BagController : ControllerBase public async Task GetUserBagData() { string userId = StateHelper.userId; - int onWeight = 0; - int maxWeight = 0; - int gold = 0; - int cowry = 0; - long copper = 0; + + var accInfo = await _accService.GetUserAccInfo(userId); + long gold = (long)accInfo.gold; + long cowry = (long)accInfo.cowry; + + long copper = await _accService.GetUserAccInfo(userId, nameof(AccEnum.AccType.copper)); var userWeight = await _weightService.GetUserWeightInfo(userId); - onWeight = (int)userWeight.onWeight; - maxWeight = (int)userWeight.maxWeight; + int onWeight = (int)userWeight.onWeight; + int maxWeight = (int)userWeight.maxWeight; return PoAction.Ok(new { onWeight, maxWeight, cowry, gold, copper }); } diff --git a/Service/Application.Web/Controllers/User/UserController.cs b/Service/Application.Web/Controllers/User/UserController.cs new file mode 100644 index 0000000..069fb6a --- /dev/null +++ b/Service/Application.Web/Controllers/User/UserController.cs @@ -0,0 +1,83 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Application.Web.Controllers.User; + +[ApiExplorerSettings(GroupName = "User")] +[Route("User/[controller]/[action]")] +[ApiController] +[Authorize] +public class UserController : ControllerBase +{ + private readonly IUnitUserService _userService; + private readonly IUnitUserAttrService _attrService; + private readonly IUnitUserAccService _accService; + private readonly IGameMapService _mapService; + + public UserController(IUnitUserService userService, IUnitUserAttrService attrService, + IUnitUserAccService accService, IGameMapService mapService) + { + _userService = userService; + _attrService = attrService; + _accService = accService; + _mapService = mapService; + } + + + /// + /// 获取个人资料信息 + /// + /// + [HttpGet] + public async Task GetUserInfo() + { + string userId = StateHelper.userId; + var userInfo = await _userService.GetUserInfoByUserId(userId); //基础资料 + object user = new { userInfo.userNo, userInfo.nick, userInfo.sex, userInfo.sign }; + + var attrInfo = await _attrService.GetUserAttrModel(userId); //基础属性 + var expInfo = await _attrService.GetUserExp(userId); + object exp = new { expInfo.exp, expInfo.upExp }; + var vigourInfo = await _attrService.GetUserVigourInfo(userId); + var accInfo = await _accService.GetUserAccInfo(userId); + object acc = new { accInfo.gold, accInfo.cowry, accInfo.teach, accInfo.renown }; + object result = new { user, attr = attrInfo, exp, vigourInfo.vitality, acc }; + return PoAction.Ok(result); + } + + /// + /// 获取用户资料 + /// + /// + /// + [HttpGet] + public async Task GetHomeInfo(string? no) + { + string userId = StateHelper.userId; + var userInfo = await _userService.GetUserInfoByUserNo(no); //基础资料 + if (userInfo == null) + { + return PoAction.Message("玩家不存在!", 102); + } + + if (userInfo.userId == userId) + { + return PoAction.Message("用户本身!", 101); + } + + object user = new { userInfo.userNo, userInfo.nick, userInfo.sex, userInfo.sign }; + var attrInfo = await _attrService.GetUserAttrModel(userInfo.userId); //基础属性 + var accInfo = await _accService.GetUserAccInfo(userInfo.userId); + object acc = new { accInfo.teach }; + + var online = await _mapService.GetUserOnMap(userInfo.userId); + int isOnline = online.upTime > TimeExtend.GetTimeStampBySeconds(DateTime.Now.AddMinutes(GameConfig.OnLineTime)) + ? 1 + : 0; + var onMapInfo = await _mapService.GetMapInfo(online.mapId); + var onCity = await _mapService.GetCityInfo((int)onMapInfo.cityId); + string onMapName = $"{onCity.cityName}-{onMapInfo.mapName}"; + + object result = new { user, attr = new { attrInfo.lev }, acc, isOnline, onMapName }; + return PoAction.Ok(result); + } +} \ No newline at end of file diff --git a/Web/nuxt.config.ts b/Web/nuxt.config.ts index ad7069e..c4c65c8 100644 --- a/Web/nuxt.config.ts +++ b/Web/nuxt.config.ts @@ -23,7 +23,7 @@ export default defineNuxtConfig({ // 自动导入配置 - 使用完整路径 imports: { - dirs: ['stores', 'composables', 'extends', 'services/**', 'model/**'], + dirs: ['stores', 'composables', 'extends','utility‌', 'services/**', 'model/**'], }, pinia: { @@ -48,6 +48,13 @@ export default defineNuxtConfig({ '航海时代是2022年推出的一款以航海为背景的wap文字游戏,让玩家穿越到15世纪的大航海时代,了解各地不同的风土人情;淋漓尽致的演绎航海时代的血雨腥风。', }, ], + link: [ + { + rel: 'icon', + href: '/images/favicon.ico', + type: 'image/x-icon' + } + ] }, }, diff --git a/Web/public/images/favicon.ico b/Web/public/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2c451f3bad9cc87548c60db5053d96efcbea5629 GIT binary patch literal 119121 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 i55NAyum3;(_5TI*xleGEUjV280000 - {{data.nick}} + \ No newline at end of file diff --git a/Web/src/pages/user/user.vue b/Web/src/pages/user/user.vue new file mode 100644 index 0000000..70b6455 --- /dev/null +++ b/Web/src/pages/user/user.vue @@ -0,0 +1,90 @@ + + \ No newline at end of file diff --git a/Web/src/services/user/UserService.ts b/Web/src/services/user/UserService.ts new file mode 100644 index 0000000..1966732 --- /dev/null +++ b/Web/src/services/user/UserService.ts @@ -0,0 +1,17 @@ +export class UserService { + /** + * 获取个人资料信息 + * GET /User/User/GetUserInfo + */ + static async GetUserInfo() { + return await ApiService.Request("get", "/User/User/GetUserInfo"); + } + + /** + * 获取用户资料 + * GET /User/User/GetHomeInfo + */ + static async GetHomeInfo(no: string) { + return await ApiService.Request("get", "/User/User/GetHomeInfo", { no }); + } +} \ No newline at end of file diff --git a/Web/src/utility‌/GameTool.ts b/Web/src/utility‌/GameTool.ts new file mode 100644 index 0000000..0199f64 --- /dev/null +++ b/Web/src/utility‌/GameTool.ts @@ -0,0 +1,38 @@ +export class GameTool { + /** + * 静态方法:将总铜数转换为 金/银/铜 字符串 + * @param totalCopper 总铜数量 + * @returns 格式化字符串,如:1金 234银 567铜 + */ + public static FormatCopper(totalCopper: number | string): string { + // 安全转为数字并取整(货币无小数) + let copper = Math.floor(Number(totalCopper) || 0); + + // 处理负数 + const isNegative = copper < 0; + copper = Math.abs(copper); + + // 单位换算 + const copperUnit = copper % 1000; + const totalSilver = Math.floor(copper / 1000); + const silverUnit = totalSilver % 1000; + const goldUnit = Math.floor(totalSilver / 1000); + + // 拼接非0单位 + const parts: string[] = []; + if (goldUnit > 0) parts.push(`${goldUnit}金`); + if (silverUnit > 0) parts.push(`${silverUnit}银`); + if (copperUnit > 0) parts.push(`${copperUnit}铜`); + + // 空值显示 0铜 + let result = parts.length > 0 ? parts.join(' ') : '0铜'; + + // 恢复负号 + if (isNegative) { + result = `-${result}`; + } + + return result; + } + +} \ No newline at end of file