71 lines
2.9 KiB
C#
71 lines
2.9 KiB
C#
using AllBase;
|
|
using AllBase.Helper;
|
|
using AllBase.Model.Result;
|
|
using AllBase.Model.Result.WXResult;
|
|
using NaiBa.Util;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using TemuKJD.BaseForms;
|
|
using Work;
|
|
|
|
namespace TemuKJD.BLL
|
|
{
|
|
public class WxApiBLL
|
|
{
|
|
public WXShopTokenInfo GetRandomWxToken(bool isShowErrorDlg = true)
|
|
{
|
|
if (GlobalConfig.WxGlobalTokenList.Count == 0 || GlobalConfig.WxGlobalTokenList.All(t => t.isExpire == true))
|
|
{
|
|
var url = BaseClass.BuildObjString("shop/e57_get_wx_tokens");
|
|
var data = UserLogin.GetSignaturex();
|
|
var html = GetHtml.PostUtf8(url, data);
|
|
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
|
html = GetHtml.PostUtf8(url, data);
|
|
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
|
{
|
|
BaseMsgForm.ShowError("获取授权失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
|
return new WXShopTokenInfo();
|
|
}
|
|
var tokenStr = JsonHelper.SerializeObject(JsonHelper.JObjectParse(html)["tokens"].FirstOrDefault());
|
|
GlobalConfig.WxGlobalTokenList = new ConcurrentList<WXShopTokenInfo>();
|
|
GlobalConfig.WxGlobalTokenList.AddRange(JsonHelper.DeserializeJsonToList<WXShopTokenInfo>(tokenStr));
|
|
foreach (var token in GlobalConfig.WxGlobalTokenList)
|
|
{
|
|
token.mdyTime = Convert.ToDateTime(BaseRegex.GetStringJson(ref html, "mdy_time"));
|
|
}
|
|
}
|
|
|
|
var tokenCount = GlobalConfig.WxGlobalTokenList.Where(t => t.isExpire != true).Count();
|
|
|
|
return GlobalConfig.WxGlobalTokenList.Where(t => t.isExpire != true).OrderBy(x => Guid.NewGuid()).FirstOrDefault();
|
|
}
|
|
|
|
public WXShopTokenInfo GetShopWxToken(ShopLoginInfo shop)
|
|
{
|
|
var url = BaseClass.BuildObjString("shop/e57_get_wx_shop_token");
|
|
var data = UserLogin.GetSignaturex();
|
|
data += "&shop_id=" + shop.ShopId;
|
|
var html = GetHtml.PostUtf8(url, data);
|
|
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":0"))
|
|
{
|
|
}
|
|
else
|
|
{
|
|
var token = new WXShopTokenInfo()
|
|
{
|
|
shopId = shop.ShopId,
|
|
accessToken = BaseRegex.GetStringJson(ref html, "accessToken"),
|
|
mdyTime = DateTime.Now,
|
|
};
|
|
//shop.WxToken = BaseRegex.GetStringJson(ref html, "accessToken");
|
|
//shop.WxTokenExpire = DateTime.Now.AddMinutes(60);
|
|
return token;
|
|
}
|
|
return new WXShopTokenInfo() { shopId = shop.ShopId, accessToken = "", mdyTime = DateTime.Now };
|
|
}
|
|
}
|
|
}
|