/// <summary> /// 更新token信息 /// </summary> /// <param name="accessToken"></param> /// <param name="paInfo"></param> public void UpdateAccessToken(string accessToken, WctPaMstr paInfo) { paInfo.PA_ACCESS_TOKEN = accessToken; paInfo.PA_ACCESS_TOKEN_EXP_TIME = DateTime.Now; paInfo.UPDATE_DATE = DateTime.Now; _wctPaMstrRepository.Update(paInfo); }
/// <summary> /// 保存公众号信息 /// </summary> /// <param name="dto"></param> /// <returns></returns> public ReturnMsg SavePaInfo(WctPaMstrDto dto) { var rm = new ReturnMsg(); var entity = new WctPaMstr(); var isOk = CheckPaInfo(dto, rm); if (!isOk.IsSuccess) { return(rm); } if (string.IsNullOrEmpty(dto.Id)) { dto.Id = Guid.NewGuid().ToString("N"); _initHelper.InitAdd(dto, AbpSession.USR_ID, dto.PA_ID_NO, AbpSession.BG_NO); entity = dto.ToEntity(); _wctPaMstrRepository.Insert(entity); } else { _initHelper.InitUpdate(dto, AbpSession.USR_ID); entity = dto.ToEntity(); _wctPaMstrRepository.Update(entity); } rm.IsSuccess = true; return(rm); }
/// <summary> /// 转换为数据传输对象 /// </summary> /// <param name="entity">实体</param> public static WctPaMstrDto ToDto(this WctPaMstr entity) { if (entity == null) { return(new WctPaMstrDto()); } return(new WctPaMstrDto { Id = entity.Id, PA_NAME = entity.PA_NAME, PA_ORIGINAL_ID = entity.PA_ORIGINAL_ID, PA_APPID = entity.PA_APPID, PA_APPSECRET = entity.PA_APPSECRET, PA_USER = entity.PA_USER, PA_PASSWORD = entity.PA_PASSWORD, PA_ID_NO = entity.PA_ID_NO, PA_TYPE_ID = entity.PA_TYPE_ID, PA_AUTH_URL = entity.PA_AUTH_URL, PA_CUS_SVC_ENABLED = entity.PA_CUS_SVC_ENABLED, PA_ENCODINGAESKEY = entity.PA_ENCODINGAESKEY, PA_ACCESS_TOKEN = entity.PA_ACCESS_TOKEN, PA_ACCESS_TOKEN_EXP_TIME = entity.PA_ACCESS_TOKEN_EXP_TIME, PA_JSAPITICKET = entity.PA_JSAPITICKET, PA_JSAPITICKET_EXP_TIME = entity.PA_JSAPITICKET_EXP_TIME, CREATE_ORG_NO = entity.CREATE_ORG_NO, CREATE_PSN = entity.CREATE_PSN, CREATE_DATE = entity.CREATE_DATE, UPDATE_PSN = entity.UPDATE_PSN, UPDATE_DATE = entity.UPDATE_DATE, UDF1 = entity.UDF1, UDF2 = entity.UDF2, UDF3 = entity.UDF3, UDF4 = entity.UDF4, UDF5 = entity.UDF5, UDF6 = entity.UDF6, UDF7 = entity.UDF7, UDF8 = entity.UDF8, UDF9 = entity.UDF9, UDF10 = entity.UDF10, PA_MANAGER_EMAIL = entity.PA_MANAGER_EMAIL, DEL_FLAG = entity.DEL_FLAG, BPMPAYCHANNELID = entity.BPMPAYCHANNELID, MCH_ID = entity.MCH_ID, SIGNKEY = entity.SIGNKEY, AUTHORIZER_ACCESS_TOKEN = entity.AUTHORIZER_ACCESS_TOKEN, AUTHORIZER_REFRESH_TOKEN = entity.AUTHORIZER_REFRESH_TOKEN, AUTHORIZER_TOKEN_TIME = entity.AUTHORIZER_TOKEN_TIME, OP_AUTH_STATUS = entity.OP_AUTH_STATUS, BG_NO = entity.BG_NO, APICLIENT_CERT = entity.APICLIENT_CERT, PA_FOLLOW_URL = entity.PA_FOLLOW_URL, PA_TEMPLATE_SERVICE = entity.PA_TEMPLATE_SERVICE, PA_TEMPLATE_TICKET_VERIFICA = entity.PA_TEMPLATE_TICKET_VERIFICA, PA_TEMPLATE_TICKET_ISSUE = entity.PA_TEMPLATE_TICKET_ISSUE, PA_TEMPLATE_APT = entity.PA_TEMPLATE_APT }); }
/// <summary> /// 获取微信请求accesstoken /// </summary> /// <param name="paInfo">公众号信息</param> /// <param name="bgNo"></param> /// <returns></returns> public ReturnMsg GetAccessToken(WctPaMstr paInfo, string bgNo) { var rm = new ReturnMsg(); var basConfig = GetBasConfig(bgNo); if (basConfig == null) { rm.IsSuccess = false; rm.msg = "请先维护微信基础信息配置"; return(rm); } //是否托管第三方 if (basConfig.OPEN_IS_ENABLED == 1) { var token = GetOpenToken(); if (string.IsNullOrEmpty(token)) { rm.IsSuccess = false; rm.msg = "获取token失败"; return(rm); } rm.IsSuccess = true; rm.result = token; return(rm); } else { if (paInfo.PA_ACCESS_TOKEN_EXP_TIME != null) { var expTime = (DateTime.Now - paInfo.PA_ACCESS_TOKEN_EXP_TIME).Value.TotalMinutes; if (expTime <= 90) { rm.IsSuccess = true; rm.result = paInfo.PA_ACCESS_TOKEN; return(rm); } } string grant_type = "client_credential"; string appid = paInfo.PA_APPID; string secret = paInfo.PA_APPSECRET; string tokenUrl = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type={0}&appid={1}&secret={2}", grant_type, appid, secret); var wc = new WebClient(); var strReturn = wc.DownloadString(tokenUrl); var model = JsonConvert.DeserializeObject <AccessTokenInfo>(strReturn); if (string.IsNullOrEmpty(model.access_token)) { rm.IsSuccess = false; rm.msg = "获取token失败"; return(rm); } UpdateAccessToken(model.access_token, paInfo); rm.IsSuccess = true; rm.result = model.access_token; return(rm); } }