小程序直播后台接口(二):商品审核

/// <summary>
        ///商品提交微信审核通过后录入直播商品库
        /// </summary>
        /// <param name="QYID"></param>
        /// <param name="PROMOTION_ID"></param>
        /// <returns></returns>
        [HttpPost]
        public string ToWXSH(string PRO_SHSP)
        {
            string res = "", errStr = "", url="" ;
            try
            {
                url = ConfigurationManager.AppSettings["LiveUrl"].ToString();
                string a_token = GetAccessToken();//直播凭证
                string path = "C:\\Users\\22813\\Pictures\\QQ浏览器截图\\product.png";
                if (string.IsNullOrEmpty(a_token))
                {
                    return JsonConvert.SerializeObject(new { code = "0", info = "AccessToken凭证获取失败" });
                }
                JArray jarr = (JArray)JsonConvert.DeserializeObject(PRO_SHSP);
                List<Root> list = new List<Root>();
                string updatesql = "";//更新sql
                foreach (JObject item in jarr)
                {
                    path = Server.MapPath("~") + item["ICON_URL"].ToString();
                    string Media_ID="";
                    string mediaRes= GetMedia_ID(a_token, "image", path);//媒体凭证
                    if (string.IsNullOrEmpty(mediaRes))
                    {
                        return JsonConvert.SerializeObject(new { code = "0", msg = item["SNAME"].ToString()+",商品图片不存在" });
                    }
                    else {
                        JObject Jres = (JObject)JsonConvert.DeserializeObject(mediaRes);
                        if (Jres.Property("media_id") != null)
                        {
                            Media_ID = Jres["media_id"].ToString();
                        }
                        else {
                            return JsonConvert.SerializeObject(new { code = "0", msg = item["SNAME"].ToString() + "图片错误:" + Jres["errmsg"] });
                        }
                    }
                    Root root = new Root();
                    GoodsInfo gif = new GoodsInfo();
                    gif.coverImgUrl = Media_ID;
                    gif.name = item["SNAME"].ToString();
                    gif.priceType = 1;
                    gif.price = item["PRICE"].ToString();
                    gif.url = url;
                    root.goodsInfo = gif;

                    string str = JsonConvert.SerializeObject(root);
                    string spres = SPSH(str, a_token);
                    JObject jres = (JObject)JsonConvert.DeserializeObject(spres);
                    if (jres.Property("errcode") != null && jres["errcode"].ToString() == "0")
                    {
                        string goodsId = jres["goodsId"].ToString();
                        string auditId = jres["auditId"].ToString();
                        //do something
                    }
                    else
                    {
                        errStr += "商品:" + item["SNAME"].ToString() + ",错误信息:" + jres["errmsg"].ToString() + ",";
                    }
                }
                
            }
            catch (Exception ex)
            {
                res = JsonConvert.SerializeObject(new { code = "0", msg = ex.Message});
            }
            JObject resj = (JObject)JsonConvert.DeserializeObject(res);
            if (!string.IsNullOrEmpty(errStr))
            {
                errStr += "存在审核失败的商品:" + errStr.TrimEnd(',');
            }
            resj["msg"] = resj["msg"].ToString() + errStr;
            return resj.ToString();
        }
/// <summary>
        /// 获取凭证
        /// </summary>
        /// <returns></returns>
        public static string GetAccessToken()
        {
            HttpCookie cookie = new HttpCookie("Access_Token");
            string access_token = "";
            if (cookie != null)
            {
                string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=&secret=";
                string result = GetUrLReq(url, "get", "application/x-www-form-urlencoded");
                //Dictionary<string, string> dict = JsonConvert_v.ReadJson(result);
                JObject jbj = (JObject)JsonConvert.DeserializeObject(result);
                if (jbj.Property("access_token") != null)
                {
                    access_token = jbj["access_token"].ToString();
                    //两小时才会过期,现在先存入 Session中
                    cookie["access_token"] = access_token;
                    cookie.Expires = DateTime.Now.AddHours(1.5);//设置一个半小时过期
                    return access_token;
                }
            }
            else
            {
                cookie["access_token"].ToString();
            }
            return null;
        }
/// <summary>
        /// 获取媒体凭证
        /// </summary>
        /// <param name="access_token"></param>
        /// <param name="type"></param>
        /// <param name="path"></param>
        /// <returns></returns>
        public static string GetMedia_ID(string access_token, string type, string path)
        {
            string media_id = "";
            // 设置参数
            string url = string.Format("http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", access_token, type);

            if (!System.IO.File.Exists(path))
            {
                return "";
            }
            string res = HttpUploadFile(url, path);
            //JObject jbj = (JObject)JsonConvert.DeserializeObject(res);
            //if (jbj.Property("media_id") != null)
            //{
            //    media_id = jbj["media_id"].ToString();
            //}
            //else { 
            
            //}
            return res;
        }
/// <summary>
        /// 请求商品审核
        /// </summary>
        /// <param name="sps"></param>
        /// <param name="a_token"></param>
        /// <returns></returns>
        public static string SPSH(string sps, string a_token)
        {
            string url = "https://api.weixin.qq.com/wxaapi/broadcast/goods/add?access_token=" + a_token;
            string spRes = PostUrl(url, sps, "application/json");
            return spRes;
        }
/// <summary>
        /// post发送json数据
        /// </summary>
        /// <param name="url"></param>
        /// <param name="pm_str"></param>
        /// <param name="pm_ContentType"></param>
        /// <returns></returns>
        public static string PostUrl(string url, string pm_str, string pm_ContentType)
        {
            StreamReader reader = null;
            Stream requestStream = null;
            HttpWebResponse Response = null;
            try
            {
                HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(url);
                myReq.Method = "POST";
                if (pm_ContentType != null)
                {
                    myReq.ContentType = pm_ContentType;
                }
                byte[] bz = System.Text.Encoding.UTF8.GetBytes(pm_str);
                requestStream = myReq.GetRequestStream();
                requestStream.Write(bz, 0, bz.Length);
                requestStream.Close();
                requestStream = null;
                Response = (HttpWebResponse)myReq.GetResponse();
                reader = new StreamReader(Response.GetResponseStream(), Encoding.UTF8);
                string retstr = reader.ReadToEnd().Trim();
                return retstr;
            }
            catch (Exception ex)
            {
                return "ERR" + ex.Message.ToString();
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                    reader = null;
                }
                if (requestStream != null)
                {
                    requestStream.Close();
                    requestStream = null;
                }
            }
        }
//商品类
    public class GoodsInfo
    {
        /// <summary>
        /// 
        /// </summary>
        public string coverImgUrl { get; set; }
        /// <summary>
        /// TIT茶杯
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int priceType { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string price { get; set; }
        public string url { get; set; }
    }

    public class Root
    {
        /// <summary>
        /// 
        /// </summary>
        public GoodsInfo goodsInfo { get; set; }
    }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值