/// <summary> /// 是否可以同步微信 /// </summary> /// <param name="couponid"></param> /// <param name="couponcodeid"></param> /// <param name="couponType"></param> /// <param name="url"></param> /// <returns></returns> public Entities.WXSyncJSInfoByCard GetSyncWeiXin(long couponid, long couponcodeid, Entities.WXCardLogInfo.CouponTypeEnum couponType, string url) { Entities.WXSyncJSInfoByCard result = null; bool isNeedSyncWX = false; Entities.WXCardLogInfo wxcardinfo = null; Entities.WXCardCodeLogInfo wxcodeinfo = null; wxcardinfo = Get(couponid, couponType); if (wxcardinfo != null) { if (wxcardinfo.AuditStatus == (int)Entities.WXCardLogInfo.AuditStatusEnum.Audited) { isNeedSyncWX = true; } } if (isNeedSyncWX) { wxcodeinfo = GetCodeInfo(couponcodeid, couponType); if (wxcodeinfo != null) { if (wxcodeinfo.CodeStatus != (int)Entities.WXCardCodeLogInfo.CodeStatusEnum.WaitReceive) { isNeedSyncWX = false; } } } if (isNeedSyncWX) { result = GetWXSyncJSInfo(wxcardinfo.CardId, url); } return(result); }
/// <summary> /// 同步微信JS信息获取 /// <para>卡券的票据与其他票据不同,请调用此功能</para> /// <param name="cardid"></param> /// <returns></returns> private Entities.WXSyncJSInfoByCard GetWXSyncJSInfo(string cardid, string url) { Entities.WXSyncJSInfoByCard result = null; if (!string.IsNullOrWhiteSpace(cardid)) { var card = DbFactory.Default.Get <Entities.WXCardLogInfo>().Where(d => d.CardId == cardid).FirstOrDefault(); //var card = Context.WXCardLogInfo.FirstOrDefault(d => d.CardId == cardid); if (card != null) { //string acctoken = GetAccessToken(card.AppId, card.AppSecret); string apiticket = GetJSApiTicket(card.AppId, card.AppSecret); if (!string.IsNullOrWhiteSpace(apiticket)) { result = new Entities.WXSyncJSInfoByCard(); JSSDKHelper jsshelper = new JSSDKHelper(); result.appid = card.AppId; result.apiticket = apiticket; result.timestamp = JSSDKHelper.GetTimestamp(); result.nonceStr = JSSDKHelper.GetNoncestr(); result.signature = JSSDKHelper.GetSignature(result.apiticket, result.nonceStr, result.timestamp, url); } else { Log.Info("[Coupon]票据获取失败"); } } } return(result); }