提交修改,后台管理页面bug修复,已经发布后台管理界面V1.0版本

This commit is contained in:
2025-12-25 17:56:09 +08:00
parent 845f1c6618
commit b1da484431
23 changed files with 614 additions and 257 deletions

View File

@@ -190,6 +190,80 @@ namespace WxCheckMvc.Controllers
}
}
}
[HttpGet]
public async Task<IActionResult> QueryStats()
{
try
{
if (_connection.State != ConnectionState.Open)
{
await _connection.OpenAsync();
}
// 1) 活跃用户:最近 7 天登录UpdateTime且 UserKey/PhoneNumber 不为空
long activeUsers;
using (MySqlCommand cmd = new(@"
SELECT COUNT(1)
FROM xcx_users
WHERE UpdateTime >= DATE_SUB(NOW(), INTERVAL 7 DAY)
AND UserKey IS NOT NULL AND UserKey <> ''
AND PhoneNumber IS NOT NULL AND PhoneNumber <> ''", _connection))
{
activeUsers = Convert.ToInt64(await cmd.ExecuteScalarAsync());
}
// 2) 总会话记录数
long totalConversations;
using (MySqlCommand cmd = new("SELECT COUNT(1) FROM xcx_conversation", _connection))
{
totalConversations = Convert.ToInt64(await cmd.ExecuteScalarAsync());
}
// 3) 今日新增会话记录CreateTime 在今天内)
long todayNewConversations;
using (MySqlCommand cmd = new(@"
SELECT COUNT(1)
FROM xcx_conversation
WHERE CreateTime >= CURDATE()
AND CreateTime < DATE_ADD(CURDATE(), INTERVAL 1 DAY)", _connection))
{
todayNewConversations = Convert.ToInt64(await cmd.ExecuteScalarAsync());
}
// 4) 总用户数UserKey/PhoneNumber 不为空
long totalUsers;
using (MySqlCommand cmd = new(@"
SELECT COUNT(1)
FROM xcx_users
WHERE UserKey IS NOT NULL AND UserKey <> ''
AND PhoneNumber IS NOT NULL AND PhoneNumber <> ''", _connection))
{
totalUsers = Convert.ToInt64(await cmd.ExecuteScalarAsync());
}
var data = new AdminStatsResponse
{
ActiveUsers = activeUsers,
TotalConversations = totalConversations,
TodayNewConversations = todayNewConversations,
TotalUsers = totalUsers
};
return Ok(new { success = true, data });
}
catch (Exception ex)
{
return StatusCode(500, new { success = false, message = "查询失败", error = ex.Message });
}
finally
{
if (_connection.State == ConnectionState.Open)
{
await _connection.CloseAsync();
}
}
}
}
public class ConversationQueryRequest
@@ -240,4 +314,12 @@ namespace WxCheckMvc.Controllers
public string AvatarUrl { get; set; }
public string Department { get; set; }
}
public class AdminStatsResponse
{
public long ActiveUsers { get; set; }
public long TotalConversations { get; set; }
public long TodayNewConversations { get; set; }
public long TotalUsers { get; set; }
}
}

View File

@@ -266,6 +266,15 @@ namespace WxCheckMvc.Controllers
await insertCmd.ExecuteNonQueryAsync();
}
}
else
{
// 用户已存在:更新最后一次接口调用时间
using (MySqlCommand updateCmd = new MySqlCommand("UPDATE xcx_users SET UpdateTime = NOW() WHERE UserKey = @UserKey", _connection))
{
updateCmd.Parameters.AddWithValue("@UserKey", openId);
await updateCmd.ExecuteNonQueryAsync();
}
}
}
// 获取用户信息

View File

@@ -3,7 +3,7 @@
<Project>
<PropertyGroup>
<_PublishTargetUrl>E:\Project_Class\WX_XCX\Wx_WxCheck_Prod\WxCheckMvc\bin\Release\net8.0\publish\</_PublishTargetUrl>
<History>True|2025-12-24T12:05:02.2999541Z||;True|2025-12-24T16:33:44.2108439+08:00||;True|2025-12-24T15:32:13.8037439+08:00||;True|2025-12-12T11:09:28.8147447+08:00||;True|2025-12-11T17:04:53.2856075+08:00||;True|2025-12-11T17:04:22.0809574+08:00||;True|2025-12-05T18:56:51.7439135+08:00||;True|2025-12-05T17:44:11.4130698+08:00||;</History>
<History>True|2025-12-25T06:00:56.3451051Z||;True|2025-12-24T20:05:02.2999541+08:00||;True|2025-12-24T16:33:44.2108439+08:00||;True|2025-12-24T15:32:13.8037439+08:00||;True|2025-12-12T11:09:28.8147447+08:00||;True|2025-12-11T17:04:53.2856075+08:00||;True|2025-12-11T17:04:22.0809574+08:00||;True|2025-12-05T18:56:51.7439135+08:00||;True|2025-12-05T17:44:11.4130698+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>