/// <summary> /// 批量获取库存接口。批量查询在客户指定区域的库存信息,最多返回数量50,超过100统一返回有货。 /// <para>实际库存为50--100,但用户查询数量大于真实库存数量时显示“无货”,小于等于真实库存数量时显示“有货”。</para> /// <para>举例:实际库存58;用户用59-100查的时候返回无货,1-58查的时候返回有货;实际库存超过100时,查询数量写多少都会返回有货。</para> /// </summary> /// <param name="token">授权时获取的 AccessToken</param> /// <param name="skuNums">商品和数量(最多传入5条记录)</param> /// <param name="province">京东一级地址编号</param> /// <param name="city">京东二级地址编号</param> /// <param name="county">京东三级地址编号</param> /// <param name="town">京东四级地址编号(三级下无四级地址传0)</param> public static async Task <RspResult <StockResult[]> > GetNewStockByIdAsync(string token, SkuNum[] skuNums, int province, int city, int county, int town = 0) { if (string.IsNullOrEmpty(token)) { throw AccessTokenArgumentException; } var parameter = new Dictionary <string, string> { { "token", token }, { "skuNums", $"[{string.Join(',', skuNums.Select(v => v.ToString()))}]" }, { "area", $"{province}_{city}_{county}_{town}" }, }; var url = "/api/stock/getNewStockById"; var rsp = await PostAsync <string>(url, parameter); var result = new RspResult <StockResult[]>() { Success = rsp.Success, ResultCode = rsp.ResultCode, ResultMessage = rsp.ResultMessage, }; if (rsp.Success) { result.Result = JsonSerializer.Deserialize <StockResult[]>(rsp.Result, JsonSerializerOptions); } return(result); }
/// <summary> /// 查询商品在特定区域是否可售。 /// </summary> /// <param name="token">授权时获取的 AccessToken</param> /// <param name="skuIds">商品编号 (最高支持100个商品)</param> /// <param name="province">京东一级地址编号</param> /// <param name="city">京东二级地址编号</param> /// <param name="county">京东三级地址编号</param> /// <param name="town">京东四级地址编号(三级下无四级地址传0)</param> public static async Task <RspResult <ProductAreaLimit[]> > CheckAreaLimitAsync(string token, string skuIds, int province, int city, int county, int town = 0) { if (string.IsNullOrEmpty(token)) { throw AccessTokenArgumentException; } var parameter = new Dictionary <string, string> { { "token", token }, { "skuIds", skuIds }, { "province", province.ToString() }, { "city", city.ToString() }, { "county", county.ToString() }, { "town", town.ToString() }, }; var url = "/api/product/checkAreaLimit"; var rsp = await PostAsync <string>(url, parameter); var result = new RspResult <ProductAreaLimit[]>() { Success = rsp.Success, ResultCode = rsp.ResultCode, ResultMessage = rsp.ResultMessage, }; if (rsp.Success) { result.Result = JsonSerializer.Deserialize <ProductAreaLimit[]>(rsp.Result, JsonSerializerOptions); } return(result); }
public ActionResult Register(IFormCollection collection) { try { string userName = collection["UserName"].ToString(); string password = collection["Password"].ToString(); if (_managerService.Exsit(userName)) { return(new JsonResult(new RspResult { Code = 100, Status = 1, Msg = "用户名已存在" })); } BaseManager user = new BaseManager { UserName = userName, Password = password, DepartmentId = "35" }; user.Password = Utils.MD5(user.Password); RspResult rsp = _managerService.Save(user); return(new JsonResult(rsp)); } catch (Exception e) { return(new JsonResult(new { Message = e.Message })); } }
/// <summary> /// 查询京东订单信息。 /// </summary> /// <param name="token">授权时获取的 AccessToken</param> /// <param name="jdOrderId">京东订单号</param> /// <param name="queryExts">扩展参数(不提供时默认全部获取)</param> /// <param name="clientId">提供 <see cref="VopClient.ClientId"/> 以用于自动解密加密数据</param> public static async Task <RspResult <OrderDetail> > SelectJdOrderAsync(string token, long jdOrderId, string[] queryExts = null, string clientId = null) { if (string.IsNullOrEmpty(token)) { throw AccessTokenArgumentException; } var queryExtsStr = string.Join(',', queryExts ?? new string[] { "orderType", // 订单类型 "jdOrderState", // 京东订单状态 "name", // 商品名称 "address", // 收件人地址 "mobile", // 手机号 "poNo", // 采购单号 "finishTime", // 订单完成时间 "createOrderTime", // 订单创建时间 "paymentType", // 订单支付类型 "outTime", // 订单出库时间 "invoiceType", // 订单发票类型 }); var parameter = new Dictionary <string, string> { { "token", token }, { "jdOrderId", jdOrderId.ToString() }, { "queryExts", queryExtsStr }, }; var url = "/api/order/selectJdOrder"; var content = await PostAsync(url, parameter); using var stream = await content.ReadAsStreamAsync(); var rsp = await JsonSerializer.DeserializeAsync <RspResult <JsonElement> >(stream, JsonSerializerOptions); var rst = new RspResult <OrderDetail>() { Success = rsp.Success, ResultCode = rsp.ResultCode, ResultMessage = rsp.ResultMessage, }; if (rsp.Success) { var jsonElement = rsp.Result; stream.Position = 0; OrderDetail result; switch (jsonElement.GetProperty("type").GetInt32()) { case 1: // 父订单 result = (await JsonSerializer.DeserializeAsync <RspResult <OrderParent> >(stream, JsonSerializerOptions)).Result; break; case 2: // 子订单 default: result = (await JsonSerializer.DeserializeAsync <RspResult <OrderDetail> >(stream, JsonSerializerOptions)).Result; break; } if (clientId is { Length : > 6 })