Пример #1
0
 public MerchantPortalResponse <T> Execute <T>(MerchantPortalRequest request)
 {
     try
     {
         //拼接请求地址
         string url = string.Format("{0}/AccessGateway/transIn/{1}.json", this.ApiUrl, request.FuncName);
         //获取参数
         var parameters = GetParameters(request);
         //进行网络请求
         var agResponse = Httputil.Post <AGResponse>(url, parameters);
         // 解密
         if (!string.IsNullOrEmpty(agResponse.EncryptBody))
         {
             string body     = CmblifeUtils.Decrypt(agResponse.EncryptBody, this.MerchantPrivateKey);
             var    response = JsonConvert.DeserializeObject <MerchantPortalResponse <T> >(body);
             return(response);
         }
         else
         {
             return(MerchantPortalResponse <T> .Custom(agResponse.respCode, agResponse.respMsg));
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #2
0
        /// <summary>
        /// 获取招行订单详情
        /// </summary>
        /// <param name="cmbOrderNo"></param>
        /// <returns></returns>
        public string GetOrderDetail(string cmbOrderNo)
        {
            //1.创建客户端(传入请求地址(默认可不传),mid,aid,商户私钥等参数)
            IMerchantPortalApiClient client = new DefaultMerchantPortalApiClient(
                _configuration.GetSection("Zhaohang")["API_URL"],
                _configuration.GetSection("Zhaohang")["MID"],
                _configuration.GetSection("Zhaohang")["AID"],
                _configuration.GetSection("Zhaohang")["CMBLIFE_XML_PUB_KEY"],
                _configuration.GetSection("Zhaohang")["MERCHANT_XML_PRI_KEY"]);
            //2.添加参数
            var request = new MerchantPortalRequest();

            //2.1 添加要请求的方法名
            request.FuncName = "funmallGetOrderBySysNo";
            //2.2 添加业务参数
            var businessParamsDic = new Dictionary <string, object>();

            businessParamsDic.Add("merchantNo", _configuration.GetSection("Zhaohang")["merchantNo"]); // 正式商户编号
            businessParamsDic.Add("storeNo", _configuration.GetSection("Zhaohang")["storeNo"]);       //正式店铺号
            businessParamsDic.Add("orderNo", cmbOrderNo);


            //请求参数包含业务参数
            request.BusinessParams = businessParamsDic;
            //3. 执行
            MerchantPortalResponse <object> response = client.Execute <object>(request);

            return(JsonConvert.SerializeObject(response));
        }
Пример #3
0
        /// <summary>
        /// 获取全部未发货订单
        /// </summary>
        /// <returns></returns>
        public string GetAllOrderList(DateTime?startTime = null, DateTime?endTime = null)
        {
            string starttime, endtime;

            if (!startTime.HasValue)
            {
                starttime = DateTime.Now.AddDays(-15).ToString("yyyyMMddHHmmss");
            }
            else
            {
                starttime = DateTime.Parse(((DateTime)startTime).ToString()).ToString("yyyyMMddHHmmss");
            }
            if (!endTime.HasValue)
            {
                endtime = DateTime.Now.AddDays(1).AddSeconds(-1).ToString("yyyyMMddHHmmss");
            }
            else
            {
                endtime = DateTime.Parse(((DateTime)endTime).ToString()).AddDays(1).AddSeconds(-1).ToString("yyyyMMddHHmmss");
            }


            //1.创建客户端(传入请求地址(默认可不传),mid,aid,商户私钥等参数)
            IMerchantPortalApiClient client = new DefaultMerchantPortalApiClient(
                _configuration.GetSection("Zhaohang")["API_URL"],
                _configuration.GetSection("Zhaohang")["MID"],
                _configuration.GetSection("Zhaohang")["AID"],
                _configuration.GetSection("Zhaohang")["CMBLIFE_XML_PUB_KEY"],
                _configuration.GetSection("Zhaohang")["MERCHANT_XML_PRI_KEY"]);
            //2.添加参数
            var request = new MerchantPortalRequest();

            //2.1 添加要请求的方法名
            request.FuncName = "funmallGetOrderList";
            //2.2 添加业务参数
            var businessParamsDic = new Dictionary <string, object>();

            businessParamsDic.Add("merchantNo", _configuration.GetSection("Zhaohang")["merchantNo"]); //正式商户编号
            businessParamsDic.Add("storeNo", _configuration.GetSection("Zhaohang")["storeNo"]);       //正式店铺号
            businessParamsDic.Add("pageSize", 50);
            businessParamsDic.Add("startTime", starttime);
            businessParamsDic.Add("endTime", endtime);


            //测试数据
            //businessParamsDic.Add("rmaSysNo", 193497238872420352);
            //businessParamsDic.Add("merchantNo", "mer20473");
            //businessParamsDic.Add("storeNo", "ST20313");



            //请求参数包含业务参数
            request.BusinessParams = businessParamsDic;
            //3. 执行
            MerchantPortalResponse <object> response = client.Execute <object>(request);

            return(JsonConvert.SerializeObject(response));
        }
Пример #4
0
        /// <summary>
        /// 上传快递信息到招行系统(请在ReturnDeliverResultToCMB中调用)
        /// </summary>
        /// <param name="orderItemNo">cmb订单号</param>
        /// <param name="orderNo">cmb子订单号</param>
        /// <param name="deliveryType">快递名称</param>
        /// <param name="deliverName">快递中文名</param>
        /// <param name="deliverNo">快递单号</param>
        /// <returns></returns>
        public string UpLoadDeliverInfo(string orderItemNo, string orderNo, string deliveryType, string deliverName, string deliverNo)
        {
            //1.创建客户端(传入请求地址(默认可不传),mid,aid,商户私钥等参数)
            IMerchantPortalApiClient client = new DefaultMerchantPortalApiClient(
                _configuration.GetSection("Zhaohang")["API_URL"],
                _configuration.GetSection("Zhaohang")["MID"],
                _configuration.GetSection("Zhaohang")["AID"],
                _configuration.GetSection("Zhaohang")["CMBLIFE_XML_PUB_KEY"],
                _configuration.GetSection("Zhaohang")["MERCHANT_XML_PRI_KEY"]);
            //2.添加参数
            var request = new MerchantPortalRequest();

            //2.1 添加要请求的方法名
            request.FuncName = "funmallUploadLogisticsByItem";
            //2.2 添加业务参数
            var businessParamsDic = new Dictionary <string, object>();

            businessParamsDic.Add("merchantNo", _configuration.GetSection("Zhaohang")["merchantNo"]); //正式商户编号
            businessParamsDic.Add("storeNo", _configuration.GetSection("Zhaohang")["storeNo"]);       //正式店铺号


            //快递信息
            var deliveryInfo = new Dictionary <string, object>();

            deliveryInfo.Add("orderItemNo", orderItemNo); //子订单编号
            deliveryInfo.Add("orderNo", orderNo);         //订单编号
            var deliver = new Dictionary <string, object>();

            deliver.Add("shipTypeId", deliveryType);        //快递类型
            deliver.Add("shipTypeName", deliverName);       //快递名称
            deliver.Add("trackingNo", deliverNo);           //快递单号
            deliveryInfo.Add("logisticsInfoList", deliver); //需上传物流信息列表
            businessParamsDic.Add("items", deliveryInfo);

            //请求参数包含业务参数
            request.BusinessParams = businessParamsDic;
            //3. 执行
            MerchantPortalResponse <object> response = client.Execute <object>(request);

            return(JsonConvert.SerializeObject(response));
        }