From 466a4b1cea91b37fcde1c12a219741e37c8cf558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A3=AE2003?= <2384017988@qq.com> Date: Mon, 19 Oct 2026 00:44:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E5=90=84=E6=9C=8D=E5=8A=A1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=A1=A5=20///=20=E4=B8=AD=E6=96=87=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=EF=BC=9Aswagger=20=E6=81=A2=E5=A4=8D=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=EF=BC=88admin=20203=20/=20user=2093=20/=20cu?= =?UTF-8?q?stomer=2012=20/=20fishgame=204=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdminApi/AdminUser/AdminUserController.cs | 96 ++++++++++++++++++ .../BackgroundOperationController.cs | 12 +++ .../BeautifulNumberController.cs | 57 +++++++++++ .../Controllers/ImageUploadController.cs | 9 ++ .../Controllers/OperationLogController.cs | 15 +++ .../AdminApi/Customer/CustomerController.cs | 36 +++++++ .../EmptyRoomRateConfigController.cs | 14 ++- AdminSrc/AdminApi/Faq/FaqController.cs | 36 +++++++ .../Feedbacks/FeedbackManageController.cs | 12 +++ .../GameConfigs/ActivityConfigController.cs | 42 ++++++++ .../GameConfigs/AdminRoomController.cs | 57 +++++++++++ .../GameConfigs/BotConfigController.cs | 12 +++ .../GameConfigs/GameConfigController.cs | 63 ++++++++++++ .../GameConfigs/TempSpawnFishController.cs | 5 +- .../LoginLogs/UserLoginLogController.cs | 12 +++ .../AdminApi/Lottery/LotteryController.cs | 18 ++++ AdminSrc/AdminApi/Notices/NoticeController.cs | 15 +++ AdminSrc/AdminApi/System/SystemController.cs | 75 ++++++++++++++ AdminSrc/AdminApi/Task/TaskController.cs | 23 ++++- .../UserAssetChangeController.cs | 6 ++ .../Controllers/CustomerController.cs | 31 +++++- .../Controllers/ImageUploadController.cs | 3 + .../Controllers/PlayerController.cs | 3 + .../Controllers/RoomController.cs | 6 ++ .../Controllers/TimeController.cs | 3 + .../BeautifulNumberController.cs | 6 ++ UserSrc/UserApi/Dict/DictController.cs | 6 ++ UserSrc/UserApi/Faq/FaqController.cs | 12 +++ .../GameConfigs/ActivityConfigController.cs | 30 ++++++ .../GameConfigs/GameConfigController.cs | 5 +- UserSrc/UserApi/Hall/HallController.cs | 99 +++++++++++++++++++ UserSrc/UserApi/Login/LoginController.cs | 41 +++++++- UserSrc/UserApi/Lottery/LotteryController.cs | 12 +++ UserSrc/UserApi/Notices/NoticeController.cs | 9 ++ .../ScratchCard/ScratchCardController.cs | 3 + .../SummonCard/SummonCardController.cs | 3 + UserSrc/UserApi/User/FeedbackController.cs | 9 ++ UserSrc/UserApi/User/ImageUploadController.cs | 3 + UserSrc/UserApi/User/UserController.cs | 54 ++++++++++ 39 files changed, 947 insertions(+), 6 deletions(-) diff --git a/AdminSrc/AdminApi/AdminUser/AdminUserController.cs b/AdminSrc/AdminApi/AdminUser/AdminUserController.cs index ea15e65..a1f2271 100644 --- a/AdminSrc/AdminApi/AdminUser/AdminUserController.cs +++ b/AdminSrc/AdminApi/AdminUser/AdminUserController.cs @@ -32,6 +32,9 @@ namespace AdminApi.AdminUser _redisService = redisService; } + /// + /// 获取用户列表(管理员专用,增强版) + /// [HttpPost("GetUserList")] public async Task> GetUserList(AdminUserListParam param) { @@ -55,6 +58,9 @@ namespace AdminApi.AdminUser return this.ToPageResult(dtos, result.count); } + /// + /// 获取用户详情 + /// [HttpGet("GetUserDetail")] public async Task> GetUserDetail(string userId) { @@ -65,6 +71,9 @@ namespace AdminApi.AdminUser return this.ToResult(result); } + /// + /// 修改用户资产 + /// [HttpPost("UpdateUserAssets")] public async Task> UpdateUserAssets(UpdateUserAssetsParam param) { @@ -75,6 +84,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 获取用户统计数据 + /// [HttpGet("GetUserStatistics")] public async Task> GetUserStatistics() { @@ -82,6 +94,9 @@ namespace AdminApi.AdminUser return this.ToResult(MapToUserStatisticsDto(result)); } + /// + /// 获取邮件统计数据 + /// [HttpGet("GetEmailStatistics")] public async Task> GetEmailStatistics() { @@ -89,6 +104,9 @@ namespace AdminApi.AdminUser return this.ToResult(MapToEmailStatisticsDto(result)); } + /// + /// 批量封号 + /// [HttpPost("BatchBanUser")] public async Task> BatchBanUser(BatchBanUserParam param) { @@ -99,6 +117,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 解封用户 + /// [HttpGet("UnbanUser")] public async Task> UnbanUser(string userId) { @@ -109,6 +130,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 批量发送邮件 + /// [HttpPost("BatchSendEmail")] public async Task> BatchSendEmail(BatchSendEmailParam param) { @@ -119,6 +143,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 注销用户 + /// [HttpGet("CancelUser")] [Authorize] public async Task> CancelUser() @@ -130,6 +157,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 删除用户 + /// [HttpGet("DeleteUser")] [Authorize] public async Task> DeleteUser(string id) @@ -141,6 +171,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 批量删除用户 + /// [HttpPost("BatchDeleteUser")] [Authorize] public async Task> BatchDeleteUser([FromBody] BatchDeleteUserParam param) @@ -152,6 +185,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 封号 + /// [HttpPost("BanUser")] [Authorize] public async Task> BanUser([FromBody] BanUserParam param) @@ -163,6 +199,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 更新用户信息 + /// [HttpPost("UpdateUser")] [Authorize] public async Task> UpdateUser(UpdateUserDataParam param) @@ -174,6 +213,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 发送邮件 + /// [HttpPost("SendEmail")] [Authorize] public async Task> SendEmail(SendEmailParam param) @@ -185,6 +227,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 分页查询邮件列表 + /// [HttpPost("GetEmailList")] [Authorize] public async Task> GetEmailList([FromBody] EmailListQueryParam param) @@ -216,6 +261,9 @@ namespace AdminApi.AdminUser return this.ToPageResult(dtos, (int)count); } + /// + /// 删除邮件 + /// [HttpGet("DeleteEmail")] [Authorize] public async Task> DeleteEmail(string id) @@ -227,6 +275,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.message ?? "删除失败"); } + /// + /// 批量删除邮件 + /// [HttpPost("BatchDeleteEmail")] [Authorize] public async Task> BatchDeleteEmail([FromBody] List ids) @@ -237,6 +288,9 @@ namespace AdminApi.AdminUser return this.ToResult($"删除完成:成功 {success} 条,失败 {fail} 条"); } + /// + /// 设置用户类型 + /// [HttpPost("SetUserType")] public async Task> SetUserType(string userId, int userType) { @@ -247,6 +301,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 批量设置用户类型 + /// [HttpPost("BatchSetUserType")] public async Task> BatchSetUserType([FromBody] BatchSetUserTypeParam param) { @@ -257,6 +314,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 设置屏蔽状态 + /// [HttpPost("SetBlackUser")] public async Task> SetBlackUser(string userId, bool isBlack) { @@ -267,6 +327,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 批量设置屏蔽状态 + /// [HttpPost("BatchSetBlackUser")] public async Task> BatchSetBlackUser([FromBody] BatchSetBlackUserParam param) { @@ -277,6 +340,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 更新用户因子 + /// [HttpPost("UpdateUserFactor")] public async Task> UpdateUserFactor([FromBody] UpdateUserFactorFlatParam param) { @@ -297,6 +363,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 获取屏蔽用户因子配置 + /// [HttpGet("GetBlackFactorConfig")] public async Task> GetBlackFactorConfig() { @@ -304,6 +373,9 @@ namespace AdminApi.AdminUser return this.ToResult(MapToPlayerFactorDto(result)); } + /// + /// 重置用户因子为默认值 + /// [HttpPost("ResetUserFactor")] public async Task> ResetUserFactor(string userId) { @@ -314,6 +386,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 初始化用户密码为123456 + /// [HttpGet("InitUserPassword")] public async Task> InitUserPassword([FromQuery] string userId) { @@ -324,6 +399,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 初始化保险箱密码为123456 + /// [HttpGet("InitSafeBoxPassword")] public async Task> InitSafeBoxPassword([FromQuery] string userId) { @@ -334,6 +412,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(result.msg); } + /// + /// 获取用户因子列表 + /// [HttpPost("GetUserFactorList")] public async Task> GetUserFactorList([FromBody] UserFactorListParam param) { @@ -491,6 +572,9 @@ namespace AdminApi.AdminUser + /// + /// 获取用户背包道具 + /// [HttpGet("GetUserProps")] public async Task>> GetUserProps(string userId) { @@ -498,6 +582,9 @@ namespace AdminApi.AdminUser return this.ToResult(result); } + /// + /// 添加用户背包道具 + /// [HttpPost("AddUserProp")] public async Task> AddUserProp(string userId, string propNumber, int count) { @@ -506,6 +593,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(res.msg); } + /// + /// 修改用户道具数量(数量设为0则删除) + /// [HttpPost("UpdateUserPropCount")] public async Task> UpdateUserPropCount(string userId, string propNumber, int count) { @@ -514,6 +604,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(res.msg); } + /// + /// 删除用户道具 + /// [HttpPost("DeleteUserProp")] public async Task> DeleteUserProp(string userId, string propNumber) { @@ -522,6 +615,9 @@ namespace AdminApi.AdminUser return this.ToFailResult(res.msg); } + /// + /// 同步所有玩家的等级(根据经验值+充值重新计算) + /// [HttpGet("SyncAllUserLevel")] public async Task> SyncAllUserLevel() { diff --git a/AdminSrc/AdminApi/BackgroundOperation/BackgroundOperationController.cs b/AdminSrc/AdminApi/BackgroundOperation/BackgroundOperationController.cs index 1adfcc5..480f1b6 100644 --- a/AdminSrc/AdminApi/BackgroundOperation/BackgroundOperationController.cs +++ b/AdminSrc/AdminApi/BackgroundOperation/BackgroundOperationController.cs @@ -23,6 +23,9 @@ namespace AdminApi.BackgroundOperation _operationService = operationService; } + /// + /// 充值操作(不消耗平台资金,直接操作) + /// [HttpPost("charge")] public async Task> Charge([FromBody] BackgroundOperationRequest request) { @@ -40,6 +43,9 @@ namespace AdminApi.BackgroundOperation : this.ToFailResult(message); } + /// + /// 扣除操作(必须用户有足够余额) + /// [HttpPost("deduct")] public async Task> Deduct([FromBody] BackgroundOperationRequest request) { @@ -57,6 +63,9 @@ namespace AdminApi.BackgroundOperation : this.ToFailResult(message); } + /// + /// 查询操作日志(支持筛选) + /// [HttpGet("logs")] public async Task> GetLogs( string? adminUserId = null, @@ -71,6 +80,9 @@ namespace AdminApi.BackgroundOperation return this.ToPageResult(data, total); } + /// + /// 搜索用户(通过ID或用户名) + /// [HttpGet("search-user")] public async Task> SearchUser(string keyword) { diff --git a/AdminSrc/AdminApi/BeautifulNumber/BeautifulNumberController.cs b/AdminSrc/AdminApi/BeautifulNumber/BeautifulNumberController.cs index 47984b5..046629f 100644 --- a/AdminSrc/AdminApi/BeautifulNumber/BeautifulNumberController.cs +++ b/AdminSrc/AdminApi/BeautifulNumber/BeautifulNumberController.cs @@ -23,6 +23,9 @@ namespace AdminApi.BeautifulNumber _beautifulNumberService = beautifulNumberService; } + /// + /// 获取靓号列表 + /// [HttpGet("list")] public async Task> GetList([FromQuery] BeautifulNumberListParam param) { @@ -33,6 +36,9 @@ namespace AdminApi.BeautifulNumber return this.ToPageResult(dtos, (int)result.count); } + /// + /// 获取可购买的靓号列表 + /// [HttpGet("available")] public async Task> GetAvailableList([FromQuery] BeautifulNumberListParam param) { @@ -44,6 +50,9 @@ namespace AdminApi.BeautifulNumber return this.ToPageResult(dtos, (int)result.count); } + /// + /// 查询靓号信息 + /// [HttpGet("check/{number}")] public async Task> CheckNumber(string number) { @@ -70,6 +79,9 @@ namespace AdminApi.BeautifulNumber }; } + /// + /// 删除靓号 + /// [HttpPost("delete")] public async Task> Delete([FromBody] DeleteBeautifulNumberParam param) { @@ -80,6 +92,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 设置为普通号 + /// [HttpPost("set-normal")] public async Task> SetToNormal([FromBody] DeleteBeautifulNumberParam param) { @@ -90,6 +105,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 冻结靓号 + /// [HttpPost("freeze")] public async Task> Freeze([FromBody] DeleteBeautifulNumberParam param) { @@ -100,6 +118,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 解冻靓号 + /// [HttpPost("unfreeze")] public async Task> Unfreeze([FromBody] DeleteBeautifulNumberParam param) { @@ -110,6 +131,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 修改价格 + /// [HttpPost("update-price")] public async Task> UpdatePrice([FromBody] UpdateBeautifulNumberPriceParam param) { @@ -120,6 +144,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 修改靓号(等级和价格) + /// [HttpPost("update-number")] public async Task> UpdateNumber([FromBody] UpdateBeautifulNumberParam param) { @@ -130,6 +157,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 获取靓号规则列表 + /// [HttpGet("rules")] public async Task>> GetRules() { @@ -152,6 +182,9 @@ namespace AdminApi.BeautifulNumber }; } + /// + /// 更新靓号规则 + /// [HttpPost("update-rules")] public async Task> UpdateRules([FromBody] List paramList) { @@ -175,6 +208,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 初始化靓号规则 + /// [HttpPost("init-rules")] public async Task> InitRules() { @@ -185,6 +221,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 添加规则 + /// [HttpPost("add-rule")] public async Task> AddRule([FromBody] BeautifulNumberRule rule) { @@ -195,6 +234,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 更新规则 + /// [HttpPost("update-rule")] public async Task> UpdateRule([FromBody] BeautifulNumberRule rule) { @@ -205,6 +247,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 删除规则 + /// [HttpPost("delete-rule")] public async Task> DeleteRule([FromBody] DeleteBeautifulNumberRuleParam param) { @@ -215,6 +260,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 赠送靓号给用户 + /// [HttpPost("give-to-user")] public async Task> GiveToUser([FromBody] GiveBeautifulNumberParam param) { @@ -225,6 +273,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 初始化靓号(已售出不删除) + /// [HttpPost("init-numbers")] public async Task> InitNumbers() { @@ -235,6 +286,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 添加单个靓号 + /// [HttpPost("add-number")] public async Task> AddNumber([FromBody] AddBeautifulNumberParam param) { @@ -245,6 +299,9 @@ namespace AdminApi.BeautifulNumber return this.ToFailResult(result.msg); } + /// + /// 批量添加靓号 + /// [HttpPost("batch-add-numbers")] public async Task> BatchAddNumbers([FromBody] BatchAddBeautifulNumbersParam param) { diff --git a/AdminSrc/AdminApi/Controllers/ImageUploadController.cs b/AdminSrc/AdminApi/Controllers/ImageUploadController.cs index 324426c..1744574 100644 --- a/AdminSrc/AdminApi/Controllers/ImageUploadController.cs +++ b/AdminSrc/AdminApi/Controllers/ImageUploadController.cs @@ -17,6 +17,9 @@ namespace AdminApi.Controllers _imageUploadService = imageUploadService; } + /// + /// 兼容现有前端的通用上传入口。有 name 时按编号覆盖,否则上传到临时目录。 + /// [HttpPost("upload")] public async Task UploadFile(IFormFile file, [FromQuery] string? name = null) { @@ -29,6 +32,9 @@ namespace AdminApi.Controllers : Json(this.ToFailResult(result.errorMessage)); } + /// + /// 上传公告等临时图片。业务数据保存成功后,由对应业务服务移动到正式目录。 + /// [HttpPost("upload/temp")] public async Task UploadTempFile(IFormFile file) { @@ -38,6 +44,9 @@ namespace AdminApi.Controllers : Json(this.ToFailResult(result.errorMessage)); } + /// + /// 上传道具、碎片等配置图片,按“编号.png”直接覆盖正式图片。 + /// [HttpPost("upload/config")] public async Task UploadConfigFile(IFormFile file, [FromQuery] string? number = null) { diff --git a/AdminSrc/AdminApi/Controllers/OperationLogController.cs b/AdminSrc/AdminApi/Controllers/OperationLogController.cs index c0897db..692d014 100644 --- a/AdminSrc/AdminApi/Controllers/OperationLogController.cs +++ b/AdminSrc/AdminApi/Controllers/OperationLogController.cs @@ -28,6 +28,9 @@ namespace AdminApi.Controllers _logRepo = logRepo; } + /// + /// 分页查询操作日志 + /// [HttpPost("list")] public async Task> GetList([FromBody] OperationLogQueryParam param) { @@ -38,6 +41,9 @@ namespace AdminApi.Controllers return this.ToPageResult(dtos, (int)count); } + /// + /// 获取所有管理员(下拉选择用) + /// [HttpGet("admins")] public async Task>> GetAdmins() { @@ -46,6 +52,9 @@ namespace AdminApi.Controllers return this.ToResult(result); } + /// + /// 获取所有模块(下拉选择用) + /// [HttpGet("modules")] public BaseResponse> GetModules() { @@ -55,6 +64,9 @@ namespace AdminApi.Controllers return this.ToResult(modules); } + /// + /// 删除操作日志 + /// [HttpPost("Delete")] public async Task> Delete(string id) { @@ -65,6 +77,9 @@ namespace AdminApi.Controllers return this.ToFailResult("删除失败"); } + /// + /// 批量删除操作日志 + /// [HttpPost("BatchDelete")] public async Task> BatchDelete([FromBody] List ids) { diff --git a/AdminSrc/AdminApi/Customer/CustomerController.cs b/AdminSrc/AdminApi/Customer/CustomerController.cs index a6cd278..95a0adc 100644 --- a/AdminSrc/AdminApi/Customer/CustomerController.cs +++ b/AdminSrc/AdminApi/Customer/CustomerController.cs @@ -22,6 +22,9 @@ namespace AdminApi.Customer _customerService = customerService; } + /// + /// 获取客服列表 + /// [HttpGet("list")] public async Task> GetCustomerList([FromQuery] GetCustomerListParam param) { @@ -30,6 +33,9 @@ namespace AdminApi.Customer return this.ToPageResult(dtos, result.total); } + /// + /// 根据ID获取客服详情 + /// [HttpGet("{id}")] public async Task> GetCustomerById(string id) { @@ -38,6 +44,9 @@ namespace AdminApi.Customer return this.ToResult(dto); } + /// + /// 添加新客服 + /// [HttpPost] public async Task> AddCustomer([FromBody] AddCustomerParam param) { @@ -53,6 +62,9 @@ namespace AdminApi.Customer } } + /// + /// 更新客服信息 + /// [HttpPut] public async Task> UpdateCustomer([FromBody] UpdateCustomerParam param) { @@ -67,6 +79,9 @@ namespace AdminApi.Customer } } + /// + /// 删除客服 + /// [HttpDelete("{id}")] public async Task> DeleteCustomer(string id) { @@ -81,6 +96,9 @@ namespace AdminApi.Customer } } + /// + /// 获取会话列表 + /// [HttpGet("conversations")] public async Task> GetConversationList([FromQuery] GetConversationListParam param) { @@ -89,6 +107,9 @@ namespace AdminApi.Customer return this.ToPageResult(dtos, result.total); } + /// + /// 根据ID获取会话详情 + /// [HttpGet("conversation/{id}")] public async Task> GetConversationById(string id) { @@ -97,6 +118,9 @@ namespace AdminApi.Customer return this.ToResult(dto); } + /// + /// 删除会话及全部关联聊天记录。 + /// [HttpDelete("conversation/{id}")] public async Task> DeleteConversation(string id) { @@ -106,6 +130,9 @@ namespace AdminApi.Customer : this.ToFailResult(result.msg); } + /// + /// 获取会话聊天记录 + /// [HttpGet("chatlog/{conversationId}")] public async Task>> GetChatLog(string conversationId) { @@ -121,6 +148,9 @@ namespace AdminApi.Customer } } + /// + /// 删除单条消息 + /// [HttpDelete("message/{id}")] public async Task> DeleteMessage(string id) { @@ -135,6 +165,9 @@ namespace AdminApi.Customer } } + /// + /// 删除会话所有消息 + /// [HttpDelete("messages/{conversationId}")] public async Task> DeleteAllMessages(string conversationId) { @@ -149,6 +182,9 @@ namespace AdminApi.Customer } } + /// + /// 批量删除消息 + /// [HttpPost("messages/delete-batch")] public async Task> DeleteMessagesBatch([FromBody] DeleteMessagesBatchRequest param) { diff --git a/AdminSrc/AdminApi/EmptyRoomRate/EmptyRoomRateConfigController.cs b/AdminSrc/AdminApi/EmptyRoomRate/EmptyRoomRateConfigController.cs index 28cfe4c..8785f21 100644 --- a/AdminSrc/AdminApi/EmptyRoomRate/EmptyRoomRateConfigController.cs +++ b/AdminSrc/AdminApi/EmptyRoomRate/EmptyRoomRateConfigController.cs @@ -19,6 +19,9 @@ namespace AdminApi.EmptyRoomRate _emptyRoomRateConfigService = emptyRoomRateConfigService; } + /// + /// 获取空房率配置列表 + /// [HttpGet("list")] public async Task> GetList( [FromQuery] int page = 1, @@ -33,6 +36,9 @@ namespace AdminApi.EmptyRoomRate return this.ToPageResult(dtos, (int)result.count); } + /// + /// 新增空房率配置 + /// [HttpPost("add")] public async Task> Add([FromBody] AddEmptyRoomRateParam param) { @@ -42,6 +48,9 @@ namespace AdminApi.EmptyRoomRate return this.ToFailResult(result.msg); } + /// + /// 修改空房率配置 + /// [HttpPost("update")] public async Task> Update([FromBody] UpdateEmptyRoomRateParam param) { @@ -51,6 +60,9 @@ namespace AdminApi.EmptyRoomRate return this.ToFailResult(result.msg); } + /// + /// 删除空房率配置 + /// [HttpPost("delete")] public async Task> Delete([FromBody] DeleteEmptyRoomRateParam param) { @@ -107,4 +119,4 @@ namespace AdminApi.EmptyRoomRate { public string Id { get; set; } } -} \ No newline at end of file +} diff --git a/AdminSrc/AdminApi/Faq/FaqController.cs b/AdminSrc/AdminApi/Faq/FaqController.cs index bc26b98..a6b6ac0 100644 --- a/AdminSrc/AdminApi/Faq/FaqController.cs +++ b/AdminSrc/AdminApi/Faq/FaqController.cs @@ -20,6 +20,9 @@ namespace AdminApi.Faq } + /// + /// 获取所有板块 + /// [HttpGet("Categories")] public async Task GetCategories() { @@ -35,6 +38,9 @@ namespace AdminApi.Faq }; } + /// + /// 获取板块树形结构 + /// [HttpGet("CategoryTree")] public async Task GetCategoryTree() { @@ -48,6 +54,9 @@ namespace AdminApi.Faq }; } + /// + /// 获取板块详情 + /// [HttpGet("CategoryDetail")] public async Task> GetCategoryDetail(string id) { @@ -58,6 +67,9 @@ namespace AdminApi.Faq return this.ToResult(MapToCategoryDto(category)); } + /// + /// 添加板块 + /// [HttpPost("AddCategory")] public async Task> AddCategory([FromBody] FaqCategory category) { @@ -68,6 +80,9 @@ namespace AdminApi.Faq return this.ToFailResult(result.msg); } + /// + /// 更新板块 + /// [HttpPost("UpdateCategory")] public async Task> UpdateCategory([FromBody] FaqCategory category) { @@ -78,6 +93,9 @@ namespace AdminApi.Faq return this.ToFailResult(result.msg); } + /// + /// 删除板块 + /// [HttpPost("DeleteCategory")] public async Task> DeleteCategory(string id) { @@ -89,6 +107,9 @@ namespace AdminApi.Faq } + /// + /// 获取板块下的问题列表 + /// [HttpGet("Questions")] public async Task GetQuestions(string categoryId) { @@ -104,6 +125,9 @@ namespace AdminApi.Faq }; } + /// + /// 分页查询问题 + /// [HttpPost("QuestionList")] public async Task GetQuestionList([FromBody] FaqQueryParam param) { @@ -118,6 +142,9 @@ namespace AdminApi.Faq }; } + /// + /// 获取问题详情 + /// [HttpGet("QuestionDetail")] public async Task> GetQuestionDetail(string id) { @@ -128,6 +155,9 @@ namespace AdminApi.Faq return this.ToResult(MapToQuestionDto(question)); } + /// + /// 添加问题 + /// [HttpPost("AddQuestion")] public async Task> AddQuestion([FromBody] FaqQuestion question) { @@ -138,6 +168,9 @@ namespace AdminApi.Faq return this.ToFailResult(result.msg); } + /// + /// 更新问题 + /// [HttpPost("UpdateQuestion")] public async Task> UpdateQuestion([FromBody] FaqQuestion question) { @@ -148,6 +181,9 @@ namespace AdminApi.Faq return this.ToFailResult(result.msg); } + /// + /// 删除问题 + /// [HttpPost("DeleteQuestion")] public async Task> DeleteQuestion(string id) { diff --git a/AdminSrc/AdminApi/Feedbacks/FeedbackManageController.cs b/AdminSrc/AdminApi/Feedbacks/FeedbackManageController.cs index 423d5e6..74cc15c 100644 --- a/AdminSrc/AdminApi/Feedbacks/FeedbackManageController.cs +++ b/AdminSrc/AdminApi/Feedbacks/FeedbackManageController.cs @@ -24,6 +24,9 @@ namespace AdminApi.Feedbacks _feedbackRepo = feedbackRepo; } + /// + /// 分页查询反馈列表 + /// [HttpPost("List")] public async Task> GetList([FromBody] FeedbackQueryParam param) { @@ -32,6 +35,9 @@ namespace AdminApi.Feedbacks return this.ToPageResult(dtos, (int)result.count); } + /// + /// 获取反馈详情 + /// [HttpGet("Detail")] public async Task> GetDetail(string id) { @@ -42,6 +48,9 @@ namespace AdminApi.Feedbacks return this.ToResult(MapToDetailDto(feedback)); } + /// + /// 回复反馈 + /// [HttpPost("Reply")] public async Task> Reply([FromBody] ReplyFeedbackParam param) { @@ -62,6 +71,9 @@ namespace AdminApi.Feedbacks return this.ToFailResult("回复失败"); } + /// + /// 删除反馈 + /// [HttpPost("Delete")] public async Task> Delete(string id) { diff --git a/AdminSrc/AdminApi/GameConfigs/ActivityConfigController.cs b/AdminSrc/AdminApi/GameConfigs/ActivityConfigController.cs index ea27a54..7cdca0e 100644 --- a/AdminSrc/AdminApi/GameConfigs/ActivityConfigController.cs +++ b/AdminSrc/AdminApi/GameConfigs/ActivityConfigController.cs @@ -23,7 +23,13 @@ namespace AdminApi.GameConfigs _redisService = redisService; } + /// + /// 获取活动配置 + /// [HttpGet] + /// + /// 获取活动配置 + /// [HttpGet("Get")] public async Task> Get() { @@ -34,6 +40,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult("配置不存在"); } + /// + /// 更新活动配置 + /// [HttpPost("Update")] public async Task> Update(ActivityConfig config) { @@ -44,6 +53,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 删除活动配置 + /// [HttpPost("Delete")] public async Task> Delete() { @@ -54,6 +66,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新战令配置 + /// [HttpPost("UpdateBattleOrder")] public async Task> UpdateBattleOrder(BattleOrderConfig config) { @@ -66,6 +81,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新救济金配置 + /// [HttpPost("UpdateRelief")] public async Task> UpdateRelief(ReliefConfig config) { @@ -78,6 +96,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新签到池配置 + /// [HttpPost("UpdateSign")] public async Task> UpdateSign(SignActivityConfig config) { @@ -90,6 +111,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新金币商城配置 + /// [HttpPost("UpdateGoldShop")] public async Task> UpdateGoldShop(List configs) { @@ -102,6 +126,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新钻石商城配置 + /// [HttpPost("UpdateDiamondShop")] public async Task> UpdateDiamondShop(List configs) { @@ -114,6 +141,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新注册配置 + /// [HttpPost("UpdateRegister")] public async Task> UpdateRegister(RegisterConfig config) { @@ -126,6 +156,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新捕鱼返金币活动配置 + /// [HttpPost("UpdateFishingReturn")] public async Task> UpdateFishingReturn(FishingReturnConfig config) { @@ -138,6 +171,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 获取捕鱼返金币活动配置 + /// [HttpGet("GetFishingReturn")] public async Task> GetFishingReturn() { @@ -148,6 +184,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult("配置不存在"); } + /// + /// 保存指定板块到 activityconfig.json(将当前 MongoDB 配置写回初始化文件) + /// [HttpGet("SaveSection/{sectionName}")] public async Task> SaveSection(string sectionName) { @@ -197,6 +236,9 @@ namespace AdminApi.GameConfigs } } + /// + /// 导出活动配置指定板块为 JSON 文件 + /// [HttpGet("ExportSection/{sectionName}")] public async Task ExportSection(string sectionName) { diff --git a/AdminSrc/AdminApi/GameConfigs/AdminRoomController.cs b/AdminSrc/AdminApi/GameConfigs/AdminRoomController.cs index 17f2fe4..9e2a55d 100644 --- a/AdminSrc/AdminApi/GameConfigs/AdminRoomController.cs +++ b/AdminSrc/AdminApi/GameConfigs/AdminRoomController.cs @@ -38,6 +38,9 @@ namespace AdminApi.GameConfigs _logger = logger; } + /// + /// 获取所有房间列表 + /// [HttpGet("GetAllRooms")] public async Task> GetAllRooms( int pageIndex = 1, @@ -97,6 +100,9 @@ namespace AdminApi.GameConfigs return this.ToPageResult(pagedRooms, total); } + /// + /// 获取所有象棋房间列表 + /// [HttpGet("GetAllChessRooms")] public async Task> GetAllChessRooms( int pageIndex = 1, @@ -124,6 +130,9 @@ namespace AdminApi.GameConfigs return this.ToPageResult(pagedRooms, total); } + /// + /// 获取象棋房间详情 + /// [HttpGet("GetChessRoomDetail")] public async Task> GetChessRoomDetail(string roomId) { @@ -134,6 +143,9 @@ namespace AdminApi.GameConfigs return this.ToResult(room); } + /// + /// 清空象棋房间玩家 + /// [HttpGet("ClearChessRoom")] public async Task> ClearChessRoom(string roomId) { @@ -176,6 +188,9 @@ namespace AdminApi.GameConfigs return this.ToResult($"已清空房间 {roomId} 的所有玩家({playerCount} 人)"); } + /// + /// 后台将指定玩家踢出象棋房间。 + /// [HttpGet("KickChessPlayer")] public async Task> KickChessPlayer(string roomId, string userId) { @@ -200,6 +215,9 @@ namespace AdminApi.GameConfigs return this.ToResult("踢人指令已提交"); } + /// + /// 获取象棋房间统计(房间为空时自动初始化) + /// [HttpGet("GetChessRoomStatistics")] public async Task> GetChessRoomStatistics() { @@ -226,6 +244,9 @@ namespace AdminApi.GameConfigs return this.ToResult(stats); } + /// + /// 删除象棋房间 + /// [HttpGet("DeleteChessRoom")] public async Task> DeleteChessRoom(string roomId) { @@ -238,6 +259,9 @@ namespace AdminApi.GameConfigs return this.ToResult("已删除房间 " + roomId); } + /// + /// 为象棋房间添加机器人 + /// [HttpGet("AddChessRobot")] public async Task> AddChessRobot(string roomId, int count) { @@ -256,6 +280,9 @@ namespace AdminApi.GameConfigs return this.ToResult("添加成功"); } + /// + /// 设置象棋房间机器人数量 + /// [HttpGet("SetChessRobot")] public async Task> SetChessRobot(string roomId, int count) { @@ -274,6 +301,9 @@ namespace AdminApi.GameConfigs return this.ToResult("设置成功"); } + /// + /// 获取房间详情 + /// [HttpGet("GetRoomDetail")] public async Task> GetRoomDetail(string roomId) { @@ -284,6 +314,9 @@ namespace AdminApi.GameConfigs return this.ToResult(room); } + /// + /// 获取用户实时房间数据(捕鱼,读Redis房间内该用户数据) + /// [HttpGet("GetUserRoomRealtime")] [ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)] public async Task> GetUserRoomRealtime(string userId) @@ -383,6 +416,9 @@ namespace AdminApi.GameConfigs return this.ToResult(dto); } + /// + /// 为房间添加机器人 + /// [HttpGet("AddRobot")] public async Task> AddRobot(string roomId, int count) { @@ -411,6 +447,9 @@ namespace AdminApi.GameConfigs return this.ToResult($"已为房间 {roomId} 添加 {count} 个机器人"); } + /// + /// 设置房间机器人数量 + /// [HttpGet("SetRobotCount")] public async Task> SetRobotCount(string roomId, int count) { @@ -439,6 +478,9 @@ namespace AdminApi.GameConfigs return this.ToResult($"已将房间 {roomId} 的机器人数量设置为 {count}"); } + /// + /// 一键重生成所有机器人编号(GUID UserId + 8位编号) + /// [HttpGet("RegenerateAllBotIds")] public async Task> RegenerateAllBotIds() { @@ -469,6 +511,9 @@ namespace AdminApi.GameConfigs return this.ToResult($"已刷新 {totalBots} 个机器人编号(涉及 {rooms.Count(r => r?.Players?.Any(p => p.IsBot) == true)} 个房间)"); } + /// + /// 清空房间(踢出所有玩家,含结算通知) + /// [HttpGet("ClearRoom")] public async Task> ClearRoom(string roomId) { @@ -536,6 +581,9 @@ namespace AdminApi.GameConfigs return this.ToResult(msg); } + /// + /// 获取房间统计 + /// [HttpGet("GetRoomStatistics")] public async Task> GetRoomStatistics() { @@ -563,6 +611,9 @@ namespace AdminApi.GameConfigs return this.ToResult(stats); } + /// + /// 修复所有象棋房间状态和密码(按 robotCount 规则修正) + /// [HttpGet("RepairChessRooms")] public async Task> RepairChessRooms() { @@ -584,6 +635,9 @@ namespace AdminApi.GameConfigs return this.ToResult($"已修复 {fixedCount} 个象棋房间"); } + /// + /// 初始化房间 + /// [HttpGet("InitRooms")] public async Task> InitRooms() { @@ -625,6 +679,9 @@ namespace AdminApi.GameConfigs return this.ToResult("房间初始化成功"); } + /// + /// 清空并重新初始化所有象棋房间 + /// [HttpGet("ReInitChessRooms")] public async Task> ReInitChessRooms() { diff --git a/AdminSrc/AdminApi/GameConfigs/BotConfigController.cs b/AdminSrc/AdminApi/GameConfigs/BotConfigController.cs index 3b3d863..336c396 100644 --- a/AdminSrc/AdminApi/GameConfigs/BotConfigController.cs +++ b/AdminSrc/AdminApi/GameConfigs/BotConfigController.cs @@ -17,6 +17,9 @@ namespace AdminApi.GameConfigs _botRepo = botRepo; } + /// + /// 获取所有机器人配置 + /// [HttpGet("GetAll")] public async Task>> GetAll() { @@ -24,6 +27,9 @@ namespace AdminApi.GameConfigs return this.ToResult(list.ToList()); } + /// + /// 添加机器人配置 + /// [HttpPost("Add")] public async Task> Add(BotProfileEntity entity) { @@ -34,6 +40,9 @@ namespace AdminApi.GameConfigs return this.ToResult("添加成功"); } + /// + /// 更新机器人配置 + /// [HttpPost("Update")] public async Task> Update(BotProfileEntity entity) { @@ -50,6 +59,9 @@ namespace AdminApi.GameConfigs return this.ToResult("更新成功"); } + /// + /// 删除机器人配置 + /// [HttpPost("Delete")] public async Task> Delete([FromQuery] string id) { diff --git a/AdminSrc/AdminApi/GameConfigs/GameConfigController.cs b/AdminSrc/AdminApi/GameConfigs/GameConfigController.cs index 01019c0..6d987cd 100644 --- a/AdminSrc/AdminApi/GameConfigs/GameConfigController.cs +++ b/AdminSrc/AdminApi/GameConfigs/GameConfigController.cs @@ -54,6 +54,9 @@ namespace AdminApi.GameConfigs + /// + /// 一键初始化所有配置(GameConfig + ActivityConfig) + /// [HttpGet("init-all")] public async Task> InitAll([FromServices] IActivityConfigService activityConfigService) { @@ -64,6 +67,9 @@ namespace AdminApi.GameConfigs return this.ToResult("所有配置初始化成功"); } + /// + /// 初始化游戏配置(仅 GameConfig) + /// [HttpGet("init-game")] public async Task> InitGame() { @@ -71,6 +77,9 @@ namespace AdminApi.GameConfigs return this.ToResult("游戏配置初始化成功"); } + /// + /// 初始化指定板块(从gameconfig.json读取该板块数据,不影响其他配置) + /// [HttpGet("InitSection/{sectionName}")] public async Task> InitSection(string sectionName) { @@ -135,6 +144,9 @@ namespace AdminApi.GameConfigs } } + /// + /// 保存指定板块到 gameconfig.json(将当前 MongoDB 配置写回初始化文件) + /// [HttpGet("SaveSection/{sectionName}")] public async Task> SaveSection(string sectionName) { @@ -213,6 +225,9 @@ namespace AdminApi.GameConfigs } } + /// + /// 初始化活动配置(仅 ActivityConfig) + /// [HttpGet("init-activity")] public async Task> InitActivity([FromServices] IActivityConfigService activityConfigService) { @@ -220,6 +235,9 @@ namespace AdminApi.GameConfigs return this.ToResult("活动配置初始化成功"); } + /// + /// 初始化活动配置单个板块(从 activityconfig.json 读取) + /// [HttpGet("InitActivitySection/{sectionName}")] public async Task> InitActivitySection(string sectionName, [FromServices] IActivityConfigService activityConfigService) { @@ -3317,6 +3335,9 @@ namespace AdminApi.GameConfigs } } + /// + /// 获取游戏配置 + /// [HttpGet] public async Task> Get() @@ -3329,6 +3350,9 @@ namespace AdminApi.GameConfigs return this.ToResult(res); } + /// + /// 获取所有鱼类型列表(用于下拉选择) + /// [HttpGet("FishTypeList")] public async Task>> GetFishTypeList() { @@ -3341,6 +3365,9 @@ namespace AdminApi.GameConfigs return this.ToResult(res.FishTypeConfigs.OrderBy(f => f.FishNumber).ToList()); } + /// + /// 获取道具列表(用于发送邮件选择道具) + /// [HttpGet("PropList")] public async Task>> GetPropList() { @@ -3365,6 +3392,9 @@ namespace AdminApi.GameConfigs return this.ToResult(propList); } + /// + /// 添加和修改游戏配置 + /// [HttpPost("Update")] public async Task> Update(GameConfig param) { @@ -3378,6 +3408,9 @@ namespace AdminApi.GameConfigs } + /// + /// 更新鱼种配置 + /// [HttpPost("UpdateFishType")] public async Task> UpdateFishType(List configs) { @@ -3391,6 +3424,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新房间配置 + /// [HttpPost("UpdateRoom")] public async Task> UpdateRoom(List configs) { @@ -3403,6 +3439,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新出鱼配置 + /// [HttpPost("UpdateRoomFish")] public async Task> UpdateRoomFish(List configs) { @@ -3416,6 +3455,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新鱼阵配置 + /// [HttpPost("UpdateFishArray")] public async Task> UpdateFishArray(List configs) { @@ -3429,6 +3471,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新用户等级配置 + /// [HttpPost("UpdateUserLevel")] public async Task> UpdateUserLevel(List configs) { @@ -3441,6 +3486,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新道具配置 + /// [HttpPost("UpdateProp")] public async Task> UpdateProp(List configs) { @@ -3454,6 +3502,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 更新道具碎片配置 + /// [HttpPost("UpdatePropFragment")] public async Task> UpdatePropFragment(List configs) { @@ -3484,6 +3535,9 @@ namespace AdminApi.GameConfigs } } + /// + /// 更新VIP等级配置 + /// [HttpPost("UpdateVipLevel")] public async Task> UpdateVipLevel(List configs) { @@ -3498,6 +3552,9 @@ namespace AdminApi.GameConfigs return this.ToFailResult(res.msg); } + /// + /// 独立更新刮刮卡配置,避免页面提交并覆盖整份游戏配置。 + /// [HttpPost("UpdateScratchCard")] public async Task> UpdateScratchCard(List configs) { @@ -3514,6 +3571,9 @@ namespace AdminApi.GameConfigs return res.isok ? this.ToResult(res.msg) : this.ToFailResult(res.msg); } + /// + /// 更新Boss道具掉落配置 + /// [HttpPost("UpdateBossDrop")] public async Task> UpdateBossDrop(BossDropConfig config) { @@ -3528,6 +3588,9 @@ namespace AdminApi.GameConfigs + /// + /// 导出指定板块的配置为JSON文件,产品数据自动从PropConfig富化 + /// [HttpGet("ExportSection/{sectionName}")] public async Task ExportSection(string sectionName) { diff --git a/AdminSrc/AdminApi/GameConfigs/TempSpawnFishController.cs b/AdminSrc/AdminApi/GameConfigs/TempSpawnFishController.cs index 6f2b3e4..c8232b6 100644 --- a/AdminSrc/AdminApi/GameConfigs/TempSpawnFishController.cs +++ b/AdminSrc/AdminApi/GameConfigs/TempSpawnFishController.cs @@ -25,6 +25,9 @@ namespace AdminApi.GameConfigs _logger = logger; } + /// + /// 指定房间强制出指定鱼(临时/调试)。无鉴权、GET 直接调用。 + /// [HttpGet("SpawnFish")] public async Task> SpawnFish( string roomId, @@ -95,4 +98,4 @@ namespace AdminApi.GameConfigs } } } -} \ No newline at end of file +} diff --git a/AdminSrc/AdminApi/LoginLogs/UserLoginLogController.cs b/AdminSrc/AdminApi/LoginLogs/UserLoginLogController.cs index c15185b..c72c19a 100644 --- a/AdminSrc/AdminApi/LoginLogs/UserLoginLogController.cs +++ b/AdminSrc/AdminApi/LoginLogs/UserLoginLogController.cs @@ -22,6 +22,9 @@ namespace AdminApi.LoginLogs _logRepo = logRepo; } + /// + /// 分页查询登录日志 + /// [HttpPost("List")] public async Task> GetList([FromBody] UserLoginLogQueryParam param) { @@ -45,6 +48,9 @@ namespace AdminApi.LoginLogs return this.ToPageResult(dtos, (int)result.count); } + /// + /// 获取登录日志详情 + /// [HttpGet("Detail")] public async Task> GetDetail(string id) { @@ -55,6 +61,9 @@ namespace AdminApi.LoginLogs return this.ToResult(MapToDto(log)); } + /// + /// 删除登录日志 + /// [HttpPost("Delete")] public async Task> Delete(string id) { @@ -65,6 +74,9 @@ namespace AdminApi.LoginLogs return this.ToFailResult("删除失败"); } + /// + /// 批量删除登录日志 + /// [HttpPost("BatchDelete")] public async Task> BatchDelete([FromBody] List ids) { diff --git a/AdminSrc/AdminApi/Lottery/LotteryController.cs b/AdminSrc/AdminApi/Lottery/LotteryController.cs index 1e95c0f..f8734d9 100644 --- a/AdminSrc/AdminApi/Lottery/LotteryController.cs +++ b/AdminSrc/AdminApi/Lottery/LotteryController.cs @@ -19,6 +19,9 @@ namespace AdminApi.Lottery _gameConfigService = gameConfigService; } + /// + /// 获取奖池抽奖活动列表(基于 ActivityConfig 中的 LotteryActivityConfig) + /// [HttpGet("list")] public async Task>> List() { @@ -47,6 +50,9 @@ namespace AdminApi.Lottery return this.ToResult(new List { vm }); } + /// + /// 获取奖池抽奖活动详情 + /// [HttpGet("detail")] public async Task> Detail([FromQuery] string activityId) { @@ -71,6 +77,9 @@ namespace AdminApi.Lottery return this.ToResult(vm); } + /// + /// 保存奖池抽奖活动配置(新增或更新) + /// [HttpPost("save")] public async Task> Save([FromBody] LotteryActivityVm param) { @@ -135,6 +144,9 @@ namespace AdminApi.Lottery LotteryPrizeProductHelper.Enrich(new LotteryActivityConfig { Pools = pools }, gameConfig); } + /// + /// 切换奖池抽奖活动开启/关闭状态 + /// [HttpPost("toggle")] public async Task> Toggle([FromBody] LotteryToggleParam param) { @@ -151,6 +163,9 @@ namespace AdminApi.Lottery return this.ToFailResult(res.msg); } + /// + /// 从独立模板初始化完整奖池配置。只在管理员明确点击时执行,其他活动配置不变。 + /// [HttpPost("initialize")] public async Task> Initialize() { @@ -191,6 +206,9 @@ namespace AdminApi.Lottery : this.ToFailResult(result.msg); } + /// + /// 删除奖池抽奖活动配置(重置为默认空配置) + /// [HttpDelete("delete")] public async Task> Delete() { diff --git a/AdminSrc/AdminApi/Notices/NoticeController.cs b/AdminSrc/AdminApi/Notices/NoticeController.cs index df4f964..24c4216 100644 --- a/AdminSrc/AdminApi/Notices/NoticeController.cs +++ b/AdminSrc/AdminApi/Notices/NoticeController.cs @@ -19,6 +19,9 @@ public class NoticeController : BaseController _noticeService = noticeService; } + /// + /// 添加系统公告 + /// [HttpPost("add")] public async Task> AddNotice([FromBody] AddNoticeParam param) { @@ -28,6 +31,9 @@ public class NoticeController : BaseController : this.ToFailResult(result.msg); } + /// + /// 修改系统公告 + /// [HttpPost("update")] public async Task> UpdateNotice([FromBody] UpdateNoticeParam param) { @@ -37,6 +43,9 @@ public class NoticeController : BaseController : this.ToFailResult(result.msg); } + /// + /// 删除公告 + /// [HttpGet("delete")] public async Task> DeleteNotice([FromQuery] string id) { @@ -46,6 +55,9 @@ public class NoticeController : BaseController : this.ToFailResult(result.msg); } + /// + /// 获取系统公告列表 + /// [HttpPost("list")] public async Task> GetNoticeList([FromBody] GetNoticeListParam param) { @@ -63,6 +75,9 @@ public class NoticeController : BaseController return this.ToPageResult(dtos, (int)count); } + /// + /// 根据ID获取公告详情 + /// [HttpGet("get")] [AllowAnonymous] public async Task> GetNotice([FromQuery] string id) diff --git a/AdminSrc/AdminApi/System/SystemController.cs b/AdminSrc/AdminApi/System/SystemController.cs index a63be1f..46d1a1d 100644 --- a/AdminSrc/AdminApi/System/SystemController.cs +++ b/AdminSrc/AdminApi/System/SystemController.cs @@ -25,6 +25,9 @@ namespace AdminApi.System } + /// + /// 添加系统用户 + /// [HttpPost("user/add")] public async Task> AddUser(AddUserParam param) @@ -35,6 +38,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 修改系统用户 + /// [HttpPost("user/update")] public async Task> UpdateUser(UpdateUserParam param) @@ -45,6 +51,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 修改系统用户头像 + /// [HttpGet("user/update/icon")] public async Task> UpdateUserIcon(string id, string icon) @@ -55,6 +64,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 修改系统用户状态 + /// [HttpGet("user/update/state")] public async Task> UpdateUserState(string id, int state) @@ -65,6 +77,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 删除用户 + /// [HttpGet("user/delete")] public async Task> DeleteUser(string id) @@ -75,6 +90,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 用户登陆 + /// [HttpGet("user/login")] [AllowAnonymous] public async Task> UserLogin(string userName, string password) @@ -85,6 +103,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 获取系统用户列表 + /// [HttpPost("user/list")] public async Task> GetUserList(GetUserListParam param) @@ -94,6 +115,9 @@ namespace AdminApi.System return this.ToPageResult(dtos, (int)result.count); } + /// + /// 获取当前登陆用户信息 + /// [HttpGet("user/getuser")] public async Task> GetUser() @@ -122,6 +146,9 @@ namespace AdminApi.System }; } + /// + /// 获取用户菜单 + /// [HttpGet("user/nav")] public async Task> GetUserNav() @@ -136,6 +163,9 @@ namespace AdminApi.System + /// + /// 添加系统角色 + /// [HttpPost("role/add")] public async Task> AddRole(AddRoleParam param) @@ -146,6 +176,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 修改角色 + /// [HttpPost("role/update")] public async Task> UpdateRole(UpdateRoleParam param) @@ -156,6 +189,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 修改角色菜单 + /// [HttpPost("role/updatenav")] public async Task> UpdateRoleNav(UpdateRoleNavParam param) @@ -167,6 +203,9 @@ namespace AdminApi.System return this.ToFailResult(result.msg); } + /// + /// 删除角色 + /// [HttpGet("role/delete")] public async Task> DeleteRole(string id) @@ -178,6 +217,9 @@ namespace AdminApi.System return this.ToFailResult(result.msg); } + /// + /// 获取系统角色列表 + /// [HttpGet("role/list")] public async Task> GetRoleList(int page, int limit) { @@ -197,6 +239,9 @@ namespace AdminApi.System NavIds = entity.NavIds ?? new List() }; } + /// + /// 获取角色 + /// [HttpGet("role/get")] public async Task> GetUserRole(string id) @@ -208,6 +253,9 @@ namespace AdminApi.System + /// + /// 添加系统菜单 + /// [HttpPost("nav/add")] public async Task> AddNav(AddNavParam param) @@ -218,6 +266,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 修改菜单 + /// [HttpPost("nav/update")] public async Task> UpdateNav(UpdateNavParam param) @@ -229,6 +280,9 @@ namespace AdminApi.System return this.ToFailResult(result.msg); } + /// + /// 删除菜单 + /// [HttpGet("nav/delete")] public async Task> DeleteNav(string id) @@ -241,6 +295,9 @@ namespace AdminApi.System } + /// + /// 获取菜单列表 + /// [HttpGet("nav/list")] public async Task> GetNavList(string? id="") @@ -272,6 +329,9 @@ namespace AdminApi.System + /// + /// 添加系统字典 + /// [HttpPost("dic/add")] public async Task> AddDic(AddDicParam param) @@ -282,6 +342,9 @@ namespace AdminApi.System else return this.ToFailResult(result.msg); } + /// + /// 修改字典 + /// [HttpPost("dic/update")] public async Task> UpdateDic(UpdateDicParam param) @@ -293,6 +356,9 @@ namespace AdminApi.System return this.ToFailResult(result.msg); } + /// + /// 删除字典 + /// [HttpGet("dic/delete")] public async Task> DeleteDic(string id) @@ -305,6 +371,9 @@ namespace AdminApi.System } + /// + /// 获取字典列表 + /// [HttpGet("dic/list")] public async Task> GetDicList(string id="") @@ -312,6 +381,9 @@ namespace AdminApi.System var result = await _systemService.GetDicList(id); return this.ToListResult(result); } + /// + /// 获取字典列表 + /// [HttpGet("dic/list/code")] public async Task> GetDicListByCode(string code) @@ -319,6 +391,9 @@ namespace AdminApi.System var result = await _systemService.GetDicListByCode(code); return this.ToListResult(result); } + /// + /// 获取字典对象 + /// [HttpGet("dic/get/code")] public async Task> GetDictByCode(string code) diff --git a/AdminSrc/AdminApi/Task/TaskController.cs b/AdminSrc/AdminApi/Task/TaskController.cs index c6bf024..68a3fc1 100644 --- a/AdminSrc/AdminApi/Task/TaskController.cs +++ b/AdminSrc/AdminApi/Task/TaskController.cs @@ -1,4 +1,4 @@ -using AdminService.Tasks; +using AdminService.Tasks; using AdminService.Tasks.Param; using Common; using CommonDomain; @@ -19,17 +19,26 @@ namespace AdminApi.Task _taskService = taskService; } + /// + /// 初始化任务 + /// [HttpGet("Init")] public async Task Init() { return await _taskService.InitDefaultTasks(); } + /// + /// 发放任务 + /// [HttpGet("DayTaskReward")] public async Task DayTaskReward() { return await _taskService.DayTaskReward(); } + /// + /// 添加任务 + /// [HttpPost("AddTask")] public async Task> AddTask([FromBody] GameTask param) { @@ -39,6 +48,9 @@ namespace AdminApi.Task else return this.ToFailResult(res.msg); } + /// + /// 删除任务 + /// [HttpGet("DeleteTask")] public async Task> DeleteTask(string id) { @@ -48,6 +60,9 @@ namespace AdminApi.Task else return this.ToFailResult(res.msg); } + /// + /// 更新任务状态 + /// [HttpGet("UpdateTaskState")] public async Task> UpdateTaskState(string id, int state) { @@ -58,6 +73,9 @@ namespace AdminApi.Task return this.ToFailResult(res.msg); } + /// + /// 更新任务 + /// [HttpPost("UpdateTask")] public async Task> UpdateTask([FromBody] GameTask param) { @@ -68,6 +86,9 @@ namespace AdminApi.Task return this.ToFailResult(res.msg); } + /// + /// 获取任务列表 + /// [HttpPost("GetTaskList")] public async Task> GetTaskList(GetTaskListParam param) { diff --git a/AdminSrc/AdminApi/UserAssetChanges/UserAssetChangeController.cs b/AdminSrc/AdminApi/UserAssetChanges/UserAssetChangeController.cs index ca35d19..f00d612 100644 --- a/AdminSrc/AdminApi/UserAssetChanges/UserAssetChangeController.cs +++ b/AdminSrc/AdminApi/UserAssetChanges/UserAssetChangeController.cs @@ -29,6 +29,9 @@ namespace AdminApi.UserAssetChanges _userMongo = userMongo; } + /// + /// 分页查询用户资产变动记录 + /// [HttpPost("list")] public async Task> GetList([FromBody] UserAssetChangeQueryParam param) { @@ -115,6 +118,9 @@ namespace AdminApi.UserAssetChanges return this.ToPageResult(dtos, (int)result.count); } + /// + /// 获取所有事件来源(下拉选择用) + /// [HttpGet("sources")] public BaseResponse> GetSources() { diff --git a/CustomerSrc/CustomerApi/Controllers/CustomerController.cs b/CustomerSrc/CustomerApi/Controllers/CustomerController.cs index 6948eb8..15b8cff 100644 --- a/CustomerSrc/CustomerApi/Controllers/CustomerController.cs +++ b/CustomerSrc/CustomerApi/Controllers/CustomerController.cs @@ -18,6 +18,9 @@ public class CustomerController : BaseController _customerService = customerService; } + /// + /// 发起会话 - 用户点击客服入口时调用 + /// [HttpPost("start")] public async Task> StartConversation([FromBody] StartConversationParam param) { @@ -28,6 +31,9 @@ public class CustomerController : BaseController return this.ToFailResult(result.msg); } + /// + /// 发送消息 - 在会话中发送文字或图片消息 + /// [HttpPost("message")] public async Task> SendMessage([FromBody] SendMessageParam param) { @@ -38,6 +44,9 @@ public class CustomerController : BaseController return this.ToFailResult(result.msg); } + /// + /// 获取消息列表 - 获取指定会话的所有聊天记录 + /// [HttpGet("messages/{conversationId}")] public async Task> GetMessages(string conversationId) { @@ -48,6 +57,9 @@ public class CustomerController : BaseController return this.ToListFailResult(result.msg); } + /// + /// 获取会话列表 - 获取所有会话或指定客服的会话 + /// [HttpGet("conversations")] public async Task> GetConversations([FromQuery] string? customerId) { @@ -58,6 +70,9 @@ public class CustomerController : BaseController return this.ToListFailResult(result.msg); } + /// + /// 获取当前用户的会话列表 - 获取当前登录用户的所有会话及聊天记录 + /// [HttpGet("my-conversations")] public async Task> GetMyConversations() { @@ -69,6 +84,9 @@ public class CustomerController : BaseController return this.ToListFailResult(result.msg); } + /// + /// 结束会话 - 关闭指定的会话 + /// [HttpPost("end")] public async Task> EndConversation([FromBody] EndConversationParam param) { @@ -79,7 +97,9 @@ public class CustomerController : BaseController return this.ToFailResult(result.msg); } - + /// + /// 获取在线客服列表 - 获取当前所有在线的客服人员 + /// [HttpGet("online")] public async Task> GetOnlineCustomers() { @@ -90,6 +110,9 @@ public class CustomerController : BaseController return this.ToListFailResult(result.msg); } + /// + /// 更新客服状态 - 设置客服的在线/离线状态 + /// [HttpPost("status")] public async Task> UpdateCustomerStatus([FromBody] UpdateStatusParam param) { @@ -100,6 +123,9 @@ public class CustomerController : BaseController return this.ToFailResult(result.msg); } + /// + /// 标记会话已读 - 客服点击会话时调用,更新该用户所有会话的最后读取时间 + /// [HttpPost("mark-read")] public async Task> MarkAsRead([FromBody] MarkReadParam param) { @@ -110,6 +136,9 @@ public class CustomerController : BaseController return this.ToFailResult(result.msg); } + /// + /// 获取聊天记录 - 获取指定会话的所有消息 + /// [HttpGet("chatlog/{conversationId}")] public async Task> GetChatLog(string conversationId) { diff --git a/CustomerSrc/CustomerApi/Controllers/ImageUploadController.cs b/CustomerSrc/CustomerApi/Controllers/ImageUploadController.cs index e5de0ef..1f02f8e 100644 --- a/CustomerSrc/CustomerApi/Controllers/ImageUploadController.cs +++ b/CustomerSrc/CustomerApi/Controllers/ImageUploadController.cs @@ -12,6 +12,9 @@ namespace CustomerApi.Controllers public string Path { get; set; } = ""; } + /// + /// 上传图片 - 客服聊天中的图片上传 + /// [HttpPost("upload")] public async Task> UploadFile(IFormFile file) { diff --git a/FishGameSrc/FishGameHost/Controllers/PlayerController.cs b/FishGameSrc/FishGameHost/Controllers/PlayerController.cs index 1c2d932..ca0e74e 100644 --- a/FishGameSrc/FishGameHost/Controllers/PlayerController.cs +++ b/FishGameSrc/FishGameHost/Controllers/PlayerController.cs @@ -16,6 +16,9 @@ public class PlayerController : ControllerBase _jwtTools = jwtTools; } + /// + /// 玩家登录 - 生成 JWT token 并返回玩家基础信息(调试用) + /// [HttpPost("login")] public IActionResult Login([FromBody] PlayerLoginRequest request) { diff --git a/FishGameSrc/FishGameHost/Controllers/RoomController.cs b/FishGameSrc/FishGameHost/Controllers/RoomController.cs index 71179f8..02b97ef 100644 --- a/FishGameSrc/FishGameHost/Controllers/RoomController.cs +++ b/FishGameSrc/FishGameHost/Controllers/RoomController.cs @@ -23,6 +23,9 @@ namespace FishGameHost.Controllers public string WebSocketUrl { get; set; } = ""; } + /// + /// 快速加入 - 根据游戏类型和等级查找一个不满员的房间,直接返回 WS 地址和 roomId + /// [HttpGet("QuickJoin")] public BaseResponse QuickJoin(int gameType, int level) { @@ -54,6 +57,9 @@ namespace FishGameHost.Controllers return instances[0]; } + /// + /// 分配房间到目标游戏服务器 - 返回指定房间对应的对局服务 WS 地址 + /// [HttpGet("Assign")] public BaseResponse AssignRoom(string roomId) { diff --git a/FishGameSrc/FishGameHost/Controllers/TimeController.cs b/FishGameSrc/FishGameHost/Controllers/TimeController.cs index fdc3222..92209cb 100644 --- a/FishGameSrc/FishGameHost/Controllers/TimeController.cs +++ b/FishGameSrc/FishGameHost/Controllers/TimeController.cs @@ -6,6 +6,9 @@ namespace FishGameHost.Controllers; [Route("fishapi/[controller]")] public class TimeController : ControllerBase { + /// + /// 获取 FishApi 当前服务器时间,用于比较不同容器的系统时钟。 + /// [HttpGet("GetDateTime")] [ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)] public IActionResult GetDateTime() diff --git a/UserSrc/UserApi/BeautifulNumber/BeautifulNumberController.cs b/UserSrc/UserApi/BeautifulNumber/BeautifulNumberController.cs index 6a2b35a..15c6097 100644 --- a/UserSrc/UserApi/BeautifulNumber/BeautifulNumberController.cs +++ b/UserSrc/UserApi/BeautifulNumber/BeautifulNumberController.cs @@ -24,6 +24,9 @@ namespace UserApi.BeautifulNumber } + /// + /// 获取可购买的靓号列表 + /// [HttpGet("available")] public async Task> GetAvailableList([FromQuery] BeautifulNumberListParam param) { @@ -35,6 +38,9 @@ namespace UserApi.BeautifulNumber return this.ToPageResult(dtos, result.Count); } + /// + /// 查询靓号信息 + /// [HttpGet("check/{number}")] public async Task> CheckNumber(string number) { diff --git a/UserSrc/UserApi/Dict/DictController.cs b/UserSrc/UserApi/Dict/DictController.cs index 60095fd..60f70fa 100644 --- a/UserSrc/UserApi/Dict/DictController.cs +++ b/UserSrc/UserApi/Dict/DictController.cs @@ -16,6 +16,9 @@ namespace UserApi.Dict _dicRepo = dicRepo; } + /// + /// 根据编码获取字典项 + /// [HttpGet("GetByCode")] public async Task> GetByCode(string code) { @@ -23,6 +26,9 @@ namespace UserApi.Dict return this.ToResult(dic); } + /// + /// 根据编码获取字典子项列表 - 返回该字典编码下所有子项(按 Order 排序) + /// [HttpGet("GetListByCode")] public async Task>> GetListByCode(string code) { diff --git a/UserSrc/UserApi/Faq/FaqController.cs b/UserSrc/UserApi/Faq/FaqController.cs index 9f628bd..274b8ca 100644 --- a/UserSrc/UserApi/Faq/FaqController.cs +++ b/UserSrc/UserApi/Faq/FaqController.cs @@ -16,6 +16,9 @@ namespace UserApi.Faq _faqService = faqService; } + /// + /// 获取板块树形结构 + /// [HttpGet("CategoryTree")] public async Task GetCategoryTree() { @@ -32,6 +35,9 @@ namespace UserApi.Faq + /// + /// 获取板块下的问题列表 + /// [HttpGet("Questions")] public async Task GetQuestions(string categoryId) { @@ -47,6 +53,9 @@ namespace UserApi.Faq }; } + /// + /// 分页查询问题 + /// [HttpPost("QuestionList")] public async Task GetQuestionList([FromBody] FaqQueryParam param) { @@ -61,6 +70,9 @@ namespace UserApi.Faq }; } + /// + /// 获取问题详情 + /// [HttpGet("QuestionDetail")] public async Task> GetQuestionDetail(string id) { diff --git a/UserSrc/UserApi/GameConfigs/ActivityConfigController.cs b/UserSrc/UserApi/GameConfigs/ActivityConfigController.cs index 208c6b2..5b65388 100644 --- a/UserSrc/UserApi/GameConfigs/ActivityConfigController.cs +++ b/UserSrc/UserApi/GameConfigs/ActivityConfigController.cs @@ -19,6 +19,9 @@ namespace UserApi.GameConfigs _gameConfigService = gameConfigService; } + /// + /// 获取活动配置 - 一次性返回全部活动配置(含战令、抽奖的商品信息补全) + /// [HttpGet] public async Task> Get() { @@ -30,6 +33,9 @@ namespace UserApi.GameConfigs return this.ToResult(config ?? new ActivityConfig()); } + /// + /// 钻石商城列表 + /// [HttpGet("diamondShopList")] public async Task> GetDiamondShopList() { @@ -37,6 +43,9 @@ namespace UserApi.GameConfigs return this.ToListResult(config?.DiamondShopConfigs ?? new List()); } + /// + /// 金币商城列表 + /// [HttpGet("goldShopList")] public async Task> GetGoldShopList() { @@ -44,6 +53,9 @@ namespace UserApi.GameConfigs return this.ToListResult(config?.GoldShopConfigs ?? new List()); } + /// + /// 签到配置 + /// [HttpGet("signConfig")] public async Task> GetSignConfig() { @@ -51,6 +63,9 @@ namespace UserApi.GameConfigs return this.ToResult(config?.SignActivityConfig ?? new SignActivityConfig()); } + /// + /// 救济金配置 + /// [HttpGet("reliefConfig")] public async Task> GetReliefConfig() { @@ -61,6 +76,9 @@ namespace UserApi.GameConfigs return this.ToFailResult("配置不存在"); } + /// + /// 注册配置 + /// [HttpGet("registerConfig")] public async Task> GetRegisterConfig() { @@ -71,6 +89,9 @@ namespace UserApi.GameConfigs return this.ToFailResult("配置不存在"); } + /// + /// 捕鱼返金币活动配置 + /// [HttpGet("fishingReturnConfig")] public async Task> GetFishingReturnConfig() { @@ -81,6 +102,9 @@ namespace UserApi.GameConfigs return this.ToFailResult("配置不存在"); } + /// + /// 战令配置 + /// [HttpGet("battleOrderConfig")] public async Task> GetBattleOrderConfig() { @@ -94,6 +118,9 @@ namespace UserApi.GameConfigs return this.ToFailResult("配置不存在"); } + /// + /// 奖池抽奖活动配置 + /// [HttpGet("lotteryConfig")] public async Task> GetLotteryConfig() { @@ -107,6 +134,9 @@ namespace UserApi.GameConfigs return this.ToFailResult("配置不存在"); } + /// + /// 排行榜奖励配置 + /// [HttpGet("rankingRewardConfig")] public async Task> GetRankingRewardConfig() { diff --git a/UserSrc/UserApi/GameConfigs/GameConfigController.cs b/UserSrc/UserApi/GameConfigs/GameConfigController.cs index 88e6e46..2664ade 100644 --- a/UserSrc/UserApi/GameConfigs/GameConfigController.cs +++ b/UserSrc/UserApi/GameConfigs/GameConfigController.cs @@ -1,4 +1,4 @@ -using AutoMapper; +using AutoMapper; using ChessGameDomain; using Common; using CommonDomain; @@ -25,6 +25,9 @@ namespace UserApi.GameConfigs + /// + /// 获取游戏配置 + /// [HttpGet] public async Task> Get() diff --git a/UserSrc/UserApi/Hall/HallController.cs b/UserSrc/UserApi/Hall/HallController.cs index 0e574bb..baaf911 100644 --- a/UserSrc/UserApi/Hall/HallController.cs +++ b/UserSrc/UserApi/Hall/HallController.cs @@ -37,6 +37,9 @@ namespace UserApi.Hall } + /// + /// 存入保险箱 + /// [HttpGet("SaveSafeBox")] public async Task> SaveSafeBox(int gold) { @@ -47,6 +50,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 取出保险箱 + /// [HttpGet("GetSafeBox")] public async Task> GetSafeBox(long gold, string password) { @@ -57,6 +63,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 设置保险箱密码 + /// [HttpGet("SetSafeBoxPassword")] public async Task> SetSafeBoxPassword(string password) { @@ -68,6 +77,9 @@ namespace UserApi.Hall } + /// + /// 重设保险箱密码 - 通过短信验证码重置 + /// [HttpGet("ResetSafeBoxPassword")] public async Task> ResetSafeBoxPassword(string password, string code) { @@ -78,6 +90,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 领取救济金 + /// [HttpGet("GetRelief")] public async Task> GetRelief() { @@ -89,6 +104,9 @@ namespace UserApi.Hall } + /// + /// 合成碎片 + /// [HttpGet("SynthesisFragment")] public async Task> SynthesisFragment(string propNumber) { @@ -102,6 +120,9 @@ namespace UserApi.Hall + /// + /// 购买道具 + /// [HttpGet("BuyProp")] public async Task> BuyProp(string propNumber, int count = 1) { @@ -112,6 +133,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 使用VIP经验包 + /// [HttpGet("UseVipExp")] public async Task> UseVipExp(int count = 1) { @@ -122,6 +146,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 购买金币 + /// [HttpGet("BuyGold")] public async Task> BuyGold(string number, int count = 1) { @@ -134,6 +161,9 @@ namespace UserApi.Hall + /// + /// 购买钻石 + /// [HttpGet("BuyDiamond")] public async Task> BuyDiamond(string number, int count = 1) { @@ -144,6 +174,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 签到 + /// [HttpGet("SignIn")] public async Task> SignIn() { @@ -154,6 +187,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 获取签到状态 - 返回当前签到进度与可领取状态 + /// [HttpGet("GetSignStatus")] public async Task> GetSignStatus() { @@ -162,6 +198,9 @@ namespace UserApi.Hall } + /// + /// 切换使用的炮台 + /// [HttpGet("ChangeCannon")] public async Task> ChangeCannon(string number) { @@ -175,6 +214,9 @@ namespace UserApi.Hall + /// + /// 切换使用的翅膀 + /// [HttpGet("ChangeWing")] public async Task> ChangeWing(string number) { @@ -185,6 +227,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 切换使用的战神 + /// [HttpGet("ChangeGodWar")] public async Task> ChangeGodWar(string number) { @@ -195,6 +240,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 卸载当前使用的炮台并切换为默认基础炮台(不会删除已拥有的炮台) + /// [HttpGet("UnloadCannon")] public async Task> UnloadCannon(string number) { @@ -205,6 +253,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 卸载当前使用的翅膀(不会删除已拥有的翅膀) + /// [HttpGet("UnloadWing")] public async Task> UnloadWing(string number) { @@ -215,6 +266,9 @@ namespace UserApi.Hall return this.ToFailResult(res.msg); } + /// + /// 卸载当前使用的战神(不会删除已拥有的战神) + /// [HttpGet("UnloadGodWar")] public async Task> UnloadGodWar(string number) { @@ -227,6 +281,9 @@ namespace UserApi.Hall + /// + /// 领取Vip每日礼包 + /// [HttpGet("GetVipDayGift")] public async Task> GetVipDayGift() { @@ -238,6 +295,9 @@ namespace UserApi.Hall } + /// + /// 领取Vip权益 + /// [HttpGet("GetVipGift")] public async Task> GetVipGift(int vipLevel) { @@ -251,6 +311,9 @@ namespace UserApi.Hall + /// + /// 获取用户任务列表 + /// [HttpGet("GetUserTaskList")] [Authorize] public async Task> GetUserTaskList(int taskType) @@ -282,6 +345,9 @@ namespace UserApi.Hall Exp = entity.Exp }; } + /// + /// 领取任务奖励 + /// [HttpGet("DistributeRewards")] public async Task> DistributeRewards(string id) { @@ -292,6 +358,9 @@ namespace UserApi.Hall return this.ToFailResult(result.msg); } + /// + /// 获取资产变动记录 + /// [HttpPost("GetUserRewardList")] public async Task> GetUserRewardList(GetUserRewardListParam param) { @@ -368,6 +437,9 @@ namespace UserApi.Hall + /// + /// 获取用户战令信息 + /// [HttpGet("GetBattleOrder")] public async Task> GetBattleOrder() { @@ -375,6 +447,9 @@ namespace UserApi.Hall return this.ToResult(result); } + /// + /// 获取各等级奖励领取状态 + /// [HttpGet("GetBattleOrderLevelStatus")] public async Task> GetBattleOrderLevelStatus() { @@ -382,6 +457,9 @@ namespace UserApi.Hall return this.ToResult(result); } + /// + /// 一键领取战令奖励 + /// [HttpGet("ReceiveAllBattleOrderRewards")] public async Task> ReceiveAllBattleOrderRewards() { @@ -392,6 +470,9 @@ namespace UserApi.Hall return this.ToListFailResult(result.message); } + /// + /// 领取指定等级战令奖励 + /// [HttpGet("ReceiveBattleOrderLevelReward")] public async Task> ReceiveBattleOrderLevelReward( int level) { @@ -402,6 +483,9 @@ namespace UserApi.Hall return this.ToListFailResult(result.message); } + /// + /// 购买战令等级 + /// [HttpGet("BuyBattleOrderLevel")] public async Task> BuyBattleOrderLevel(int levelCount) { @@ -416,6 +500,9 @@ namespace UserApi.Hall return this.ToFailResult(result.message); } + /// + /// 购买战令进阶 + /// [HttpGet("BuyBattleOrderAdvance")] public async Task> BuyBattleOrderAdvance(int type) { @@ -431,6 +518,9 @@ namespace UserApi.Hall return this.ToFailResult(result.message); } + /// + /// 一键领取所有任务奖励 + /// [HttpGet("ReceiveAllTaskRewards")] public async Task> ReceiveAllTaskRewards() { @@ -441,6 +531,9 @@ namespace UserApi.Hall return this.ToFailResult(result.message); } + /// + /// 获取用户排行榜 + /// [HttpGet("GetRanking")] public async Task> GetRanking(int type = 1) { @@ -457,6 +550,9 @@ namespace UserApi.Hall return this.ToResult(result); } + /// + /// 使用大喇叭发送全服广播 + /// [HttpGet("SendBroadcast")] public async Task> SendBroadcast(string message) { @@ -467,6 +563,9 @@ namespace UserApi.Hall } + /// + /// 获取象棋分区总数 + /// [AllowAnonymous] [HttpGet("GetChessRoomPartitionCount")] public async Task> GetChessRoomPartitionCount([FromServices] UserService.GameConfigs.IGameConfigService gameConfigService) diff --git a/UserSrc/UserApi/Login/LoginController.cs b/UserSrc/UserApi/Login/LoginController.cs index ebb524c..147364a 100644 --- a/UserSrc/UserApi/Login/LoginController.cs +++ b/UserSrc/UserApi/Login/LoginController.cs @@ -1,4 +1,4 @@ -using Common; +using Common; using Common.Utils; using Common.WX; using Common.WX.Response; @@ -24,6 +24,10 @@ namespace UserApi.Login _userService = userService; _weiXinPayHelper = weiXinPayHelper; } + + /// + /// 获取 access_token - 获取微信小程序的接口调用凭证 + /// [HttpGet("GetAccessToken")] public async Task> GetAccessToken() { @@ -36,6 +40,10 @@ namespace UserApi.Login return this.ToResult(result.accessToken); } } + + /// + /// 登录凭证校验 - 用微信登录 code(js_code) 换取用户的会话信息 + /// [HttpGet("GetSessionToken")] public async Task> GetSessionToken(string js_code) { @@ -47,6 +55,7 @@ namespace UserApi.Login return this.ToResult(result.response); } } + private string GetClientIp() { var forwarded = HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault(); @@ -55,6 +64,9 @@ namespace UserApi.Login return HttpContext.Connection.RemoteIpAddress?.ToString() ?? ""; } + /// + /// 注册用户通过微信账号 + /// [HttpPost("registerWX")] public async Task> RegisterWX(RegisterUserWeiXinParam param) @@ -63,6 +75,10 @@ namespace UserApi.Login var result = await _userService.RegisterWeiXin(param, ip); return this.ToResult(result); } + + /// + /// 注册用户通过短信和验证码 + /// [HttpPost("register")] public async Task> Register(RegisterUserParam param) @@ -74,6 +90,10 @@ namespace UserApi.Login else return this.ToFailResult(result.msg); } + + /// + /// 发送短信验证码 + /// [HttpGet("SendMobileCode")] public async Task> SendMobileCode(string mobile) @@ -84,6 +104,10 @@ namespace UserApi.Login else return this.ToFailResult(result.msg); } + + /// + /// 微信用户登陆 + /// [HttpGet("LoginWx")] public async Task> LoginWx(string openId) { @@ -91,6 +115,10 @@ namespace UserApi.Login var result = await _userService.LoginWx(openId, ip); return this.ToResult(result); } + + /// + /// 用户登陆 - 手机号 + 验证码登录 + /// [HttpGet("Login")] public async Task> Login(string mobile, string code) { @@ -108,6 +136,10 @@ namespace UserApi.Login else return this.ToFailResult(result.msg); } + + /// + /// 密码登录 - 手机号 + 密码登录 + /// [HttpGet("LoginByPassword")] public async Task> LoginByPassword(string mobile, string password) { @@ -125,6 +157,9 @@ namespace UserApi.Login return this.ToFailResult(result.msg); } + /// + /// 获取服务器时间 - 返回服务器本地时间与 UTC 时间,用于客户端校准 + /// [HttpGet("GetDateTime")] public async Task> GetDateTime() { @@ -160,6 +195,10 @@ namespace UserApi.Login Container = Environment.MachineName }); } + + /// + /// 修改密码 - 通过短信验证码重置密码 + /// [HttpGet("ResetPassword")] public async Task> ResetPassword(string mobile, string password, string code) { diff --git a/UserSrc/UserApi/Lottery/LotteryController.cs b/UserSrc/UserApi/Lottery/LotteryController.cs index 47883a3..e251f7d 100644 --- a/UserSrc/UserApi/Lottery/LotteryController.cs +++ b/UserSrc/UserApi/Lottery/LotteryController.cs @@ -25,6 +25,9 @@ namespace UserApi.Lottery _gameConfigService = gameConfigService; } + /// + /// 获取奖池抽奖活动配置(含用户已抽状态) + /// [HttpGet("Config")] public async Task> GetConfig() { @@ -42,6 +45,9 @@ namespace UserApi.Lottery }); } + /// + /// 抽奖 - 进行一次奖池抽奖(poolType 指定奖池类型) + /// [HttpGet("Draw")] public async Task> Draw([FromQuery] int poolType = 0) { @@ -60,6 +66,9 @@ namespace UserApi.Lottery }); } + /// + /// 获取用户抽奖状态 + /// [HttpGet("UserStatus")] public async Task> UserStatus() { @@ -67,6 +76,9 @@ namespace UserApi.Lottery return this.ToResult(status); } + /// + /// 获取用户已抽中的奖品列表 + /// [HttpGet("DrawnPrizes")] public async Task>> DrawnPrizes() { diff --git a/UserSrc/UserApi/Notices/NoticeController.cs b/UserSrc/UserApi/Notices/NoticeController.cs index faf9ef1..94f7b00 100644 --- a/UserSrc/UserApi/Notices/NoticeController.cs +++ b/UserSrc/UserApi/Notices/NoticeController.cs @@ -23,6 +23,9 @@ namespace UserApi.Notices _noticeService = noticeService; } + /// + /// 获取系统公告列表(分页) + /// [HttpPost("list")] public async Task> GetNoticeList(GetNoticeListParam param) { @@ -41,6 +44,9 @@ namespace UserApi.Notices return this.ToPageResult(dtos, (int)result.count); } + /// + /// 根据ID获取公告详情 + /// [HttpGet("get")] [AllowAnonymous] public async Task> GetNotice(string id) @@ -64,6 +70,9 @@ namespace UserApi.Notices return this.ToResult(dto); } + /// + /// 获取一个最新的公告 + /// [HttpGet("get/newone")] [AllowAnonymous] public async Task> GetNewOne() diff --git a/UserSrc/UserApi/ScratchCard/ScratchCardController.cs b/UserSrc/UserApi/ScratchCard/ScratchCardController.cs index 52f370a..ead5b21 100644 --- a/UserSrc/UserApi/ScratchCard/ScratchCardController.cs +++ b/UserSrc/UserApi/ScratchCard/ScratchCardController.cs @@ -17,6 +17,9 @@ namespace UserApi.ScratchCard _scratchCardService = scratchCardService; } + /// + /// 使用刮刮卡抽奖 + /// [HttpGet("draw")] public async Task> Draw() { diff --git a/UserSrc/UserApi/SummonCard/SummonCardController.cs b/UserSrc/UserApi/SummonCard/SummonCardController.cs index 7053c3d..bba5003 100644 --- a/UserSrc/UserApi/SummonCard/SummonCardController.cs +++ b/UserSrc/UserApi/SummonCard/SummonCardController.cs @@ -17,6 +17,9 @@ namespace UserApi.SummonCard _summonCardService = summonCardService; } + /// + /// 使用召唤卡 + /// [HttpGet("use")] public async Task> Use() { diff --git a/UserSrc/UserApi/User/FeedbackController.cs b/UserSrc/UserApi/User/FeedbackController.cs index fe4cb32..75b2536 100644 --- a/UserSrc/UserApi/User/FeedbackController.cs +++ b/UserSrc/UserApi/User/FeedbackController.cs @@ -23,6 +23,9 @@ namespace UserApi.User _feedbackService = feedbackService; } + /// + /// 提交反馈 + /// [HttpPost("Submit")] public async Task> Submit([FromBody] AddFeedbackParam param) { @@ -33,6 +36,9 @@ namespace UserApi.User return this.ToFailResult("提交失败"); } + /// + /// 获取我的反馈列表 + /// [HttpGet("MyList")] public async Task> GetMyList(int pageIndex = 1, int pageSize = 10) { @@ -54,6 +60,9 @@ namespace UserApi.User return this.ToPageResult(dtos, (int)result.count); } + /// + /// 获取反馈详情 + /// [HttpGet("Detail")] public async Task> GetDetail(string id) { diff --git a/UserSrc/UserApi/User/ImageUploadController.cs b/UserSrc/UserApi/User/ImageUploadController.cs index fec6801..63c8235 100644 --- a/UserSrc/UserApi/User/ImageUploadController.cs +++ b/UserSrc/UserApi/User/ImageUploadController.cs @@ -15,6 +15,9 @@ namespace UserApi.Controllers _imageUploadService = imageUploadService; } + /// + /// 文件上传 + /// [HttpPost("upload")] public async Task UploadFile(IFormFile file) { diff --git a/UserSrc/UserApi/User/UserController.cs b/UserSrc/UserApi/User/UserController.cs index def9b18..8244560 100644 --- a/UserSrc/UserApi/User/UserController.cs +++ b/UserSrc/UserApi/User/UserController.cs @@ -25,6 +25,9 @@ namespace UserApi.User _userService = userService; } + /// + /// 实名认证 + /// [HttpGet("RealNameAuth")] [Authorize] public async Task> RealNameAuth(string realName, string idCard) @@ -36,6 +39,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 修改名称 + /// [HttpGet("UpdateUserName")] [Authorize] public async Task> UpdateUserName(string userName) @@ -47,6 +53,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 绑定微信 + /// [HttpGet("BindWX")] [Authorize] public async Task> BindWX(string openId) @@ -58,6 +67,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 绑定手机号 + /// [HttpGet("BindMobile")] [Authorize] public async Task> BindMobile(string mobile, string code) @@ -69,6 +81,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 更新头像 + /// [HttpGet("UpdateAvatar")] [Authorize] public async Task> UpdateAvatar(string avatarUrl) @@ -80,6 +95,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 修改头像框 + /// [HttpGet("UpdateAvatarFrame")] [Authorize] public async Task> UpdateAvatarFrame(string avatarFrame) @@ -91,6 +109,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 获取用户信息 + /// [HttpGet("GetUser")] [Authorize] public async Task> GetUser(string userid) @@ -101,6 +122,9 @@ namespace UserApi.User return this.ToResult(result); } + /// + /// 获取当前用户资产和背包 + /// [HttpGet("GetUserAssets")] public async Task> GetUserAssets() { @@ -113,6 +137,9 @@ namespace UserApi.User }); } + /// + /// 获取用户列表(分页查询) + /// [HttpPost("GetUserList")] [Authorize] public async Task> GetUserList(BaseListPageParam param) @@ -130,6 +157,9 @@ namespace UserApi.User return this.ToPageResult(dtos, (int)result.count); } + /// + /// 发送邮件 + /// [HttpPost("SendEmail")] [Authorize] public async Task> SendEmail(SendEmailParam param) @@ -141,6 +171,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 获取邮件详情(未读会变为已读) + /// [HttpGet("GetEmail")] [Authorize] public async Task> GetEmail(string id) @@ -166,6 +199,9 @@ namespace UserApi.User return this.ToResult(dto); } + /// + /// 领取邮件奖励 + /// [HttpGet("RewardEmail")] [Authorize] public async Task> RewardEmail(int type, string? id = "") @@ -177,6 +213,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 删除邮件 + /// [HttpGet("DeleteEmail")] [Authorize] public async Task> DeleteEmail(int type, string? id = "") @@ -188,6 +227,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 一键阅读 - 把所有未读邮件标记为已读 + /// [HttpGet("ReadEmailMore")] [Authorize] public async Task> ReadEmailMore() @@ -199,6 +241,9 @@ namespace UserApi.User return this.ToFailResult(result.msg); } + /// + /// 获取未读邮件数量 + /// [HttpGet("GetNoReadCount")] [Authorize] public async Task> GetNoReadCount() @@ -207,6 +252,9 @@ namespace UserApi.User return this.ToResult(result); } + /// + /// 获取邮件列表(分页) + /// [HttpPost("GetEmailByPage")] [Authorize] public async Task> GetEmailByPage(GetEmailPageParam param) @@ -217,6 +265,9 @@ namespace UserApi.User } + /// + /// 获取捕鱼返利信息 + /// [HttpGet("GetFishingReturnInfo")] [Authorize] public async Task> GetFishingReturnInfo() @@ -232,6 +283,9 @@ namespace UserApi.User return this.ToResult(dto); } + /// + /// 领取捕鱼返利金币 + /// [HttpGet("ClaimFishingReturn")] [Authorize] public async Task> ClaimFishingReturn()