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