增加交易唯一码,方便在网络状态不佳的情况下重新获取操作结果
This commit is contained in:
@@ -1,18 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Web.UI.WebControls;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Threading.Tasks;
|
||||
using UFIDA.U8.Framework.Api.Common.Unit.GM;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Json;
|
||||
using UFIDA.U8.Framework.Api.Entity;
|
||||
using UFIDA.U8.Framework.Api.Models;
|
||||
|
||||
namespace UFIDA.U8.Framework.Api.Unit
|
||||
{
|
||||
@@ -108,11 +102,11 @@ namespace UFIDA.U8.Framework.Api.Unit
|
||||
/// <param name="bAP"></param>
|
||||
/// <param name="pDate"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<LoginParamter> GetLoginParamter(string cAccId,bool bAP=false,string pDate="")
|
||||
public static async Task<LoginParamter> GetLoginParamter(string cAccId, bool bAP = false, string pDate = "")
|
||||
{
|
||||
var db = new SqlSugarClient(GetConnectionConfig());
|
||||
|
||||
var account=await db.Queryable<SysU8AccountConfig>().FirstAsync(a => a.Status == StatusEnum.Enable && a.cAccountNo == cAccId);
|
||||
var account = await db.Queryable<SysU8AccountConfig>().FirstAsync(a => a.Status == StatusEnum.Enable && a.cAccountNo == cAccId);
|
||||
|
||||
if (account != null)
|
||||
{
|
||||
@@ -145,6 +139,63 @@ namespace UFIDA.U8.Framework.Api.Unit
|
||||
var token = CommUnit.GetDecrypt(output.userToken);
|
||||
|
||||
return token;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存请求结果
|
||||
/// </summary>
|
||||
/// <param name="tradeid"></param>
|
||||
/// <param name="bRun"></param>
|
||||
/// <param name="result"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
public static async Task SaveResult(string tradeid, bool bRun, BaseResult<string> result = null)
|
||||
{
|
||||
var db = GetDbClient();
|
||||
|
||||
if (!db.DbMaintenance.IsAnyTable("SysTradeResult"))
|
||||
{
|
||||
db.CodeFirst.InitTables(typeof(SysTradeResult));
|
||||
}
|
||||
|
||||
if (bRun == true)
|
||||
{
|
||||
if (await db.Queryable<SysTradeResult>().AnyAsync(a => a.cTradeId == tradeid))
|
||||
{
|
||||
throw new Exception($"请求ID:{tradeid}重复");
|
||||
}
|
||||
|
||||
var count = await db.Queryable<SysTradeResult>().CountAsync();
|
||||
|
||||
if (count > 1000)
|
||||
{
|
||||
var idList = await db.Queryable<SysTradeResult>().Select(a => a.Id).Take(count - 1000).ToListAsync();
|
||||
|
||||
await db.Deleteable<SysTradeResult>().Where(a => idList.Contains(a.Id)).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
var entity = new SysTradeResult
|
||||
{
|
||||
Id = SnowFlakeSingle.Instance.NextId(),
|
||||
bRun = bRun,
|
||||
cTradeId = tradeid,
|
||||
cResult = result,
|
||||
dStartDate = DateTime.Now,
|
||||
};
|
||||
|
||||
await db.Insertable(entity).ExecuteCommandAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
var entity = await db.Queryable<SysTradeResult>().Where(a => a.cTradeId == tradeid).FirstAsync();
|
||||
|
||||
entity.cResult = result;
|
||||
entity.bRun = false;
|
||||
entity.dEndDate = DateTime.Now;
|
||||
|
||||
await db.Updateable(entity).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user