public IActionResult OnPostBuyCourse(string priceCode)
        {
            ResultObject <ECoursePrice> result = new ResultObject <ECoursePrice>();

            try
            {
                var us = GetUserSession(false);
                if (us != null)
                {
                    if (string.IsNullOrEmpty(us.Phone))
                    {
                        result.IntMsg   = -2;
                        result.ErrorMsg = "请先绑定您的手机号";
                        return(new JsonResult(result));
                    }
                    ECoursePrice eCoursePrice = _CourseSrv.GetCoursePrice(priceCode);
                    result.Entity = eCoursePrice;
                }
                else
                {
                    result.IntMsg   = -1;
                    result.ErrorMsg = "请先重新登录";
                }
            }
            catch (EduException eex)
            {
                result.ErrorMsg = eex.Message;
            }
            catch (Exception ex)
            {
                result.ErrorMsg = "购买失败,请联系客服!";
                NLogHelper.ErrorTxt($"购买课时[OnPostBuyCourse]:{ex.Message}");
            }
            return(new JsonResult(result));
        }
        public WxPayOrder JSPay(int feeAmt, int courseTime)
        {
            WxPayOrder wxOrder = null;
            var        us      = GetUserSession(false);

            try
            {
                if (us != null)
                {
                    string   notifyUrl = "http://edu.iqiban.cn/api/wxPay/Notify";
                    JsApiPay jsApiPay  = new JsApiPay();
                    jsApiPay.openid    = us.OpenId;
                    jsApiPay.total_fee = feeAmt * 100;


                    string OrderNo = WxPayApi.GenerateOutTradeNo();
                    var    desc    = "扫码支付学费";
                    if (courseTime > 0)
                    {
                        desc += $"[{courseTime}]课时";
                    }
                    /* 生成 系统订单 */
                    ECoursePrice eCoursePrice = _CourseSrv.GetCoursePrice("VIP");
                    eCoursePrice.Qty   = courseTime;
                    eCoursePrice.Price = feeAmt;
                    var order = _BusinessSrv.PayCourseOrder(us.OpenId, eCoursePrice);

                    WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(desc, notifyUrl, OrderNo);
                    WxPayData wxJsApiParam       = jsApiPay.GetJsApiParameters();

                    wxOrder = new WxPayOrder()
                    {
                        appId      = wxJsApiParam.GetValue("appId").ToString(),
                        nonceStr   = wxJsApiParam.GetValue("nonceStr").ToString(),
                        package    = wxJsApiParam.GetValue("package").ToString(),
                        paySign    = wxJsApiParam.GetValue("paySign").ToString(),
                        signType   = "MD5",
                        timeStamp  = wxJsApiParam.GetValue("timeStamp").ToString(),
                        OrderNo    = OrderNo,
                        EduOrderNo = order.OrderId
                    };
                }
                else
                {
                    wxOrder = new WxPayOrder()
                    {
                        IntMsg    = -1,
                        IsSuccess = false,
                        ErrorMsg  = "请重新登陆",
                    };
                }
            }
            catch (Exception ex)
            {
                NLogHelper.ErrorTxt($"JSPay:{ex.Message}");
                wxOrder = new WxPayOrder()
                {
                    IsSuccess = false,
                    ErrorMsg  = ex.Message,
                };
            }

            return(wxOrder);
        }