12121
This commit is contained in:
@@ -13,7 +13,7 @@ public interface IGameFightService
|
||||
Task RemoveFightHarm(string fightId, string userId);
|
||||
Task<bool> AddFight(string fightId, string areaCode, string keyId, string mainId, string code,
|
||||
string scene, string mapId,
|
||||
string userId,long dueTime, long exp = 0, long copper = 0, long petExp = 0, string award = "", string pars = "");
|
||||
string userId, long exp = 0, long copper = 0, long petExp = 0, string award = "", string pars = "");
|
||||
|
||||
Task<bool> SetFightWin(game_fight_data fightData, string winUser, bool setDefMap=true);
|
||||
Task HandleFightData();
|
||||
@@ -29,7 +29,10 @@ public interface IGameFightService
|
||||
Task RemoveFightGoods(string mapId, string mgId);
|
||||
Task AutoUseDrug(UserAttrModel user, game_fight_data fight);
|
||||
Task HandelFightEnd(string userId, List<FightRemoveData> data);
|
||||
Task<bool> ValidFight(game_fight_data fight, bool isBlack = true);
|
||||
Task<bool> CheckFightLock(string userId, string lockStr);
|
||||
Task<string> SetFightLock(string userId);
|
||||
Task<bool> FightIsCool(string userId);
|
||||
Task SetFightCool(string userId, long CoolTime);
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -94,7 +94,7 @@ public class GameFightService(ISqlSugarClient DbClient, IRedisCache redis) : IGa
|
||||
|
||||
public async Task<bool> AddFight(string fightId, string areaCode, string keyId, string mainId, string code,
|
||||
string scene, string mapId,
|
||||
string userId, long dueTime, long exp = 0, long copper = 0, long petExp = 0, string award = "",
|
||||
string userId,long exp = 0, long copper = 0, long petExp = 0, string award = "",
|
||||
string pars = "")
|
||||
{
|
||||
long addTime = TimeExtend.GetTimeStampMilliseconds;
|
||||
@@ -119,7 +119,6 @@ public class GameFightService(ISqlSugarClient DbClient, IRedisCache redis) : IGa
|
||||
petExp = petExp,
|
||||
award = award,
|
||||
pars = pars,
|
||||
dueTime = dueTime,
|
||||
addTime = addTime,
|
||||
okTime = 0,
|
||||
endTime = endTime
|
||||
@@ -382,11 +381,6 @@ public class GameFightService(ISqlSugarClient DbClient, IRedisCache redis) : IGa
|
||||
|
||||
public async Task HandleFight(game_fight_data fightData)
|
||||
{
|
||||
if (await ValidFight(fightData) == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
string winUser = fightData.winUser;
|
||||
string lowUser = fightData.userId == winUser ? fightData.mainId : fightData.userId;
|
||||
|
||||
@@ -701,26 +695,34 @@ public class GameFightService(ISqlSugarClient DbClient, IRedisCache redis) : IGa
|
||||
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
|
||||
public async Task<bool> ValidFight(game_fight_data fight, bool isBlack = true)
|
||||
|
||||
public async Task<bool> CheckFightLock(string userId, string lockStr)
|
||||
{
|
||||
bool result = true;
|
||||
if (fight.dueTime > 0)
|
||||
{
|
||||
int diffTime = Convert.ToInt32(fight.okTime - fight.addTime);
|
||||
if (diffTime < 3000)
|
||||
{
|
||||
result = diffTime >= fight.dueTime;
|
||||
if (result == false && isBlack) //异常处理
|
||||
{
|
||||
//封禁账号
|
||||
var userService = App.GetService<IUnitUserService>();
|
||||
await userService.BlackUser(fight.userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
string key = string.Format(BaseCache.BaseCacheKey, "FightLock");
|
||||
var onData = await redis.GetHashAsync<string>(key, userId);
|
||||
return onData == lockStr;
|
||||
}
|
||||
|
||||
return result;
|
||||
public async Task<string> SetFightLock(string userId)
|
||||
{
|
||||
string lockStr = StringAssist.NewGuid;
|
||||
string key = string.Format(BaseCache.BaseCacheKey, "FightLock");
|
||||
await redis.AddHashAsync(key, userId, lockStr);
|
||||
return lockStr;
|
||||
}
|
||||
|
||||
public async Task<bool> FightIsCool(string userId)
|
||||
{
|
||||
string key = string.Format(BaseCache.BaseCacheKey, "FightCool");
|
||||
var onData = await redis.GetHashAsync<long>(key, userId);
|
||||
return TimeExtend.GetTimeStampMilliseconds >= onData;
|
||||
}
|
||||
|
||||
public async Task SetFightCool(string userId, long CoolTime)
|
||||
{
|
||||
long lockStr = TimeExtend.GetTimeStampMilliseconds + CoolTime;
|
||||
string key = string.Format(BaseCache.BaseCacheKey, "FightCool");
|
||||
await redis.AddHashAsync(key, userId, lockStr);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user