using AllBase;
using AllBase.Helper;
using AllBase.Model.Result;
using CsharpHttpHelper;
using NaiBa.Util.Helper;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Threading.Tasks;
using Work.Services;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
namespace Work.Store.Api;
/// 云商品接口,沿用服务端不带版本号的路由。
public sealed class CloudGoodsApi
{
private readonly ApiTransport _transport;
public CloudGoodsApi(ApiTransport transport)
=> _transport = transport ?? throw new ArgumentNullException(nameof(transport));
public Task> GetGoods(GoodsSearchRequest request)
=> _transport.GetRequiredAsync>("CloudGoods/SearchGoods", MethodType.Post, request);
public string GetGoodsDetail(long goodsId)
=> _transport.GetRequired("CloudGoods/GetGoodsRawData", MethodType.Post,
query: new Dictionary { ["goodsId"] = goodsId.ToString(CultureInfo.InvariantCulture) });
public Task> ReportViolations(List items)
=> _transport.GetRequiredAsync>("CloudGoods/ReportViolations", MethodType.Post, items,
timeoutMilliseconds: 5000);
public List GetViolationStatus(List goodsIds)
=> _transport.GetRequired>("CloudGoods/GetViolationStatus", MethodType.Post, goodsIds,
timeoutMilliseconds: 5000);
public Task RecordViolationLogs(IReadOnlyList requests)
=> _transport.SendAsync