Beispiel #1
0
        /// <summary>
        /// 是否可以同步微信
        /// </summary>
        /// <param name="couponid"></param>
        /// <param name="couponcodeid"></param>
        /// <param name="couponType"></param>
        /// <param name="url"></param>
        /// <returns></returns>
        public WXSyncJSInfoByCard GetSyncWeiXin(long couponid, long couponcodeid, WXCardLogInfo.CouponTypeEnum couponType, string url)
        {
            WXSyncJSInfoByCard result      = null;
            bool              isNeedSyncWX = false;
            WXCardLogInfo     wxcardinfo   = null;
            WXCardCodeLogInfo wxcodeinfo   = null;

            wxcardinfo = Get(couponid, couponType);
            if (wxcardinfo != null)
            {
                if (wxcardinfo.AuditStatus == (int)WXCardLogInfo.AuditStatusEnum.Audited)
                {
                    isNeedSyncWX = true;
                }
            }
            if (isNeedSyncWX)
            {
                wxcodeinfo = GetCodeInfo(couponcodeid, couponType);
                if (wxcodeinfo != null)
                {
                    if (wxcodeinfo.CodeStatus != (int)WXCardCodeLogInfo.CodeStatusEnum.WaitReceive)
                    {
                        isNeedSyncWX = false;
                    }
                }
            }
            if (isNeedSyncWX)
            {
                result = GetWXSyncJSInfo(wxcardinfo.CardId, url);
            }

            return(result);
        }
Beispiel #2
0
        private WXSyncJSInfoByCard GetWXSyncJSInfo(string cardid, string url)
        {
            WXSyncJSInfoByCard wXSyncJSInfoByCard = null;

            if (!string.IsNullOrWhiteSpace(cardid))
            {
                WXCardLogInfo wXCardLogInfo = context.WXCardLogInfo.FirstOrDefault((WXCardLogInfo d) => d.CardId == cardid);
                if (wXCardLogInfo != null)
                {
                    string jSApiTicket = GetJSApiTicket(wXCardLogInfo.AppId, wXCardLogInfo.AppSecret);
                    if (string.IsNullOrWhiteSpace(jSApiTicket))
                    {
                        Log.Info("[Coupon]票据获取失败");
                    }
                    else
                    {
                        wXSyncJSInfoByCard = new WXSyncJSInfoByCard();
                        JSSDKHelper jSSDKHelper = new JSSDKHelper();
                        wXSyncJSInfoByCard.appid     = wXCardLogInfo.AppId;
                        wXSyncJSInfoByCard.apiticket = jSApiTicket;
                        wXSyncJSInfoByCard.timestamp = JSSDKHelper.GetTimestamp();
                        wXSyncJSInfoByCard.nonceStr  = JSSDKHelper.GetNoncestr();
                        wXSyncJSInfoByCard.signature = JSSDKHelper.GetSignature(wXSyncJSInfoByCard.apiticket, wXSyncJSInfoByCard.nonceStr, wXSyncJSInfoByCard.timestamp, url);
                    }
                }
            }
            return(wXSyncJSInfoByCard);
        }
Beispiel #3
0
        /// <summary>
        /// 同步微信JS信息获取
        /// <para>卡券的票据与其他票据不同,请调用此功能</para>
        /// <param name="cardid"></param>
        /// <returns></returns>
        private WXSyncJSInfoByCard GetWXSyncJSInfo(string cardid, string url)
        {
            WXSyncJSInfoByCard result = null;

            if (!string.IsNullOrWhiteSpace(cardid))
            {
                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 WXSyncJSInfoByCard();
                        JSSDKHelper jsshelper = new JSSDKHelper();
                        result.appid     = card.AppId;
                        result.apiticket = apiticket;
                        result.timestamp = JSSDKHelper.GetTimestamp();
                        result.nonceStr  = JSSDKHelper.GetNoncestr();
                        result.signature = jsshelper.GetSignature(result.apiticket, result.nonceStr, result.timestamp, url);
                    }
                    else
                    {
                        Log.Info("[Coupon]票据获取失败");
                    }
                }
            }
            return(result);
        }
Beispiel #4
0
        public WXSyncJSInfoByCard GetSyncWeiXin(long couponid, long couponcodeid, WXCardLogInfo.CouponTypeEnum couponType, string url)
        {
            WXSyncJSInfoByCard wXSyncJSInfo = null;
            bool              flag          = false;
            WXCardLogInfo     wXCardLogInfo = null;
            WXCardCodeLogInfo codeInfo      = null;

            wXCardLogInfo = Get(couponid, couponType);
            if (wXCardLogInfo != null)
            {
                int?auditStatus = wXCardLogInfo.AuditStatus;
                if ((auditStatus.GetValueOrDefault() != 1 ? false : auditStatus.HasValue))
                {
                    flag = true;
                }
            }
            if (flag)
            {
                codeInfo = GetCodeInfo(couponcodeid, couponType);
                if (codeInfo != null && codeInfo.CodeStatus != 0)
                {
                    flag = false;
                }
            }
            if (flag)
            {
                wXSyncJSInfo = GetWXSyncJSInfo(wXCardLogInfo.CardId, url);
            }
            return(wXSyncJSInfo);
        }