using AllBase;
using AllBase.Model.Result;
using AllBase.Model.Param.WXParam;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Work.Api.Wx
{
/// 微信小店代发订单接口;独立于原窗体,使用 HttpHelper 发送请求。
/// 传入原 ShopLoginInfo 登录信息;方法同步执行,界面调用请置于后台任务。返回原始正文,不自动登录、重试或解释业务状态。
public static class WxConsignmentApi
{
/// 查询订单代发功能的开关状态。
/// 店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。
/// 微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。
///
/// 来源:TEMUKJD\WXForms\ProductForms\WXOrderConsignmentForm.cs,WXOrderConsignment.getConsignmentOnOffStatus。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
///
public static string GetConsignmentOnOffStatus(ShopLoginInfo shop)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodesuppliercosignment/associate/cgi/getOpenStatus?token=&lang=zh_CN";
string data = "{}";
string refere = "https://store.weixin.qq.com/shop/order/consignment";
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
/// 分页查询代发订单,可筛选待分配订单。
/// 店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。
/// 页码,从 1 开始。
/// 每页条数,默认值沿用原调用。 默认值:30。
/// 是否只查询等待分配的代发订单。 默认值:false。
/// 微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。
///
/// 来源:TEMUKJD\WXForms\ProductForms\WXOrderConsignmentForm.cs,WXOrderConsignment.searchConsignmentOrder。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
///
public static string SearchConsignmentOrder(ShopLoginInfo shop, int pageNum, int pageSize = 30, bool isWaitDevide = false)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodesuppliercosignment/order/cgi/orderSearch?token=&lang=zh_CN";
string data = @"{""pageSize"":" + pageSize + @",""page"":" + pageNum + @",""tab"":1}";
if (isWaitDevide)
data = @"{""pageSize"":" + pageSize + @",""page"":" + pageNum + @",""orderStatus"":20,""availCosignment"":true}";
string refere = "https://store.weixin.qq.com/shop/order/consignment";
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
/// 提交代发订单分配请求。
/// 店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。
/// 完整代发操作 JSON 对象,按原接口填入订单和分配信息。
/// 微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。
///
/// 来源:TEMUKJD\WXForms\ProductForms\WXOrderConsignmentForm.cs,WXOrderConsignment.addConsignmentOrder。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
///
public static string AddConsignmentOrder(ShopLoginInfo shop, JObject dataObj)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodesuppliercosignment/order/cgi/cancelAssignOrder?token=&lang=zh_CN";
string data = JsonHelper.SerializeObject(dataObj);
string refere = "https://store.weixin.qq.com/shop/order/consignment";
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
/// 取消已分配的代发订单。
/// 店铺登录信息;Cookies 为原程序保存的 CefSharp.Cookie 列表 JSON,图片上传还需 openid。
/// 完整代发操作 JSON 对象,按原接口填入订单和分配信息。
/// 微信接口原始 JSON 正文;传输或登录参数配置失败可能返回错误文字。调用方须验证响应格式和业务状态,不能仅以非空判断成功。
///
/// 来源:TEMUKJD\WXForms\ProductForms\WXOrderConsignmentForm.cs,WXOrderConsignment.cancelConsignmentOrder。
/// 原方法中直接拼接的 ID、JSON 数值片段应按上述格式传入;不会自动转义或转换单位。参数模型构造或序列化失败会向调用方抛出异常。
///
public static string CancelConsignmentOrder(ShopLoginInfo shop, JObject dataObj)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodesuppliercosignment/order/cgi/cancelAssignOrder?token=&lang=zh_CN";
string data = JsonHelper.SerializeObject(dataObj);
string refere = "https://store.weixin.qq.com/shop/order/consignment";
var result = WxHttpClient.Post(shop, url, data, refere);
return result;
}
}
}