mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 19:03:27 +08:00
【优化】优化易联云打印机更换token规则,防止超过35天未使用打印机,导致默认配置项失效的问题。
This commit is contained in:
@@ -44,7 +44,7 @@ namespace CoreCms.Net.RedisMQ.Subscribe
|
|||||||
/// <param name="msg"></param>
|
/// <param name="msg"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[Subscribe(RedisMessageQueueKey.OrderPrint)]
|
[Subscribe(RedisMessageQueueKey.OrderPrint)]
|
||||||
private async Task PrintQueue(string msg)
|
private async Task OrderPrint(string msg)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -60,8 +60,9 @@ namespace CoreCms.Net.RedisMQ.Subscribe
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var accessModel = await _accessTokenServices.QueryByClauseAsync(p => p.code == GlobalEnumVars.ThirdPartyEquipment.YiLianYun.ToString() && p.machineCode == _machineCode);
|
var accessModel = await _accessTokenServices.QueryByClauseAsync(p =>
|
||||||
string accessToken = string.Empty;
|
p.code == GlobalEnumVars.ThirdPartyEquipment.YiLianYun.ToString() && p.machineCode == _machineCode);
|
||||||
|
string accessToken;
|
||||||
if (accessModel == null)
|
if (accessModel == null)
|
||||||
{
|
{
|
||||||
var onPostAuthTerminal = _yilianyunService.AuthTerminal(_machineCode, _msign, _phone, _printerName);
|
var onPostAuthTerminal = _yilianyunService.AuthTerminal(_machineCode, _msign, _phone, _printerName);
|
||||||
@@ -94,21 +95,52 @@ namespace CoreCms.Net.RedisMQ.Subscribe
|
|||||||
var dt = DateTime.Now;
|
var dt = DateTime.Now;
|
||||||
if (dt >= accessModel.expiressEndTime)
|
if (dt >= accessModel.expiressEndTime)
|
||||||
{
|
{
|
||||||
var result = _yilianyunService.RefreshToken(accessModel.machineCode, accessModel.refreshToken);
|
var ts = dt - Convert.ToDateTime(accessModel.expiressEndTime);
|
||||||
if (result.IsSuccess())
|
|
||||||
{
|
|
||||||
accessToken = result.Body.Access_Token;
|
|
||||||
|
|
||||||
accessModel.accessToken = result.Body.Access_Token;
|
if (ts.Days > 35)
|
||||||
accessModel.refreshToken = result.Body.Refresh_Token;
|
{
|
||||||
accessModel.expiresIn = result.Body.Expires_In != null ? Convert.ToInt32(result.Body.Expires_In) : 0;
|
|
||||||
accessModel.expiressEndTime = result.Body.ExpiressEndTime;
|
var onPostAuthTerminal = _yilianyunService.AuthTerminal(_machineCode, _msign, _phone, _printerName);
|
||||||
await _accessTokenServices.UpdateAsync(accessModel);
|
if (onPostAuthTerminal.IsSuccess())
|
||||||
|
{
|
||||||
|
accessToken = onPostAuthTerminal.Body.Access_Token;
|
||||||
|
|
||||||
|
accessModel.code = GlobalEnumVars.ThirdPartyEquipment.YiLianYun.ToString();
|
||||||
|
accessModel.name = EnumHelper.GetEnumDescriptionByKey<GlobalEnumVars.ThirdPartyEquipment>(GlobalEnumVars.ThirdPartyEquipment.YiLianYun.ToString());
|
||||||
|
accessModel.machineCode = _machineCode;
|
||||||
|
accessModel.accessToken = onPostAuthTerminal.Body.Access_Token;
|
||||||
|
accessModel.refreshToken = onPostAuthTerminal.Body.Refresh_Token;
|
||||||
|
accessModel.expiresIn = onPostAuthTerminal.Body.Expires_In != null ? Convert.ToInt32(onPostAuthTerminal.Body.Expires_In) : 0;
|
||||||
|
accessModel.expiressEndTime = onPostAuthTerminal.Body.ExpiressEndTime;
|
||||||
|
accessModel.parameters = JsonConvert.SerializeObject(onPostAuthTerminal.Body);
|
||||||
|
accessModel.createTime = DateTime.Now;
|
||||||
|
|
||||||
|
await _accessTokenServices.UpdateAsync(accessModel);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "易联云重新获取Token失败", JsonConvert.SerializeObject(onPostAuthTerminal));
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "易联云更新Token失败", JsonConvert.SerializeObject(result));
|
var result = _yilianyunService.RefreshToken(accessModel.machineCode, accessModel.refreshToken);
|
||||||
return;
|
if (result.IsSuccess())
|
||||||
|
{
|
||||||
|
accessToken = result.Body.Access_Token;
|
||||||
|
|
||||||
|
accessModel.accessToken = result.Body.Access_Token;
|
||||||
|
accessModel.refreshToken = result.Body.Refresh_Token;
|
||||||
|
accessModel.expiresIn = result.Body.Expires_In != null ? Convert.ToInt32(result.Body.Expires_In) : 0;
|
||||||
|
accessModel.expiressEndTime = result.Body.ExpiressEndTime;
|
||||||
|
await _accessTokenServices.UpdateAsync(accessModel);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.RedisMessageQueue, "易联云更新Token失败", JsonConvert.SerializeObject(result));
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user