using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.Practices.EnterpriseLibrary.Data; using System.Data; using DSWeb.MvcShipping.DAL.Chfee_AuditDAL; using DSWeb.Areas.Account.Models.MsOpBill; using System.Text; using System.Configuration; using DSWeb.Areas.Mobile.Models.Login; using DSWeb.TruckMng.Helper; namespace DSWeb.Areas.Mobile.DAL { public class AccessTokenDAL { //获取AccessToken public static string GetAccessToken(){ string sql = "select top 1 AccessToken from sys_WeChatConfig order by updatetime desc"; Database db = DatabaseFactory.CreateDatabase(); DBLog.Log("GetAccessToken","sql",sql); var token = db.ExecuteScalar(CommandType.Text, sql) ; if (token==null||token==DBNull.Value || token.ToString()=="") { DBLog.Log("RefrashAccessToken","before"); token = RefrashAccessToken(); DBLog.Log("RefrashAccessToken", "end", token.ToString()); } DBLog.Log("GetAccessToken","end"); return token.ToString(); } //设置AccessToken public static bool SetAccessToken (string token) { string sqlins = "insert into sys_WeChatConfig (accesstoken) values('" + token + "')"; Database db = DatabaseFactory.CreateDatabase(); int rst = db.ExecuteNonQuery(CommandType.Text,sqlins); return rst>0; } //刷新AccessToken public static string RefrashAccessToken ( ) { string appid = ConfigurationManager.AppSettings["appid"].ToString(); string secret = ConfigurationManager.AppSettings["secret"].ToString(); string url = string.Format(@"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}",appid,secret); string respStr = HttpHelper.HttpGet(url); DBLog.Log("RefrashAccessToken", "respStr", respStr); AccessTokenModel token = JsonConvert.Deserialize(respStr); Database db = DatabaseFactory.CreateDatabase(); DBLog.Log("RefrashAccessToken","token",token.access_token); string sqlins = "insert into sys_WeChatConfig (accesstoken) values('"+token.access_token+"')"; int rst = db.ExecuteNonQuery(CommandType.Text,sqlins); if (rst>0) { return token.access_token; } else { return ""; } } } }