This commit is contained in:
Putoo
2026-07-13 19:52:55 +08:00
parent 5d375e94bd
commit b5de98a214
20 changed files with 873 additions and 64 deletions

View File

@@ -2,6 +2,12 @@
public interface ITradeService
{
Task<bool> AddTrade(string userId, string code,string name, string propId, int count, long price,string content);
Task<game_trade> GetTradeInfo(string tradeId);
Task<bool> AddTrade(int areaId, string userId, string code,string name, string propId, int count, long price,string content);
Task<bool> UpdateTradeCount(string tradeId, int op, int count, bool isDel = false);
Task<int> GetUserTradeCount(string userId);
Task<List<game_trade>> GetUserTradeData(string userId);
Task<List<game_trade>> GetUserTradeData(int areaId,string userId, int type, string query, int page, int limit,
RefAsync<int> total);
}

View File

@@ -2,11 +2,19 @@
public class TradeService(ISqlSugarClient DbClient, IRedisCache redis) : ITradeService, ITransient
{
public async Task<bool> AddTrade(string userId, string code,string name, string propId, int count,long price, string content)
public async Task<game_trade> GetTradeInfo(string tradeId)
{
var db = DbClient.AsTenant().GetConnectionWithAttr<game_trade>();
return await db.Queryable<game_trade>().Where(it => it.tradeId == tradeId).SingleAsync();
}
public async Task<bool> AddTrade(int areaId, string userId, string code, string name, string propId, int count,
long price, string content)
{
game_trade trade = new game_trade()
{
tradeId = StringAssist.NewGuid,
areaId = areaId,
userId = userId,
code = code,
name = name,
@@ -20,9 +28,47 @@ public class TradeService(ISqlSugarClient DbClient, IRedisCache redis) : ITradeS
return await db.Insertable(trade).ExecuteCommandAsync() > 0;
}
public async Task<bool> UpdateTradeCount(string tradeId, int op, int count, bool isDel = false)
{
bool result = false;
var db = DbClient.AsTenant().GetConnectionWithAttr<game_trade>();
if (isDel)
{
result = await db.Deleteable<game_trade>().Where(it => it.tradeId == tradeId).ExecuteCommandAsync() > 0;
}
else
{
int opCount = op == 1 ? count : (0 - count);
result = await db.Updateable<game_trade>()
.SetColumns(it => it.count == it.count + opCount)
.Where(it => it.tradeId == tradeId).ExecuteCommandAsync() > 0;
}
return result;
}
public async Task<int> GetUserTradeCount(string userId)
{
var db = DbClient.AsTenant().GetConnectionWithAttr<game_trade>();
return await db.Queryable<game_trade>().Where(it => it.userId == userId).CountAsync();
}
public async Task<List<game_trade>> GetUserTradeData(string userId)
{
var db = DbClient.AsTenant().GetConnectionWithAttr<game_trade>();
return await db.Queryable<game_trade>().Where(it => it.userId == userId).ToListAsync();
}
public async Task<List<game_trade>> GetUserTradeData(int areaId, string userId, int type, string query, int page, int limit,
RefAsync<int> total)
{
var db = DbClient.AsTenant().GetConnectionWithAttr<game_trade>();
return await db.Queryable<game_trade>().Where(it=>it.areaId==areaId)
.WhereIF(!string.IsNullOrEmpty(userId), it => it.userId == userId)
.WhereIF(type==1,it=>it.code=="Equ")
.WhereIF(type==2,it=>it.code=="Goods")
.WhereIF(!string.IsNullOrEmpty(query),it=>it.name.Contains(query))
.OrderByDescending(it=>it.addTime)
.ToPageListAsync(page, limit, total);
}
}

View File

@@ -514,7 +514,7 @@ public class UnitUserAttrService(ISqlSugarClient DbClient, IRedisCache redis) :
var db = DbClient.AsTenant().GetConnectionWithAttr<unit_user_online_time>();
await db.Updateable<unit_user_online_time>().SetColumns(it => it.dayTime == 0)
.WhereIF(day == 1, it => it.monthTime == 0)
.Where(it => true).ExecuteCommandAsync();
.Where(it => it.userId != "0").ExecuteCommandAsync();
}
#endregion