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