using Microsoft.Extensions.Caching.Memory; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Xml; using CommonUtil; using WeiXinKfSDK; using WeiXinKfSDK.Response; using Operater.DTO.TopMessage; using CommonUtil.RabbitMQ; using DbAccess; using System.Text; namespace Api.MessageReceive.Service { public class WxKfService { public static WxKfToken _wxkfToken; public static GzhToken _gzhToken; public static ISysSqlHelper dbMain = SysSqlHelper.CreateSqlHelper("db_main"); //public async Task WxMessageHandle(string xmlMessage) public async static Task WxMessageHandle(string xmlMessage, string msgtype) { TradeMqMessage tradeMqMessage = new TradeMqMessage() { MsgType = msgtype, MsgBody = xmlMessage }; string ret = MQClientFullChannel.SendMessageStatic(0, "wxkf_message", JSONUtil.ObjectToJson(tradeMqMessage)); if (ret != "ok") { LogUtil.Info($"发MQ失败:{xmlMessage}", "wx处理失败"); } } public async static Task RecordeGzhInfo(GetGzhUserInfoResonse userInfo) { try { string nickName = ""; if(!userInfo.nickname.IsNullOrEmpty()) { nickName= Encoding.UTF8.GetString(Encoding.GetEncoding("ISO-8859-1").GetBytes(userInfo.nickname)); } string record = $"replace into gzh_userinfo values('{userInfo.openid}','{nickName}','{userInfo.sex}','{userInfo.province}','{userInfo.city}','{userInfo.headimgurl}','{userInfo.unionid}',now())"; dbMain.ExecuteNonQuery(record); } catch (Exception e) { LogUtil.Info($"发MQ失败:{e.ToString()}", "gzh入库失败"); } } /// /// 获取公众号token /// /// public static string GetGzhToken() { if(_gzhToken.IsNull()|| _gzhToken.ExpressTime