using Operater.DbModel;
using System;
using System.Collections.Generic;
using System.Text;
using CommonUtil;
using Operater.DAL;
using AlibabaSDK.Domain;
using AlibabaSDK.Api;
using AlibabaSDK.Request;
using Operater.DTO.TopMessage;
namespace TradeInterflow.Handle
{
public class CommonHandle
{
public static TopTokenInfo _topToken = new TopTokenInfo();
public static AuthPointTaskSet _authPointTaskSet = new AuthPointTaskSet();
///
/// 记录通知消息
///
///
public static void RecorderMessage(MessageNotify msg)
{
msg.Id = Guid.NewGuid().ToString();
msg.CreateTime = DateTime.Now;
msg.IsSolve = 0;
new MessageNotifyDAL().Insert(msg);
}
#region 获取1688token信息
public static string GetAliToken()
{
if (_topToken.IsNull() || _topToken.aliToken.IsNullOrEmpty() || _topToken.aliExpreTime < DateTime.Now)
{
var appSet = new AppsetDAL().ListGet(t => t.Id != null)[0];
_topToken.aliToken = appSet.AlibabaToken;
_topToken.aliExpreTime = DateTime.Now.AddHours(1);
return appSet.AlibabaToken;
}
return _topToken.aliToken;
}
#endregion
#region 获取有赞token信息
public static string GetYzToken()
{
if (_topToken.IsNull() || _topToken.yzToken.IsNullOrEmpty() || _topToken.yzExpreTime < DateTime.Now)
{
var appSet = new AppsetDAL().ListGet(t => t.Id != null)[0];
_topToken.yzToken = appSet.YzToken;
_topToken.yzExpreTime = DateTime.Now.AddHours(1);
return appSet.YzToken;
}
return _topToken.yzToken;
}
#endregion
public static TopTokenInfo GetSetInfo()
{
if (_topToken.IsNull() || _topToken.yzToken.IsNullOrEmpty() || _topToken.yzExpreTime > DateTime.Now)
{
var appSet = new AppsetDAL().ListGet(t => t.Id != null)[0];
_topToken.yzToken = appSet.YzToken;
_topToken.yzExpreTime = DateTime.Now.AddHours(1);
_topToken.aliToken = appSet.AlibabaToken;
_topToken.YzShopId = appSet.YzShopid;
}
return _topToken;
}
#region 接口获取1688订单详情
public static AlibabaTradeDetailDomain GetAliTradeDetail(string tid)
{
try
{
AlibabaTradeDeatilGetRequest request = new AlibabaTradeDeatilGetRequest()
{
orderId = tid,
webSite = "1688"
};
var response = AliabaClient.Execute(request, CommonHandle.GetAliToken());
if (response.IsNull() || !response.Success || response.result.IsNull())
{//接口请求失败
LogUtil.Info("接口获取1688订单详情error:" + (response.IsNull() ? "null" : response.ErrorMsg), "1688订单详情eror");
return null;
}
return response.result;
}
catch (Exception e)
{
LogUtil.Info("接口获取1688订单详情error:" + e.ToString(), "1688订单详情eror");
Console.WriteLine("接口获取1688订单详情error:" + e.ToString());
}
return null;
}
#endregion
#region 获取授权送积分设置
public static AuthPointTaskSet GetAuthPointSet()
{
if (_authPointTaskSet.IsSet == 0 || _authPointTaskSet.ExpressTime < DateTime.Now)
{//从数据库获取
var set = new PointTaskDAL().ListGet(t => t.TaskType == 0 && t.IsRun == 1 && t.IsDel == 0);
if (set.IsNull() || set.Count == 0)
{
_authPointTaskSet.ExpressTime = DateTime.Now.AddMinutes(10);
_authPointTaskSet.IsSet = -1;
return null;
}
_authPointTaskSet.ExpressTime = DateTime.Now.AddMinutes(10);
_authPointTaskSet.PointTaskSet = set[0];
_authPointTaskSet.IsSet = 1;
}
return _authPointTaskSet;
}
#endregion
public class TopTokenInfo
{
public string aliToken { get; set; }
public DateTime aliExpreTime { get; set; }
public string yzToken { get; set; }
public DateTime yzExpreTime { get; set; }
public string YzShopId { get; set; }
}
}
}