namespace Application.Domain; public class GameBus { #region 物品资源操作 public static async Task UpdateBag(string userId, int operate, string goodsType, string parameter, long count, string remark) { bool isok = false; if (goodsType.Equals(nameof(GameEnum.PropCode.Goods))) { var goodsService = App.GetService(); isok = await goodsService.UpdateUserGoods(userId, operate, Convert.ToInt32(parameter), (int)count, remark); } else if (goodsType.Equals(nameof(GameEnum.PropCode.Equ))) { var equService = App.GetService(); if (operate == 1) { isok = await equService.AddUserEqu(userId, Convert.ToInt32(parameter), (int)count, remark); } else { isok = await equService.DeductUserEqu(userId, Convert.ToInt32(parameter), (int)count, remark); } } else if (goodsType.Equals(nameof(GameEnum.PropCode.copper))) { var accService = App.GetService(); isok = await accService.UpdateUserCopper(userId, operate, count); } else if (goodsType.Equals(nameof(GameEnum.PropCode.gold))) { var accService = App.GetService(); isok = await accService.UpdateUserAcc(userId, operate, nameof(AccEnum.AccType.gold), count, nameof(AccEnum.Name.其他), remark); } else if (goodsType.Equals(nameof(GameEnum.PropCode.cowry))) { var accService = App.GetService(); isok = await accService.UpdateUserAcc(userId, operate, nameof(AccEnum.AccType.cowry), count, nameof(AccEnum.Name.其他), remark); } else if (goodsType.Equals(nameof(GameEnum.PropCode.vigour))) { var attrService = App.GetService(); isok = await attrService.UpdateUserVigour(userId, operate, count); } else if (goodsType.Equals(nameof(GameEnum.PropCode.exp))) { var attrService = App.GetService(); isok = await attrService.UpdateUserExp(userId, count, operate); } else if (goodsType.Equals(nameof(GameEnum.PropCode.renown))) { var accService = App.GetService(); isok = await accService.UpdateUserAcc(userId, operate, nameof(AccEnum.AccType.renown), count, nameof(AccEnum.Name.其他), remark); } else if (goodsType.Equals(nameof(GameEnum.PropCode.teach))) { var accService = App.GetService(); isok = await accService.UpdateUserAcc(userId, operate, nameof(AccEnum.AccType.teach), count, nameof(AccEnum.Name.其他), remark); } return isok; } public static async Task UpdateBag(string userId, int operate, dynamic Reward, string remark = "", long count = 1) { try { foreach (var item in Reward) { long num = Convert.ToInt64(item.count) * count; if (num <= 0) { continue; } await UpdateBag(userId, operate, item.code, item.parameter, num, remark); } return true; } catch { return false; } } #endregion }