12121
This commit is contained in:
@@ -12,4 +12,5 @@ public interface IGameChatService
|
||||
Task<bool> SendChat(string userId, string code, string sign, string par = "");
|
||||
Task<game_chat> GetChatInfo(string chatId);
|
||||
Task<bool> DeleteChat(string chatId, string opUser);
|
||||
Task ClearChat();
|
||||
}
|
||||
@@ -53,4 +53,6 @@ public interface IMessageService
|
||||
Task<bool> SendBroadcast(string userId, string code, string msg);
|
||||
|
||||
#endregion
|
||||
|
||||
Task HandleMessageData();
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
public interface INoticeService
|
||||
{
|
||||
Task<List<game_notice>> GetNoticeDataByTake(int take);
|
||||
Task<List<game_notice>> GetNoticeDataByMap();
|
||||
Task<List<game_notice>> GetNoticeData(int page, int limit, RefAsync<int> total);
|
||||
Task<game_notice> GetNoticeInfo(string id);
|
||||
}
|
||||
@@ -181,4 +181,11 @@ public class GameChatService : IGameChatService, ITransient
|
||||
.Where(it => it.chatId == chatId)
|
||||
.ExecuteCommandAsync() > 0;
|
||||
}
|
||||
|
||||
public async Task ClearChat()
|
||||
{
|
||||
long time = TimeExtend.GetTimeStampSeconds;
|
||||
var db = _dbClient.AsTenant().GetConnectionWithAttr<game_chat>();
|
||||
await db.Deleteable<game_chat>().Where(it => it.delTime < time).ExecuteCommandAsync();
|
||||
}
|
||||
}
|
||||
@@ -827,7 +827,7 @@ public class GameEquService(ISqlSugarClient DbClient, IRedisCache redis) : IGame
|
||||
|
||||
private async Task<List<game_equ_make>> GetEquMakeData(int goodsId)
|
||||
{
|
||||
string key = string.Format(BaseCache.BaseCacheKeys, "EquData", "EquUpData");
|
||||
string key = string.Format(BaseCache.BaseCacheKeys, "EquData", "EquMakeData");
|
||||
if (await redis.HExistsHashAsync(key, goodsId.ToString()))
|
||||
{
|
||||
return await redis.GetHashAsync<List<game_equ_make>>(key, goodsId.ToString());
|
||||
|
||||
@@ -435,4 +435,21 @@ public class MessageService(ISqlSugarClient DbClient, IRedisCache redis) : IMess
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public async Task HandleMessageData()
|
||||
{
|
||||
long time = TimeExtend.GetTimeStampSeconds;
|
||||
var db = DbClient.AsTenant().GetConnectionWithAttr<unit_user_message>();
|
||||
|
||||
await db.Deleteable<unit_user_mail>().Where(it => it.endTime < time && it.isRead == 1)
|
||||
.ExecuteCommandAsync(); //清理邮件
|
||||
await db.Deleteable<unit_user_message>().Where(it => it.endTime < time && it.isRead == 1)
|
||||
.ExecuteCommandAsync(); //清理消息
|
||||
await db.Deleteable<unit_user_message_event>().Where(it => it.endTime < time).ExecuteCommandAsync(); //清理通知
|
||||
//删除缓存
|
||||
string msgKey = string.Format(UserCache.BaseCacheKeys, "Message", "MsgCount");
|
||||
string eventKey = string.Format(UserCache.BaseCacheKeys, "Message", "EventCount");
|
||||
string mailKey = string.Format(UserCache.BaseCacheKeys, "Message", "MailCount");
|
||||
await redis.DelAsync(msgKey, eventKey, mailKey);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace Application.Domain;
|
||||
|
||||
public class NoticeService:INoticeService,ITransient
|
||||
public class NoticeService : INoticeService, ITransient
|
||||
{
|
||||
private readonly ISqlSugarClient _dbClient;
|
||||
private readonly IRedisCache _redisClient;
|
||||
@@ -14,13 +14,14 @@ public class NoticeService:INoticeService,ITransient
|
||||
public async Task<List<game_notice>> GetNoticeDataByTake(int take)
|
||||
{
|
||||
var db = _dbClient.AsTenant().GetConnectionWithAttr<game_notice>();
|
||||
return await db.Queryable<game_notice>().Take(take).OrderByDescending(it=>it.addTime).ToListAsync();
|
||||
return await db.Queryable<game_notice>().Take(take).OrderByDescending(it => it.addTime).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<List<game_notice>> GetNoticeData(int page, int limit, RefAsync<int> total)
|
||||
{
|
||||
var db = _dbClient.AsTenant().GetConnectionWithAttr<game_notice>();
|
||||
return await db.Queryable<game_notice>().OrderByDescending(it=>it.addTime).ToPageListAsync(page, limit, total);
|
||||
return await db.Queryable<game_notice>().OrderByDescending(it => it.addTime)
|
||||
.ToPageListAsync(page, limit, total);
|
||||
}
|
||||
|
||||
public async Task<game_notice> GetNoticeInfo(string id)
|
||||
@@ -28,4 +29,19 @@ public class NoticeService:INoticeService,ITransient
|
||||
var db = _dbClient.AsTenant().GetConnectionWithAttr<game_notice>();
|
||||
return await db.Queryable<game_notice>().Where(it => it.noticeId == id).SingleAsync();
|
||||
}
|
||||
|
||||
public async Task<List<game_notice>> GetNoticeDataByMap()
|
||||
{
|
||||
string key = string.Format(BaseCache.BaseCacheKey, "Notice");
|
||||
if (await _redisClient.ExistsAsync(key))
|
||||
{
|
||||
return await _redisClient.GetAsync<List<game_notice>>(key);
|
||||
}
|
||||
|
||||
DateTime time = DateTime.Now;
|
||||
var db = _dbClient.AsTenant().GetConnectionWithAttr<game_notice>();
|
||||
var data = await db.Queryable<game_notice>().OrderByDescending(it => it.endTime > time).ToListAsync();
|
||||
await _redisClient.SetAsync(key, data, 3600);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user