public JsonResult GetPaySignWX(string driverId, string organizationId, string revenueFee, Guid personVguid, Guid pushContentVguid, int revenueType, string factPayAmount)
        {
            var models    = new ActionResultModel <string>();
            var modelData = new QRCodeRevenueInfo();
            var url       = ConfigSugar.GetAppString("QRCodeRevenue");
            //Developer,Product 开发,正式
            var data = "{" +
                       "\"OperatorDeviceName\":\"{OperatorDeviceName}\",".Replace("{OperatorDeviceName}", "WXQYH") +
                       "\"OrganizationId\":\"{OrganizationId}\",".Replace("{OrganizationId}", organizationId) +
                       "\"DriverID\":\"{DriverID}\",".Replace("{DriverID}", driverId) +
                       "\"RunEnvironment\":\"{RunEnvironment}\",".Replace("{RunEnvironment}", "Product") +
                       "\"FactPayAmount\":\"{FactPayAmount}\"".Replace("{FactPayAmount}", factPayAmount) +
                       "}";

            try
            {
                WebClient wc = new WebClient();
                wc.Headers.Clear();
                wc.Headers.Add("Content-Type", "application/json;charset=utf-8");
                wc.Encoding = System.Text.Encoding.UTF8;
                var resultData = wc.UploadString(new Uri(url), data);
                modelData = resultData.JsonToModel <QRCodeRevenueInfo>();
                if (modelData.Code == "0")
                {
                    //接口调用成功,获取支付界面url
                    models.isSuccess   = true;
                    models.respnseInfo = modelData.data.BillQRCodeURL + "," + modelData.data.BillNo;
                    //var key = PubGet.GetUserKey + driverId;
                    //CacheManager<QRCodeRevenue>.GetInstance().Add(key, modelData.data, 8 * 60 * 60 * 1000);
                    SavePaymentHistory(driverId, revenueFee, personVguid, pushContentVguid, revenueType, modelData.data);
                }
                else
                {
                    //接口调用失败,支付二维码失效
                    WeChatRevenueServer.sendQRCodeMessage(modelData.data.BillNo);
                    models.isSuccess   = false;
                    models.respnseInfo = "接口调用失败";
                }
                LogHelper.WriteLog(string.Format("Data:{0},result:{1}", data, resultData));
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(string.Format("Data:{0},result:{1},error:{2}", data, modelData.message, ex.ToString()));
            }
            return(Json(models, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
 public WeChatRevenueLogic()
 {
     _rl = new RevenueLogic();
     _sl = new ShortMsgLogic.ShortMsgLogic();
     _weChatRevenueServer = new WeChatRevenueServer();
 }