예제 #1
0
        /// <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);
        }
예제 #2
0
 /// <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);
 }