Commit ef29c18a by Neo Turing

init

parents
################################################################################
# 此 .gitignore 文件已由 Microsoft(R) Visual Studio 自动创建。
################################################################################
/.vs
/Src/bin/Debug
/Src/obj/Debug
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kivii.Third.Bestseller
{
internal static class Configs
{
public const string _pdfUrl = "http://bjhyfi.lims.kivii.org";
//正式环境
public const string _defaultUrl = "http://scm.bestseller.com.cn";
public const string _token = "7395A941BBF7B7DC22A3BC08E3A9FC93";
public const string _secret = "$2y$13$x2Pm3jqkrVam2oANsfpa1eNEKfaNchyBFrROyii1hq7Ng.2xj55.a";
public const string _ownerName = "绫致时装(天津)有限公司";
public const string _ownerKvid = "0A02263D-50C9-43B5-B27A-E732FD6D8BDE";
public const string RouteCloseWts = "/thirdapi/wtsapi/coord-wts/close-wts";
public const string RouteUpdateWtsReport = "/thirdapi/wtsapi/coord-wts/update-wts-report";
public const string RouteUpdateWtsResult = "/thirdapi/wtsapi/coord-wts/update-wts-result";
public const string RouteRejectWts = "/thirdapi/wtsapi/coord-wts/reject-wts";
public const string RouteAcceptWts = "/thirdapi/wtsapi/coord-wts/accept-wts";
public const string RouteGetWtsList = "/thirdapi/wtsapi/coord-wts/get-wts-list";
public const string RouteGetWtsData = "/thirdapi/wtsapi/coord-wts/get-wts-data";
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kivii.Third.Bestseller.Entities
{
[Api(Description = "鄂尔多斯订单")]
public class BestsellerOrder : BestsellerOrderBase
{
#region 实体
/// <summary>
/// 委托书编号
/// </summary>
[ApiMember(Description = "委托书编号")]
public string ORDER_NO { get; set; }
/// <summary>
/// 客户单据编号
/// </summary>
[ApiMember(Description = "客户单据编号")]
public string CUSTOMER_ORDER_NO { get; set; }
/// <summary>
/// 品牌方公司简称
/// </summary>
[ApiMember(Description = "品牌方公司简称")]
public string C_COMPANY_NAME { get; set; }
/// <summary>
/// 品牌方公司全称
/// </summary>
[ApiMember(Description = "品牌方公司全称")]
public string C_COMPANY_DESC { get; set; }
/// <summary>
/// 供应商简称
/// </summary>
[ApiMember(Description = "供应商简称")]
public string RELATED_VENDOR_NAME { get; set; }
/// <summary>
/// 供应商全称
/// </summary>
[ApiMember(Description = "供应商全称")]
public string RELATED_VENDOR_DESC { get; set; }
[ApiMember(Description = "供应商ID")]
public string RELATED_VENDOR_ID { get; set; }
/// <summary>
/// 申请单位名称
/// </summary>
[ApiMember(Description = "申请单位名称")]
public string APPLY_ORG_NAME { get; set; }
/// <summary>
/// 申请单位地址
/// </summary>
[ApiMember(Description = "申请单位地址")]
public string APPLY_ORG_ADDRESS { get; set; }
/// <summary>
/// 申请单位联系人
/// </summary>
[ApiMember(Description = "申请单位联系人")]
public string CONTACT_PERSON { get; set; }
/// <summary>
/// 申请单位联系电话
/// </summary>
[ApiMember(Description = "申请单位联系电话")]
public string CONTACT_PHONE { get; set; }
/// <summary>
/// 申请单位邮箱
/// </summary>
[ApiMember(Description = "申请单位邮箱")]
public DateTime CONTACT_EMAIL { get; set; }
/// <summary>
/// 付款单位名称
/// </summary>
[ApiMember(Description = "付款单位名称")]
public DateTime PAYER_ORG_NAME { get; set; }
/// <summary>
/// 付款单位地址
/// </summary>
[ApiMember(Description = "付款单位地址")]
public string PAYER_ORG_ADDRESS { get; set; }
/// <summary>
/// 付款联系人
/// </summary>
[ApiMember(Description = "付款联系人")]
public string PAYER_CONTACT_PERSON { get; set; }
/// <summary>
/// 付款联系人电话
/// </summary>
[ApiMember(Description = "付款联系人电话")]
public string PAYER_CONTACT_PHONE { get; set; }
/// <summary>
/// 付款联系人邮箱
/// </summary>
[ApiMember(Description = "付款联系人邮箱")]
public string PAYER_CONTACT_EMAIL { get; set; }
/// <summary>
/// 委托单位地址
/// </summary>
[ApiMember(Description = "委托单位地址")]
public string COMPANY_ADDRESS { get; set; }
/// <summary>
/// 品牌
/// </summary>
[ApiMember(Description = "品牌")]
public string BRAND_DISPLAY { get; set; }
/// <summary>
/// 送检类型(首次检测, 重检)
/// </summary>
[ApiMember(Description = "送检类型(首次检测, 重检)")]
public string IS_RECHECK_DISPLAY { get; set; }
/// <summary>
/// 样品类型
/// </summary>
[ApiMember(Description = "样品类型")]
public string THIRDPARTY_TESTING_TESTPART_DISPLAY { get; set; }
/// <summary>
/// 样品等级
/// </summary>
[ApiMember(Description = "样品等级")]
public string SAMPLE_GRADE_DISPLAY { get; set; }
/// <summary>
/// 成品款号
/// </summary>
[ApiMember(Description = "成品款号")]
public string PRD_CODE { get; set; }
/// <summary>
/// 成品款名
/// </summary>
[ApiMember(Description = "成品款名")]
public string PRD_NAME { get; set; }
/// <summary>
/// 成品颜色
/// </summary>
[ApiMember(Description = "成品颜色")]
public string PRD_F1_DISPLAY { get; set; }
/// <summary>
/// 料号
/// </summary>
[ApiMember(Description = "料号")]
public string MAT_CODE { get; set; }
/// <summary>
/// 物料名称
/// </summary>
[ApiMember(Description = "物料名称")]
public string MAT_NAME { get; set; }
/// <summary>
/// 物料颜色
/// </summary>
[ApiMember(Description = "物料颜色")]
public string MAT_F1_DISPLAY { get; set; }
/// <summary>
/// 样品描述
/// </summary>
[ApiMember(Description = "样品描述")]
public string SAMPLE_NAME { get; set; }
/// <summary>
/// 品牌商标
/// </summary>
[ApiMember(Description = "年度")]
public string YEAR_DISPLAY { get; set; }
/// <summary>
/// 样品阶段
/// </summary>
[ApiMember(Description = "季节")]
public string SEASONS_DISPLAY { get; set; }
/// <summary>
/// 安全技术类别
/// </summary>
[ApiMember(Description = "安全技术类别")]
public string CHECK_LEVEL_DISPLAY { get; set; }
/// <summary>
/// 执行标准
/// </summary>
[ApiMember(Description = "执行标准")]
public string CHECK_STANDARD_DISPLAY { get; set; }
/// <summary>
/// 测试周期(常规,加急, 快反加急)
/// </summary>
[ApiMember(Description = "测试周期(常规,加急, 快反加急)")]
public string TESTING_CYCLE { get; set; }
/// <summary>
/// 原料成分
/// </summary>
[ApiMember(Description = "备注")]
public string REMARK { get; set; }
/// <summary>
/// 中文品名
/// </summary>
[ApiMember(Description = "中文品名")]
public string PRD_NAME_CN { get; set; }
/// <summary>
/// PO号
/// </summary>
[ApiMember(Description = "PO号")]
public string PO_NO { get; set; }
/// <summary>
/// 检测项信息
/// </summary>
[ApiMember(Description = "检测项信息")]
public List<BestsellerOrderDetail> ITEMS { get; set; }
/// <summary>
/// 样品信息
/// </summary>
[ApiMember(Description = "样品信息")]
public List<BestSellerOrderSample> SAMPLES { get; set; }
#endregion
}
public class BestsellerOrderDetail
{
/// <summary>
/// 检测项⽬
/// </summary>
[ApiMember(Description = "检测项⽬")]
public string ITEM_NAME { get; set; }
/// <summary>
/// 测试方法
/// </summary>
[ApiMember(Description = "测试方法")]
public string ITEM_STANDARD { get; set; }
/// <summary>
/// 检测机构检测项目唯一标识
/// </summary>
[ApiMember(Description = "检测机构检测项目唯一标识")]
public string S_CHECK_ITEM_CODE { get; set; }
}
public class BestSellerOrderSample
{
/// <summary>
/// 样品名称
/// </summary>
[ApiMember(Description = "样品名称")]
public string SAMPLE_TYPE { get; set; }
/// <summary>
/// 颜色代码
/// </summary>
[ApiMember(Description = "颜色代码")]
public string F1 { get; set; }
/// <summary>
/// 颜色描述
/// </summary>
[ApiMember(Description = "颜色描述")]
public string F1_DISPLAY { get; set; }
/// <summary>
/// 块数/件数
/// </summary>
[ApiMember(Description = "块数/件数")]
public string PIECES { get; set; }
/// <summary>
/// 样品用途
/// </summary>
[ApiMember(Description = "样品用途")]
public string USED_FOR { get; set; }
/// <summary>
/// 送料是否齐全(·1-送料齐全,0-送料不全)
/// </summary>
[ApiMember(Description = "送料是否齐全(·1-送料齐全,0-送料不全)")]
public string IS_SEND { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kivii.Third.Bestseller.Entities
{
[Api(Description = "报告结果推送结构")]
public class ReportDetail
{
/// <summary>
/// 报告号
/// </summary>
[ApiMember(Description = "报告号")]
public string RPT_NO { get; set; }
/// <summary>
/// 报告结论(1-合格,2-不合格,4-实测)
/// </summary>
[ApiMember(Description = "报告结论(1-合格,2-不合格,4-实测)")]
public string RPT_RESULT { get; set; }
/// <summary>
/// 检测明细
/// </summary>
[ApiMember(Description = "检测明细")]
public List<Detail> ITEMS { get; set; }
}
public class Detail
{
/// <summary>
/// 成品颜色或物料颜色
/// </summary>
[ApiMember(Description = "成品颜色或物料颜色")]
public string F1_DISPLAY { get; set; }
/// <summary>
/// 检测部位
/// </summary>
[ApiMember(Description = "检测部位")]
public string CHECK_PART_DISPLAY { get; set; }
/// <summary>
/// 检测项
/// </summary>
[ApiMember(Description = "检测项")]
public string ITEM_NAME { get; set; }
/// <summary>
/// 检测项补充信息
/// </summary>
[ApiMember(Description = "检测项补充信息")]
public string ITEM_DESC { get; set; }
/// <summary>
/// 测试方法
/// </summary>
[ApiMember(Description = "测试方法")]
public string ITEM_STANDARD { get; set; }
/// <summary>
/// 标准值及允差
/// </summary>
[ApiMember(Description = "标准值及允差")]
public string ITEM_SPEC { get; set; }
/// <summary>
/// 检测项判定(1-合格,2-不合格,4-实测)
/// </summary>
[ApiMember(Description = "检测项判定(1-合格,2-不合格,4-实测)")]
public string RESULT { get; set; }
/// <summary>
/// 检测结果
/// </summary>
[ApiMember(Description = "检测结果")]
public string RESULT_REMARK { get; set; }
/// <summary>
/// 检测机构检测项目唯一标识
/// </summary>
[ApiMember(Description = "检测机构检测项目唯一标识")]
public string S_CHECK_ITEM_CODE { get; set; }
}
public class OrderResultData
{
public OrderResult DATA { get; set; }
}
public class OrderResult
{
/// <summary>
/// 单据编号
/// </summary>
[ApiMember(Description = "单据编号")]
public string ORDER_NO { get; set; }
/// <summary>
/// 三方检测综合结论(1-合格,2-不合格,4-实测)
/// </summary>
[ApiMember(Description = "三方检测综合结论(1-合格,2-不合格,4-实测)")]
public string RESULT { get; set; }
/// <summary>
/// 检测费用
/// </summary>
[ApiMember(Description = "检测费用")]
public string CHECK_FEE { get; set; }
/// <summary>
/// 报告明细
/// </summary>
[ApiMember(Description = "报告明细")]
public List<ReportDetail> RPT_ITEMS { get; set; }
}
public class OrderPdfData
{
public List<OrderPdf> DATA { get; set; }
}
public class OrderPdf
{
/// <summary>
/// 报告号
/// </summary>
[ApiMember(Description = "报告号")]
public string RPT_NO { get; set; }
/// <summary>
/// URL地址
/// </summary>
[ApiMember(Description = "URL地址")]
public string URL { get; set; }
}
}
using Kivii.Lims;
using Kivii.Lims.Entities;
using Kivii.Linq;
using Kivii.Third.Bestseller.Entities;
using Kivii.Third.Bestseller.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kivii.Third.Bestseller.Jobs
{
public class OrderPullJob : IJob
{
public string Name => "拉取订单";
public string Description => "拉取订单";
public IJobContext TaskContext { get; set; }
public bool Execution()
{
#region 设置缓存1分钟内不能连续请求
var cache = KiviiContext.GetCacheClient();
var cacheKey = KiviiContext.GetUrnKey($"{typeof(BestsellerOrder).FullName}.PullOrder:LockedOneMinute");
var cacheValue = cache.Get<string>(cacheKey);
if (!cacheValue.IsNullOrEmpty())
{
throw new Exception(cacheValue);
}
#endregion
var baseUrl = TaskContext.Arguments["BaseUrl"];
baseUrl.ThrowIfNullOrEmpty("未配置参数:BaseUrl");
var token = TaskContext.Arguments["Token"];
token.ThrowIfNullOrEmpty("未配置参数:Token");
var secret = TaskContext.Arguments["Secret"];
secret.ThrowIfNullOrEmpty("未配置参数:Secret");
var length = TaskContext.Arguments.ContainsKey("Length") ? TaskContext.Arguments["Length"].ToInt() : 200;
var ownerKvidstr = TaskContext.Arguments["OwnerKvid"];
var ownerKvid = Guid.Empty;
if (!ownerKvidstr.IsNullOrEmpty()) Guid.TryParse(ownerKvidstr, out ownerKvid);
var ownerName = TaskContext.Arguments["OwnerName"];
try
{
var conn = KiviiContext.GetOpenedDbConnection<ThirdReportOrder>();
DateTime maxTranslateTime = conn.Scalar<ThirdReportOrder, DateTime>(o => Sql.Max(o.OperateTime), p => p.ThirdType == typeof(BestsellerOrder).FullName);
var client = new JsonHttpClient(baseUrl);
var response = client.PullOrders(token, secret, maxTranslateTime);
cache.Set(cacheKey, "一分钟内不可多次查询!", TimeSpan.FromMinutes(1));
if (response.code != 200)
{
TaskContext.Message = $"{response.message}";
return false;
}
if (response.data == null)
{
TaskContext.Message = $"未获取到数据!";
return true;
}
if (response.data.results.IsNullOrEmpty())
{
TaskContext.Message = $"未获取到数据!";
return true;
}
var results = response.data.results.AcceptThirdContractOrder(ownerKvid, ownerName, conn);
TaskContext.Message = $"新增{results.Count}条!";
return true;
}
catch (Exception ex)
{
TaskContext.Message = $"错误:{ex.Message}";
return false;
}
finally
{
var thread = KiviiContext.NewThread(() =>
{
//没有关联报告的 自动执行符合条件的关联
OrderExtension.LinkReports();
});
thread.Start();
}
}
public void Dispose()
{
}
}
public class OrderUploadJob : IJob
{
public string Name => "上传订单";
public string Description => "上传订单";
public IJobContext TaskContext { get; set; }
public bool Execution()
{
var conn = KiviiContext.GetOpenedDbConnection<ThirdReportOrder>();
try
{
var pbs = conn.Select<ThirdReportOrder>(o => o.ThirdType == typeof(BestsellerOrder).FullName & o.IsUploaded == false & o.IsAccepted == true);
if (pbs.IsNullOrEmpty())
{
TaskContext.Message = "暂无数据处理";
return true;
}
var pbKvids = pbs.ConvertAll(o => o.Kvid);
var instance = Activator.CreateInstance(typeof(BestsellerOrder)) as IEntityIsThirdReportOrder;
var successed = 0;
var skip = 0;
foreach (var kvid in pbKvids)
{
var result = instance.OnUploadThirdReport(kvid);
if (result) successed++;
else skip++;
}
TaskContext.Message = $"合计待回传订单:{pbKvids.Count}条,成功回传:{successed}条,跳过{skip}条。";
return true;
}
catch (Exception ex)
{
TaskContext.Message = $"错误:{ex.Message}";
throw;
}
}
public void Dispose()
{
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{7658F888-E116-4C1B-8741-80BEDB0B604B}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Kivii.Third.Bestseller</RootNamespace>
<AssemblyName>Kivii.Third.Bestseller.V4.5</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kivii.Common.V4.5, Version=5.6.2024.7000, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Kivii.Common.5.6.2024.7000\lib\net45\Kivii.Common.V4.5.dll</HintPath>
</Reference>
<Reference Include="Kivii.Core.V4.5, Version=5.6.2024.7000, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Kivii.Core.5.6.2024.7000\lib\net45\Kivii.Core.V4.5.dll</HintPath>
</Reference>
<Reference Include="Kivii.Linq.V4.5, Version=5.6.2024.7000, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Kivii.Linq.5.6.2024.7000\lib\net45\Kivii.Linq.V4.5.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Configs.cs" />
<Compile Include="Entities\Bestseller.cs" />
<Compile Include="Entities\BestsellerBase.cs" />
<Compile Include="Entities\ReportDetail.cs" />
<Compile Include="Extensions\OrderExtension.cs" />
<Compile Include="Jobs\OrderJob.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Requests\OrderRequest.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Kivii.Biz.Lims.V1.0\Src\Kivii.Biz.Lims.V1.0.csproj">
<Project>{c2a2c9b2-e412-4267-8dad-4c37a3fe33e3}</Project>
<Name>Kivii.Biz.Lims.V1.0</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Resources\北京毛纺所_绫致三方检测平台接口文档.docx" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("Kivii.Third.Bestseller.V4.5")]
[assembly: AssemblyDescription("绫致订单对接")]
[assembly:AssemblyDefaultAlias("Kivii.Third.Bestseller")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Kivii.Third.Bestseller.V4.5")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("7658f888-e116-4c1b-8741-80bedb0b604b")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("5.4.2024.8020")]
[assembly: AssemblyFileVersion("5.4.2024.8020")]
using Kivii.Third.Bestseller.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kivii.Third.Bestseller.Requests
{
#region Request
public class OrderResponse
{
public int code { get; set; }
public string message { get; set; }
public OrderResults data { get; set; }
}
public class OrderResults
{
public int recordsTotal { get; set; }
public string resp_code { get; set; }
public string message { get; set; }
public string errors { get; set; }
public List<BestsellerOrder> results { get; set; }
}
/// <summary>
/// 获取进行中的三方检测单据列表(包含单据基本信息和检测项信息)
/// </summary>
//[Route("/thirdapi/wtsapi/coord-wts/get-wts-list")]
[Route(Configs.RouteGetWtsList)]
public class BestsellerOrderGetWtsList : IReturn<OrderResponse>
{
[ApiMember(Description = "客户分配L")]
public string appToken { get; set; }
public string signature { get; set; }
public string timestamp { get; set; }
[ApiMember(Description = "时间(从)可填")]
public DateTime? beginTime { get; set; }
[ApiMember(Description = "时间(到)可填")]
public DateTime? endTime { get; set; }
[ApiMember(Description = "返回记录数(可填,默认为10)")]
public int length { get; set; }
[ApiMember(Description = "记录偏移量(可填,默认为0)")]
public int start { get; set; }
}
/// <summary>
/// 获取指定单号的三方检测单据详情(包含单据基本信息和检测项信息)
/// </summary>
//[Route("/thirdapi/wtsapi/coord-wts/get-wts-data")]
[Route(Configs.RouteGetWtsData)]
public class BestsellerOrderGetData : IReturn<OrderResponse>
{
[ApiMember(Description = "客户分配L")]
public string appToken { get; set; }
public string signature { get; set; }
public string timestamp { get; set; }
public string docNo { get; set; }
}
/// <summary>
/// 确认接受三方检测单
/// </summary>
//[Route("/thirdapi/wtsapi/coord-wts/accept-wts")]
[Route(Configs.RouteAcceptWts)]
public class BestsellerOrderAcceptConfirm : IReturn<OrderResponse>
{
[ApiMember(Description = "客户分配L")]
public string appToken { get; set; }
public string signature { get; set; }
public string timestamp { get; set; }
public string ORDER_NO { get; set; }
}
/// <summary>
/// 更新三方检测结果
/// </summary>
//[Route("/thirdapi/wtsapi/coord-wts/update-wts-result")]
[Route(Configs.RouteUpdateWtsResult)]
public class BestsellerOrderUploadResult : IReturn<OrderResponse>
{
[ApiMember(Description = "客户分配L")]
public string appToken { get; set; }
public string signature { get; set; }
public string timestamp { get; set; }
public OrderResult DATA { get; set; }
}
/// <summary>
/// 根据URL地址更新三方检测报告
/// </summary>
//[Route("/thirdapi/wtsapi/coord-wts/update-wts-report")]
[Route(Configs.RouteUpdateWtsReport)]
public class BestsellerOrderUploadPdf : IReturn<OrderResponse>
{
[ApiMember(Description = "客户分配L")]
public string appToken { get; set; }
public string signature { get; set; }
public string timestamp { get; set; }
public string ORDER_NO { get; set; }
public List<OrderPdf> DATA { get; set; }
}
/// <summary>
/// 确认完成检测
/// </summary>
//[Route("/thirdapi/wtsapi/coord-wts/close-wts")]
[Route(Configs.RouteCloseWts)]
public class BestsellerOrderUploadComplete : IReturn<OrderResponse>
{
[ApiMember(Description = "客户分配L")]
public string appToken { get; set; }
public string signature { get; set; }
public string timestamp { get; set; }
public string ORDER_NO { get; set; }
}
#endregion
}
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Kivii.Common" version="5.6.2024.7000" targetFramework="net45" />
<package id="Kivii.Core" version="5.6.2024.7000" targetFramework="net45" />
<package id="Kivii.Linq" version="5.6.2024.7000" targetFramework="net45" />
</packages>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment