tijian_tieying/web/dccdc/Common/Deepleo.Weixin.SDK/Merchant/ProductAPI.cs
2025-02-20 12:14:39 +08:00

202 lines
8.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Http;
using Codeplex.Data;
namespace Deepleo.Weixin.SDK.Shop
{
/// <summary>
/// 商品管理
/// </summary>
public class ProductAPI
{
/// <summary>
///
/// </summary>
/// <param name="access_token"></param>
/// <param name="content">
/// 参见官方文档
/// </param>
/// <returns>
/// {
///"errcode": 0,
///"errmsg": "success",
///"product_id": "pDF3iYwktviE3BzU3BKiSWWi9Nkw"
/// }
/// </returns>
public static dynamic Create(string access_token, dynamic content)
{
var client = new HttpClient();
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/create?access_token={0}", access_token),
new StringContent(DynamicJson.Serialize(content))).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
/// <summary>
/// 删除商品
/// </summary>
/// <param name="access_token"></param>
/// <param name="product_id">商品ID</param>
/// <returns>
/// {
///"errcode":0,
///"errmsg":"success"
///}
///</returns>
public static dynamic Delete(string access_token, string product_id)
{
var client = new HttpClient();
var content = new StringBuilder();
content.Append("{")
.Append('"' + "product_id" + '"' + ": " + '"' + product_id + '"')
.Append("}");
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/del?access_token={0}", access_token),
new StringContent(content.ToString())).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
/// <summary>
/// 修改商品
///
/// 备注:
/// 1.product_id表示要更新的商品的ID其他字段说明请参考增加商品接口。
///2.从未上架的商品所有信息均可修改,否则商品的名称(name)、商品分类(category)、商品属性(property)这三个字段不可修改。
/// </summary>
/// <param name="access_token"></param>
/// <param name="content"></param>
/// <returns>
/// {
/// "errcode":0,
/// "errmsg":"success"
/// }
/// </returns>
public static dynamic Update(string access_token, dynamic content)
{
var client = new HttpClient();
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/update?access_token={0}", access_token),
new StringContent(DynamicJson.Serialize(content))).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
/// <summary>
/// 查询
/// </summary>
/// <param name="access_token"></param>
/// <param name="product_id"></param>
/// <returns>
/// 商品详细信息,
/// 具体请参见官方文档</returns>
public static dynamic Get(string access_token, string product_id)
{
var client = new HttpClient();
var content = new StringBuilder();
content.Append("{")
.Append('"' + "product_id" + '"' + ": " + '"' + product_id + '"')
.Append("}");
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/get?access_token={0}", access_token),
new StringContent(content.ToString())).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
/// <summary>
/// 获取指定状态的所有商品
/// </summary>
/// <param name="access_token"></param>
/// <param name="status">
/// 商品状态(0-全部, 1-上架, 2-下架)
/// </param>
/// <returns>
/// 商品列表信息,
/// 具体请参见官方文档</returns>
public static dynamic GetByStatus(string access_token, int status)
{
var client = new HttpClient();
var content = new StringBuilder();
content.Append("{")
.Append('"' + "status" + '"' + ": " + status)
.Append("}");
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/getbystatus?access_token={0}", access_token),
new StringContent(content.ToString())).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
/// <summary>
/// 商品上下架
/// </summary>
/// <param name="access_token"></param>
/// <param name="product_id">商品id</param>
/// <param name="status">
/// 商品上下架标识(0-下架, 1-上架)
/// </param>
/// <returns>
/// {
///"errcode":0,
///"errmsg":"success"
///}
/// </returns>
public static dynamic UpdateStatus(string access_token, string product_id, int status)
{
var client = new HttpClient();
var content = new StringBuilder();
content.Append("{")
.Append('"' + "product_id" + '"' + ": " + '"' + product_id + '"').Append(",")
.Append('"' + "status" + '"' + ": " + status)
.Append("}");
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/modproductstatus?access_token={0}", access_token),
new StringContent(content.ToString())).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
/// <summary>
/// 获取指定分类的所有子分类
/// </summary>
/// <param name="access_token"></param>
/// <param name="cate_id"></param>
/// <returns></returns>
public static dynamic GetSubByCategory(string access_token, string cate_id)
{
var client = new HttpClient();
var content = new StringBuilder();
content.Append("{")
.Append('"' + "cate_id" + '"' + ": " + cate_id)
.Append("}");
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/category/getsub?access_token={0}", access_token),
new StringContent(content.ToString())).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
/// <summary>
/// 获取指定子分类的所有SKU
/// </summary>
/// <param name="access_token"></param>
/// <param name="cate_id">分类id</param>
/// <returns></returns>
public static dynamic GetSKUByCategory(string access_token, string cate_id)
{
var client = new HttpClient();
var content = new StringBuilder();
content.Append("{")
.Append('"' + "cate_id" + '"' + ": " + cate_id)
.Append("}");
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/category/getsku?access_token={0}", access_token),
new StringContent(content.ToString())).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
/// <summary>
/// 获取指定分类的所有属性
/// </summary>
/// <param name="access_token"></param>
/// <param name="cate_id"></param>
/// <returns></returns>
public static dynamic GetPropertiesByCategory(string access_token, string cate_id)
{
var client = new HttpClient();
var content = new StringBuilder();
content.Append("{")
.Append('"' + "cate_id" + '"' + ": " + cate_id)
.Append("}");
var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/category/getproperty?access_token={0}", access_token),
new StringContent(content.ToString())).Result;
return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
}
}
}